随机森林预测与滞后

时间:2016-08-28 21:39:52

标签: r dynamic random-forest lag prediction

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。我认为它与滞后值有关,但我不确定它是如何工作的。任何人都知道如何使这项工作?

1 个答案:

答案 0 :(得分:0)

我认为你添加了一行不必要的代码。

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个元素。