代码之家  ›  专栏  ›  技术社区  ›  tpayne

滞后随机森林预测

  •  -2
  • tpayne  · 技术社区  · 9 年前
    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次观测,但它总是以不适用的形式返回。我认为这与滞后值有关,但不确定它是如何工作的。有人知道怎么做吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   Cyrus Mohammadian    9 年前

    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个元素就会被预测出来。