我强烈推荐阅读 Rob Hyndman 的《预测:原则与实践》中关于交叉验证时间序列模型主题的“评估预测准确性”(第 3.4 节)。
https://otexts.com/fpp2/accuracy.html
您的交叉验证技术很可能取决于您要预测的内容。有许多不同的交叉验证时间序列模型的技术。
示例 #1 - 假设我有 2014-2018 年的月销售额,我想建立一个模型来预测 2019 财年的月销售额。我将在 2014-2017 年训练我的 ARIMA 模型并预测 12 个月,然后比较我的结果使用平均绝对百分比误差(MAPE,在 Hyndman 的书中也讨论过)等技术,将预测与我作为测试集的 2018 年实际月度销售额进行比较。话虽如此,随着您从上一个当前数据点进一步预测,您的预测间隔将变得越来越大。
示例 #2 - 月销售额的相同预测问题。我也可以在 2014 年 1 月到 2017 年 12 月训练模型,然后提前 1 个月预测这个时间。然后在 2014 年 1 月 - 2018 年 1 月训练模型,预测 2018 年 2 月,然后训练 2014 年 1 月 - 2018 年 2 月,预测 2018 年 3 月,依此类推。下图很好地描述了这种方法。
书中讨论了其他交叉验证的方法,我再次推荐阅读。R 有很多很棒的时间序列特定的交叉验证功能,例如 tsCV() 函数。
希望这可以帮助。祝你好运!