首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AIC评估ARIMA模型

用AIC评估ARIMA模型
EN

Stack Overflow用户
提问于 2020-06-08 18:08:53
回答 2查看 1.5K关注 0票数 1

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

然而,在我的例子中,选择一个简单的模型(具有最低的AIC ->少量参数)只会导致一个模型,该模型强烈遵循先前的样本内观察结果,并且在测试样本数据上的表现非常差。我看不出仅仅通过选择少量的参数就可以防止过度拟合。

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

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

EN

回答 2

Stack Overflow用户

发布于 2020-06-08 20:46:04

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

附注:在你的图中,这条橙色的直线不是在虚线之后。

票数 2
EN

Stack Overflow用户

发布于 2020-06-10 17:23:28

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

此外,请注意,从本质上讲,ARMA(1,1)模型--以及其他固定的ARMA模型--往往会相当快地收敛到一个常数。要了解这一点,最简单的方法是将y_t+1,y_t+2的表达式写成y_t的函数。您将看到该表达式的指数小于1( AR和MA参数),随着t的增长,指数很快收敛到零。另请参阅此discussion

你的“观察”数据(在虚线的左边)没有表现出这种行为的原因是,对于每个周期,你都会得到一个随机误差项epsilon_t的新实现。在右边,你不会得到随机冲击的实现,而是用它们的表达值0来代替它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62259685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档