《SAS知识学习系列38.时间序列分析Ⅱ非平稳时间序列的确定性分析.doc》由会员分享,可在线阅读,更多相关《SAS知识学习系列38.时间序列分析Ⅱ非平稳时间序列的确定性分析.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,38. 非平稳时间序列的确定性分析实际中大多数时间序列是非平稳的,对非平稳时间序列的分析方法主要有两类:确定性分析和随机性分析。确定性分析提取非平稳时间序列明显的规律性(长期趋势、季节性变化、周期性),目的是:克服其它因素影响,单纯测度出单一确定因素对序列的影响;推断各种确定性因素彼此之间相互作用关系及它们对序列的综合影响。随机性分析分析非平稳时间序列由随机因素导致的随机波动性。(一)趋势分析有的时间序列具有明显的长期趋势,趋势分析就是要找出并利用这种趋势对序列发展做出合理预测。1. 趋势拟合法即把时间作为自变量,相应的序列观察值作为因变量,建立序列值随时间变化的回归模型。分为线性拟合和非线
2、性拟合。2. 平滑法利用修匀技术,消弱短期随机波动对序列的影响,使序列平滑化,从而显示出长期趋势变化的规律。(1)移动平均、加权移动平均已知序列值x1, , xt-1, 预测xt的值为称为n期移动平均值,n的选取带有一定的经验性,n过长或过短,各有利弊,也可以根据均方误差来选取。一般最新数据更能反映序列变化的趋势。因此,要突出新数据的作用,可采用加权移动平均法:其中,.(2)二次移动平均对应线性趋势,移动平均拟合值有滞后性,可以采用二次移动平均加以改进:对移动平均值再做一次移动平均。(3)指数平滑法指数平滑法是一种对过去观察值加权平均的特殊形式,观测值时间越远,其权数呈指数下降。一次指数平滑法
3、可用于对时间序列进行修匀,以消除随机波动。预测公式为:其中(0, 1)为平滑常数,为第t期平滑预测值,初始预测值(通常取最初几个实测数据的均值)。 一般来说,时间序列有较大的随机波动时,宜选择较大的值,以便能较快跟上近期的变化;也可以利用预测误差选择。(4)二次、三次指数平滑法即对一次指数平滑后的序列再做一次指数平滑,但不是直接将二次指数平滑值作为预测值,而是利用其来求出方程参数,利用滞后偏差的规律来建立直线趋势模型。计算公式:, 其中,m为预测超前期数,取. (5)霍尔特双参数线性指数平滑法设, (0, 1)为参数,为趋势增量。用趋势增量来修正,消除了滞后性,对数据进行平滑:用指数平滑法估计
4、趋势增量,对相邻两次平滑之差做修正,再加上前期趋势增量,对趋势进行平滑:计算超前m期的预测值: 初值的选取:, . (二)时间序列的分解一、Gramer分解定理1963年,Gramer在Wald分解定理的基础上,得到了Gramer分解定理:任一时间序列Xt都可以分解为叠加的两部分:由多项式决定的确定性趋势成分,平稳的零均值误差成分,即其中,为0均值白噪声序列,B为延迟算子,且即均值序列反映了Xt受到的确定性影响,而反映了Xt受到的随机影响。Gramer定理说明任何一个序列的波动都可以视为同时受到了确定性影响和随机性影响的综合作用。平稳时间序列要求这两方面的影响都是稳定的,而非平稳时间序列产生的
5、机理就在于它所受到的这两方面的影响至少有一方面是不稳定的。二、时间序列的结构形式非平稳时间序列(xt)的确定性因素分为4种:(1)趋势变化因素(Tt)表现出某种倾向,上升或下降或水平;(2)季节变化因素(St)周期固定的波动变化;(3)循环变化因素(Ct)周期不固定的波动变化;(4)不规则因素(t)随机波动,由许多不可控的因素影响而引起的变化。时间序列Xt的结构形式有三种:(1)加法模式:xt = Tt+ St+ Ct+t(2)乘法模式:xt = Tt StCtt(3)混合模式:xt = Tt St Ct+t上述模式中,趋势变化Tt是基础,其它变化与趋势变化结合,构成序列 xt . 在加法模式
6、中,各变化因素均与xt的单位相同;在乘法模式中,Tt与xt有相同的单位,其它因素的变化均数比例值;在混合模型中,Tt、t与xt有相同的单位,St 和Ct是比例值。各式中的随机因素t,均假定为独立的、方差不变的、均值为0的白噪声序列。在这些假定下,对时间序列进行分解。三、时间序列的传统分解法步骤1. 分解出长期趋势因素与循环因素设序列的季节长度为4(一年分为4季)。由假定E(t)=0,故只要对序列xt作移动长度为4的移动平均,就可消除季节和随机波动的影响(因为随机波动有正波动和负波动,一做平均,正负波动就相互抵消,随机波动影响就接近于零)。记移动平均值为:则移动平均后的序列,即为序列的趋势因素和
7、循环因素。类似地,若序列按月份周期,则取12。2. 分解季节因素与随机因素考虑乘法模式xt= Tt StCtt,则两边同除以得只含季节因素与随机因素。因此,它含有确定季节因素所必须的信息。若它的比值大于100%,就意味着序列的实际值xt比滑动平均值Tt Ct要大(该季度的季节性与随机性高于平均数,反之低于平均数),反之要小。3. 从Stt中分解季节因素St即保留季节性,消除随机性,可以采取了按季节平均的方法,将前面得到的序列Stt逐年逐季排列起来,然后将各年的相同季节的Stt相加起来,再进行平均。4. 从TtCt序列中分解出Ct序列TtCt包含了趋势因素与循环因素,要把这两者分离出来,首先要确
8、定一种能最好地描述数据的长期趋势变化的曲线类型。趋势变化曲线,可能有以下几种类型:(1)线性趋势:Tt=a+bt(2)指数曲线:Tt=et(3)S型曲线:属于何种趋势曲线,要根据序列的数值进行判断,并运用最小二乘法,估计出有关参数。确定了趋势因素Tt后,可以用下式计算出循环指数Ct:Ct也围绕100%波动,若Ct低(高)于100%,则意味着第t年的经济活动水平低(高)于所有年份的平均水平。四、温特线性和季节性指数平滑既含有线性趋势和季节性的数据进行处理和预测,使用温特(Winter)线性和季节性指数平滑方法,模型形式为:xt=St(Tt+t) 判断数据是否有季节性,粗略判断可以直接观察时序图,
9、更好的方法是解析法,即通过研究数据序列的自相关性判断。温特方法由三个基础的平滑公式和一个预测方程组成,每个平滑公式都含有一个平滑系数:总体平滑公式:趋势平滑公式:季节的平滑公式:预测公式:其中,, , 是三个不同的平滑系数,Tt是消除季节因素后的趋势平滑值,xt是序列的实际值,ht是趋势增加或减少量序列,St是季节调整因子,是季节的长度(如一年中的月数12或季度数4),l是向前预测期数,是向前l期的预测值。总体平滑和趋势平滑公式是序列xt消除季节因素St后,霍尔特双参数和线性指数平滑法。季节平滑公式是序列xt消除趋势因素Tt后,季节指数的加权平均修匀值。以当前观察的季节指数xt / Tt和上期
10、季节指数St-进行加权平均。对于乘法模型来说,季节指数围绕1波动,可能大于1,也可能小于1。在拟合模型时可以通过求解最小的均方误差MSE得到三个平滑系数的具体值。预测公式是利用拟合模型短期向前预测l期的预测值公式。(三)季节调整PROC X11过程X11过程是根据美国国情调查局编制的时间序列季节调整过程X-11改编的,可以对月度或季度时间序列进行季节调整。其基本原理就是时间序列的确定性因素分解方法。X11过程是基于这样的假定:任何时间序列都可以拆分成长期趋势波动Tt、季节波动St、不规则波动t的影响。又有经济学家发现在经济时间序列中交易日Dt也是一个很重要的影响因素(日历天数的组成不同而引起的
11、变动)。因此,任一时间序列可以分解乘法模型xt=Tt StDtt或加法模型xt=Tt +St+Dt+t。由于宏观调控部门主要关注的是序列的长期趋势波动Tt的规律,所以X11过程主要目的是要从原序列中剔除季节影响、交易日影响和不规则波动影响,得到尽可能准确的长期趋势规律。而采取的方法就是前文的因素剔除法和平滑技术。X11过程不依赖任何模型,普遍采用移动平均法:用多次短期中心移动平均法消除不规则波动,用周期移动平均消除趋势,用交易周期移动平均消除交易日的影响。在整个过程中总共要用到11次移动平均,所以得名为X11过程。基本语法:proc x11 data=数据集 ;monthly 选项列表;qua
12、rterlly选项列表;arima 选项列表;macurves 选项;output out=数据集 ;pdweights 变量tables表名列表;var变量列表;by 变量;id变量列表;说明:(1)monthly或quarterly语句是必不可少的,用来说明数据集是月度序列还是季度序列;(2)pdweights和macurves语句只能与monthly语句一起用,分别用来指定星期几的权重和月份的滑动平均长度;(3)tables语句控制各种表格的输出。output语句语句控制生成out=后指定的数据集;(4)proc x11语句的可选项:l outtdr数据集名输出交易日回归的结果(B15表
13、和C15表中的内容)到数据集;l outstb数据集名输出稳定季节性检验的结果(表D8中的内容)到数据集;l outex把在arima处理过程中预测的观察加到out=输出数据集中;(5)arima语句及可选项X-11方法用一系列中心化滑动平均来估计季节成分,但在起始和结尾处只能用非对称权重。非对称权重可导致季节因子估计不准,有了新数据以后就可能造成大的更改。加拿大统计局开发了一种X-11-ARIMA方法来处理该问题。使用arima语句,就是对在var语句中指定的序列应用X-11-ARIMA方法。该方法从原始数据估计一个arima模型(使用用户指定的模型,或者通过五个预先定义的arima模型中选
14、择一个最优的),然后用此模型把序列外推一年或几年。再根据这个延长了序列进行季节调整,此时原序列的尾部就可用对称权重了。lbackcastn指定序列反向外推的年数,默认为0;lchicr值指定Box-Ljung拟合不足卡方检验时所用的显著水平值,默认为0.05。原假设为预定的模型(共5个)无拟合不足;l forecastn指定预报的年数,默认为1;lmape值指定平均相对误差的临界值,取值在1到100之间,默认为15。mape值作为接受还是拒绝一个模型的临界值。模型的mape值小于临界值说明模型可用,反之模型被拒绝。mape值的计算公式如下:其中,n=36(最后三年的月数)或12(最后三年的季度
15、数),xt为原始序列的最后三年的观察值。lmaxitern指定估计过程最多允许的迭代次数,n取值为1到60之间,默认为15;lmethodcls | uls | ml指定估计方法,分别为条件最小二乘法、无条件最小二乘法、最大似然估计;lmodel(P=n1 Q=n2 SP=n3 SQ=n4 DIF=n5 SDIF=n6)指定arima模型。P和SP表示一般的和季节的自回归过程(AR)阶数;Q和SQ表示一般的和季节的移动平均过程(MA)阶数,DIF和SDIF表示一般的和季节的差分阶数;季节s=12(对应monthly)或4(对应quarterly)。例如,指定一个(0,1,1)(0,1,1)s模
16、型,表示(P,DIF,Q)(SP,SDIF,SQ)s模型。假设考虑月度序列s=12,且E(xt)=,则具体模型形式为:lovdifcr值指定对5个预先定义模型进行过度差分检验时所用的临界值。取值范围在0.8到0.99之间,默认为0.9。五个模型都有一个季节MA因子,最多两个非季节因子(模型2、4、5)。有季节差分和非季节差分。以模型2例,那么具体模型形式为:若3=1,则等式两边可以消去(1-B12)项,得到低阶模型。类似地,如果1+2=1,则又可以消去(1-B)项,得到低阶模型。因为参数估计必定有误差,要求小于1是不合理的。因此,过度差分检验的要求为:30.9 且 1+20.9大于0.9应拒绝
17、此模型。ltransform(log) | (a*b)允许在对模型进行估计之前先进行用户指定的一些变换,产生预报值后再变换回原来的取值。(log)是自然对数变换,(a*b)是乘方变换:xt=(xt+a)b.(6)macurves语句该语句只适用于月度数据,为任一月份指定估计季节因子:月份=选项值。例如:macurves jan=3 feb=3x5 mar=stable;33期移动平均; 3X3、 3X5、3X933、35(移动平均,5期移动平均再做3次移动平均)39移动平均; stable所有值的平均值作为恒定的季节因子;(7)monthly语句月度时间序列数据集必须使用monthly语句。主
18、要选项为:l additive指定进行加法模型季节调整。默认为乘法模型;l chartsstandard | full | none指定生成的图表类型。默认为standard,生成12月度季节性图表和趋势起伏图表;full选项,还额外输出不规则项和季节因子的图表;none选项,不输出任何图表;data日期变量名 start=mmmyy endmmmyy指定要处理的部分时间序列数据的起止时间,例如:monthly date=date start=jan90 end=dec99;exclude=值在交易日回归时把偏离均值超过指定值倍数的标准差的不规则值排除在外。取值在0.1到9.9之间,默认为2.
19、5;pmfactor=月份因素变量用于调整已经知道特殊原因的月份数据,例如,某公司2005年1月份罢工,销售额sales比往常下降了约50%,这是一个原因已知的一次性事件,应该预先修正该月份的销售额,才能排除罢工的影响。在原时间序列数据集中设置一个反映月份因素的新变量x,其他月份的新变量x值都设定为100,即sales=sales/x100=sales(销售额不用调整);2005年1月份的新变量值x设定为50,即sales=sales/x100=2sales,销售额还原成经验值,示例:monthly date=date pmfactor=x;l fullweight=值设定观察值距离均值小于指
20、定值倍数的标准差,将赋予观察值的权数为最大值1。缺省值为1.5。l zeroweight=值设定观察值距离均值大于指定选项值倍数的标准差,将赋予观察值的权数为最小值0。缺省值为2.5。选项zeroweight=的值必须大于选项fullweight=的值。观察值距离均值落入fullweight=值和zeroweight=值之间,将被赋予0到1之间的一个线性分级的权重值。l printout=standard | long | full | none指定打印哪些表格。(8)quarterly语句季度时间序列数据集必须使用quarterly语句,其主要选项和用法与monthly类似。季度时间值的格式
21、为:1999年第一季度为99Q1。(9)pdweights语句用来指定星期一到星期七的权重值,只能用于月度数据。选项格式为:星期几=权重值。这些权重值是用来计算先验交易日因子,而先验交易日因子是在季节调整过程之前对原始序列进行修正的。只需给出相对权重,X11过程会自动调整到相加之和为7。例如:pdweights sun=0.1 mon=0.9 tue=1 wed=1 thu=1 fri=0.7 sat=0.3;(10)tables语句tables语句用来指定打印一些额外表格。例如,如果省略选项printout=,下面语句只打印最终季节因子和最终季节调整过的序列。tables d10 d11;(
22、11)output语句用来生成包含指定表格的输出数据集,输出数据集名由选项out=给出。对每一张要进入输出数据集的表格,由选项:表格名=新变量名列表,来指定。下面是一个var语句和output语句的示例:var z1 z2 z3;output out=out_x11 b1=x1 d11=t1 t2 t3;首先var语句指定输入数据集中三个数值型变量z1、z2和z3分别进行季节调整过程分析。选项b1=x1指定对变量z1进行分析,结果b1表格存入到新变量x1中;选项d11=t1 t2 t3指定对三个数值变量z1、z2、z3进行分析,三个结果b11表格分别存入到新变量t1、t2、t3中。例1对199
23、32005年中国社会消费品96个月份零售总额的时间序列数据:1993年1994年1995年1996年1997年1998年1999年2000年1月977.51192.21602.21909.12288.52549.52662.12774.72月892.51162.71491.51911.22213.52306.42538.42805.03月942.31167.51533.31860.12130.92279.72403.12627.04月941.31170.41548.71854.82100.52252.72356.82572.05月962.21213.71585.41898.32108.2226
24、5.22364.02637.06月1005.71281.11639.71966.02164.72326.02428.82645.07月963.81251.51623.61888.72102.52286.12380.32597.08月959.81286.01637.11916.42104.42314.62410.92636.09月1023.31396.21756.02083.52239.62443.12604.32854.010月1051.11444.11818.02148.32348.02536.02743.93029.011月1102.01553.81935.22290.12454.9265
25、2.22781.53108.012月1415.51932.22389.52848.62881.73131.43405.73680.0使用X11过程进行季节调整,假设先不考虑日历效应和不需要对数据进行任何预先的调整。由于没有交易日的影响,我们考虑使用乘法模型xt= Tt Stt.代码:data sales;input sales ;date = intnx( month, 01jan1993d, _n_-1 );format date monyy5.;datalines;977.5892.5942.3941.3962.21005.7963.8959.81023.31051.111021415.5
26、1192.21162.71167.51170.41213.71281.11251.512861396.21444.11553.81932.21602.21491.51533.31548.71585.41639.71623.61637.1175618181935.22389.51909.11911.21860.11854.81898.319661888.71916.42083.52148.32290.12848.62288.52213.52130.92100.52108.22164.72102.52104.42239.623482454.92881.72549.52306.42279.72252
27、.72265.223262286.12314.62443.125362652.23131.42662.12538.42403.12356.823642428.82380.32410.92604.32743.92781.53405.72774.728052627257226372645259726362854302931083680;run;proc x11 data=sales;monthly date=date;var sales;arima maxit=60;tables d11;output out=out b1=series d10=season d11=adjusted d12=tr
28、end d13=irr;proc print data=out;run ;title Monthly Retail Sales Data;proc sgplot data=out;series x=date y=series / markersmarkerattrs=(color=red symbol=asterisk)lineattrs=(color=red)legendlabel=original ;series x=date y=adjusted / markersmarkerattrs=(color=blue symbol=circle)lineattrs=(color=blue)le
29、gendlabel=adjusted ;yaxis label=Original and Seasonally Adjusted Time Series;run;title Monthly Seasonal Factors (in percent);proc sgplot data=out;series x=date y=season / markers markerattrs=(symbol=CircleFilled) ;run;title Monthly Retail Sales Data (in $1000);proc sgplot data=out;series x=date y=tr
30、end / markers markerattrs=(symbol=CircleFilled) ;run;title Monthly Irregular Factors (in percent);proc sgplot data=out;series x=date y=irr / markers markerattrs=(symbol=CircleFilled) ;run;运行结果及说明:日期变量date从intnx()函数获得从1993年1月1日开始每过一个月的时间。intnx()函数有3个参数:参数1是指定等时间间隔month,还可以取day、week、quarter、year等;参数2指
31、定参照时间01jan1993;参数3是指定开始的时间指针_n_k,k为整数。k取正值(负值),开始时间为参照时间向未来(过去)拨k期。调用季节调整X11过程之前,应该先绘制原始时间序列的散点图(略,见后面原始序列与调整序列对比图),直观判断一下是否存在确定性季节波动,以便确定能否调用X11过程。如果的确存在季节性波动,还需要判断一下季节性的时间周期为月份还是季节。本例是月度数据,必须要用monthly date=date语句。X11 过程季节调整 - salesX-11 季节调整程序美国人口普查局经济研究和分析部门1968 年 11 月 1 日X-11 程序分为七大部分。部分 说明A. 先验调
32、整(若有)B. 不规则成分权重和回归交易日因子的初步估计值C. 上述统计量的最终估计值D. 季节、趋势周期和不规则成分的最终估计值E. 分析表F. 汇总测度G. 图序列 - sales涉及的期间 - 1/1993 至 12/2000运行的类型: 乘法季节调整。Selected Tables or Charts.毕业极值的 Sigma 限制是 1.5 和 2.5已排除那些超出 2.5-sigma 限制的不规则值从交易日回归概述表arima语句的作用是把时间序列延长,使得序列尾部可以使用对称移动平均方法,用以解决减少对序列尾部的更正。对时间序列延长的模型,从五个预先定义的模型中择优采用(也可以用
33、model=来自己定义)。参数maxit=60指定估计过程最多允许迭代60次,特别是对于高阶arima模型,缺省值最多允许迭代15次可能不够。Conditional Least Squares Estimation参数估计值近似标准误差t 值滞后MU0.62589944.49391860.140MA1,10.05113380.25976770.201MA1,2-0.5511010.1492533-3.692MA2,10.05702630.12310640.4612AR1,1-0.5155670.2732939-1.891AR1,2-0.4441580.2026064-2.192Conditio
34、nal Least Squares EstimationVariance Estimate =3164.8385Std Error Estimate =56.256897AIC =910.28403*SBC =924.79708*Number of Residuals=83*Doesnotincludelogdeterminant模型 5 的条件汇总: (2,1,2)(0,1,1)s, 无转换Box-Ljung 卡方: 17.51,自由度: 19,概率: 0.56(条件概率 0.05)过差分检验: MA 参数的总和 = 0.06(必须小于 0.90)MAPE - 前三年: 1.49 (必须小于
35、 15.00 %)- 去年: 1.37- 前年: 1.76- 大前年: 1.34调用arima语句时自动从五个预先定义的模型中选择的最优模型,输出结果表明选择了模型5:(2,1,2)(0,1,1)s,并给出了模型参数的估计值。可得arima模型的具体表达式为:用它延长1年(12个月)的时间序列值。对此模型残差进行拟合不足的Box-Ljung 卡方检验,卡方值为17.51 ,自由度为 19 ,相应概率为 0.560.05,不能拒绝模型残差拟合充分的原假设。对此模型过度差分检验,二阶MA参数值之和为0.06(0.0570263)小于0.9标准,因此,该模型不存在过度差分问题。对该模型用最后三年的原
36、始序列来检验平均相对误差MAPE准则,计算结果为1.49 %小于临界值15.00 %,因此该模型的误差是在可以接受的范围内。最后要特别注意,此模型许多参数值的t检验并没有通过,t值太小,并不能拒绝这些参数值为0的原假设,例如MU、MA1,1和MA2,1参数值t检验所计算的t值。另外从直观上也可以看出这些参数值都很小(接近0)。但该模型已经是五个预先定义模型中最优的。tables d11语句指定打印d11表格,它输出最终的季节调节后的序列。output语句把部分结果输出到out数据集,表b1中的原序列值输出到series,表d10中的最终季节因子输出到season,表d11中的最终季节调节后的序
37、列值输出到adjusted,表d12中的最终趋势起伏值输出到trend,表d13中的最终不规则序列值输出到irr. D11 最终季节调整序列年1 月2 月3 月4 月5 月6 月7 月8 月9 月10 月11 月12 月合计1993938.400903.801978.115995.7911012.941035.251038.591040.351046.921059.101054.331111.4612215.119941143.791175.131212.121238.631278.791320.141349.551394.301428.091451.941484.471517.6415994
38、.619951536.451503.371594.111641.301674.231695.291752.781773.781794.011818.971842.131877.8920504.319961830.041921.801939.161970.402012.472042.902040.782075.362126.952135.942173.962245.1524514.919972189.002217.932225.132237.452241.452261.392275.992277.502281.562316.372323.002279.1727125.919982435.5123
39、06.032383.432406.082413.422442.452477.852504.362485.022482.452505.422487.6429329.719992539.832534.062512.442522.472519.492561.002583.122606.182643.112667.782621.992713.5831025.020002648.642800.862748.742757.172810.392797.942819.962848.872893.172932.542928.562939.1433926.0Avg1907.711920.371949.151971
40、.161995.402019.542042.332065.092087.362108.132116.732146.46合计: 194635 均值: 2027.5 S.D.: 595.95最终季节调整后每月的销售额、每月销售额的总和、每月销售额的平均值和标准差。Monthly Retail Sales Data(部分)ObsdateSERIESSEASONADJUSTEDTRENDIRR1JAN93977.5104.167938.40935.79100.2792FEB93892.598.750903.80954.3894.7003MAR93942.396.338978.11974.71100.3
41、504APR93941.394.528995.79995.74100.0055MAY93962.294.9911012.941015.2999.7696JUN931005.797.1461035.251029.16100.591输出数据集out. 原序列与消除季节效应后的调整序列对比图使用多次移动平均和迭代方法求出的最终季节因子,最终季节因子好象在缓慢地减小,而在原始序列中却没有这么明显。零售额剔除季节效应之后,使用移动平均方法拟合的序列趋势,有非常显著的线性递增趋势。消除了季节和趋势因素后,残差序列很不规则,说明季节和趋势信息提取很充分,因此,用X11过程来拟合中国社会消费品零售总额序列的把握还是比较准确的。