SAS学习系列39 时间序列分析ⅢARIMA模型.docx
- 文档编号:16348338
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:38
- 大小:749.82KB
SAS学习系列39 时间序列分析ⅢARIMA模型.docx
《SAS学习系列39 时间序列分析ⅢARIMA模型.docx》由会员分享,可在线阅读,更多相关《SAS学习系列39 时间序列分析ⅢARIMA模型.docx(38页珍藏版)》请在冰点文库上搜索。
SAS学习系列39时间序列分析ⅢARIMA模型
39.时间序列分析Ⅱ——ARIMA模型
随着对时间序列分析方法的深入研究,人们发现非平稳序列的确定性因素分解方法(如季节模型、趋势模型、移动平均、指数平滑等)只能提取显著的确定性信息,对随机性信息浪费严重,同时也无法对确定性因素之间的关系进行分析。
而非平稳序列随机分析的发展就是为了弥补确定性因素分解方法的不足。
时间序列数据分析的第一步都是要通过有效手段提取序列中所蕴藏的确定性信息。
Box和Jenkins使用大量的案例分析证明差分方法是一种非常简便有效的确定性信息的提取方法。
而Gramer分解定理则在理论上保证了适当阶数的差分一定可以充分提取确定性信息。
(一)ARMA模型
即自回归移动平均移动模型,是最常用的拟合平稳时间序列的模型,分为三类:
AR模型、MA模型和ARMA模型。
一、AR(p)模型——p阶自回归模型
1.模型:
其中,
,随机干扰序列εt为0均值、
方差的白噪声序列(
t≠s),且当期的干扰与过去的序列值无关,即E(xtεt)=0.
由于是平稳序列,可推得均值
.若
,称为中心化的AR(p)模型,对于非中心化的平稳时间序列,可以令
,
转化为中心化。
记B为延迟算子,
称为p阶自回归多项式,则AR(p)模型可表示为:
.
2.格林函数
用来描述系统记忆扰动程度的函数,反映了影响效应衰减的快慢程度(回到平衡位置的速度),Gj表示扰动εt-j对系统现在行为影响的权数。
例如,AR
(1)模型(一阶非齐次差分方程),
模型解为
.
3.模型的方差
对于AR
(1)模型,
.
4.模型的自协方差
对中心化的平稳模型,可推得自协方差函数的递推公式:
用格林函数显示表示:
对于AR
(1)模型,
5.模型的自相关函数
递推公式:
对于AR
(1)模型,
.
平稳AR(p)模型的自相关函数有两个显著的性质:
(1)拖尾性
指自相关函数ρ(k)始终有非零取值,不会在k大于某个常数之后就恒等于零;
(2)负指数衰减
随着时间的推移,自相关函数ρ(k)会迅速衰减,且以负指数
(其中
为自相关函数差分方程的特征根)的速度在减小。
6.模型的偏自相关函数
自相关函数ρ(k)实际上并不只是xt与xt-k之间的相关关系,它还会受到中间k-1个随机变量xt-1,…,xt-k+1的影响。
为了能剔除了中间k-1个随机变量的干扰,单纯测度xt与xt-k之间的相关关系,引入了滞后k偏自相关函数(PACF),计算公式为:
其中,
滞后k偏自相关函数实际上等于k阶自回归模型第k个回归系数
:
两边同乘以xt-k,求期望再除以
得到
取前k个方程构成的方程组:
称为Yule-Walker方程,可以解出
.
可以证明平稳AR(p)模型,当k>p时,
.即平稳AR(p)模型的偏自相关函数具有p步截尾性。
注:
实际上样本的随机性使得偏自相关函数不是严格截尾,例如上面两图都1阶显著不为0,1阶之后都近似为0.
二、MA(q)模型——q阶移动平均模型
1.模型:
其中,
,随机干扰序列
为0均值、
方差的白噪声序列(
t≠s)。
若μ=0,称为中心化的MA(q)模型,非中心化的MA(q)模型可以通过
转化为中心化。
记B为延迟算子,
称为q阶自移动平均系数多项式,则中心化MA(q)模型可以表示为
.
2.模型的方差
3.模型的自协方差
只与滞后阶数k相关,且q阶截尾。
当k=0时,
当1≤k≤q时,
当k>q时,
.
4.模型的自相关函数:
(q阶截尾性)
5.模型的滞后k阶偏自相关函数(中心化)
可以证明滞后k阶偏自相关函数具有拖尾性。
6.模型的可逆性
以MR
(1)为例,
模型Ⅰ:
模型Ⅱ:
它们的自相关函数
相同(即相同的自相关函数对应不同的回归模型),为了保证对应的唯一性,需要增加约束条件,即MR(q)模型的可逆性条件。
观察两个模型的第二种表示:
当
时,模型Ⅰ收敛、模型Ⅱ不收敛;当
时,模型Ⅰ不收敛、模型Ⅱ收敛。
表示成收敛形式的MR(q)模型称为可逆MR(q)模型。
一个自相关函数只对应唯一一个可逆MR(q)模型。
三、ARMA(p,q)模型——自回归移动平均模型
1.模型
其中,
,
,随机干扰序列εt为0均值、
方差的白噪声序列(
t≠s),且当期的干扰与过去的序列值无关,即E(xtεt)=0.
若
,则称为中心化的ARMA(p,q)模型。
引入延迟算子,中心化的ARMA(p,q)模型可表示为:
.
显然,AR(p)和MA(q)模型是ARMA(p,q)模型的特例。
2.数字特征
(1)均值:
;
(2)自协方差函数:
,其中Gi为格林函数;
(3)自相关函数:
3.模型的初步定阶
对于平稳非白噪声序列,计算出样本自相关系数(ACF)和偏自相关系数(PACF),根据其性质估计自相关阶数
和移动平均阶数
,称为ARMA(p,q)模型的定阶。
可以推导出:
样本自相关函数
和偏自相关函数
都近似服从正态分布
.
取显著水平α=0.05,若样本自相关系数和样本偏自相关系数在最初的k阶明显大于2倍标准差,而后几乎95%的系数都落在2倍标准差的范围内,且非零系数衰减为小值波动的过程非常突然,通常视为k阶截尾;若有超过5%的样本相关系数大于2倍标准差,或者非零系数衰减为小值波动的过程比较缓慢或连续,通常视为拖尾。
4.参数估计
对非中心化的ARMA(p,q)模型
.
参数μ可用样本均值来估计总体均值(矩估计法),初步定阶估计出自相关阶数
和移动平均阶数
后,模型共有p+q+1个未知参数:
.
(1)参数的矩估计
用时间序列样本数据计算出延迟1阶到p+q阶的样本自相关函数
,延迟k阶的总体自相关函数为
.用计算出的样本自相关函数来估计总体自相函数,得到p+q个联立方程组:
从中解出
的值作为未知参数估计值
.ARMA(p,q)模型的两边同时求方差,并把前面的参数的估计值代入,可得白噪声序列的方差估计为:
(2)参数的极大似然估计
当总体分布类型已知时,极大似然估计是常用的估计方法。
其基本思想是,认为样本来自使该样本出现概率最大的总体。
因此,未知参数的极大似然估计,就是使得似然函数(即联合密度函数)达到最大值的参数值:
在时间序列分析中,序列的总体分布通常是未知的。
为了便于分析和计算,通常假设序列服从多元正态分布,它的联合密度函数是可导的。
在求极大似然估计时,为了求导方便,常对似然函数取对数,然后对对数似然函数中的未知参数求偏导数,得到似然方程组。
理论上,只要求解似然方程组即可得到未知参数的极大似然估计。
但在实际上是使用计算机经过复杂的迭代算法求出未知参数的极大似然估计。
两种估计的比较:
矩估计的优点是不要求知道总体的分布,计算量小,估计思想简单直观。
但缺点是只用到了样本自相关系数的信息,序列中的其他信息被忽略了,这导致估计精度一般较差。
因此,它常被作为极大似然估计和最小二乘估计的迭代计算的初始值。
极大似然估计的优点是充分应用了每一个观察值所提供的信息,因而它的估计精度高,同时,还具有估计的一致性、渐近正态性和渐近有效性等优良统计性质,是一种非常优良的参数估计方法。
(3)参数的最小二乘估计
使ARMA(p,q)模型的残差平方和达到最小的那组参数值:
通过计算机借助迭代方法求出。
由于充分利用了序列的信息,该方法估计精度最高。
在实际运用中,最常用的是条件最小二乘估计,假定时间序列过去未观察到序列值等于序列均值,可得到残差的有限项表达式:
于是残差平方和达到最小的那组参数值为:
5.模型和参数的显著性检验
ARMA(p,q)模型中,使用QLB统计量检验残差序列的自相关性,为了克服DW检验的有偏性,Durbin在1970年提出了修正的Durbinh统计量:
其中,n为观察值序列的长度,
为延迟因变量系数的最小二乘估计的方差。
参数的显著性检验是要检验每一个模型参数是否显著非零。
若某个参数为零,模型中包含这个参数的乘积项就为零,可以简化模型。
因此,该检验的是为了精简模型。
原假设H0:
某未知参数βj=0;H1:
βj≠0.可以构造出检验未知参数显著性的t(n-m)检验统计量,其中m为参数的个数。
6.模型优化
当一个拟合模型在置信水平α下通过了检验,说明了在该置信水平下该拟合模型能有效地拟合时间序列观察值的波动。
但是这种有效的拟合模型并不是惟一的。
如果同一个时间序列可以构造两个拟合模型,且两个模型都显著有效,那么应该选择哪个拟合模型用于统计推断呢?
通常采用AIC和SBC信息准则来进行模型优化。
(1)AIC准则——最小信息量准则
由日本统计学家赤池弘次(Akaike)于1973年提出,是一种考评综合最优配置的指标,它是拟合精度和参数未知个数的加权函数:
AIC=-2ln(模型中极大似然函数值)+2(模型中未知参数个数)
使其达到最小值的模型被认为是最优模型。
(2)BIC/SBC准则
AIC准则的不足:
若时间序列很长,相关信息就越分散,需要多自变量复杂拟合模型才能使拟合精度比较高。
在AIC准则中拟合误差等于
,即随样本容量n增大,但模型参数个数的惩罚因子(始终=2)却与n无关。
因此在样本容量n趋于无穷大时,由AIC准则选择的拟合模型不收敛于真实模型,它通常比真实模型所含的未知参数个数要多。
为了弥补AIC准则的不足,Akaike于1976年提出BIC准则。
而Schwartz在1978年根据贝叶斯理论也得出同样的判别准则,称为SBC准则。
SBC准则定义为:
SBC=-2ln(模型中极大似然函数值)+ln(n)(模型中未知参数个数)
即将未知参数个数的惩罚权重由常数2变成了ln(n)。
在所有通过检验的模型中使得AIC或SBC函数达到最小的模型为相对最优模型(因为不可能比较所有模型)。
7.模型预测
即利用时间序列已观察到的样本值对时间序列在未来某个时刻的取值进行估计。
常用的预测方法是线性最小方差预测。
根据ARMA(p,q)模型的平稳性和可逆性,可以用格林函数的传递形式和逆转函数的逆转形式等价描述该序列:
右式代入左式得:
可见,xt是历史数据xt-1,xt-2,…的线性函数。
对于任意一个将来时刻t+l,也可以用上式预测,但xt+l-1,…,xt+1未知。
根据线性函数的可加性,所有未知信息都可以用已知信息的线性函数表示出来,并用该线性函数进行估计:
用
来衡量预测误差,最常用的预测原则是预测误差的方差最小法:
在线性预测方差最小法下得到的估计值
是在序列xt,xt-1,…已知的情况下得到的条件无偏最小方差估计值。
且预测方差只与预测步长
l有关,而与预测起始点t无关。
预测步长l越大预测值的方差越大,因此只适合于短期预测。
在正态假定下,估计值
的1-α的置信区间为:
(二)ARIMA模型——混和自回归移动平均模型
一、原理
也称Box-Jenkins模型,用来处理单变量同方差的非平稳时间序列,通过差分法或适当的变换转化为平稳序列,再使用ARMA模型。
注:
残差的条件方差是异方差的时间序列,适合用GARCH模型。
ARIMA(p,d,q)模型的形式如下:
其中,
为d阶差分,
为平稳可逆ARMA(p,q)模型的自回归和移动平均系数多项式。
可见,ARIMA模型的实质就是差分运算与ARMA模型的组合。
任何非平稳序列只要通过适当阶数的差分实现平稳,就可以对差分后序列进行ARMA模型的拟合了。
d阶差分后的序列可表示为:
其中,
为组合数,即d阶差分后序列等于原来序列的若干序列值的某种加权和。
二、建模步骤
分为三个阶段:
识别阶段、估计阶段和预测阶段。
1.识别阶段
使用identify语句来指定响应变量序列并且识别候选ARIMA模型。
一般先对序列进行非线性、差分和平稳性检验,可能对序列进行差分,然后计算自相关系数ACF、逆自相关系数IACF、偏自相关系数PACF和互相关系数。
此阶段的输出通常会建议一个或多个可拟合的ARIMA模型。
如果模型确定,还可以检验样本自相关系数SACF和样本偏自相关系数SPACF,以分出模型的类型。
2.估计阶段
使用estimate语句来指定ARIMA模型去拟合在前面identify语句中指定的响应变量,并且估计该模型的参数。
estimate语句也生成诊断统计量从而帮助判断该模型的适用性。
关于参数估计值的显著性检验可以指出模型里的一些项是否不需要:
拟合优度统计量R2可帮助比较该模型和其他模型的优劣;白噪声残差检验可指明残差序列是否包含可被其他更复杂模型采用的额外信息,如果诊断检验表明模型不适用,则可尝试另一个模型然后重复估计和诊断。
3.预测阶段
使用forecast语句来预测时间序列的未来值,并对这些来自前面estimate语句生成的ARIMA模型的预测值产生置信区间。
(三)PROCARIMA过程
ARIMA过程采用Box-Jenkins方法建立模型,是集一元时间序列模型判定、参数估计和预测为一体的多功能综合工具。
当ARIMA模型包括其他时间序列作为输入变量时,有时也被称为ARIMAX模型。
ARIMA模型还支持干预或中断时间序列模型、误差的多元回归分析、任意复杂程度的有理转移函数模型。
基本语法:
procarimadata=数据集out=输出数据集;
where条件表达式;
identifyvar=变量(…)<选项列表>;
estimate<选项列表>;
forecast<选项列表>;
说明:
(1)where语句
指定用于分析的时间间隔,通常条件表达式是有关日期变量的条件表达式,例如:
’31dec98’d<日期变量<’31dec99’d
(2)identify语句
主要完成时间序列的差分计算,样本ACF、IACF和PACF函数的计算、卡方检验统计量和白噪声自相关检验的p值的计算。
主要选项:
var=变量(d1,…,dk)——是必选项,指定要分析的时间序列变量,按括号内列出的差分周期列表来计算时间序列的滞后差分。
例如:
var=X
(1)为对滞后1项的序列差分,即Xt-Xt-1;
var=X
(2)为对滞后2项的序列差分,即Xt-Xt-2;
var=X(1,1)为X进行二阶差分,即(Xt-Xt-1)-(Xt-1-Xt-2);
nlag=数字——指定计算自相关的滞后数,其值应大于p+d+q,小于观测数,默认值为24;
crosscorr=(干预变量(d1))——列出有var=指定的响应序列的交叉相关变量。
干预变量在交叉相关变量中。
交叉相关变量的差分由圆括号内的差分滞后
数确定。
(3)estimate语句
对已执行的identify语句中的响应变量规定一个模型,主要选项:
p=(p1,p2,…)…(p1,p2,…)——定义一个在p中指定的滞后处具有自回归参数的模型,p的默认值为0;
q=(q1,q2,…)…(q1,q2,…)——定义一个在q中指定的滞后处具有滑动平均参数的模型,q的默认值为0。
如果p=和q=都没有指定,则拟合随机模型;
noconstant——在模型中舍弃常数项μ;
noint——在该模型中不拟合截距参数;
method=ml|uls|cls——指定估计时使用的方法,分别为极大似然方法、无条件最小二乘法、有条件最小二乘法,默认为cls;
outest=数据集——将参数估计值输出到指定的数据集;
outmode=数据集——将模型和参数估计值输出到指定的数据集;
outstat=数据集——将模型诊断统计量输出到指定的数据集;
plot——可以绘制残差自回归函数等;
(4)forecast语句
利用estimate语句所产生的参数估计生成时间序列的预测值,主要选项:
alpha=α——设置预测置信限的大小,上下置信限的置信水平为
1-α,默认值为0.05;
lead=n——指定要计算的多步向前预测值的次数,默认为24;
back=n——指定在数据末尾前n个观测值开始进行分步预测,默认为0;
interval=时间间隔——指定观测之间的时间间隔,常用的时间间隔为year、qtr、month、week、weekday、day、hour、minute、second;
id=变量名——指明输入数据集中一个变量,用于识别与观测有关的时间周期;
out=数据集——将预测值和其他值输出到一个指定的数据集中。
例1有一组1949年至1961年国际航线旅客月度人数的记录:
YEAR
1
2
3
4
5
6
7
8
9
10
11
12
1949
112
118
132
129
121
135
148
148
136
119
104
118
1950
115
126
141
135
125
149
170
170
158
133
114
140
1951
145
150
178
163
172
178
199
199
184
162
146
166
1952
171
180
193
181
183
218
230
242
209
191
172
194
1953
196
196
236
235
229
243
264
272
237
211
180
201
1954
204
188
235
227
234
264
302
293
259
229
203
229
1955
242
233
267
269
270
315
364
347
312
274
237
278
1956
284
277
317
313
318
374
413
405
355
306
271
306
1957
315
301
356
348
355
422
465
467
404
347
305
336
1958
340
318
362
348
363
435
491
505
404
359
310
337
1959
360
342
406
396
420
472
548
559
463
407
362
405
1960
417
391
419
461
472
535
622
606
408
461
390
432
使用ARIMA过程进行建模和预测。
(一)读入数据、绘制时间序列图、判断平稳性,代码:
dataarimad01;
date=intnx('month','31dec1948'd,_n_);
inputx@@;
formatdatemonyy5.;
datalines;
112118132129121135148148136119104118
115126141135125149170170158133114140
145150178163172178199199184162146166
171180193181183218230242209191172194
196196236235229243264272237211180201
204188235227234264302293259229203229
242233267269270315364347312274237278
284277317313318374413405355306271306
315301356348355422465467404347305336
340318362348363435491505404359310337
360342406396420472548559463407362405
417391419461472535622606408461390432
;
run;
procsgplotdata=arimad01;
seriesx=datey=x/markers;
run;
procarimadata=arimad01;
identifyvar=x;
run;
运行结果及说明:
为了识别时间序列的数据是否平稳和是否明显有季节性,绘制时间序列图,可见不平稳。
更精确的判断,通常利用procarima过程的identify语句来检测序列是否平稳:
ARIMA过程
变量名=x
工作序列的均值
279.6042
标准差
118.5103
观测数
144
白噪声的自相关检查
至滞后
卡方
自由度
Pr>卡方
自相关
6
572.74
6
<.0001
0.940
0.869
0.801
0.756
0.717
0.687
12
1041.31
12
<.0001
0.669
0.660
0.676
0.711
0.750
0.765
18
1372.45
18
<.0001
0.711
0.644
0.587
0.540
0.503
0.471
24
1616.11
24
<.0001
0.454
0.445
0.462
0.489
0.522
0.535
P值<0.0001<α=0.05,拒绝序列为白噪声的原假设,即序列是非平稳的。
自相关系数ACF,发现自相关系数长期位于零轴正的一边,这是具有单调递增趋势序列的典型特征,同时自相关图呈现出明显的正弦波动规律,这是具有周期变化规律的非平稳序列的典型特征。
自相关图显示出来的这两个性质和该序列时序图显示出的带长期递增趋势的周期性质是非常吻合的。
对于不同的时间序列类型,它们相应ACF的特性有:
①若时间序列是随机无趋势的,所有时滞的自相关系数都等于0;
②若时间序列是上升或下降趋势的,那么对于短时滞来说,自相关系数大且为正,而且随着时滞lag的增加而缓慢地下降。
ACF本身似乎随着时滞长度的增加而呈下降趋势;
③若时间序列无趋势但具有季节性,那么对于按月(L=12)采集的数据来说,时滞12,24,…的自相关系数达到最大(即nL处),而随着时滞长度增加时,变得较小;
④若时间序列有趋势且具有季节性,那么自相关系数特性类同于有趋势序列,但是它们是摆动的,对于按月的数据,在时滞12,24…等处具有峰态;
⑤若时间序列是平稳的,它具有正自相关的误差项,那么低阶的自相关系数较大,但是随着时滞长度的增加而迅速地衰减;
另外,在ACF图中,通过自相关系数值是否在零点附近的两条对称的虚线之内,完成不同时滞的总体自相关系数为0的检验。
(二)变换不平稳序列为平稳序列
最常用的变换方法有:
①若时间序列呈线性趋势,均
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS学习系列39 时间序列分析ARIMA模型 SAS 学习 系列 39 时间 序列 分析 ARIMA 模型