X-13ARIMA-SEATS 的回溯测试

我们从用户那里听到很多关于预测准确性的问题:我的模型预测与未来实际值的关系如何?预测值和实际值是否密切相关?会有什么样的跟踪误差?

回溯测试技术可以解决这些问题,但有一个简单的转折点:如果我们要回到过去,我们可以只使用当时可用的数据来校准模型,并进行样本外预测。然后,我们在不同的日期重复这一过程。

在回溯测试过程结束时,我们会生成预测值的时间序列,然后根据实际时间序列对其进行分析。然后,我们可以计算各种统计数据。

这篇文章的灵感来自于我们的一位用户提出的具体支持问题:

“如何对 X-13ARIMA-SEATS 预测的季节性调整值和最终值(即非季节性调整值)进行回溯测试?”

要进行回溯测试,我们需要运行多个 X13AS 方案,这些方案仅在输入数据集上有所不同。

在本教程中,我们将使用美国劳工部 (DOL) 提供的 1970 年 1 月至 2022 年 6 月期间的非农就业月度数据。

  1. 使用 X13 向导,使用完整数据集构建 X13 模型。向导会将模型规范(JSON 文本)写入您指定的工作表中。
    使用 X13 向导构建 X13 模型。输出将是 JSON 文本形式的模型规范。
  2. 接下来,在空白栏中列出您希望进行预测的所有时段。
    alt
  3. 计算从数据集开始到步骤 (2) 中指定的每个周期的数据点数。
    计算从数据集开始一直到
  4. 将 (1) 中的 X13AS(.) 公式复制到另一列,与步骤 (3) 的列相邻。
    对每个预测期使用 X13 公式。
  5. 调用 NxSubset(.) 代替输入数据的单元格区域。NxSubset 函数的第一个参数是整个数据集,但终点偏移量是在步骤 (3) 的列中计算的。
    使用 NxSubset 函数(黄色高亮显示)从第 1 个参数到参数 612(F10)选择数据集。

    备注:

    请参阅 NxSubset(.) 参考手册 页面了解更多信息。

  6. 现在,X13AS(.)函数仅使用到此为止的数据构建一个新的情景。
  7. 使用 X13ASCOMP(.) 和 X13ASFORE(.) 函数,查询该行日期的分量或预测值。
    使用 X13ASFORE(.) 函数获取相邻日期的预测值。
  8. 使用 Excel 内置函数 VLOOKUP(.) 查询每一行的实际值。
    使用 VLOOKUP(.) 函数获取相邻日期的实际数据。
  9. 将最上面一行的公式复制到表格的其余部分。这将触发一系列 X13 模型计算,可能需要一分钟才能完成。
    将公式复制到其他选定时段后的 X13 回溯测试输出表。
  10. 最后,让我们将回测值与实际值一起绘制出来。
    显示 21 年 1 月至 2022 年 6 月 DOL 就业数据的回溯测试预测值与实际值对比图。

结论

在我们的例子中,我们计算了过去 24 个月的非季节性调整单月预测,但我们可以很容易地扩大研究范围和/或计算不同的输出。

计算出回溯测试输出时间序列后,我们应使用您最喜欢的预测性能指标(NumXL 附带),如 MAPE、RMSE、MASE 等,定量描述预测跟踪误差。

  附件

评论

登录写评论。

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助