生产总值模型
——应用时间序列分析期末论文
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) 根据表中数据我们先画出序列图并对序列图进行平稳性分析。