时间序列分析上机操作题.docx
《时间序列分析上机操作题.docx》由会员分享,可在线阅读,更多相关《时间序列分析上机操作题.docx(18页珍藏版)》请在冰豆网上搜索。
时间序列分析上机操作题
20.1971年9月—1993年6月澳大利亚季度常住人口变动(单位:
千人)情况如下表。
63.2
67.9
55.8
49.5
50.2
55.4
49.9
45.3
48.1
61.7
55.2
53.1
49.5
59.9
30.6
30.4
33.8
42.1
35.8
28.4
32.9
44.1
45.5
36.6
39.5
49.8
48.8
29
37.3
34.2
47.6
37.3
39.2
47.6
43.9
49
51.2
60.8
67
48.9
65.4
65.4
67.6
62.5
55.1
49.6
57.3
47.3
45.5
44.5
48
47.9
49.1
48.8
59.4
51.6
51.4
60.9
60.9
55.8
58.6
62.1
64
60.3
64.6
71
79.4
59.9
83.4
75.4
80.2
55.9
58.5
65.2
69.5
59.1
21.5
62.5
170
-47.4
62.2
60
33.1
35.3
43.4
42.7
58.4
34.4
问题:
(1)判断该序列的平稳性与纯随机性。
(2)选择适当模型拟合该序列的发展。
(3)绘制该序列拟合及未来5年预测序列图。
针对问题一:
将以下程序输入SAS编辑窗口,然后运行后可得图1.
dataexample3_1;
inputx;
time=_n_;
cards;
63.267.955.849.550.255.4
49.945.348.161.755.253.1
49.559.930.630.433.842.1
35.828.432.944.145.536.6
39.549.848.82937.334.2
47.637.339.247.643.949
51.260.86748.965.465.4
67.662.555.149.657.347.3
45.544.54847.949.148.8
59.451.651.460.960.955.8
58.662.16460.364.671
79.459.983.475.480.255.9
58.565.269.559.121.562.5
170-47.462.26033.135.3
43.442.758.434.4
;
procgplotdata=example3_1;
plotx*time=1;
symbol1c=redI=joinv=star;
run;
图1该序列的时序图
由图1可读出:
除图中170和-47.4这两个异常数据外,该时序图显示澳大利亚季度常住人口变动一般在在60附近随机波动,没有明显的趋势或周期,基本可视为平稳序列。
再接着输入以下程序运行后可输出五方面的信息。
具体见表1-表5.
procarimadata=example3_1;
identifyVar=xnlag=8;
run;
表1分析变量的描述性统计
从表1可读出分析变量的名称、该序列的均值;标准差及观察值的个数(样本容量)。
表2样本自相关图
由表2可知:
样本自相图延迟3阶之后,自相关系数都落入2倍标准差围以,而且自相关系数向零衰减的速度非常快,故可以认为该序列平稳。
表3样本自相关系数
该图从左到右输出的信息分别为:
延迟阶数、逆自相关系数值和逆自相关图。
表4样本偏自相关图
该图从左到右输出信息是:
延迟阶数、偏自相关系数值和偏自相关图。
表5纯随机性检验结果
由上表可知在延迟阶数为6阶时,LB检验统计量的P值很小,所以可以断定该序列属于非白噪声序列。
针对问题二:
将IDENTIFY命令中增加一个可选命令MINIC,运行以下程序可得到表6.
表6IDENTIFY命令输出的最小信息量结果
通过上表可知:
在自相关延迟阶数小于等于5,移动平均延迟阶数也小于等于5的所有ARMA(p,q)模型中,BIC信息量相对最小的是ARMA(1,3)模型。
进行参数估计,输入以下命令,运行可得到表7—表10
estimatep=1q=3;
run;
表7ESTIMATE命令输出的位置参数估计结果
表8ESTIMATE命令输出的拟合统计量的值
表9ESTIMATE命令输出的系数相关阵
表10ESTIMATE命令输出的残差自相关检验结果
拟合模型的具体形式如表11所示。
表11ESTIMATE命令输出的拟合模型形式
针对问题三:
对拟合好的模型进行短期预测。
输入以下命令,运行可得表12和图2.
forecastlead=5id=timeout=results;
run;
procgplotdata=results;
plotx*time=1forecast*time=2l95*time=3u95*time=3/overlay;
symbol1c=blacki=nonev=star;
symbol2c=redi=joinv=none;
symbol3c=greeni=joinv=nonel=32;
run;
表12forecast命令输出的预测结果
图2拟合效果图
5.我国1949-2008年末人口总数(单位:
万人)序列如下表。
54167
55196
56300
57482
58796
60266
61465
62828
64653
65994
67207
66207
65859
67295
69172
70499
72538
74542
76368
78534
80671
82992
85229
87177
89211
90859
92420
93717
94974
96259
97542
98705
100072
101654
103008
104357
105851
107507
109300
111026
112704
114333
115823
117171
118517
119850
121121
122389
123626
124761
125786
126743
127627
128453
129227
129988
130756
131448
132129
132802
选择合适模型拟合该序列的长期趋势,并作5期预测。
采用SAS软件运行下列程序:
dataexample5_1;
inputx;
t=_n_;
cards;
5416755196563005748258796602666146562828
6465365994672076620765859672956917270499
7253874542763687853480671829928522987177
8921190859924209371794974962599754298705
100072101654103008104357105851107507109300111026
112704114333115823117171118517119850121121122389
123626124761125786126743127627128453129227129988
130756131448132129132802
;
procgplot;
plotx*t=1;
symbol1i=joinv=nonec=blavk;
run;
图3该序列的时序图
通过时序图可以得知,该序列有明显的线性递增趋势,故用线性回归模型来拟合。
在接着在编辑窗口输入以下命令,运行程序:
procautoregdata=example5_1;
modelx=t;
run;
表12AUTOREG过程输出线性拟合结果
通过该表可得知:
(1)因变量的名称,本例中因变量为x。
(2)普通最小二乘统计量,误差平方和、均方误差、SBC信息量、回归模型的R^2、DW统计量、误差平方和的自由度、均方根误差、AIC信息量、包括自回归误差过程在的整体模型R^2。
(3)参数估计量。
该部分从左到右输出的信息分别是:
变量名、自由度、估计值、估计值的标准差、t值以及统计量的t值的近似概率P值。
对于进行5期预测,再接着输入以下命令运行:
procforecastdata=example5_1method=stepartrend=2lead=5
out=outoutfullouttest=est;
idt;
varx;
procgplotdata=out;
plotx*t=_type_/href=2008;
symbol1i=nonev=starc=black;
symbol2i=joinv=nonec=red;
symbol3i=joinv=nonec=greenl=2;
symbol4i=joinv=nonec=greenl=2;
run;
表13FORECAST过程OUT命令输出数据集图示
该表有四个变量:
时间变量,类型变量,预测时期标示变量,序列值变量。
表14FORECAST过程OUTSET命令输出数据集图示
此表可以查看预测过程中相关参数及拟合效果。
这些信息分为三部分:
(1)关于序列的基本信息。
序列样本个数、非缺失数据个数、拟合模型自由度、残差标准差。
(2)关玉预测模型的参数估计信息。
线性模型的常数估计值、线性模型的斜率、残差自回归的参数估计值。
(3)拟合优度统计量信息。
图4FORECAST过程预测效果图
7.某地区1962-1970年平均每头奶牛的月度产奶量数据(单位:
磅)如下表。
589
561
640
656
727
697
640
599
568
577
553
582
600
566
653
673
742
716
660
617
583
587
565
598
628
618
66
705
770
736
678
639
604
611
594
634
658
622
709
722
782
756
702
653
615
621
602
635
677
635
736
755
811
798
735
697
661
667
645
688
713
667
762
784
837
817
767
722
681
687
660
698
717
696
775
796
858
826
783
740
701
706
677
711
734
690
785
805
871
845
801
764
725
723
690
734
750
707
807
824
886
859
819
783
740
747
711
751
问题:
(1)绘制该序列时序图,直观考察该序列的特点。
(2)使用X-11方法,确定该序列的趋势。
针对问题一:
运行以下程序可得到该序列的时序图,见图5。
dataexample4_3;
inputx;
time=intnx('month','01jan1962'd,_n_-1);
formattimedata;
cards;
589561640656727697640599568577553582
600566653673742716660617583587565598
628618688705770736678639604611594634
658622709722782756702653615621602635
677635736755811798735697661667645688
713667762784837817767722681687660698
717696775796858826783740701706677711
734690785805871845801764725723690734
750707807824886859819783740747711751
;
procgplotdata=example4_3;
plotx*time=1;
symbol1c=redI=joinv=star;
run;
图51962-1970年平均每头奶牛的月度产奶量的时序图
通过时序图,我们可以发现1962-1970年平均每头奶牛的月度奶产量随着月度的变动有着非常明显的规律变化,此外该序列有线性递增趋势,故此时序图具有“季节”效应。
针对问题二:
采用x-11过程。
在编辑窗口输入以下命令,然后运行后可得到以下几个表和图。
dataexample4_3;
inputx;
t=intnx('monthly','1jan1962'd,_n_-1);
cards;
589561640656727697640599568577553582
600566653673742716660617583587565598
628618688705770736678639604611594634
658622709722782756702653615621602635
677635736755811798735697661667645688
713667762784837817767722681687660698
717696775796858826783740701706677711
734690785805871845801764725723690734
750707807824886859819783740747711751
;
procx11data=example4_3;
monthlydate=t;
varx;
outputout=outb1=xd10=seasond11=adjustedd12=trendd13=irr;
dataout;
setout;
estimate=trend*saeson/100;
procgplotdata=out;
plotx*t=1estimate*t=2/overlay;
plotadjusted*t=1
trend*t=1
irr*t=1;
symbol1c=blacki=joinv=star;
symbol2c=redi=joinv=nonew=2l=3;
run;
消除季节趋势,得到调整后的序列图,见图6。
图6季节调整后的序列图
可以看出奶牛的月产量剔除季节效应之后有着非常明显的线性递增趋势。
图7季节调整后的趋势拟合图
从季节调整后序列中消除趋势项,得到随机波动项(见图8)
图8随机波动项时序图
通过此残差图,可以直观看出X-11过程得到的残差序列更不规则。
这说明X-11过程对季节效应和趋势信息的提取更加充分。
8.某城市1980年1月至1995年8月每月屠宰生猪的数量(单位:
头)具体数据见课本。
选择合适的模型拟合该序列的发展,并预测1995年9月至1997年9月该城市生猪屠宰数量。
采用SAS软件运行下列程序:
dataexample8_1;
inputx;
t=_n_;
cards;
763787194733873964281050849574111064710033194133103055
905951014577688981291916439622810273610026410349197027
9524091680101259109564768928577395210937719820297906
100306940891026807791993561117062812258835710617591922
1041141099599788010538696479975801094901101919097498981
1071889417711509711369611453212011093607110925103312120184
103069103351111331106161111590994471019878533386970100561
89543892658271979498748467381977029784468697875878
69571757226418277357632925938078332723815597169750
85472701337912585805817788685269069795568817466698
72258734457613186082754437396978139786466626973776
80034706948182375640755408222975345770347585979769
75982780747758884100979668905193503847477453191900
816358979781022782657727185043954187956810328395770
912971012441145251011399386695171100183103926102643108387
97077909019033688732837599926773292789439439992937
9013091055106062103560104075101783937911023138241383534
10901196499102430103002918159906711006710159979646104930
88905899361067238430711489610674987892100506
;
procgplot;
plotx*t=1;
symbol1i=joinv=nonec=blavk;
run;
图9该序列的时序图
通过时序图可以看出,此序列具有曲线趋势,故我们采用曲线来拟合此模型。
预测1995年9月至1997年9月该城市生猪屠宰数量,运行下列程序:
procforecastdata=example8_1method=stepartrend=3lead=20
out=outoutfullouttest=est;
idt;
varx;
procgplotdata=out;
plotx*t=_type_/href=1995.8;
symbol1i=nonev=starc=black;
symbol2i=joinv=nonec=red;
symbol3i=joinv=nonec=greenl=2;
symbol4i=joinv=nonec=greenl=2;
run;
表15FORECAST过程OUT命令输出数据集图示
表14FORECAST过程OUTSET命令输出数据集图示
此表可以查看预测过程中相关参数及拟合效果。
这些信息分为三部分:
(4)关于序列的基本信息。
序列样本个数、非缺失数据个数、拟合模型自由度、残差标准差。
(5)关玉预测模型的参数估计信息。
线性模型的常数估计值、线性模型的斜率、残差自回归的参数估计值。
(6)拟合优度统计量信息。
图10FORECAST过程预测效果图