配色: 字号:
时间序列分析
2015-07-25 | 阅:  转:  |  分享 
  
SPSS的实现:ARIMA(p,d,q)(P,D,Q)s模型拟合选择Analyze-TimeSeries-ARIMA,然后把数据中
的时间序列选入Dependent(在数据AR1.sav中,选Z,对数据tssales.sav时选sales,而对数据tsadds2
.sav时选sales),对于Independent,仅在使用数据tsadds2.sav时选了adds。在Model的第一列为A
RIMA(p,d,q)(P,D,Q)s模型的前三个参数(p,d,q),第二列(sp,sd,sq)为ARIMA(p,d,q)(P,D
,Q)s模型的后三个参数(P,D,Q)。这样只要选定我们所希望尝试的模型参数即可。周期s由于在定义序列时已经有了(见对话框中注明
的CurrentPeriodicity后面的数字),就不用另外输入了。在输出的变量中有误差和拟合(预测)的序列,在输出文件中还有
各个参数和一些判别准则等。。公式:指数平滑模型这些模型中有a,g,d,f为待估计参数,g=0意味着斜率为常数(趋势无变化)
,而d=0意味着没有季节成分,f和减幅趋势有关;对于时间序列Xt,趋势、光滑后的序列、季节因子和预测的序列分别用Tt、St、It
和表示;另外,p表示周期,et为残差指数平滑模型:线性趋势可加季节模型(Lineartrend,additi
veseasonalitymodel)指数平滑模型:线性趋势可乘季节模型(Lineartrend,multipl
icativeseasonalitymodel)指数平滑模型:指数趋势可加季节模型(Exponentialtren
d,additiveseasonalitymodel)指数平滑模型:指数趋势可乘季节模型(Exponential
trend,multiplicativeseasonalitymodel)指数平滑模型:减幅趋势可加季节模型(Dam
pedtrend,additiveseasonalitymodel)指数平滑模型:减幅趋势可乘季节模型(Damp
edtrend,multiplicativeseasonalitymodel)ARIMA模型平稳时间序列满足的条
件:对所有t,E(Zt)=m,而且自协方差函数gts=cov(Xt,Xs)=E(Xt-m)(Xs-m)。仅仅与差t-s有关,
因此可以记gk=gt,t+k=cov(Xt-m)(Xt-m)。对于平稳序列,自相关函数(acf)定义为corr(Zt,Zt+k
)=gk/g0。偏相关函数(pacf)定义为corr(Zt,Zt+k|Zt+1,…,Zt+k-1)。函数acf和pacf的点图
可以用来帮助识别平稳过程的ARMA(p,q)模型。AR(p)和MA(q)模型是ARMA(p,q)模型的特例,而ARMA(p,q)模
型又是ARIMA(p,d,q)的特例(这里只有趋势,没有季节),而ARIMA(p,d,q)又是既有趋势又有季节成分的ARIMA(p
,d,q)(P,D,Q)s模型的特例。ARIMA模型:为了便于描述公式,定义算子AR(p)模型或者,用等价的算子
符号,MA(q)模型或者,用等价的算子符号,ARMA(p,q)模型或者,用等价的算子符号,ARIMA
(p,d,q)(P,D,Q)s模型这里为类似于ARMA(p,q)模型中的算子只不过是描述季节序列的罢了;它们
定义为AR(p)模型:或者,用等价的算子符号,AR(p)模型:或者,用等价的算子符号,指数平滑模型
:减幅趋势可乘季节模型(Dampedtrend,multiplicativeseasonalitymodel)指
数平滑模型:减幅趋势可乘季节模型(Dampedtrend,multiplicativeseasonalitymodel)
AR(p)模型:或者,用等价的算子符号,例:数据AR2.sav下面再看剩下的残差序列是否还有什么模式。这还可
以由残差的pacf(左)和acf(右)图来判断。可以看出,它们没有什么模式;这说明拟合比较成功。例:数据AR2.sav下
图为残差对拟合值的散点图。看不出任何模式。说明残差的确是独立的和随机的。ARIMA(p,d,q)(P,D,Q)s模型在对
含有季节和趋势/循环等成分的时间序列进行ARIMA模型的拟合研究和预测时,就不象对纯粹的满足可解条件的ARMA模型那么简单了。一
般的ARIMA模型有多个参数,没有季节成分的可以记为ARIMA(p,d,q),如果没有必要利用差分来消除趋势或循环成分时,差分阶数
d=0,模型为ARIMA(p,0,q),即ARMA(p,q)。在有已知的固定周期s时,模型多了4个参数,可记为ARIMA(p,
d,q)(P,D,Q)s。这里增加的除了周期s已知之外,还有描述季节本身的ARIMA(P,D,Q)的模型识别问题。因此,实际建模要
复杂得多。需要经过反复比较。用ARIMA模型拟合tax.sav先前对例1(数据tax.txt或tax.sav)进行了分解
,并且用指数平滑做了预测。知道其中有季节和趋势成分。下面试图对其进行ARIMA模型拟合。先试图对该序列做acf和pacf条形图
。其中acf图显然不是拖尾(不是以指数速率递减),因此说明需要进行差分。用ARIMA模型拟合例tax.sav关于于参数,
不要选得过大;每次拟合之后要检查残差的acf和pacf图,看是否为无关随机序列。在SPSS软件中还有类似于回归系数的检验以及其他
一些判别标准的计算机输出可做参考(这里不细说)。经过几次对比之后,对于例1数据我们最后选中了ARIMA(0,1,1)(1,2,1
)12模型来拟合。拟合的结果和对2005年6月之后12个月的预测在下图中例tax.sav的原始序列和由模型得到的拟合值及对未
来12个月的预测图。例:数据tax.sav为了核对,当然要画出残差的acf和pacf的条形图来看是否还有什么非随机的因素
存在。下图为这两个点图,看来我们的模型选择还是适当的。例:数据tax.sav例1数据拟合ARIMA(0,1,1
)(1,2,1)12模型后残差序列的Ljung-Box检验的p值新SPSS用ARIMA模型拟合带有独
立变量的时间序列例:数据tsadds2.sav是一个销售时间序列,以每周七天为一个季节周期,除了销售额序列sales之外,还有
一个广告花费的独立变量adds。先不理睬这个独立变量,把该序列当成纯粹时间序列来用ARIMA模型拟合。右图为该序列的点图。数
据tsadds2.sav再首先点出其acf和pacf条形图acf图显然不是拖尾模式,因此,必须进行差分以消除季节影响。试验多
次之后,看上去ARIMA(2,1,2)(0,1,1)7的结果还可以接受。残差的pacf和acf条形图在下一页图中用AR
IMA模型拟合带有独立变量的时间序列继续改进我们的模型,再把独立变量广告支出加入模型,最后得到的带有独立变量adds的ARIM
A(2,1,2)(0,1,1)7模型。拟合后的残差图在下图中。用ARIMA模型拟合带有独立变量的时间序列从各种角度来
看拟合带独立变量平方的ARIMA(2,1,2)(0,1,1)7模型给出更好的结果。虽然从上面的acf和pacf图看不出(一般也
不应该看出)独立变量对序列的自相关性的影响,但是根据另外的一些判别准则,独立变量的影响是显著的,而且加入独立变量使得模型更加有效。
用ARIMA模型拟合带有独立变量的时间序列要注意,一些独立变量的效果也可能是满足某些时间序列模型的,也可能会和季节、趋
势等效应混杂起来不易分辩。这时,模型选择可能就比较困难。也可能不同模型会有类似的效果。一个时间序列在各种相关的因素影响下的模型选
择并不是一件简单明了的事情。实际上没有任何统计模型是绝对正确的,它们的区别在于,在某种意义上,一些模型的某些性质可能要优于另外一些
。新SPSS的时间序列实现特点:在ARIMA中自动选择用什么参数在指数平滑和ARIMA中自动选择模型(包括参数)下
面是两个例子TAXAIRPORTtsadds2.savAirport.sav
SPSS的实现:ARIMA模型时间序列的acf和pacf图:可以用选项Graphs-TimeSeries-Aut
ocorrelations,然后把变量选入Variables中(对于数据AR1.sav,把时间序列Z选入)。在Display中
(默认地)有选项Autocorrelations和Partialautocorrelations导致acf和pacf图。人们还
经常对残差项绘acf和pacf图。时间序列分析横截面数据时间序列数据人们对统计数据往往可以根据其特点从两个方面来切入
,以简化分析过程。一个是研究所谓横截面(crosssection)数据,也就是对大体上同时,或者和时间无关的不同对象的观测值组成
的数据。另一个称为时间序列(timeseries),也就是由对象在不同时间的观测值形成的数据。前面讨论的模型多是和横截面数据
有关。这里将讨论时间序列的分析。我们将不讨论更加复杂的包含这两方面的数据。时间序列和回归时间序列分析也是一种回归。回归
分析的目的是建立因变量和自变量之间关系的模型;并且可以用自变量来对因变量进行预测。通常线性回归分析因变量的观测值假定是互相独立并且
有同样分布。而时间序列的最大特点是观测值并不独立。时间序列的一个目的是用变量过去的观测值来预测同一变量的未来值。也就是说,时间序
列的因变量为变量未来的可能值,而用来预测的自变量中就包含该变量的一系列历史观测值。当然时间序列的自变量也可能包含随着时间度量的独
立变量。例1(数据:Tax.txt,Tax.sav)某地从1995年1月到2005年7月的税收(单位:万元)。该数据有按
照时间顺序的按月记录,共127个观测值。图1就是由该数据得到的一个时间序列图。例1(数据:Tax.txt,Tax.sav
)从这个点图可以看出。总的趋势是增长的,但增长并不是单调上升的;有涨有落。大体上看,这种升降不是杂乱无章的,和季节或月份的周期有
关系。当然,除了增长的趋势和季节影响之外,还有些无规律的随机因素的作用。这个只有一种随着时间变化的变量(税收)的序列一般称为纯粹时
间序列(puretimeseries)。下面将通过该例子对纯粹时间序列进行介绍。时间序列的组成部分从该例可以看出,该
时间序列可以有三部分组成:趋势(trend)、季节(seasonal)成分和无法用趋势和季节模式解释的随机干扰(disturban
ce)。例中数据的税收就就可以用这三个成分叠加而成的模型来描述。一般的时间序列还可能有循环或波动(Cyclic,orflu
ctuations)成分;循环模式和有规律的季节模式不同,周期长短不一定固定。比如经济危机周期,金融危机周期等等。时间序列的
组成部分一个时间序列可能有趋势、季节、循环这三个成分中的某些或全部再加上随机成分。因此,如果要想对一个时间序列本身进行较深入
的研究,把序列的这些成分分解出来、或者把它们过虑掉则会有很大的帮助。如果要进行预测,则最好把模型中的与这些成分有关的参数估计出来
。就例中的时间序列的分解,通过SPSS软件,可以很轻而易举地得到该序列的趋势、季节和误差成分。去掉季节成分,只有趋势和误差
成分的例1的时间序列。例1的时间序列分解出来的纯趋势成分和纯季节成分两条曲线例1的时间序列分解出来的纯趋势成分和纯
误差成分两条曲线指数平滑如果我们不仅仅满足于分解现有的时间序列,而且想要对未来进行预测,就需要建立模型。首先,这里介绍
比较简单的指数平滑(exponentialsmoothing)。指数平滑只能用于纯粹时间序列的情况,而不能用于含有独立变量时间
序列的因果关系的研究。指数平滑的原理为:当利用过去观测值的加权平均来预测未来的观测值时(这个过程称为平滑),离得越近的观测值要给
以更多的权。而“指数”意味着:按照已有观测值“老”的程度,其上的权数按指数速度递减。指数平滑以简单的没有趋势和没有季节
成分的纯粹时间序列为例,指数平滑在数学上这实际上是一个几何级数。这时,如果用Yt表示在t时间的平滑后的数据(或预测值),而用X1,
X2,…,Xt表示原始的时间序列。那么指数平滑模型为或者,等价地,这里的系数为几何级数。因此称之为“几何平滑”比使人不
解的“指数平滑”似乎更有道理。指数平滑自然,这种在简单情况下导出的公式(如上面的公式)无法应对具有各种成分的复杂情况。
后面将给出各种实用的指数平滑模型的公式。根据数据,可以得到这些模型参数的估计以及对未来的预测。在和我们例子有关的指数平滑模型中
,需要估计12个季节指标和三个参数(包含前面公式权重中的a,和趋势有关的g,以及和季节指标有关的d)。在简单的选项之后,SPSS
通过指数平滑产生了对2005年6月后一年的预测。下图为原始的时间序列和预测的时间序列(光滑后的)。下面为误差。例1时间
序列数据的指数平滑和对未来的预测x=scan("d:/booktj1/data/tax.txt")tax=ts(x,f
requency=12,start=c(1995,1))ts.plot(tax,ylab="Tax")#plot
(x1,ylab="Sales")a=stl(tax,"period")#分解a$time.series#分解结果(三
列)ts.plot(a$time.series[,1:3])b=HoltWinters(tax,beta=0)#Holt-
Winters滤波指数平滑predict(b,n.ahead=12)#对未来12个月预测pacf(tax);acf(ta
x)w=arima(tax,c(0,1,1),seasonal=list(order=c(1,2,1),perio
d=12))predict(w,n.ahead=12)w$residuals#残差acf(w$resi)pacf(
w$resi)w$coef#估计的模型系数w$aic#aic值Box-Jenkins方法:ARIMA模型如果要对
比较复杂的纯粹时间序列进行细致的分析,指数平滑往往是无法满足要求的.而若想对有独立变量的时间序列进行预测,指数平滑更是无能为力。
于是需要更加强有力的模型。这就是下面要介绍的Box-JenkinsARIMA模型。数学上,指数平滑仅仅是ARIMA模型的特例
.ARIMA模型:AR模型比指数平滑要有用和精细得多的模型是Box-Jenkins引入的ARIMA模型。或称为整合自回
归移动平均模型(ARIMA为AutoregressiveIntegratedMovingAverage一些关键字母的缩写)
。该模型的基础是自回归和移动平均模型或ARMA(AutoregressiveandMovingAverage)模型。它由
两个特殊模型发展而成,一个特例是自回归模型或AR(Autoregressive)模型。假定时间序列用X1,X2,…,Xt
表示,则一个纯粹的AR(p)模型意味着变量的一个观测值由其以前的p个观测值的线性组合加上随机误差项at(该误差为独立无关的)而得
:这看上去象自己对自己回归一样,所以称为自回归模型;它牵涉到过去p个观测值(相关的观测值间隔最多为p个.ARIMA模型
:MA模型ARMA模型的另一个特例为移动平均模型或MA(MovingAverage)模型,一个纯粹的MA(q)模型意味着
变量的一个观测值由目前的和先前的q个随机误差的线性的组合:由于右边系数的和不为1(q甚至不一定是正数),因此叫做“移动平均”
不如叫做“移动线性组合”更确切;虽然行家已经习惯于叫“平均”了,但初学者还是因此可能和初等平滑方法中的什么“三点平均”之类的术语混
淆。ARIMA模型:ARMA模型显然ARMA(p,q)模型应该为AR(p)模型和MA(q)模型的组合了:显然ARM
A(p,0)模型就是AR(p)模型,而ARMA(0,q)模型就是MA(q)模型。这个一般模型有p+q个参数要估计,看起来很繁琐,
但利用计算机软件则是常规运算;并不复杂。ARIMA模型:平稳性和可逆性但是要想ARMA(p,q)模型有意义则要求时间序列
满足平稳性(stationarity)和可逆性(invertibility)的条件,这意味着序列均值不随着时间增加或减少,序列的
方差不随时间变化,另外序列本身相关的模式不改变等。一个实际的时间序列是否满足这些条件是无法在数学上验证的,这没有关系,但可以从
下面要介绍的时间序列的自相关函数和偏相关函数图中可以识别出来。一般人们所关注的的有趋势和季节/循环成分的时间序列都不是平稳的。这
时就需要对时间序列进行差分(difference)来消除这些使序列不平稳的成分,而使其变成平稳的时间序列,并估计ARMA模型,估计
之后再转变该模型,使之适应于差分之前的序列(这个过程和差分相反,所以称为整合的(integrated)ARMA模型),得到的模型于
是称为ARIMA模型。ARIMA模型:差分差分是什么意思呢?差分可以是每一个观测值减去其前面的一个观测值,即Xt-Xt-1
。这样,如果时间序列有一个斜率不变的趋势,经过这样的差分之后,该趋势就会被消除了。当然差分也可以是每一个观测值减去其前面任意间隔
的一个观测值;比如存在周期固定为s的季节成分,那么相隔s的差分为Xt-Xt-s就可以把这种以s为周期的季节成分消除。对于复杂
情况,可能要进行多次差分,才能够使得变换后的时间序列平稳。ARMA模型的识别和估计上面引进了一些必要的术语和概念。下面
就如何识别模型进行说明。要想拟合ARIMA模型,必须先把它利用差分变成ARMA(p,q)模型,并确定是否平稳,然后确定参数p,q
。现在利用一个例子来说明如何识别一个AR(p)模型和参数p。由此MA(q)及ARMA(p,q)模型模型可用类似的方法来识别。
ARMA模型的识别和估计根据ARMA(p,q)模型的定义,它的参数p,q和自相关函数(acf,autocorrelatio
nsfunction)及偏自相关函数(pacf,partialautocorrelationsfunction)有关。自相
关函数描述观测值和前面的观测值的相关系数;而偏自相关函数为在给定中间观测值的条件下观测值和前面某间隔的观测值的相关系数。这里当
然不打算讨论这两个概念的细节。引进这两个概念主要是为了能够了解如何通过研究关于这两个函数的acf和pacf图来识别模型。
例:数据AR2.sav为了直观地理解上面的概念,下面利用一个数据例子来描述。例:数据AR2.sav;拖尾和截尾先来看该
时间序列的acf(左)和pacf图(右)左边的acf条形图是衰减的指数型的波动;这种图形称为拖尾。而右边的pacf条形图是在第
二个条(p=2)之后就很小,而且没有什么模式;这种图形称为在在p=2后截尾。这说明该数据满足是平稳的AR(2)模型。拖尾和截尾所谓拖尾图形模式也可能不是以指数形式,而是以正负相间的正弦形式衰减。类似地,如果acf图形是在第q=k个条后截尾,而pacf图形为拖尾,则数据满足MA(q)模型。如果两个图形都拖尾则可能满足ARMA(p,q)模型。具体判别法总结在下面表中(并不一定严格!):acf和pacf图如acf和pacf图中至少一个不是以指数形式或正弦形式衰减,那么说明该序列不是平稳序列,必须进行差分变换来得到一个可以估计参数的满足ARMA(p,q)模型的序列如一个时间序列的acf和pacf图没有任何模式,而且数值很小,那么这个序列可能就是一些互相独立的无关的随机变量。一个很好拟合的时间序列模型的残差就应该有这样的acf和pacf图。AR(2)、MA(2)和ARMA(2,2)模型所对应的acf和pacf图。注意,图中有些条是从0开始的(不算在p或q内)。例:数据AR2.sav根据acf和pacf图的形态,不用进行任何差分就可以直接用AR(2)模型拟合。利用SPSS软件,选择AR(2)模型(等价地ARIMA(2,0,0)(0,0,0)模型),得到参数估计为也就是说该AR(2)模型为例:数据AR2.sav例2的原始序列和由模型AR(2)得到的拟合值及对未来10个观测的预测图(虚线)
献花(0)
+1
(本文系墨浓_zst首藏)