2017/7/2 19:24:15
自回归模型(Autoregressive Model,简称 AR 模型)是最常见的平稳时间序列模型之一。
接下将介绍 AR 模型的定义、统计性质、建模过程、预测及应用。
一、AR 模型的引入
考虑如图所示的单摆系统。
设 xt 为第 t 次摆动过程中的摆幅。
根据物理原理,第 t 次的摆幅 xt 由前一次的摆幅 xt-1 决定,即有 xt=a1xt-1。
考虑到空气振动的影响,我们往往假设
(1)
x_t=a_1x_{t-1}+\varepsilon_t,t\geq 1">
其中,随机干扰 εt ~ N(0, σ2)。
设初始时刻 x0=1,现在取不同的 a1 和 σ 值进行实验。
实验结果如下图。
我们可以看出,参数 a1 对序列的稳定性起到决定性的作用,而噪声强度 σ2 决定了序列的波动程度。
在这里,我们称模型 (1) 为一阶自回归模型。
更一般地,可以考虑序列值 xt 可由前 p 个时刻的序列值及当前的噪声表出,即
(2)
X_t=a_1X_{t-1}+a_2X_{t-2}+\cdots+a_p X_{t-p}+\varepsilon_t">
其中,aj 为参数,{εt} 为白噪声。
为了显示序列值为随机变量,这里使用 Xt 而不是 xt。
二、AR 模型的定义
定义 1
如果 {εt} 为白噪声,服从 N(0,σ2),a0,a1,...,ap(ap≠0) 为实数,就称 p 阶差分方程
(3)
X_t=a_0+a_1X_{t-1}+a_2X_{t-2}+\cdots+a_p X_{t-p}+\varepsilon_t,t\in \mathbb{Z}">
是一个 p 阶自回归模型,简称 AR(p) 模型,称 a=(a0,a1,...,ap)T 是 AR(p) 模型中的自回归系数。
满足 AR(p) 模型 (3) 的时间序列 {Xt} 称为 AR(p) 序列。
当 a0=0 时,称为零均值 AR(p) 序列,即
(4)
X_t=a_1X_{t-1}+a_2X_{t-2}+\cdots+a_p X_{t-p}+\varepsilon_t,t\in \mathbb{Z}">
需要指出的是,对于 a0≠0 的情况,我们可以通过零均值化的手段把一般的 AR(p) 序列变为零均值 AR(p) 序列。
三、AR 序列的建模
对于给定的时间序列 {Xt},我们最关注的是如何对其进行建模。
一般地,平稳序列的建模过程可以用下图中的流程图表示。
步骤 1 对序列作白噪声检验,若经检验判定序列为白噪声,建模结束;否则转步骤 2.
步骤 2 对序列作平稳性检验,若经检验判定为非平稳,则进行序列的平稳化处理,转步骤 1;否则转步骤 3.
步骤 3 对模型进行识别,估计其参数,转步骤 4.
步骤 4 检验模型的适用性,若检验通过,则得到拟合模型并可对序列做预测;否则转步骤 3.
在这里,对白噪声检验、平稳性检验和平稳化处理不进行介绍。
有时间写两篇这方面的博文。
对于观测到的时间序列,若通过白噪声检验确定为非白噪声,且经平稳性检验确定为平稳后,我们常根据相关系数和偏相关系数来识别模型。
这一部分的主要任务是,判断该问题是否适用 AR 模型建模,以及大致确定阶数 p。
可通过下面的代码,计算自相关系数(Autocorrelation Function, SAF)和偏自相关系数(Partial Autocorrelation Function, PACF)。
from statsmodels.tsa.stattools import acf, pacf
# pacf 计算偏自相关系数
# acf 计算自相关系数
如果一个时间序列满足以下两个条件
- ACF 具有拖尾性,即 ACF(k) 不会在 k 大于某个常数之后就恒等于 0。
- PACF 具有截尾性,即 PACF(k) 在 k>p 时变为 0。
第 2 个条件还可以用来确定阶数 p。
考虑到存在随机误差的存在,因此 PACF 在 p 阶延迟后未必严格为 0 ,而是在 0 附近的小范围内波动。
具体来说
设 k 阶偏自相关系数为 ak,若阶数大于 p 大部分的偏自相关系数满足下式,则 AR 模型的阶数取 p。
(5)
|a_k|\frac{2}{\sqrt{N}}">
其中 N 表示样本序列长度。
例如,对于模型 Xt=0.9Xt-1-0.3Xt-2+εt,它的 ACF 和 PACF 如下。
我们可以看出自相关系数呈现一定的周期性,故判定为拖尾;偏自相关系数 2 步后截尾。
因此,我们可以尝试使用 AR(2) 模型来建模。
AR 模型的参数估计主要有三种方法:矩估计、最小二乘估计和最大似然估计。
这里仅介绍最小二乘估计。
(实际上最大似然估计与最小二乘估计的结果一样)
对于样本序列 {xt},当 j≥p+1时,记白噪声 εj 的估计为
(6)
\hat{\varepsilon}_j=x_j-(\hat{a}_1x_{j-1}+\hat{a}_2x_{j-2}+\cdots+\hat{a}_px_{j-p})">
通常称
\hat{\varepsilon}_j"> 为残差。
我们的优化目标是使得残差平方和
(7)
\sum_{j=p+1}^{N}[x_j-(\hat{a}_1x_{j-1}+\hat{a}_2x_{j-2}+\cdots+\hat{a}_px_{j-p})]^2">
达到最小。
我们称使上式达到最小的 为 AR(p) 模型中自回归系数 的估计。
记
\boldsymbol{Y}=\begin{bmatrix}x_p+1\\x_p+2\\\vdots\\x_N\end{bmatrix},
\textbf{X}=\begin{bmatrix}x_{p}&x_{p-1}&\cdots&x_{1}\\
x_{p+1}&x_{p}&\cdots&x_{2}\\
\vdots&\vdots&&\vdots\\
x_{N-1}&x_{N-2}&\cdots&x_{N-p}\end{bmatrix},
\boldsymbol{a}=\begin{bmatrix}a_0\\a_1\\\vdots\\a_p\end{bmatrix},
\boldsymbol{\varepsilon}=\begin{bmatrix}\varepsilon_{p+1}\\\varepsilon_{p+2}\\\vdots\\\varepsilon_N\end{bmatrix}">
得到如下线性方程组
(8)
\boldsymbol{Y}=\boldsymbol{X}\boldsymbol{a}+\boldsymbol{\varepsilon}">
于是式 (7) 的目标函数可表示为
(9)
S(\boldsymbol{a})=(\boldsymbol{Y}-\boldsymbol{X}\boldsymbol{a})^T(\boldsymbol{Y}-\boldsymbol{X}\boldsymbol{a})=\boldsymbol{Y}^T\boldsymbol{Y}-2\boldsymbol{Y}^T\boldsymbol{X}\boldsymbol{a}+\boldsymbol{a}^T\boldsymbol{X}^T\boldsymbol{X}\boldsymbol{a}">
上式对参数 求导并令其为 0,可得
(10)
\frac{\partial{S(\boldsymbol{a})}}{\partial{\boldsymbol{a}}}=\boldsymbol{-2Y^TX+2a^TX^TX}=0">
因此,参数 的最小二乘估计为
(11)
\hat{\boldsymbol{a}}=(\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{Y}">
此时,误差方差的最小二乘估计
(12)
\hat{\sigma}^2=\frac{1}{N-p}(\boldsymbol{Y}-\boldsymbol{Xa})^T(\boldsymbol{Y}-\boldsymbol{Xa})">
在对 AR 模型识别时,根据其样本偏自相关系数的截尾步数,可初步得到 AR 模型的阶数 p。
然而,此时建立的 AR(p) 未必是最优的。
一个好的模型通常要求残差序列方差较小,同时模型页相对简单,即要求阶数较低。
因此我们需要一些准则来比较不同阶数的模型之间的优劣,从而确定最合适的阶数。
下面给出两种常用的定阶准则。
1. FPE 准则
最终预报误差(Final Prediction Error)准则,简称为 FPE 准则,其判据就是最终预报误差最小。
设 AR(p) 为拟合模型, 是序列的各阶样本自协方差函数,其最终预报误差可表示为
(13)
\mathrm{FPE}(p)=
\left(1+\frac{p}{N}\right)
\left(1-\frac{p}{N}\right)^{-1}
\left(\hat{\gamma}_0-\sum_{i=1}^{p}a_i\hat{\gamma}_i\right)">
在具体应用时,通常是分别建立从低阶到高阶的 AR 模型,并计算出相应的 FPE
的值,由此确定使 FPE 达到最小的 p 值。
2. 贝叶斯信息准则
定义
(14)
\mathrm{BIC}(p)=
\ln{\hat{\sigma}^2}+\frac{(p+1)\ln{N}}{N}">
使得 BIC 达到最小值的 p 即为该准则下的最优 AR 模型的阶数。
在模型拟合之后需要进行模型的检验,主要分为两部分
- 有效性检验:检验拟合模型对序列中信息的提取是否充分
- 显著性检验:检验模型中的个参数是否显著为 0,从而判断拟合魔心是否可以进一步简化。
1. 模型的有效性检验
一个好的拟合模型应该能够提取观测值序列中几乎所有的样本相关信息,即残差序列应该为白噪声序列。
因此,模型的有效性检验即为残差序列的白噪声检验。
如果残差序列是白噪声,那么理论赏其延迟任意阶的自相关系数为 0,考虑数据的偏差,那么绝大多数应该在 0 附近的范围内,通常在 95% 的置信水平(2倍标准差)以内。
2. 参数的显著性检验
这一部分的目标是,删除那些不显著参数使模型结构最为精简。
对于模型参数 aj(j=1,...,p) 的检验,其原假设和备择假设分别为
(15)
H_0:a_j=0\longleftrightarrow H_1:a_j\neq 0, \forall 1\leq j\leq p">
检验统计量为 t 统计量:
(16)
T=\sqrt{N-p}\frac{\hat{a}_j-a_j}{\sqrt{\sum_{t=p+1}^{N}}\hat{\varepsilon}_t^2}\sim t(N-p)">
在给定的显著水平 α 下,当检验统计量 T 大部分位于分点 t1-α/2,或该统计量的 P 值小于 α 时,则可以以 1-α 的置信水平拒绝原假设,
认为模型参数显著。
反之,则不能显著拒绝参数为 0 的假设。
[1] 周永道,王会琦,吕王勇. 时间序列分析及应用. 高等教育出版社. 2015.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)