1、生产总值模型 ——应用时间序列分析期末论文 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
2、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
3、 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
4、 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
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
6、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做
7、出原数据自相关函数的图 (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 7
8、130.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'); yla
9、bel('自相关函数ρ'); 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.
10、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 81
11、69.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 559
12、0.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
13、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
14、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) M
15、atlab程序代码 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 1
16、01.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程序代码
17、 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
18、 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
19、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 1
20、4.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.
21、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 6
22、4.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
23、 -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
24、 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
25、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
26、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
27、 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
28、 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-W
29、atson 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 achiev
30、ed 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
31、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
32、 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
33、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 squ
34、ared 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 Sq
35、uares 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
36、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.11
37、566 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,
38、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
39、 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.000
40、2 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
41、 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
42、 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
43、)=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.78509552
44、478437 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 7
45、112.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
46、); %均值 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
47、 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.32
48、2434 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,
49、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的假设,认为{}是独立的,
50、即表示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
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818