应用时间序列

更新时间:2024-01-15 19:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

生产总值模型

——应用时间序列分析期末论文

2014年11月

班级:信计1202 姓名:孟奥 学号:1130112210 信计1202 李朔 1130112206

一、实验目的:

掌握用Box-Jeakins方法及Paudit-Wu方法建模及预测

二、实验内容:

某地区1983—2005年各季度的实际国际生产总值的分析与预测 某地区1983—2005年各季度生产总值前64个数据如下:

t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 观测值 5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 t 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 观测值 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 t 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 观测值 7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4 17 试

18 前

19 个

据20 行

21 模

析,22 预

61—64个数据。

6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 39 40 41 42 43 44 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4 61 62 63 64 8936.2 8995.3 9098.9 9237.1 对60数进建分并测

三、数据检验

1、检验是否平稳

法一:图形检验

(1) 根据表中数据我们先画出序列图并对序列图进行平稳性分析。 (2) Matlab程序代码 clear all;

t=linspace(1,60,60);

y=[5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4 7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4]; plot(t,y); xlabel('时间t'); ylabel('观测值y'); title('数据对应的序列图'); (3) 得到图(1)

图(1)

(4)观察图形,发现数据存在长期向上的趋势。表示序列是不平稳的。 法二:利用样本自相关函数进行检验

(1)用matlab做出原数据自相关函数的图 (2)Matlab程序代码 clear all;

t=linspace(1,59,59);

y=[5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4 7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4]; autocorr(y);

[a,b]=autocorr(y); xlabel('k');

ylabel('自相关函数ρ');

title('原序列对应的自相关函数图');

(3)得到图(2)

图(2)

(4) 观察图形发现,数据是缓慢衰减的,所以序列是不平稳的。 法三:利用单位根检验进行判断: (1)用matlab求出原始数据的单位根 (2)Matlab程序代码: clear all;

t=linspace(1,60,60);

y=[5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4 7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4];

[h,pValue]=adftest(y,'model','ar','Lags',0:2);

(3)

结果分析:根据h的值可以知道,检验表明时间序列存在单位根,原序列不平稳。(如果h=[1 1 1],则表明时间序列不存在单位根,原序列平稳。) 数据平稳性综合分析:

该序列用三种方法得到结果相同,所以认为原序列不平稳。

2、平稳化

差分方法: 程序编译:

clear all;

y=[5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4 7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4]; z=diff(y,1);

运行结果:

118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7 共59个数据.

3、再次检验

法一:图形检验

(1) 根据表中数据我们先画出序列图并对序列图进行平稳性分析。

(2) Matlab程序代码 clear all;

t=linspace(1,59,59);

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7];

plot(t,z); plot(t,y); xlabel('时间t');

ylabel('差分后的序列z');

title('差分后数据对应的序列图');

(3) 得到图(4)

图(4)

(4)观察图形,发现数据存在上下波动。表示序列是平稳的。

法二:利用样本自相关函数进行检验

(1)用matlab做出原数据自相关函数的图 (2)Matlab程序代码 clear all;

t=linspace(1,59,59);

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7];

autocorr(z);

[a,b]=autocorr(z); xlabel('k'); (3)得到图(5)

图(5)

(4) 观察图形发现,当k增大时,自相关函数迅速衰减至蓝线内,所以

序列是平稳的。

法三:

利用单位根检验进行判断:

(1)用matlab求出原始数据的单位根 (2)Matlab程序代码clear all; clear all;

t=linspace(1,59,59);

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4

32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7];

[h,pValue]=adftest(z,'model','ar','Lags',0:2);

图(6)

结果分析:根据h的值可以知道,检验表明时间序列不存在单位根,原序列平稳。

数据平稳性综合分析:

该序列用三种方法得到结果相同,所以认为原序列平稳。

4、零均值化

程序编译: clear all;

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7];

ave=mean(z); for i=1:59

z(1,i)=z(1,i)-ave;

end

得到:

57.7441 45.3441 51.3441 48.5441 37.3441 -4.3559 -12.6559 -6.2559 -9.8559 33.1441 -13.8559 -1.9559 -36.1559 -1.0559 -29.0559 -19.1559 9.2441 -2.3559 52.6441 -28.4559 23.6441 -24.8559 28.4441 8.7441 -15.3559 -11.1559 -42.9559 20.4441 -42.5559 -60.2559 -114.6559 -96.8559 -15.0559 -26.5559 -27.3559 13.3441 8.7441 11.0441 20.4441 -51.7559 -22.9559 -22.2559 40.6441 16.9441 39.8441 -16.9559 31.3441 -38.6559 -46.4559 4.3441 -1.8559 -3.5559 73.1441 8.8441 37.1441 4.7441 68.9441 47.1441 3.9441 共59个数据。

四、模型建立及预测

Box-Jenkins方法建模

一、模型类型识别

(1)由平稳时间序列自相关和偏自相关函数的统计特性来初步确定时间序列模型的类型

(2)Matlab程序代码

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7]; ave=mean(z); for i=1:59

z(1,i)=z(1,i)-ave;

endsubplot(1,2,1), autocorr(z); [a,b]=autocorr(z);

title('差分序列的自相关函数图'); subplot(1,2,2), parcorr(z); [c,d]=parcorr(z);

title('差分序列的偏自相关函数图');、

结果:

差分序列的自相关函数图1差分序列的偏自相关函数图10.8Sample Partial Autocorrelations0.80.6Sample Autocorrelation0.60.40.20-0.2-0.4-0.60.40.20-0.2-0.40510Lag15200510Lag1520

由图,初步判定差分后的序列适合MA(3)模型。

二、定阶

残差方差图定阶法

使用EViews工具,结果如下 (1)

Dependent Variable: AO Method: Least Squares Date: 11/29/14 Time: 12:13 Sample (adjusted): 1983Q1 1997Q3 Included observations: 59 after adjustments Convergence achieved after 33 iterations MA Backcast: 1982Q4

MA(1)

R-squared

Coefficient

0.253309

Std. Error

0.126592

t-Statistic

2.000983

Prob.

0.0501

0.022542 37.28685 9.984117 10.01933 9.997863

0.102233 Mean dependent var 0.102233 S.D. dependent var 35.32950 Akaike info criterion 72394.05 Schwarz criterion -293.5315 Hannan-Quinn criter. 1.781594

Adjusted R-squared S.E. of regression Sum squared resid Log likelihood Durbin-Watson stat

Inverted MA Roots

Dependent Variable: AO Method: Least Squares

-.25

Date: 11/29/14 Time: 12:15 Sample (adjusted): 1983Q1 1997Q3 Included observations: 59 after adjustments Convergence achieved after 6 iterations MA Backcast: 1982Q3 1982Q4

MA(2)

R-squared

Coefficient

0.453752

Std. Error

0.121221

t-Statistic

3.743170

Prob.

0.0004

0.022542 37.28685 9.895699 9.930912 9.909445

0.178204 Mean dependent var 0.178204 S.D. dependent var 33.80163 Akaike info criterion 66267.92 Schwarz criterion -290.9231 Hannan-Quinn criter. 1.349606

Adjusted R-squared S.E. of regression Sum squared resid Log likelihood Durbin-Watson stat

Dependent Variable: AO Method: Least Squares Date: 11/29/14 Time: 12:16 Sample (adjusted): 1983Q1 1997Q3 Included observations: 59 after adjustments Convergence achieved after 7 iterations MA Backcast: 1982Q2 1982Q4

MA(3)

R-squared

Coefficient

0.149485

Std. Error

0.134379

t-Statistic

1.112415

Prob.

0.2705

0.022542 37.28685 10.07764 10.11285

0.014218 Mean dependent var 0.014218 S.D. dependent var 37.02083 Akaike info criterion 79491.41 Schwarz criterion

Adjusted R-squared S.E. of regression Sum squared resid

Log likelihood Durbin-Watson stat

Inverted MA Roots

Dependent Variable: AO Method: Least Squares

-296.2904 Hannan-Quinn criter. 1.274100 .27-.46i

.27+.46i

-.53

10.09139

Date: 11/29/14 Time: 12:16 Sample (adjusted): 1983Q1 1997Q3 Included observations: 59 after adjustments Convergence achieved after 6 iterations MA Backcast: 1982Q1 1982Q4

MA(4)

R-squared

Coefficient

0.124299

Std. Error

0.133505

t-Statistic

0.931043

Prob.

0.3557

0.022542 37.28685 10.08045 10.11566 10.09420 -.42-.42i

0.011445 Mean dependent var 0.011445 S.D. dependent var 37.07285 Akaike info criterion 79715.00 Schwarz criterion -296.3733 Hannan-Quinn criter. 1.167643 .42+.42i

.42+.42i

-.42-.42i

Adjusted R-squared S.E. of regression Sum squared resid Log likelihood Durbin-Watson stat

Inverted MA Roots

得到残差分别为:35.32950 33.80163 37.02083 37.07285 Matlab程序代码 clear all;

m=linspace(1,4,4);

cc=[35.32950 33.80163 37.02083 37.07285]; plot(m,cc);

37.53736.53635.53534.53433.511.522.533.54由图,可以判定为ma(2)模型

三、拟合

(1)使用EViews工具,最小二乘估计法,对ma(1),ma(2),ma(3)进行拟合,得出结果并进行分析

(2)利用Eviews软件,求出模型的参数,结果如下

Dependent Variable: AO Method: Least Squares Date: 11/29/14 Time: 12:35 Sample (adjusted): 1983Q1 1997Q3 Included observations: 59 after adjustments Convergence achieved after 8 iterations MA Backcast: 1982Q3 1982Q4

MA(1) MA(2)

R-squared

Coefficient

0.368233 0.484100

Std. Error

0.118032 0.119375

t-Statistic

3.119771 4.055283

Prob.

0.0028 0.0002

0.022542 37.28685 9.792365 9.862790 9.819856

0.283585 Mean dependent var 0.271016 S.D. dependent var 31.83572 Akaike info criterion 57770.25 Schwarz criterion -286.8748 Hannan-Quinn criter.

Adjusted R-squared S.E. of regression Sum squared resid Log likelihood

Durbin-Watson stat

Inverted MA Roots

1.983636 -.18+.67i

-.18-.67i

(3)综上,模型可写为: xt?at?0.368at?1?0.484at?2

四、适应性检验

相关函数法 clear all;

z=[118.5 106.1 112.1 109.3 98.1 56.4 48.1 54.5 50.9 93.9 46.9 58.8 24.6 59.7 31.7 41.6 70 58.4 113.4 32.3 84.4 35.9 89.2 69.5 45.4 49.6 17.8 81.2 18.2 0.5 -53.9 -36.1 45.7 34.2 33.4 74.1 69.5 71.8 81.2 9 37.8 38.5 101.4 77.7 100.6 43.8 92.1 22.1 14.3 65.1 58.9 57.2 133.9 69.6 97.9 65.5 129.7 107.9 64.7]; ave=mean(z); for i=1:59

z(1,i)=z(1,i)-ave; end

a=zeros(1,59); a(1,1)=z(1,1); a(1,2)=z(1,2); for i=3:59

a(1,i)=a(1,i-1)*(-0.36)-a(1,i-2)*0.484 +z(1,i); end

autocorr(a); [a,b]=autocorr(a);

Sample Autocorrelation Function10.80.6Sample Autocorrelation0.40.20-0.2-0.40246810Lag1214161820

由图可知,在0.05的显著性水平下接受自相关函数等于零的假设,认为at是独立的

五、预测

(1)利用Eviews软件,根据后四个数据对模型进行预测,得到的预测值如下图

-3.4679411075

0196

-16.785095524

78437

0 0

(2)利用Matlab软件,对得出来的预测值进行求解零均值化和一阶差分的逆过程,得到最终的预测值,程序的代码为

x=[5253.8 5372.3 5478.4 5590.5 5699.8 5797.9 5854.3 5902.4 5956.9 6007.8 6101.7 6148.6 6207.4 6232.0 6291.7 6323.4 6365.0 6435.0 6493.4 6606.8 6639.1 6723.5 6759.4 6848.6 6918.1 6963.5 7013.1 7030.9 7112.1 7130.3 7130.8 7076.9 7040.8 7086.5 7120.7 7154.1 7228.2 7297.7 7369.5 7450.7 7459.7 7497.5 7536.0 7637.4

7715.1 7815.7 7859.5 7951.6 7973.7 7988.0 8053.1 8112.0 8169.2 8303.1 8372.7 8470.6 8536.1 8665.8 8773.7 8838.4];

y=diff(x,1); %一阶差分后的结果 ave=mean(y); %均值

z=y-ave; %零均值化后的结果

yuce1=[-3.46794110750196 -16.78509552478437 0 0]; %预测得到的初值

yuce2=yuce1+ave; %预测初值加上平均数 yuce3=[8838.4,yuce2];

cumsum(yuce3); %最终的预测值 (3) 得出来的最终数据以及相对误差见表 原数据 最终的预测值 相对误差百分比 8936.2 8895.68799109589 0.45% 8995.3 8939.65882777449 0.62% 9098.9 9000.41475997788 1.08% 9237.1 9061.17069218127 1.90% Pandit-Wu方法建模

一、 对时间序列零均值化

之前已经有过零均值化的过程,结果见上面

二、拟合ARMA(2n,2n-1)模型

(1)利用Eviews软件对模型依次拟合ARMA (2,1),ARMA(4,3)和 ARMA(6,5) (2)相关结果见下表(表6)

ARMA模型阶数 参数 ARMA(6,5) ARMA (4,3) ARMA(2,1) ?1 0.322434 -0.502431 0.054822 0.166920 -0.050504 0.941515 -0.044427 49761.52 32.19780 0.002555 0.417755 0.289787 0.289787 56748.06 32.41743 ?2 ?3 ?4 ?1 ?2 剩余平方和 35067.24 残差方差 28.89523 ?3

(3)ARMA(8,7)的剩余平方和已超过ARMA(6,5)的剩余平方和,因此可以从ARMA(6,5)开始考虑模型阶数是否可以降低,对于ARMA(6,5)和ARMA(4,3)模型,有

49761.52-35067.422=8.79966 F?35067.42?59-6?(-6?5)(4)如果取显著性水平为?=0.05,查F分布表可得,显然F>F0.05(2,42),所以在?=0.05的显著性水平下,ARMA(6,5)和ARMA(4,3)模型有显著差

异,模型阶数不可以降低。所以模型定为ARMA(6,5)模型。

三、模型的适应性检验

方法:相关函数法

(1) 利用Eviews软件,求出残差序列的自相关函数,结果如图

(2) 图中的AC那一列即为代表?k的值

(3) 计算公式,数据都满足|?k|≤1.96/N(N=59),当k=1,2,…,20时。

(4) 这时得出结论:在0.05的显著性水平下接受?k=0的假设,认为{at}是独

立的,即表示ARMA(6,5)模型是适合的。

^^四、求最优模型

(1)分析表格,检验模型是否包含一些不显著参数

利用Eviews软件得出相关数据 (2)结果如图

Dependent Variable: AO Method: Least Squares Date: 11/29/14 Time: 16:36 Sample (adjusted): 1984Q2 1997Q3 Included observations: 54 after adjustments Convergence achieved after 64 iterations MA Backcast: 1983Q1 1984Q1

AR(1) AR(3) AR(5) MA(1) MA(2) MA(3) MA(4) MA(5)

R-squared

Coefficient

-0.371022 -0.224205 0.845430 0.742989 0.686314 0.602460 0.471836 -0.418012

Std. Error

0.059104 0.076572 0.073835 0.146307 0.179679 0.169729 0.163864 0.139305

t-Statistic

-6.277465 -2.928036 11.45025 5.078285 3.819667 3.549552 2.879436 -3.000688

Prob.

0.0000 0.0053 0.0000 0.0000 0.0004 0.0009 0.0060 0.0043

-4.448704 35.78075 9.830910 10.12557 9.944550 -.88+.51i

-.82-.57i

.26+.94i

.23+.95i

.23-.95i

0.355572 Mean dependent var 0.257507 S.D. dependent var 30.83158 Akaike info criterion 43726.98 Schwarz criterion -257.4346 Hannan-Quinn criter. 2.008497 .86 -.88-.51i .44 -.82+.57i

.26-.94i

Adjusted R-squared S.E. of regression Sum squared resid Log likelihood Durbin-Watson stat

Inverted AR Roots

Inverted MA Roots

Estimated AR process is nonstationary

(2) 综上,去掉部分不显著参数,所以ARMA(5,5)模型是最优模型。模型为

xt?at-0.371022at?1?00224205at?3?0.845430at?5?0.742989xt?1?0.686314xt?2?0.602460xt?3?0.471836xt?4-0.418012xt?5

五、实验总结:

用了两种方法为该序列建立模型,发现两种方法建立的模型完全不同。

Box-Jenkins方法建立的MA(2)在模型预测中发现预测值与原值的相对误

差比较小。

而在Pandit-Wu方法中拟合出的ARMA(5,5)模型,在求最优模型中去掉一些不显著参数后得到最后模型。

综上两模型皆有误差,但这也属于正常情况。

六、参考文献

《应用时间序列分析》 王振龙 胡永宏 主编 科学出版社

《应用时间序列》 王黎明 王连 杨楠 编著 复旦大学出版社

本文来源:https://www.bwwdw.com/article/f0ho.html

Top