SAS学习系列38 时间序列分析Ⅱ非平稳时间序列的确定性分析.docx
- 文档编号:26053883
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:38.48KB
SAS学习系列38 时间序列分析Ⅱ非平稳时间序列的确定性分析.docx
《SAS学习系列38 时间序列分析Ⅱ非平稳时间序列的确定性分析.docx》由会员分享,可在线阅读,更多相关《SAS学习系列38 时间序列分析Ⅱ非平稳时间序列的确定性分析.docx(19页珍藏版)》请在冰豆网上搜索。
SAS学习系列38时间序列分析Ⅱ非平稳时间序列的确定性分析
38.非平稳时间序列简直定性分析之马矢奏春创作
创作时间:
二零二一年六月三十日
实际中年夜大都时间序列是非平稳的,对非平稳时间序列的分析方法主要有两类:
确定性分析和随机性分析.
确定性分析——提取非平稳时间序列明显的规律性(长期趋势、季节性变动、周期性),目的是:
①克服其它因素影响,纯真测度出单一确定因素对序列的影响;②推断各种确定性因素彼此之间相互作用关系及它们对序列的综合影响.
随机性分析——分析非平稳时间序列由随机因素招致的随机摆荡性.
(一)趋势分析
有的时间序列具有明显的长期趋势,趋势分析就是要找出并利用这种趋势对序列发展做出合理预测.
1.趋势拟合法
即把时间作为自变量,相应的序列观察值作为因变量,建立序列值随时间变动的回归模型.分为线性拟合和非线性拟合.
2.平滑法
利用修匀技术,消弱短时间随机摆荡对序列的影响,使序列平滑化,从而显示出长期趋势变动的规律.
(1)移动平均、加权移动平均
已知序列值x1,…,xt1,预测xt的值为
称为n期移动平均值,n的选取带有一定的经验性,n过长或过短,各有利弊,也可以根据均方误差来选取.
一般最新数据更能反映序列变动的趋势.因此,要突出新数据的作用,可采纳加权移动平均法:
其中,
.
(2)二次移动平均
对应线性趋势,移动平均拟合值有滞后性,可以采纳二次移动平均加以改进:
对移动平均值再做一次移动平均.
(3)指数平滑法
指数平滑法是一种对过去观察值加权平均的特殊形式,观测值时间越远,其权数呈指数下降.一次指数平滑法可用于对时间序列进行修匀,以消除随机摆荡.预测公式为:
其中α∈(0,1)为平滑常数,
为第t期平滑预测值,初始预测值
(通常取最初几个实测数据的均值).
一般来说,时间序列有较年夜的随机摆荡时,宜选择较年夜的α值,以便能较快跟上近期的变动;也可以利用预测误差选择.
(4)二次、三次指数平滑法
即对一次指数平滑后的序列再做一次指数平滑,但不是直接将二次指数平滑值作为预测值,而是利用其来求出方程参数,利用滞后偏差的规律来建立直线趋势模型.计算公式:
其中,m为预测超前期数,取
.
(5)霍尔特双参数线性指数平滑法
设α,β∈(0,1)为参数,
为趋势增量.用趋势增量来修正,消除滞后性,对数据进行平滑:
用指数平滑法估计趋势增量,对相邻两次平滑之差做修正,再加上前期趋势增量,对趋势进行平滑:
计算超前m期的预测值:
初值的选取:
.
(二)时间序列的分解
一、Gramer分解定理
1963年,Gramer在Wald分解定理的基础上,获得了Gramer分解定理:
任一时间序列{Xt}都可以分解为叠加的两部份:
由多项式决定简直定性趋势成份,平稳的零均值误差成份,即
其中,
为
均值白噪声序列,B为延迟算子,且
即均值序列
反映了{Xt}受到简直定性影响,而
反映了{Xt}受到的随机影响.
Gramer定理说明任何一个序列的摆荡都可以视为同时受到了确定性影响和随机性影响的综合作用.平稳时间序列要求这两方面的影响都是稳定的,而非平稳时间序列发生的机理就在于它所受到的这两方面的影响至少有一方面是不稳定的.
二、时间序列的结构形式
非平稳时间序列(xt)简直定性因素分为4种:
(1)趋势变动因素(Tt)——暗示出某种倾向,上升或下降或水平;
(2)季节变动因素(St)——周期固定的摆荡变动;
(3)循环变动因素(Ct)——周期不固定的摆荡变动;
(4)不规则因素(εt)——随机摆荡,由许多不成控的因素影响而引起的变动.
时间序列{Xt}的结构形式有三种:
(1)加法模式:
xt=Tt+St+Ct+εt
(2)乘法模式:
xt=TtStCtεt
(3)混合模式:
xt=TtStCt+εt
上述模式中,趋势变动Tt是基础,其它变动与趋势变动结合,构成序列{xt}.在加法模式中,各变动因素均与xt的单元相同;在乘法模式中,Tt与xt有相同的单元,其它因素的变动均数比例值;在混合模型中,Tt、εt与xt有相同的单元,St和Ct是比例值.各式中的随机因素εt,均假定为自力的、方差不变的、均值为0的白噪声序列.在这些假定下,对时间序列进行分解.
三、时间序列的传统分解法步伐
1.分解出长期趋势因素与循环因素
设序列的季节长度为4(一年分为4季).由假定E(εt)=0,故只要对序列xt作移动长度为4的移动平均,就可消除季节和随机摆荡的影响(因为随机摆荡有正摆荡和负摆荡,一做平均,正负摆荡就相互抵消,随机摆荡影响就接近于零).记移动平均值为:
则移动平均后的序列,即为序列的趋势因素和循环因素.类似地,若序列按月份周期,则取12.
2.分解季节因素与随机因素
考虑乘法模式xt=TtStCtεt,则两边同除以
得
只含季节因素与随机因素.因此,它含有确定季节因素所必需的信息.若它的比值年夜于100%,就意味着序列的实际值xt比滑动平均值TtCt要年夜(该季度的季节性与随机性高于平均数,反之低于平均数),反之要小.
3.从Stεt中分解季节因素St
即保管季节性,消除随机性,可以采用了按季节平均的方法,将前面获得的序列Stεt逐年逐季排列起来,然后将各年的相同季节的Stεt相加起来,再进行平均.
4.从TtCt序列中分解出Ct序列
TtCt包括了趋势因素与循环因素,要把这两者分离出来,首先要确定一种能最好地描述数据的长期趋势变动的曲线类型.趋势变动曲线,可能有以下几种类型:
(1)线性趋势:
Tt=a+bt
(2)指数曲线:
Tt=αeβt
(3)S型曲线:
属于何种趋势曲线,要根据序列的数值进行判断,并运用最小二乘法,估计出有关参数.
确定了趋势因素Tt后,可以用下式计算出循环指数Ct:
Ct也围绕100%摆荡,若Ct低(高)于100%,则意味着第t年的经济活动水平低(高)于所有年份的平均水平.
四、温特线性和季节性指数平滑
既含有线性趋势和季节性的数据进行处置和预测,使用温特(Winter)线性和季节性指数平滑方法,模型形式为:
xt=St(Tt+εt)
判断数据是否有季节性,粗略判断可以直接观察时序图,更好的方法是解析法,即通过研究数据序列的自相关性判断.
温特方法由三个基础的平滑公式和一个预测方程组成,每个平滑公式都含有一个平滑系数:
总体平滑公式:
趋势平滑公式:
季节的平滑公式:
预测公式:
其中,α,β,γ是三个分歧的平滑系数,Tt是消除季节因素后的趋势平滑值,xt是序列的实际值,ht是趋势增加或减少量序列,St是季节调整因子,τ是季节的长度(如一年中的月数12或季度数4),l是向前预测期数,
是向前l期的预测值.
总体平滑和趋势平滑公式是序列xt消除季节因素St后,霍尔特双参数α和β线性指数平滑法.季节平滑公式是序列xt消除趋势因素Tt后,季节指数的加权平均修匀值.以以后观察的季节指数xt/Tt和上期季节指数Stτ进行γ加权平均.对乘法模型来说,季节指数围绕1摆荡,可能年夜于1,也可能小于1.在拟合模型时可以通过求解最小的均方误差MSE获得三个平滑系数的具体值.预测公式是利用拟合模型短时间向前预测l期的预测值公式.
(三)季节调整——PROCX11过程
X11过程是根据美国国情调查局编制的时间序列季节调整过程X11改编的,可以对月度或季度时间序列进行季节调整.其基来源根基理就是时间序列简直定性因素分解方法.
X11过程是基于这样的假定:
任何时间序列都可以拆分生长期趋势摆荡Tt、季节摆荡St、不规则摆荡εt的影响.又有经济学家发现在经济时间序列中交易日Dt也是一个很重要的影响因素(日历天数的组成份歧而引起的变动).因此,任一时间序列可以分解乘法模型xt=TtStDtεt或加法模型xt=Tt+St+Dt+εt.
由于宏观调控部份主要关注的是序列的长期趋势摆荡Tt的规律,所以X11过程主要目的是要从原序列中剔除季节影响、交易日影响和不规则摆荡影响,获得尽可能准确的长期趋势规律.
而采用的方法就是前文的因素剔除法和平滑技术.X11过程不依赖任何模型,普遍采纳移动平均法:
用屡次短时间中心移动平均法消除不规则摆荡,用周期移动平均消除趋势,用交易周期移动平均消除交易日的影响.在整个过程中总共要用到11次移动平均,所以得名为X11过程.
基本语法:
procx11data=数据集可选项>;
monthly选项列表;
quarterlly选项列表;
arima选项列表;
macurves选项;
outputout=数据集选项列表>;
pdweights变量
tables表名列表;
var变量列表;
by变量;
id变量列表;
说明:
(1)monthly或quarterly语句是必不成少的,用来说明数据集是月度序列还是季度序列;
(2)pdweights和macurves语句只能与monthly语句一起用,分别用来指定星期几的权重和月份的滑动平均长度;
(3)tables语句控制各种表格的输出.output语句语句控制生成out=后指定的数据集;
(4)procx11语句的可选项:
outtdr=数据集名——输出交易日回归的结果(B15表和C15表中的内容)到数据集;
outstb=数据集名——输出稳定季节性检验的结果(表D8中的内容)到数据集;
outex——把在arima处置过程中预测的观察加到out=输出数据集中;
(5)arima语句及可选项
X11方法用一系列中心化滑动平均来估计季节成份,但在起始和结尾处只能用非对称权重.非对称权重可招致季节因子估计禁绝,有了新数据以后就可能造成年夜的更改.加拿年夜统计局开发了一种X11ARIMA方法来处置该问题.使用arima语句,就是对在var语句中指定的序列应用X11ARIMA方法.
该方法从原始数据估计一个arima模型(使用用户指定的模型,或者通过五个预先界说的arima模型中选择一个最优的),然后用此模型把序列外推一年或几年.再根据这个延长了序列进行季节调整,此时原序列的尾部就可用对称权重了.
backcast=n——指定序列反向外推的年数,默认为0;
chicr=值——指定BoxLjung拟合缺乏卡方检验时所用的显著水平值,默认为0.05.原假设为预定的模型(共5个)无拟合缺乏;
forecast=n——指定预报的年数,默认为1;
mape=值——指定平均相对误差的临界值,取值在1到100之间,默认为15.mape值作为接受还是拒绝一个模型的临界值.模型的mape值小于临界值说明模型可用,反之模型被拒绝.
mape值的计算公式如下:
其中,n=36(最后三年的月数)或12(最后三年的季度数),xt为原始序列的最后三年的观察值.
maxiter=n——指定估计过程最多允许的迭代次数,n取值为1到60之间,默认为15;
method=cls|uls|ml——指定估计方法,分别为条件最小二乘法、无条件最小二乘法、最年夜似然估计;
model=(P=n1Q=n2SP=n3SQ=n4DIF=n5SDIF=n6)——指定arima模型.P和SP暗示一般的和季节的自回归过程(AR)阶数;Q和SQ暗示一般的和季节的移动平均过程(MA)阶数,DIF和SDIF暗示一般的和季节的差分阶数;季节s=12(对应monthly)或4(对应quarterly).
例如,指定一个(0,1,1)(0,1,1)s模型,暗示(P,DIF,Q)(SP,SDIF,SQ)s模型.假设考虑月度序列s=12,且E(xt)=μ,则具体模型形式为:
ovdifcr=值——指定对5个预先界说模型进行过度差分检验时所用的临界值.取值范围在0.8到0.99之间,默认为0.9.五个模型都有一个季节MA因子,最多两个非季节因子(模型2、4、5).有季节差分和非季节差分.以模型2例,那么具体模型形式为:
若θ3=1,则等式两边可以消去(1B12)项,获得低阶模型.类似地,如果θ1+θ2=1,则又可以消去(1B)项,获得低阶模型.因为参数估计肯定有误差,要求小于1是分歧理的.因此,过度差分检验的要求为:
年夜于0.9应拒绝此模型.
transform=(log)|(a**b)——允许在对模型进行估计之前先进行用户指定的一些变换,发生预报值后再变换回原来的取值.(log)是自然对数变换,(a**b)是乘方变换:
xt=(xt+a)b.
(6)macurves语句
该语句只适用于月度数据,为任一月份指定估计季节因子:
月份=选项值.例如:
macurvesjan=’3’feb=’3x5’mar=stable;
’3’——3期移动平均;
’3X3’、’3X5’、’3X9’——3×3、3×5(移动平均,5期移动平均再做3次移动平均)3×9移动平均;
’stable’——所有值的平均值作为恒定的季节因子;
(7)monthly语句
月度时间序列数据集必需使用monthly语句.主要选项为:
additive——指定进行加法模型季节调整.默认为乘法模型;
charts=standard|full|none——指定生成的图表类型.默认为standard,生成12月度季节性图表和趋势起伏图表;full选项,还额外输出不规则项和季节因子的图表;none选项,不输出任何图表;
data=日期变量名start=mmmyyend=mmmyy——指定要处置的部份时间序列数据的起止时间,例如:
monthlydate=datestart=jan90end=dec99;
exclude=值——在交易日回归时把偏离均值超越指定值倍数的标准差的不规则值排除在外.取值在0.1到9.9之间,默认为2.5;
pmfactor=月份因素变量——用于调整已经知道特殊原因的月份数据,例如,某公司1月份罢工,销售额sales比往常下降了约50%,这是一个原因已知的一次性事件,应该预先修正该月份的销售额,才华排除罢工的影响.在原时间序列数据集中设置一个反映月份因素的新变量x,其他月份的新变量x值都设定为100,即sales=sales/x×100=sales(销售额不用调整);1月份的新变量值x设定为50,即sales=sales/x×100=2×sales,销售额还原成经验值,示例:
monthlydate=datepmfactor=x;
fullweight=值——设定观察值距离均值小于指定值倍数的标准差,将赋予观察值的权数为最年夜值1.缺省值为1.5.
zeroweight=值——设定观察值距离均值年夜于指定选项值倍数的标准差,将赋予观察值的权数为最小值0.缺省值为2.5.选项zeroweight=的值必需年夜于选项fullweight=的值.观察值距离均值落入fullweight=值和zeroweight=值之间,将被赋予0到1之间的一个线性分级的权重值.
printout=standard|long|full|none——指定打印哪些表格.
(8)quarterly语句
季度时间序列数据集必需使用quarterly语句,其主要选项和用法与monthly类似.季度时间值的格式为:
1999年第一季度为’99Q1’.
(9)pdweights语句
用来指定星期一到星期七的权重值,只能用于月度数据.选项格式为:
星期几=权重值.这些权重值是用来计算先验交易日因子,而先验交易日因子是在季节调整过程之前对原始序列进行修正的.只需给出相对权重,X11过程会自动调整到相加之和为7.例如:
pdweightssun=0.1mon=0.9tue=1wed=1thu=1fri=0.7sat=0.3;
(10)tables语句
tables语句用来指定打印一些额外表格.例如,如果省略选项printout=,下面语句只打印最终季节因子和最终季节调整过的序列.
tablesd10d11;
(11)output语句
用来生成包括指定表格的输出数据集,输出数据集名由选项out=给出.对每一张要进入输出数据集的表格,由选项:
表格名=新变量名列表,来指定.下面是一个var语句和output语句的示例:
varz1z2z3;
outputout=out_x11b1=x1d11=t1t2t3;
首先var语句指定输入数据集中三个数值型变量z1、z2和z3分别进行季节调整过程分析.选项b1=x1指定对变量z1进行分析,结果b1表格存入到新变量x1中;选项d11=t1t2t3指定对三个数值变量z1、z2、z3进行分析,三个结果b11表格分别存入到新变量t1、t2、t3中.
例1对1993-中国社会消费品96个月份零售总额的时间序列数据:
1993年
1994年
1995年
1996年
1997年
1998年
1999年
2000年
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
使用X11过程进行季节调整,假设先不考虑日历效应和不需要对数据进行任何预先的调整.由于没有交易日的影响,我们考虑使用乘法模型xt=TtStεt.
代码:
datasales;
inputsales@@;
date=intnx('month','01jan1993'd,_n_1);
formatdatemonyy5.;
datalines;
2774.728052627257226372645259726362854302931083680
;
run;
procx11data=sales;
monthlydate=date;
varsales;
arimamaxit=60;
tablesd11;
outputout=outb1=seriesd10=seasond11=adjustedd12=trendd13=irr;
procprintdata=out;
run;
title'MonthlyRetailSalesData';
procsgplotdata=out;
seriesx=datey=series/markers
markerattrs=(color=redsymbol='asterisk')
lineattrs=(color=red)
legendlabel="original";
seriesx=datey=adjusted/markers
markerattrs=(color=bluesymbol='circle')
lineattrs=(color=blue)
legendlabel="adjusted";
yaxislabel='OriginalandSeasonallyAdjustedTimeSeries';
run;
title'MonthlySeasonalFactors(inpercent)';
procsgplotdata=out;
seriesx=datey=season/markersmarkerattrs=(symbol=CircleFilled);
run;
title'MonthlyRetailSalesData(in$1000)';
procsgplotdata=out;
seriesx=datey=trend/markersmarkerattrs=(symbol=CircleFilled);
run;
title'MonthlyIrregularFactors(inpercent)';
procsgplotdata=out;
seriesx=datey=irr/markersmarkerattrs=(symbol=CircleFilled);
run;
运行结果及说明:
日期变量date从intnx()函数获得从1993年1月1日开始每过一个月的时间.
intnx()函数有3个参数:
参数1是指定等时间间隔’month’,还可以取’day’、’week’、’quarter’、’year’等;参数2指定参照时间’01jan1993’;参数3是指定开始的时间指针_n_k,k为整数.k取正值(负值),开始时间为参照时间向未来(过去)拨k期.
调用季节调整X11过程之前,应该先绘制原始时间序列的散点图(略,见后面原始序列与调整序列比较图),直观判断一下是否存在确定性季节摆荡,以便确定能否调用X11过程.如果简直存在季节性摆荡,还需要判断一下季节性的时间周期为月份还是季节.
本例是月度数据,必需要用monthlydate=date语句.
X11过程
季节调整sales
X11季节调整法式
美国人口普查局
经济研究和分析部份
1968年11月1日
X11法式分为七年夜部份.
部份说明
A.先验调整(若有)
B.不规则成份权重
和回归交易日因子的初步估计值
C.上述统计量的最终估计值
D.季节、趋势周期和不规则成份
的最终估计值
E.分析表
F.汇总测度
G.图
序列sales
涉及的期间1/1993至12/2000
运行的类型:
乘法季节调整.
SelectedTablesorCharts.
已排除那些超越2.5sigma限制的不规则值
从交易日回归
概述表
arima语句的作用是把时间序列延长,使得序列尾部可以使用对称移动平均方法,用以解决减少对序列尾部的更正.对时间序列延长的模型,从五个预先界说的模型中择优采纳(也可以用model=来自己界说).参数maxit=60指定估计过程最多允许迭代60次,特别是对高阶arima模型,缺省值最多允许迭代15次可能不够.
ConditionalLeastSquaresEstimation
参数
估计值
近似标准误差
t值
滞后
MU
0
MA1,1
1
MA1,2
2
MA2,1
12
AR1,1
1
AR1,2
2
ConditionalLeastSquaresEstimation
VarianceEstimate=
StdErrorEstimate=
AIC=
*
SBC=
*
NumberofResiduals=
83
* Does not include log determinant
模型5的条件汇总:
(2,1,2)(0,1,1)s,无转换
(条件概率>0.05)
(必需小于0.90)
MAPE前三年:
1.49(必需小于15.00%)
调用arima语句时自动从五个预
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS学习系列38 时间序列分析非平稳时间序列的确定性分析 SAS 学习 系列 38 时间 序列 分析 平稳 的确 定性分析