时间序列笔记-ARMA模型(二)
在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模型并考察残差情况:
残差分析是建模的重要环节,也有助于我们进行模型选择。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!