繁体   English   中英

使用 AIC 评估 ARIMA 模型

[英]Evaluating ARIMA models with the AIC

最近遇到了 ARIMA/季节性 ARIMA,我想知道为什么选择 AIC 作为 model 适用性的估计器。 根据Wikipedia的说法,它评估拟合的优度,同时惩罚非简约模型以防止过度拟合。 许多网格搜索功能,例如auto_arimaR中的auto_arima将其用作评估指标,并建议具有最低 AIC 的 model 作为最佳拟合。

但是,在我的情况下,选择一个简单的 model(具有最低 AIC -> 少量参数)只会导致 model,它强烈遵循之前的样本内观察结果并且在测试样本数据上表现非常糟糕。 我看不出仅通过选择少量参数如何防止过度拟合......

ARIMA(1,0,1)(0,0,0,53); AIC=-16.7

ARIMA(1,0,1)(0,0,0,53); AIC=-16.7

我是不是误会了什么? 有什么办法可以防止这种情况发生?

在 ARIMA model 的情况下,无论 model 的参数是什么,它都将遵循过去的观察结果,从某种意义上说,您可以根据数据中的先前值预测下一个值。 现在,auto.arima 只是尝试一些模型,并默认为您提供具有最低 AIC 或其他信息标准(例如 BIC)的模型。 这并不意味着这些标准的定义是什么:因此,具有最低 AIC 的 model 是最小化 AIC function 的那个。 如果在确保时间序列是平稳的之后进行时间序列分析,我建议您检查时间序列的ACFPACF图并阅读

PS 我没有在你的 plot 中在垂直虚线之后得到这条橙色直线。

我们通常使用某种形式的交叉验证来防止过度拟合。 众所周知,在一些关于正态性等的假设下,留一法交叉验证渐近等效于 AIC。事实上,当我们的计算能力较低时,AIC 和其他信息标准很方便,因为它们完成的事情非常类似于分析交叉验证。

另外,请注意 ARMA(1,1) 模型和其他固定 ARMA 模型本质上倾向于很快收敛到一个常数。 看到这一点的最简单方法是将 y_t+1、y_t+2 的表达式写为 y_t 的 function。 您将看到表达式具有小于 1 的指数(您的 AR 和 MA 参数),随着 t 的增长,它们迅速收敛到零。 另请参阅此讨论

您的“观察到的”数据(虚线左侧)没有表现出这种行为的原因是,对于每个时期,您都会获得随机误差项 epsilon_t 的新实现。 在右侧,您不会得到这些随机冲击的实现,而是将它们替换为它们的表达值 0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM