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

如题所述

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

Wold证明了任何平稳的时间序列都可以表示成白噪声的线性组合:
   
其中 为常数,W表示白噪声。
所有ARMA模型都具有这个形式,这意味着ARMA模型很适合拟合平稳的时间序列。
ARMA模型即自回归滑动平均模型(Autoregressive moving average model),是由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础“混合”构成。
AR模型的基本形式: ( 为白噪声)
MA模型的基本形式: ( 为白噪声)
ARMA模型的基本形式: ,自相关且有着具有相关性的误差

可以用arima.sim(model = , n = , ...)函数产生ARMA模型的模拟数据,其中:

本课程中使用astsa包中的sarima()函数对数据进行模型拟合。使用该函数时除了需要输入数据外还要给出ARIMA模型的三个参数:AR阶数p,差分阶数d,MA阶数q。(d我们目前暂不涉及)
使用时sarima(x, p = 1, d = 0, q = 0)可以简写为sarima(x, 1, 0, 0)
例:

sarima()函数的主要输出结果包括:回归系数的参数估计结果;自由度;模型参数估计及其是否为0的t检验结果;衡量模型拟合效果的一些判断指标(AIC BIC等)。此外还会自动输出一张内含4张图的残差诊断图,在后面的讲解中再详细说:

AR阶数为p,MA阶数为q的ARMA模型记为ARMA(p,q)。在拟合ARMA模型时需要指定p、q的值。如何确定p、q的值就是ARMA模型的定阶问题。
一个常用的定阶方法是利用ACF图和PACF图(自相关图和偏自相关图),不同模型的ACF、PACF图表现见下表:

ACF(自相关函数)在 时间序列笔记-自相关 中有讲解。
偏自相关函数(PACF)之前没有提到过,它是去除 等的影响后, 和 之间的相关系数。
利用astsa包的acf2()函数可以同时画出时间序列数据的ACF图和PACF图.
下面的例子分别生成AR(1),AR(2),MA(1)模型的数据(分别对应x,y,z数据),并查看对应的ACF图和PACF图:

单纯的AR或MA模型根据ACF和PACF图还是比较容易定阶的,但p、q均不为0的ARMA模型定阶就没这么简单了,详见下一个笔记。
相似回答