资源描述
生产总值模型
——应用时间序列分析期末论文
2014年11月
班级:信计1202 姓名:孟奥 学号:1130112210
信计1202 李朔 1130112206
一、实验目的:
掌握用Box-Jeakins方法及Paudit-Wu方法建模及预测
二、实验内容:
某地区1983—2005年各季度的实际国际生产总值的分析与预测
某地区1983—2005年各季度生产总值前64个数据如下:
t
观测值
t
观测值
t
观测值
1
5253.8
23
6759.4
45
7715.1
2
5372.3
24
6848.6
46
7815.7
3
5478.4
25
6918.1
47
7859.5
4
5590.5
26
6963.5
48
7951.6
5
5699.8
27
7013.1
49
7973.7
6
5797.9
28
7030.9
50
7988.0
7
5854.3
29
7112.1
51
8053.1
8
5902.4
30
7130.3
52
8112.0
9
5956.9
31
7130.8
53
8169.2
10
6007.8
32
7076.9
54
8303.1
11
6101.7
33
7040.8
55
8372.7
12
6148.6
34
7086.5
56
8470.6
13
6207.4
35
7120.7
57
8536.1
14
6232.0
36
7154.1
58
8665.8
15
6291.7
37
7228.2
59
8773.7
16
6323.4
38
7297.7
60
8838.4
17
6365.0
39
7369.5
61
8936.2
18
6435.0
40
7450.7
62
8995.3
19
6493.4
41
7459.7
63
9098.9
20
6606.8
42
7497.5
64
9237.1
21
6639.1
43
7536.0
22
6723.5
44
7637.4
试对前60个数据进行建模分析,并预测61—64个数据。
三、数据检验
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('差分序列的偏自相关函数图');、
结果:
由图,初步判定差分后的序列适合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
Coefficient
Std. Error
t-Statistic
Prob.
MA(1)
0.253309
0.126592
2.000983
0.0501
R-squared
0.102233
Mean dependent var
0.022542
Adjusted R-squared
0.102233
S.D. dependent var
37.28685
S.E. of regression
35.32950
Akaike info criterion
9.984117
Sum squared resid
72394.05
Schwarz criterion
10.01933
Log likelihood
-293.5315
Hannan-Quinn criter.
9.997863
Durbin-Watson stat
1.781594
Inverted MA Roots
-.25
Dependent Variable: AO
Method: Least Squares
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
Coefficient
Std. Error
t-Statistic
Prob.
MA(2)
0.453752
0.121221
3.743170
0.0004
R-squared
0.178204
Mean dependent var
0.022542
Adjusted R-squared
0.178204
S.D. dependent var
37.28685
S.E. of regression
33.80163
Akaike info criterion
9.895699
Sum squared resid
66267.92
Schwarz criterion
9.930912
Log likelihood
-290.9231
Hannan-Quinn criter.
9.909445
Durbin-Watson stat
1.349606
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
Coefficient
Std. Error
t-Statistic
Prob.
MA(3)
0.149485
0.134379
1.112415
0.2705
R-squared
0.014218
Mean dependent var
0.022542
Adjusted R-squared
0.014218
S.D. dependent var
37.28685
S.E. of regression
37.02083
Akaike info criterion
10.07764
Sum squared resid
79491.41
Schwarz criterion
10.11285
Log likelihood
-296.2904
Hannan-Quinn criter.
10.09139
Durbin-Watson stat
1.274100
Inverted MA Roots
.27-.46i
.27+.46i
-.53
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 6 iterations
MA Backcast: 1982Q1 1982Q4
Coefficient
Std. Error
t-Statistic
Prob.
MA(4)
0.124299
0.133505
0.931043
0.3557
R-squared
0.011445
Mean dependent var
0.022542
Adjusted R-squared
0.011445
S.D. dependent var
37.28685
S.E. of regression
37.07285
Akaike info criterion
10.08045
Sum squared resid
79715.00
Schwarz criterion
10.11566
Log likelihood
-296.3733
Hannan-Quinn criter.
10.09420
Durbin-Watson stat
1.167643
Inverted MA Roots
.42+.42i
.42+.42i
-.42-.42i
-.42-.42i
得到残差分别为: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);
由图,可以判定为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
Coefficient
Std. Error
t-Statistic
Prob.
MA(1)
0.368233
0.118032
3.119771
0.0028
MA(2)
0.484100
0.119375
4.055283
0.0002
R-squared
0.283585
Mean dependent var
0.022542
Adjusted R-squared
0.271016
S.D. dependent var
37.28685
S.E. of regression
31.83572
Akaike info criterion
9.792365
Sum squared resid
57770.25
Schwarz criterion
9.862790
Log likelihood
-286.8748
Hannan-Quinn criter.
9.819856
Durbin-Watson stat
1.983636
Inverted MA Roots
-.18+.67i
-.18-.67i
(3)综上,模型可写为:
四、适应性检验
相关函数法
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);
由图可知,在0.05的显著性水平下接受自相关函数等于零的假设,认为at是独立的
五、预测
(1)利用Eviews软件,根据后四个数据对模型进行预测,得到的预测值如下图
-3.46794110750196
-16.78509552478437
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)
0.322434
0.002555
-0.502431
0.417755
0.054822
0.289787
0.166920
-0.050504
0.289787
0.941515
-0.044427
剩余平方和
35067.24
49761.52
56748.06
残差方差
28.89523
32.19780
32.41743
(3) ARMA(8,7)的剩余平方和已超过ARMA(6,5)的剩余平方和,因此可以从ARMA(6,5)开始考虑模型阶数是否可以降低,对于ARMA(6,5)和ARMA(4,3)模型,有
=8.79966
(4)如果取显著性水平为=0.05,查F分布表可得,显然F>(2,42),所以在=0.05的显著性水平下,ARMA(6,5)和ARMA(4,3)模型有显著差异,模型阶数不可以降低。所以模型定为ARMA(6,5)模型。
三、模型的适应性检验
方法:相关函数法
(1) 利用Eviews软件,求出残差序列的自相关函数,结果如图
(2) 图中的AC那一列即为代表的值
(3) 计算公式,数据都满足||≤1.96/(N=59),当k=1,2,…,20时。
(4) 这时得出结论:在0.05的显著性水平下接受=0的假设,认为{}是独立的,即表示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
展开阅读全文