非平稳序列的确定性分析Word文档格式.docx
《非平稳序列的确定性分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《非平稳序列的确定性分析Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
可以看出p值都小于0.05,没有通过检验,考虑到其指数趋势,因对序列取对数,得到时序图:
取对数后的序列呈现线性增长趋势,对取对数后的数据进行一阶差分,时序图:
再进行平稳性检验:
Autocorrelations
LagCovarianceCorrelation-198765432101234567891StdError
00.00394911.00000||********************|0
10.00241540.61164|.|************|0.192450
20.000700150.17730|.|****.|0.254457
3-0.0005546-.14045|.***|.|0.258992
4-0.0014108-.35726|.*******|.|0.261798
5-0.0015622-.39558|.********|.|0.279272
6-0.0011031-.27934|.******|.|
可以看出序列已经平稳。
所以接下来根据平稳序列建模预测:
根据之前平稳序列分析并利用sas可知模型为:
(平稳序列建模过程略)
预测图为:
本题代码:
dataaa;
inputgdp@@;
t=intnx('
year'
'
01jan1980'
d,_n_-1);
formattyear4.;
cards;
4517.84862.45294.75934.571718964.410202.2
11962.514928.316909.218547.921617.826638.134634.4
46759.458478.167884.674462.678345.282067.589442.2
97314.8118020.7135822.8159878.3183217.4211923249530
;
procgplot;
plotgdp*t;
symbolc=bluei=jionv=dot;
run;
databb;
inputx_t@@;
t=_n_;
procnlinmethod=gauss;
modelx_t=a+b*exp(c*t);
parametersa=1b=0.5c=0.5;
der.a=1;
der.b=exp(c*t);
der.c=t*b*exp(c*t);
outputpredicted=x_thatout=result;
procgplotdata=result;
plotx_t*t=1x_that*t=2/overlay;
symbol1c=blacki=nonev=dotl=1w=1;
symbol2c=bluei=jionv=dotl=2w=2;
datacc;
epli=x_t+3989.1-6365.5*exp(0.1305*t);
procarima;
identifyvar=eplinlag=12;
datadd;
y=log(gdp);
ploty*t;
dataee;
y1=dif(y);
1jan1980'
ploty1*t;
procarimadata=ee;
identifyvar=y
(1)nlag=8minicp=(0:
5)q=(0:
5);
estimatep=1;
forecastlead=5id=tinterval=yearout=results;
procgplotdata=results;
ploty*t=1forecast*t=2l95*t=3u95*t=3/overlay;
symbol1c=blueki=jionv=star;
symbol2c=redi=jionv=nonel=1w=1;
symbol3c=greeni=jionv=nonel=2w=2;
2、首先画出时序图:
从时序图中我们发现生猪屠宰量随季节变动较强,对序列进行平稳性检验:
01974413671.00000||********************|0
11080958560.54748|.|***********|0.062257
2942926080.47757|.|**********|0.078737
31013850020.51349|.|**********|0.089261
4722588600.36598|.|*******|0.100058
5849071260.43004|.|*********|0.105118
6754987130.38239|.|********|0.111729
7700354350.35472|.|*******|0.116691
8660856120.33471|.|*******|0.120798
9695059990.35203|.|*******|0.124341
10600090070.30393|.|******|0.128146
11712799720.36102|.|*******|0.130910
12925196690.46859|.|*********|
发现其相关系数并没有落在两倍标准差之内,这是个非平稳序列。
接下来使用x11过程进行季节调整得到平均季节指数图:
消除季节趋势后得到的序列图如下:
可以看出,剔除季节效应后序列呈现不规则的波动,并没有明显的递增或下降趋势。
使用移动平均方法拟合得到:
随机波动项:
从中可以看出x11过程对季节效应提取比较充分。
接下来预测未来一年的屠宰数据:
ParameterEstimates
VariableDFEstimateErrortValuePr>
|t|
Intercept1102481135375.76<
t1-102.335711.6710-8.77<
对趋势项trend拟合的线性回归模型为:
以1994年9月到1995年8月季节指数作为1995年9月到1996年8月季节指数进行预测如下:
ObstSEASONtrendpx
1196099.46883139.5582697.63
21960107.12683037.2288954.68
3196089.67782934.8874373.21
4196095.66682832.5579242.33
51960107.44482730.2188888.74
6196090.89882627.8775107.18
7196099.45382525.5482074.44
8196097.19482423.2080110.21
91960105.64682320.8786968.96
101960104.30582218.5385757.87
11196099.50882116.2081712.47
121960103.30782013.8684726.13
dataa;
inputx@@;
month'
763787194733873964281050849574111064710033194133103055
905951014577688981291916439622810273610026410349197027
9524091680101259109564768928577395210937719820297906
100306940891026807791993561117062812258835710617591922
1041141099599788010538696479975801094901101919097498981
1071889417711509711369611453212011093607110925103312120184
103069103351111331106161111590994471019878533386970100561
89543892658271979498748467381977029784468697875878
69571757226418277357632925938078332723815597169750
85472701337912585805817788685269069795568817466698
72258734457613186082754437396978139786466626973776
8003470694818237564075540822297534577034
procx11data=a;
monthlydate=t;
varx;
outputout=outb1=xd10=seasond11=adjusted
d12=trendd13=irr;
datab;
setout;
procprintdata=b;
procautoregdata=b;
modeltrend=t;
keeptseason;
if'
01sep1994'
d<
=t<
='
01aug1995'
dthenoutput;
datac;
dot=189to200;
trend=102481-102.3357*t;
output;
end;
datayuce;
mergebbc;
px=season*trend/100;
procprintdata=yuce;
3、时序图如下:
从中可以发现该序列有明显的季节递增特征,因此尝试混合模型:
计算得到季节指数为:
Obsmonthindex
112.84293
222.72986
332.66264
442.63650
552.67869
662.75406
772.68929
882.71988
992.92208
10103.05008
11113.18537
12123.86366
季节指数图:
生成消除季节影响后趋势序列:
因为序列的时序图显示该序列有一个基本线性递增的趋势,故用一元线性回归模型对其进行拟合。
对趋势序列拟合线性回归模型:
ParameterStandard
VariableDFEstimateErrortValuePr>
Intercept11015.5222026.8266337.86<
t120.931780.4802643.58<
该线性趋势模型为:
接下来生成随机波动序列进行向前一年预测:
Obsindexptpxtime
10.982153045.932991.572001
20.943093066.862892.332001
30.919873087.792840.362001
40.910843108.722831.542001
50.925413129.652896.222001
60.951453150.592997.632001
70.929083171.522946.582001
80.939653192.452999.772001
91.009503213.383243.902001
101.053723234.313408.062001
111.100463255.253582.262001
121.334793276.184373.012001
最后绘制序列实际值和预测值的拟合图如下:
databin1;
doyear=1993to2000;
domonth=1to12;
inputmilk@@;
end;
977.5892.5942.3941.3962.21005.7963.8959.81023.31051.111021415.5
1192.21162.71167.51170.41213.71281.11251.512861396.21444.11553.81932.2
1602.21491.51533.31548.71585.41639.71623.61637.1175618181935.22389.5
1909.11911.21860.11854.81898.319661888.71916.42083.52148.32290.12848.6
2288.52213.52130.92100.52108.22164.72102.52104.42239.623482454.92881.7
2549.52306.42279.72252.72265.223262286.12314.62443.125362652.23131.4
2662.12538.42403.12356.823642428.82380.32410.92604.32743.92781.53405.7
2774.728052627257226372645259726362854302931083680
setbin1;
time=intnx('
1jan1993'
d,_n_-1);
formattimeyear4.;
procprint;
procgplotdata=bin1;
plotmilk*time/haxis='
dto'
1jan2000'
dbyyear;
symbolc=bluei=joinv=none;
procsql;
selectavg(milk)
frombin1;
createtablebin2(monthnum,indexnum);
insertintobin2
selectmonth,avg(milk)/2030.7135asindex
frombin1
groupbymonth;
quit;
procprintdata=bin2;
procgplotdata=bin2;
plotindex*month/vaxis=0.9to1.35by0.05;
symbolc=bluei=joinv=square;
procsortdata=bin1out=bin3;
bymonthyear;
databin4;
mergebin2bin3;
bymonth;
admilk=milk/index;
procsortdata=bin4out=bin5;
byyearmonth;
procgplotdata=bin5;
plotadmilk*time/haxis='
dbyyear;
symbolc=bluei=nonev=circle;
databin5;
setbin5;
procreg;
modeladmilk=t;
outputp=pmilkout=trend;
plotpmilk*t=1admilk*t=2/overlay;
symbol1i=joinc=greenv=none;
symbol2i=nonec=bluev=circle;
databin6;
settrend;
noise=admilk-pmilk;
keepnoisem;
procgplotdata=bin6;
plotnoise*m;
symboli=nonec=bluev=circl