具有滞后的随机森林预测
Random Forest Prediction with Lags
library(randomForest)
library(dyn)
set.seed(123)
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
tz[10, "Y"] <- NA
rr <- tz
rr<-cbind(`lag(Y, -1)` = lag(rr$Y, -1),rr)
fit <- dyn$randomForest(Y ~ lag(Y,-1) +x , tz, subset = seq_len(10-1))
pred <-predict(fit, newdata=rr)
我正在尝试让随机森林预测第 10 次观察,但它一直返回为 NA。我认为这与滞后值有关,但我不确定这是如何工作的。有人知道如何进行这项工作吗?
我认为您添加了一行不必要的代码。
set.seed(123)
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
rr <- tz
rr<-cbind(`lag(Y, -1)` = lag(rr$Y, -1),rr)
fit <- dyn$randomForest(Y ~ lag(Y,-1) +x , tz, subset = seq_len(10-1))
predict(fit, newdata=rr)
1 2 3 4 5 6 7 8 9 10
0.65469597 0.63274585 0.52821489 -0.58116470 -0.28673507 0.73862391 -0.31800427 -0.59019492 -0.34942432 -0.02772214
那个额外的行是tz[10, "Y"] <- NA
。如果像上面那样删除它,则会预测第 10 个元素。
library(randomForest)
library(dyn)
set.seed(123)
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
tz[10, "Y"] <- NA
rr <- tz
rr<-cbind(`lag(Y, -1)` = lag(rr$Y, -1),rr)
fit <- dyn$randomForest(Y ~ lag(Y,-1) +x , tz, subset = seq_len(10-1))
pred <-predict(fit, newdata=rr)
我正在尝试让随机森林预测第 10 次观察,但它一直返回为 NA。我认为这与滞后值有关,但我不确定这是如何工作的。有人知道如何进行这项工作吗?
我认为您添加了一行不必要的代码。
set.seed(123)
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
tz <- zoo(cbind(Y = rnorm(10), x = rnorm(10)))
rr <- tz
rr<-cbind(`lag(Y, -1)` = lag(rr$Y, -1),rr)
fit <- dyn$randomForest(Y ~ lag(Y,-1) +x , tz, subset = seq_len(10-1))
predict(fit, newdata=rr)
1 2 3 4 5 6 7 8 9 10
0.65469597 0.63274585 0.52821489 -0.58116470 -0.28673507 0.73862391 -0.31800427 -0.59019492 -0.34942432 -0.02772214
那个额外的行是tz[10, "Y"] <- NA
。如果像上面那样删除它,则会预测第 10 个元素。