时间序列笔记-ARMA模型(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列笔记-ARMA模型(二)相关的知识,希望对你有一定的参考价值。

参考技术A 在datacamp网站上学习“ Time Series with R ”track
“ARIMA Modeling with R”课程 做的对应笔记。
学识有限,错误难免,还请不吝赐教。
学习的课程为“ARIMA Modeling with R”,主要用 astsa 包。
如无特殊说明,笔记中所使用数据均来自datacamp课程。
ARMA模型拟分为(一)(二)两部分发布,第一部分主要包括ARMA模型简介,模拟ARMA数据、拟合ARMA模型,单纯的AR模型或MA模型的定阶。第二部分主要包括ARMA模型的定阶策略、模型选择、残差分析。模型预测部分见ARIMA模型的笔记。

在 时间序列笔记-ARMA模型(一) 中,我们提到如果数据符合单纯AR或MA模型,则根据ACF和PACF图的截尾情况可以比较方便的确定AR阶数或MA阶数:

但是如果p q都不为0,那么ACF和PACF图均为拖尾表现,p、q的值就无法一眼看出来了,例如我们模拟一个ARMA数据:

可以看出,从ACF和PACF图中很难判断p q的值。

推荐的定阶策略:从最低阶开始拟合模型,每次增加一个参数并观察拟合结果的变化。

根据推荐的定阶策略,我们实际上要拟合很多不同模型,根据拟合结果从中选择最优模型作为最终模型。判断模型拟合优劣的指标有很多,这里我们简单介绍2个最为常用的指标:AIC BIC
简单来说,AIC或BIC会计算模型在训练数据上的误差:
该项越小越好,为防止过拟合,再加上对模型复杂性的惩罚项:

随着模型复杂度越大,Error项会减小但是惩罚项会增加。
AIC和BIC对于模型拟合效果的判断都是越小越好。二者对于Error项的计算是一样的,不同在于惩罚项设置不同:AIC中 ,BIC中
我在上看到一篇讲AIC BIC比较详细的博客,推荐阅读: AIC和BIC准则
在进行模型拟合时,sarima()函数会生成模型的AIC值和BIC值,帮助我们我们选择适当的模型。

ARMA模型假定残差是一个高斯白噪声,进行残差分析可以考察这个假定。
用sarima()函数拟合模型时会自动输出一个残差分析图,包括四个部分:

下例中对同一个数据分别拟合两个ARMA模型并考察残差情况:

残差分析是建模的重要环节,也有助于我们进行模型选择。

以上是关于时间序列笔记-ARMA模型(二)的主要内容,如果未能解决你的问题,请参考以下文章

时间序列笔记-季节性ARIMA模型(一)

算法 | 时间序列,无法绕过的平稳模型ARMA

AR模型MA(Moving Average)模型ARMA模型时间序列的定阶ARIMASARIMAX

Java中的Arima / Arma时间序列模型[关闭]

时间序列分析:平稳时间序列分析之参数估计和诊断检验

将ARMA模型拟合到python中按时间索引的时间序列