[color=rgba(0, 0, 0, 0.3)]一、背景
首先,时间序列分析方法有两种:1. 描述性时序分析:通过直观数据绘图比较,寻找序列中的规律。由于数据存在随机性,想通过总结表面现象去预测未来走势是很难的。2. 统计性时序分析:研究重心再分析序列值内在的相关关系上,更注重统计分析。
而统计性时序分析又分为两种:1. 频域(Frequency Domain)分析方法:也称频谱分析或谱分析,它假设任何一种无趋势的时间序列都可以分解成若干不同频率的周期波动,可以借助傅里叶变换、正弦、余弦之和去逼近某个函数。但一般比较复杂,属于纵向数据分析,分析结果抽象,不易于解释,对数学要求高。2. 时域(Time Domain)分析方法:它假设序列之间存在一定的相关关系,且具有统计规律,可以通过拟合出适当的数学模型来描述规律,从而预测未来走势。属于横向数据分析。
本文主要是介绍统计性时域分析方法,它主要是横向挖掘时序的内生相关关系,其中,描述时序内生相关关系的两个重要统计指标是:自协方差函数和自相关系数。
1. 自协方差函数:就是协方差,只不过X和Y对应的是时间序列t1和t2。之所以前面有个”自“,是因为时间序列t1和t2是时间序列T下的子序列,只不过存在lag(平移系数)的区别,因此是自己比较自己,形象地讲就是度量自己过去的行为对自己的影响。1. 自相关系数:就是相关系数。分母为两个时间序列的标准差的乘积。 林燕老师在书中花了大量篇幅介绍的均为一元时序分析方法(例如就只研究居民消费支出序列),而多元时序分析方法只讲了一个章节,同理,本文也主要勾勒出一元时序分析的内容,暂不涉及多元时序(例如研究消费支出序列时,将居民收入纳入输入变量中,这样输入序列有历史收入和消费序列,而响应序列为未来消费序列)。这里我以各类传统模型为出发点,讲解时序分析流程。
二、AR/MA/ARMA模型使用AR/MA/ARMA模型前,需要经过两重检验:平稳性检验和纯随机性检验。建模完成后,又要经过方差齐性检验。这里按图1的流程顺序依次阐述知识点。
![](https://pic.jg.com.cn/img/pinggu/fb15de075468747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e30574a414a4f66316b4f6b7875593563716a70416d643669624b646e347a7a37696246756d62724d314c64306962434155364b66316961696270512f3634303f77785f666d743d706e67e2f1b2c034.jpg)
1. 平稳性检验顾名思义,时序平稳性是指序列所有统计特征都不会随时间的推移而发生变化,但实际上时序很难达到严平稳(strictly sationary),更可能为宽平稳(weak stationary),即序列里不同子序列的方差近似相同,是一种近似稳定的状态。平稳性检验有两种方法:图检验和单位根检验。
(1) 图检验图检验内又分时序图检验和自相关图检验。时序图检验就是直接绘制时序图,观察是否近似平稳,比如图2第一行第3张时序图能看出:气温围绕37度上下随机波动,无明显趋势或周期,可以视作平稳序列。而自相关图检验,就是绘制不同延迟期数k下的自相关系数变化图,如图2的第二行,由于平稳序列通常具有短期相关性,所以平移初期(lag较小时),自相关系数一般为正/负,说明短期lag内存在时序内在相关性,而随着lag增加,若p很快的衰减向0,则说明为平稳序列,因为平稳序列下,平移前后的子序列之间不存在相关性。● 单调性:ACF衰减到0的速度很慢,而且可能一直为正,或一直为负,或先正后负,或先负后正。● 周期性:ACF呈正弦波动规律。● 平稳性:ACF衰减到0的速度很快,并且十分靠近0,并控制在2倍标准差内。
![](https://pic.jg.com.cn/img/pinggu/13ffb56ddf68747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e7044786163796351696262654d4f30396346557a4569634269624a4e7a677532715658754344546d6c4b4e4a39794d6a543657346d774876772f3634303f77785f666d743d706e674e7cec261d.jpg)
(2) 单位根检验单位根(unit root)检验是一种统计检验的方法,验差分方程的特征方程(characteristic equation)的各个特征根(characteristic root)是否小于1,即是否在单位圆(unit circle)内。[2] 其中,DF检验是ADF检验在自相关为1的一个特例,前者适用于AR(1),后者适用于AR(p)。深入数学内容详见[2]。
2. 纯随机性检验纯随机性检验,也称白噪声检验。若序列为纯随机性序列,说明该序列过去的行为对将来的发展没有影响,没有任何分析价值。纯随机性检验有两种方法:Q统计量和LB统计量。
(1) Q统计量Q统计量适用于大样本场合(n很大的场合),若该统计量的P值小于 时,则可以以 的置信水平拒绝原假设,认为该序列为非白噪声序列。 为序列观测期数, 为指定延迟期数, 为自相关系数。
(2) LB统计量Q统计量在小样本场合不太精确,所以LB统计量做了修正: 若P值显著大于显著性水平 ,则接受原假设,即序列为纯随机性序列。一般来说,只检验短期延迟(例如 或 )的Q统计量和LB统计量,不会全部期延迟检验(例如 ),因为平稳序列通常具有短期相关性,若短期延迟都不存在相关关系,那通常长期延迟就不会有相关关系,因此很少对长期延迟做纯随机性检验。
3. AR模型AR(p)模型,称为p阶自回归(auto-regressive)模型。函数为: AR有三个限制条件:● ,保证模型最高阶数为p。● 要求随机干扰序列 为零均值白噪声序列。● 当期的随机干扰与过去的序列值无关。
当 时,为中心化AR(p)模型。当为非中心化AR(p)模型时(即 ),那么可以通过以下变换,转为中心化AR(p)序列: 为 的中心化序列,相当于将非中心化序列平移了 。
由于AR模型拟合的是平稳序列,所以拟合后的模型也应该为平稳的,因此在拟合完模型后,为了保险,会将模型拟合后的结果再做平稳性检验,看拟合模型是否平稳。
4. MA模型MA(q)模型,称为q阶移动平均(moving average)模型,函数为: MA有两个限制条件:● ,保证模型最高阶数为q。● 要求随机干扰序列 为零均值白噪声序列。
当 时,为中心化MA(q)模型。当为非中心化MA(q)模型时(即 ),那么可以通过以下变换,转为中心化MA(q)序列: 不同于AR模型,MA模型拟合后会做可逆性检验。因为MA模型会出现:一个自相关系数未必唯一对应一个平稳时间序列模型,因此会考察MA模型的可逆性,模型可逆,说明它ACF具有唯一性。而不可逆,说明ACF不唯一,会导致模型选择变得困难,比如MA(3)和MA(4)的ACF相同,你选哪个?
写到这里,我插一句。我刚看到MA模型,其实对随机干扰序列 有些迷糊,这个自变量从哪来?后面看了[3],才知道误差项是不可观察的,其中的 是由 递推过来的,而 有专门的获取方法,这里不做展开,有兴趣深入的朋友可以阅读[3]。
5. ARMA模型ARMA(p,q)模型,称为自回归移动平均(auto-regressive moving average)模型,函数为: 当 时,为中心化模型。当q=0时,为AR(p)模型。当p=0时,为MA(q)模型。同样地,模型检验会考察平稳性和可逆性。
6. AR/MA/ARMA建模流程总结来说,AR/MA/ARMA模型适用于平稳非纯随机序列。在书[1]中,它的建模流程如下图所示,其实和图1一样,只不过图3把流程细化了,尤其是 ”计算ACF、PACF“和 ”ARMA模型识别” 这两块是重点。
![](https://pic.jg.com.cn/img/pinggu/5edec633f868747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e755a4930647263334e514c4d705a75794f466562436a7176536e476f4d314e55586e325a33546f7741755035304778384f55573734512f3634303f77785f666d743d706e675ae499bee8.jpg)
(1) 计算ACF和PACF自相关系数(ACF),考察当前t序列与其延迟k期序列之间的相关性。 <mjx-container jax="SVG" display="true" role="presentation" tabindex="0" ctxtmenu_counter="114" data-formula="\hat{p}_{k}=\frac{\sum_{t=1}^{n-k}(x_t-\bar{x})(x_{t+k}-\bar{x})}{\sum_{t=1}^{n}(x_t-\bar{x})^2},\quad0<k由于对于滞后k自相关系数 来说,实际上得到的并不是 与 之间单纯的相关关系,因为 同时还会受到中间k-1个随机变量 的影响,为了剔除这k-1个随机变量的干扰,提出了偏自相关系数(PACF): <mjx-container jax="SVG" display="true" role="presentation" tabindex="0" ctxtmenu_counter="117" data-formula="\hat{\phi}_{kk}=\frac{\hat{D}_k}{\hat{D}},\quad0<k
![](https://pic.jg.com.cn/img/pinggu/2ff3e725e868747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e6a527670777754696166794d54716c674c556d7771616f3375616f69634e4b3238584f5949776f45796c4147597261336e67773763534c512f3634303f77785f666d743d706e672eeaa81b2e.jpg)
(2) 模型识别基于ACF和PACF图,我们可以参考图4,进行模型定阶(即确定p和q的取值)。其中,AR看PACF定p,MA看ACF定q。拖尾是指趋向于0,截尾是指为0,但实际上并不能出现完美的理论截尾,但可以利用2倍标准差范围辅助判断:● 如果ACF/PACF在最初d阶明显超过2倍std,但后面几乎95%都落在2倍std以内,而且衰减的十分突然,可判断为d阶截尾。● 如果有超过5%的系数落入2倍std外,或系数衰减缓慢或非常连续,可判断为不截尾。
![](https://pic.jg.com.cn/img/pinggu/3cb4d4ecbe68747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e446962484d4f6c446c47644f6b4d394b47585341447059755168324739644d584f39645068376a67644877356378416862354f413358412f3634303f77785f666d743d706e671427b37a18.jpg)
我们看一个例子,会更好帮助理解模型定阶:
![](https://pic.jg.com.cn/img/pinggu/4d5cb49d5268747470733a2f2f6d6d62697a2e717069632e636e2f6d6d62697a5f706e672f436352486b587a557275554265415a4266434b556a316c6a4574436b7930596e796a57375a31553572534e73546f57475633623148436e59346d347369627132466f34325472546b6339496e75754b32347078485932412f3634303f77785f666d743d706e672ab7aabbca.jpg)
(3) 参数估计参数估计有以下三种:● 矩估计:适用于低阶ARMA模型,因为计算量少,估计思想简单,且不需要假设总体分布。但估计精度不高。● 极大似然估计:估计精度高,同时具有好的统计性质。● 最小二乘估计:借助迭代法,充分利用序列观察值信息,精度很高。
(4) 模型检验模型显著性检验分两方面检验:● 模型显著性检验:检查残差序列是否为白噪声序列,若不是,说明模型不够有效,导致残差序列还残留相关信息。采用白噪声检验方式。● 参数显著性检验:检验每个未知参数是否显著为零,目的是让模型精简。采用假设检验方式。
(5) 模型优化若同一个序列出现两个拟合模型(例如:AR(2)和ARMA(2,1))都显著有效,该如何选择?可以基于AIC和BIC(SBC)信息准则。信息准则衡量的是模型拟合精度和参数个数,我们希望参数个数小且模型精度好。 模型的极大似然函数模型中未知参数个数 AIC越小,模型越优秀。但AIC有不足,就是AIC的拟合误差会受样本容量放大而被影响,样本容量越大,往往AIC选择的模型会含有更多的参数。为此,BIC加入对未知参数个数的惩罚权重: 模型的极大似然函数模型中未知参数个数