进行时间序列预测时的良好做法


10

我已经进行了几个月的短期负荷预测,并使用气候/天气数据来提高准确性。我具有计算机科学背景,因此,我尝试使用ARIMA模型之类的统计工具避免犯大错和不公平的比较。我想知道您对以下几点的看法:

  1. 我同时使用(S)ARIMA和(S)ARIMAX模型来研究天气数据对天气预报的影响,您认为是否还需要使用指数平滑方法?

  2. 从头两个星期开始,我有300个每日样本的时间序列,并使用auto.arima R函数(预测软件包)构建的模型进行了提前5天的预测。然后,将另一个样本添加到我的数据集中,然后再次校准模型,然后再进行5天的预测,依此类推,直到可用数据结束。您认为这种操作方式正确吗?

感谢您的建议,尽管我们的工作目标是发表在工程学期刊上的文章,但从统计的角度来看,我想做的尽可能严格。


1
这个问题似乎密切相关:stats.stackexchange.com/questions/16915/…–
whuber

1
这是一个古老的答案 stats.stackexchange.com/questions/6513/...
bill_080

Answers:


9
  1. 我认为也应该探索指数平滑模型。指数平滑模型是与ARIMA模型根本不同的模型类别,并且可能在数据上产生不同的结果。

  2. 这听起来像是一种有效的方法,并且与Rob Hyndman提出的时间序列交叉验证方法非常相似。

我将汇总每个预测的交叉验证误差(指数平滑,ARIMA,ARMAX),然后使用总体误差来比较这三种方法。

您可能还需要考虑对ARIMA参数进行“网格搜索”,而不是使用auto.arima。在网格搜索中,您将探索Arima模型的每个可能参数,然后使用预测精度选择“最佳”参数。


谢谢您的答复,我在禁用STEPWISE搜索的情况下使用了auto.arima,我认为通过这种方式,它将探索最小-最大范围之间的所有参数(我尚未阅读Hyndman&Kandahar 2008论文)
Matteo De Felice,

@Matteo De Felice:事实是,它正在基于AIC优化那些参数。我建议您可能需要通过样本外性能优化这些参数,您可以通过交叉验证对其进行评估。此外,如果要比较其他模型(例如ETS),则将需要样本外性能指标,因为您无法在不同类型的模型(例如auto.arima和ets)之间比较AIC。
Zach

此刻,我执行了网格搜索(使用auto.arima和stepwise = FALSE),然后尝试最常用的模型以评估其性能。
Matteo De Felice

@Matteo De Felice:如果您在实施时间序列交叉验证时遇到麻烦,则此博客文章可能会有所帮助:robjhyndman.com/researchtips/tscvexample
Zach

应当指出的是,ARIMA和ETS模型没有根本不同。实际上,线性指数平滑模型是ARIMA模型的特例。看到这里:otexts.org/fpp/8/10
Wart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.