【问题标题】:Random Forest Prediction with Lags具有滞后的随机森林预测
【发布时间】:2017-01-04 21:09:36
【问题描述】:
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 的形式返回。我认为这与滞后值有关,但不确定这是如何工作的。有谁知道如何进行这项工作?

【问题讨论】:

  • 您的代码不可重现...
  • 对不起,我忘记了随机森林包。它现在应该可以工作了。
  • 仍然无法重现...
  • 您介意详细说明一下吗?
  • 无错误它提出了以下对我来说:滞后(Y,-1)Y X 1 NA -0.56047565 1.2240818 2 -0.56047565 -0.23017749 0.3598138 3 -0.23017749 1.55870831 0.4007715 4 1.55870831 0.07050839 0.1106827 5 0.07050839 0.12928774 - 0.5558411 6 0.12928774 1.71506499 1.7869131 7 1.71506499 0.46091621 0.4978505 8 0.46091621 -1.26506123 -1.9666172 9 -1.26506123 -0.68685285 0.7013559 10 -0.68685285 NA -0.4727914 跨度>

标签: r dynamic random-forest lag prediction


【解决方案1】:

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

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"] &lt;- NA。如果像上面那样删除它,则预测第 10 个元素。

【讨论】:

  • 谢谢。如果我不知道 Y 是什么,是否可以预测第 10 次观察?
  • 否,因为您需要该信息来获得预测值。如果您认为我的答案可以接受,请接受答案以便问题得到解决和/或如果您认为我的答案有帮助,请考虑投票。谢谢!通过接受回复,您还将获得因对您的帖子的负面回复而失去的一些积分。
  • 此外,如果您需要有关随机森林预测的更多帮助,请考虑扫描 Cross Validated 的论坛(SO 的姐妹网站,但更多与统计相关的问题)。祝你好运,欢迎来到 Stack Overflow!
猜你喜欢
  • 2014-08-07
  • 2021-03-21
  • 2019-05-04
  • 2014-08-17
  • 2019-07-10
  • 2021-06-23
  • 2019-02-19
  • 2016-04-09
相关资源
最近更新 更多