0

R 中的许多统计库提供了拟合模型的可能性,然后使用优化结果来预测未来一些时期的值。但是,许多人无法对样本外的结果进行回测。

因此,我想构建一个允许我(向前走的方法)的 R 函数:

  1. 使用移动窗口定义训练集(每个循环时间,删除最旧的观察并添加最新的)
  2. 运行优化器从而校准模型
  3. 使用校准后的模型生成 n 步提前预测
  4. 将新预测存储在样本外预测值的向量中(连同预测日期)
  5. 循环 1-4

我尝试了以下方法(x 是样本外集的长度,n 是训练集的固定长度):

for (j in range (0:x)){
    append <- vector()
    forecast <- vector()
    set <- train [j+1:n+j,]
    fit <- fit(data = set, model) 
    forecast <- predict(fit, ahead = 1) 
    append <- cbind(lubridate::as_date(ts_date[n+j+1]), forecast)
    forc <- rbind(forc, append)
}

但是,矩阵 forc 仅包含循环的第一个和最后一个结果。

任何人都可以在这里发现错误吗?

4

1 回答 1

-1

R中的范围仅返回循环的第一个和最后一个结果

于 2019-09-25T07:16:02.430 回答