auto.arima 无法识别季节性模式

机器算法验证 r 时间序列 预测 有马 阿玛
2022-03-30 05:27:05

我有一个每日天气数据集,不出所料,它具有很强的季节性影响。

在此处输入图像描述

我使用预测包中的函数 auto.arima 将 ARIMA 模型应用于该数据集。令我惊讶的是,该函数不应用任何季节性操作——季节性差异、季节性 ar 或 ma 组件。这是它估计的模型:

library(forecast)
data<-ts(data,frequency=365)
auto.arima(Berlin)

Series: data
ARIMA(3,0,1) with non-zero mean 

Coefficients:
         ar1      ar2     ar3      ma1  intercept
      1.7722  -0.9166  0.1412  -0.8487   283.0378
s.e.  0.0260   0.0326  0.0177   0.0214     1.7990

sigma^2 estimated as 5.56:  log likelihood=-8313.74
AIC=16639.49   AICc=16639.51   BIC=16676.7

而且使用这个模型的预测也不是很令人满意。以下是预测图: 在此处输入图像描述

谁能给我一个提示这里有什么问题?

2个回答

R 将不适合季节性大于 350 的 ARIMA 模型。有关此问题的讨论,请参见http://robjhyndman.com/hyndsight/longseasonality/解决方案是对季节性使用傅立叶项,对短期动态使用 ARMA 误差。

正如 Rob 指出的那样,您的问题的解决方案是结合确定性效应(一年中的一周)和随机效应(ARIMA 结构),同时隔离不寻常的日子并检测可能存在的一个或多个电平转换和/或一个或多个局部时间趋势。AUTOBOX,用于分析的软件部分由我开发,用于自动为此类数据集提供稳健的建模。

我已将您的数据放在http://www.autobox.com/weather/weather.txt

原始数据的 acf在此处输入图像描述导致表格的自动模型选择在此处输入图像描述 在此处输入图像描述 在此处输入图像描述模型统计数据在此处输入图像描述带有残差图。在此处输入图像描述此处显示了未来 60 天的在此处输入图像描述 预测图。此处显示了实际/拟合/预测图。在此处输入图像描述

对于其他人来说,遵循 Hyndaman 教授的建议并报告他们的最终模型可能会很有趣,并对剩余诊断和显着性参数测试进行诊断检查。

我个人对首先执行傅立叶分析(可能/可能受异常影响)然后对残差进行 ARIMA 的建议感到不舒服,因为它不是导致 1 个方程的同时解,而是一个假定序列。我的方程使用每月的一周,还包括一个 AR(1) 和异常数据点的补救措施。

所有软件都有局限性,了解它们是件好事。我再次重申为什么没有人尝试实施 Rob 的建议并展示完整的结果。