有季节效应的非平稳序列分析
时间序列其他相关参考文章:
时间序列分类任务—tsfresh库
时间序列预测—Prophet
python时间序列处理
文中涉及ARIMA算法可以参考时间序列算法—ARIMA
有很多时间序列带有季节效应,呈现出周期性波动规律。目前,有季节效应的序列分析方法主要分为两大类。
一类是基于因素分解方法产生的,这类方法主要是从序列外部去考察有哪些确定性因素会影响序列的波动,查看序列有没有明显的趋势特征、周期特征或季节性特征,将序列按照这几个固定的特征进行因素分解。X11模型以及 HoltWinters三参数指数平滑法都属于这类方法。
另一类是基于 ARIMA方法产生的,这类方法是深入序列内部去寻找序列值之间的相关关系,借助自相关系数、偏自相关系数等统计量的特征,进行序列相关信息的提取。 ARIMA 加法模型以及 ARIMA 乘法模型都属于这类方法。
一、因素分解理论
因素分解方法认为所有的序列波动都可以归纳为受到如下四大类因素的综合影响:
长期趋势(Trend)。序列呈现出明显的长期递增或递减的变化趋势。
循环波动(Circle)。序列呈现出从低到高再由高到低的反复循环波动。循环周期可长可短,不一定是固定的。
季节性变化(Season)。序列呈现出和季节变化相关的稳定周期波动。
随机波动(lmmediate)。除了长期趋势、循环波动和季节性变化之外,其他不能用确定性因素解释的序列波动,都属于随机波动。
统计学家假定序列会受到这四个因素中的全部或部分的影响,从而呈现出不同的波动特征。换言之,任何一个时间序列都可以用这四个因素的某个函数进行拟合。
常用的模型:
加法模型:Xt=T+C+S+I
乘法模型:Xt==TxCxSxI
确定性因素分解方法在经济领域、商业领域和社会领域有广泛的应用。但是几十年来,人们从大量的使用经验中也发现了一些问题。主要有两点:
一是如果观察时期不够长,那么循环因素和趋势因素的影响很难准确区分。比如,太阳黑子序列有9~13年长度不等的周期;在经济领域更是如此,比如基钦周期(平均周期长度为 40个月左右)、朱格拉周期(平均周期长度为 10年左右)、库兹涅茨周期(平均周期长度为20年左右)、康德拉季耶夫周期(平均周期长度为53.3年)。如果观察值序列不够长,没有包含几个循环周期,那么周期的一部分会和趋势重合,无法准确完整地提取循环因素的影响。
二是有些社会现象和经济现象显示某些特殊日期是很显著的影响因素,但是在传统因素分解模型中没有被纳入研究。比如同一只股票每周一和每周五的波动情况可能有显著的不同超市销售情况受特殊日期的影响更明显,工作日、周末、重大假日的销售特征相差很大。春节、端午节、中秋节、儿童节、圣诞节等节日对零售业、旅游业、运输业等多个行业都有显著影响。
针对以上这两个问题,人们对确定性因素分解模型做了改进。如果观察时期不够长,将循环因素***(circle)改为特殊交易日因素***(day)。新的四大因素由: 趋势(T)、季节(S)、循环©和随机波动(I)变为趋势(T)、季节(S)、交易日(D)和随机波动(I)。
常用的因素分解模型在加法模型和乘法模型的基础上,增加了伪加法模型和对数加法模型**。
加法模型: Xt=T+D+S+I
乘法模型:Xt=TxDxSxI
伪加法模型:Xt=Tx(D+S+I)
对数加法模型:InXt=lnT+InD+InS+InI
基于因素分解的思想进行确定性时序分析的目的主要包括以下两个方面:一是克服其他因素的干扰,单纯测度出某个确定性因素(诸如季节、趋势、交易日)对序列的影响,如:X11季节调整模型就是最常用的因素分解模型。二是根据序列呈现的确定性特征选择适当的方法对序列进行综合预测,如指数平滑预测模型就是基于因素分解思想衍生出的预测模型。
二、因素分解模型
2.1、因素分解模型的选择
从图1可以看到,该序列具有明显的线性递增趋势以及以年为周期的季节效应,没有看到大的经济周期循环特征,也没有交易日的信息,所以可以确定这个序列受到三个因素的影响:长期趋势、季节效应和随机波动。随着趋势的递增,每个季节的振幅维持相对稳定,说明季节效应没有受到趋势的影响,这时通常选择加法模型:Xt=T+S+I。
从图2可以看到,该序列具有明显的线性递增趋势以及以年为周期的季节效应,没有看到大的经济周期循环特征,也没有交易日的信息,所以可以确定这个序列也受到三个因素的影响:长期趋势、季节效应和随机波动。随着趋势的递增,每个季节的振幅也在增大,这说明季节效应受到趋势的影响,这时通常选择乘法模型:Xt=TxSxI。
2.2、趋势效应的提取
因素分解方法的重要任务之一就是将序列中蕴含的信息,根据不同的影响因素进行分解,如何克服其他因素的影响,只提取趋势效应信息。趋势效应的提取方法有很多,比如构建序列与时间 t 的线性回归方程或曲线回归方程,或者构建序列与历史信息的自回归方程,但在因素分解场合,最常用的趋势效应提取方法是简单中心移动平均方法。
简单中心移动平均方法尽管很简单,却具有很多良好的属性:
(1)简单中心移动平均能够有效提取低阶趋势。
(2)简单中心移动平均能够实现拟合方差最小。
(3)简单中心移动平均能有效消除季节效应。
因为简单中心移动平均具有这些良好的属性,所以只要选择适当的移动平均期数就能有效消除季节效应和随机波动的影响,有效提取序列的趋势信息。
图中虚线为序列观察值,实线为简单中心移动平均拟合的趋势效应。该序列为季度数据,有显著的季节效应,每年为一个周期,即周期长度为4期。所以首先对原序列进行4期简单移动平均,再对序列进行2期移动平均,得到复合移动平均值。从图中看出,能有效消除季节效应的影响,提取出该序列的趋势信息。
假定该序列的因素分解模型为加法模型,提取趋势信息,那么用原序列减去趋势效应,剩下的就是季节效应和随机波动,上图就是原序列去除趋势效应的效果。
图中虚线为序列观察值,实线为简单中心移动平均拟合的趋势效应。该序列为月度数据,周期长度等于12,对原序列进行12期简单移动平均,再对序列进行2期移动平均,得到复合移动平均值。从图中看出,能有效消除季节效应的影响,提取出该序列的趋势信息。
假定该序列的因素分解模型为乘法模型,提取趋势信息,那么用原序列除以趋势效应,剩下的就是季节效应和随机波动,上图就是原序列去除趋势效应的效果。
2.3、季节效应的提取
在日常生活中可以见到许多有季节效应的时间序列,比如四季的气温、月度商品零售额、某景点季度旅游人数等,它们都会呈现出明显的季节变动规律,在时间序列分析中,我们把“季节”广义化,凡是呈现出固定的周期性变化的事件都称它具有季节效应,通过构造季节指数的方法,提取序列中蕴含的季节效应。
2.3.1、加法模型中指数的构造
季节指数的构造共分为四步:
下图就是根据图1,提取1981–1990年澳大利亚政府季度消费支出序列的季节效应,从季节指数值或季节指数图中,可以清晰看到,澳大利亚政府季度消费支出,每年都是2季度最高,1季度最低,消费支出从低到高排序是:1季度<3季度<4季度<2季度。
本例首先从原序列中剔除趋势效应,赋值给变量t,然后基于x-t(原序列减去趋势效应),分别求序列总均值 m 和各季度均值 ms。加法模型中,各季度均值减去总均值就得到了季节指数S,不同季节之间平均季节指数的差值就是季节效应造成的差异,最后从原序列中剔除趋势效应和季节效应,剩下的就是随机波动了。本例随机波动的特征如下。
2.3.2、乘法模型中指数的构造
季节指数的构造也分为四步:
下图就是根据图2,提取1993-2000年中国社会消费品零售总额序列的季节效应,从季节指数值或季节指数图中,可以清晰看到,中国社会消费品零售总额序列具有上半年为淡季,下半年为旺季,而且越到年底销售越旺的特征。在6月份,由于换季的原因有一个小反弹,不同季节之间季节指数的比值就是季节效应造成的差异,比如1月份季节指数为1.04,2月份季节指数为0.99,这说明由于季节的差异,2月份的平均销售额通常只有1月份的95%左右(0.99/1.04=0.95)。
本例首先从原序列中剔除趋势效应,赋值给变量y-t。然后基于 y-t(原序列减去趋势效应),分别求序列总均值 m 和各月度均值 ms。乘法模型中,各季度均值除以总均值就得到了季节指数 S,最后从原序列中剔除趋势效应和季节效应,剩下的就是随机波动,本例随机波动特征如下。
2.4、X11季节调节模型
如何能创造出一套适用于所有序列,自动化程度很高,而且精度很高的因素分解模型?
X11季节调节模型简称 X11模型,构造它的原因是很多序列通常具有明显的季节效应,季节性会掩盖序列发展的真正趋势,妨碍人们对长期趋势做出正确判断。因此在进行研究时,首先需要对序列进行因素分解,分别监测季节波动和趋势效应。
X11 在传统的简单移动平均方法的基础上,创造性地引入两种移动平均方法以弥补简单移动平均方法的不足,它通过三种移动平均方法,进行三阶段的因素分解,大量的实践应用证明,对具有各种特征的序列,X11模型都能进行精度很高的计算机程序化操作的因素分解。
2.4.1、Henderson 加权移动平均
简单移动平均具有很多优良的属性,这使得它成为应用最广的一种移动平均方法,但它也有不足之处,在提取趋势信息时,它能很好地提取一次函数(线性趋势)和二次函数(抛物线趋势)的信息,但是对于二次以上曲线,它对趋势信息的提取就不够充分了。这说明简单移动平均对高阶多项式函数的拟合不够精确。为了解决这个问题,X11模型引人了 Henderson 加权移动平均。
Henderson加权移动平均的期数选择取决于序列的波动幅度。序列的波动幅度越大,期数选得越大。实践证明,对高阶曲线趋势,Henderson 加权移动平均通常也能取得精度很高的拟合效果。
2.4.2、非对称移动平均Musgrave
简单移动平均加上Henderson加权移动平均可以很好地提取序列中蕴含的线性或非线性趋势信息。但是它们都有一个明显的缺点:因为都是中心移动平均方法,所以一头一尾都会有拟合信息的缺损,尤其是最后几期的信息可能正是我们最关心的。针对这个问题专门构造了 Musgrave 非对称移动平均方法,专门用来补齐最后缺损的序列拟合值。
X11模型就是基于中心移动平均、Henderson加权移动平均和Musgrave 非对称移动平均这三大类移动平均方法,使用多次移动平均反复迭代进行因素分解。
三、指数平滑预测模型
确定性因素分解的第二个目的是根据序列呈现的确定性特征,选择适当的模型,预测序列未来的发展,根据序列是否具有长期趋势与季节效应,可以把序列分为如下三大类:
第一类:既无长期趋势,也无季节效应;
第二类:有长期趋势,无季节效应;
第三类:长期趋势可有可无,但一定有季节效应。
3.1、简单指数平滑
对于变化缓慢的序列,常取较小的α值;相反,对于变化迅速的序列,常取较大的α值。经验a值通常介于0.05~0.3之间。
3.2、Holt 两参数指数平滑
Holt 两参数指数平滑适用于对含有线性趋势的序列进行预测。
和简单指数平滑方法一样,两参数指数平滑的平滑系数可以由研究人员根据经验和需要自行给定。通常对于变化缓慢的序列,常取较小的平滑系数;相反对于变化迅速的序列,常取较大的平滑系数。现在很多统计软件也支持基于拟合精度最优原则,由计算机自行给出α和的估计值。
3.3、Holt-Winters三参数指数平滑
为了预测带季节效应的序列,1960年Winters在Holt 两参数指数平滑的基础上构造了 Holt-Winters 三参数指数平滑。
3.3.1、加法模型
3.3.2、乘法模型
四、ARIMA加法模型
ARIMA模型也可以对具有季节效应的序列建模。根据季节效应提取的方式不同又分为 ARIMA 加法模型和 ARIMA乘法模型。ARIMA 加法模型是指序列中季节效应和其他效应之间是加法关系,即:Xt=S+T+I。
通常简单的周期步长差分即可将序列中的季节信息提取充分,简单的低阶差分即可将趋势信息提取充分,提取完季节信息和趋势信息之后的残差序列就是一个平稳序列,可以用ARMA 模型拟合。因此,季节加法模型实际上就是通过趋势差分、季节差分将序列转化为平稳序列再对其进行拟合。该加法模型简记为 ARIMA(p,(d,S),q),或 ARIMA(p,d,q)x(0,1,0)s。
该序列时序图显示序列具有趋势和季节效应。
进行1阶差分提取趋势效应,4步差分提取季节效应,1阶4步差分后序列时序图显示差分后序列没有明显趋势和周期特征。
之后对差分后序列平稳性检验,白噪声检验,模型系数获取(ACF、PACF或者AIC、BIC获取),拟合模型,模型显著性检验,模型预测。偏自相关图除了1阶和4阶偏自相关系数显著大于2倍标准差,其他阶数的偏自相关系数基本都在2倍标准差范围内波动。所以拟合疏系数模型 AR(1,4),最终序列拟合为季节加法模型 ARIMA((1,4),(1,4),0)。
五、ARIMA乘法模型
生活中常见序列的季节效应、长期趋势效应和随机波动之间存在复杂的交互影响关系,简单的季节加法模型并不足以充分提取其中的相关关系,这时通常需要采用季节乘法模型。
该序列为美国女性月度失业率序列时序图。时序图显示该序列既含有长期递增趋势,又含有以年为周期的季节效应。
对原序列做1阶差分消除趋势,再作12步差分消除季节效应的影响,绘制1阶12步差分图。
之后对差分后序列平稳性检验,白噪声检验,模型系数获取(ACF、PACF或者AIC、BIC获取),拟合季节乘法模型,模型显著性检验,模型预测。
其中,在差分后的序列自相关图显示延迟12阶自相关系数显著大于2倍标准差,这说明差分后序列中仍蕴含非常显著的季节效应。延迟1阶、2阶的自相关系数也大于2倍标准差,这说明差分后序列还具有短期相关性。
使用季节乘法模型来拟合该序列的发展,乘积模型的构造原理如下:
emsp; 当序列具有短期相关性时,通常可以使用低阶ARMA(p,q)模型提取。当序列具有季节效应,季节效应本身还具有相关性时,季节相关性可以使用以周期步长为单位的 ARMA(P,Q)s模型提取。
首先考虑1阶12步差分之后,序列12阶以内的自相关系数和偏自相关系数的特征,以确定短期相关模型。自相关图和偏自相关图显示 12 阶以内的自相关系数和偏自相关系数均不截尾,所以尝试使用 ARMA(1,1)模型提取差分后序列短期自相关信息。
再考虑季节自相关特征,这时考察延迟12阶、24阶等以周期长度为单位的自相关系数和偏自相关系数的特征(横轴为12等整周期延迟)。自相关图显示延迟12阶(1周期)自相关系数显著非零,但是延迟24阶和36阶(2周期和3周期)自相关系数落入2倍标准差范围。偏自相关图显示延迟12阶、24阶、36阶偏自相关系数均显著非零。所以可以认为季节自相关特征是自相关系数1周期截尾,偏自相关系数拖尾这时以 12步为周期长度的 ARMA(0,1)12模型提取差分后序列的季节自相关信息综合前面的差分信息,我们要拟合的乘积模型为 ARIMA(1,1,1)x(0,1,1)12(下标)。