我试图使用caret
包来预测未来的回报。
我知道如何通过Time-series cross validation验证我的模型 但我不知道如何获得最新的预测值。 正如你在这张图片中看到的那样,
最后一个值总是用作" horizon" 我想将此值用作训练数据并获得最后的预测,即使我无法再对其进行验证。 我应该使用预测功能吗?还是有其他好方法吗?
以下是构建模型和时间序列验证的代码。
timecontrol <- trainControl(method = 'timeslice', initialWindow = window_length, horizon =4, selectionFunction = "best",
returnResamp = 'final', fixedWindow = TRUE, savePredictions = 'final')
cur_val_m <- train(test_sample[,-1], test_sample[,1], method = "knn",
trControl = timecontrol, tuneGrid = "knnGrid")
答案 0 :(得分:1)
您需要放置部分代码或数据。但是,一般来说,如果我们需要提前一步预测,我们可以使用它:
prediction<-predict(model,yourdata[nrow(yourdata)+ 1,])