ARIMA模型应用

  • 格式:docx
  • 大小:146.30 KB
  • 文档页数:9

1)建立数据集

data exp3;

input gnp@@;

date=intnx('qtr','1jan47'd,_n_-1);

format date yyqc.;

cards;

227.8 231.7 236.1 246.3 252.6 259.9 266.8 268.1 263.0

259.5 261.2 258.9 269.6 279.3 296.9 308.4 323.2

331.1

337.9 342.3 345.3 345.9 351.7 364.2 371.0 374.5

373.7

368.7 368.4 368.7 373.4 381.9 394.8 403.1 411.4

417.8

420.5 426.0 430.8 439.2 448.1 450.1 457.2 451.7

444.4

448.6 461.8 475.0 499.0 512.0 512.5 516.9 530.3

529.2

532.2 527.3 531.8 542.4 553.2 566.3 579.0 586.9

594.1

597.7 606.8 615.3 628.2 637.5 654.5 663.4 674.3

679.9

701.2 713.9 730.4 752.6 775.6 785.2 798.6 812.5

822.2

828.2 844.7 861.2 886.5 910.8 926.0 943.6 966.3

979.9

999.3 1008.0 1020.3 1035.7 1053.8 1058.4 1104.2 1124.9

1144.4

1158.8 1198.5 1231.8 1256.7 1297.0 1347.9 1379.4 1404.4

1449.7

1463.9 1496.8 1526.4 1563.2 1571.3 1608.3 1670.6 1725.3

1783.5

1814.0 1847.9 1899.0 1954.5 2026.4 2088.7 2120.4 2166.8

2293.7

2356.2 2437.0 2491.4 2552.9 2629.7 2687.5 2761.7 2756.1

2818.8

2941.5 3076.6 3105.4 3197.7 3222.8 3221.0 3270.3 3287.8

3323.8

3388.2 3501.0 3596.8 3700.3 3824.4 3911.3 3975.6 4022.7

4100.4

4158.7 4238.8 4306.2 4376.6 4399.4 4455.8 4508.5 4573.1

4655.5

4731.4 4845.2 4914.5 5013.7 5105.3 5217.1 5329.2 5423.9

5501.3

5557.0 5681.4 5767.8 5796.8 5813.6 5849.0 5904.5 5959.4

6016.6

6138.3 6212.2 6281.1 6390.5 6458.4 6512.3 6584.8 6684.5

6773.6

6876.3 6977.6 7062.2 7140.5 7202.4 7293.4 7344.3 7426.6

7537.5

7593.6

;

run;

注:Intnx函数按间隔递增日期,Intnx函数计算某个区间经过若干区间间

隔之后的间隔的开始日期或日期时间值,其中开始间隔内的一个日期或 日期时间值给出。

Intnx函数的格式如下:

Intnx(interval,from,n)

2、 2)绘序列图,输入如下程序:

proc gplot data=exp3;

symbol1 i=spline;

plot gnp*date=1;

run;

3、 观察图形,发现图形成指数函数上升形式,故做对数变换,输入如下程序:

data lexp;

set exp3;

lgnp=log(gnp);

run;

4、 绘变换后序列图,输入如下程序: set设置当前数据集新变量进入新的数据集。

proc gplot data=lexp;

symbol2 i=spline c=red;

plot lgnp*date=2;

run;

5、 提交程序,到graph窗口中观察变换后的序列图,可以看出它成直线上升趋势。对序列做初步识别,输入如下程序: 对数据进行识别。

proc arima data=lexp;

identify var=lgnp nlag=12;

run;

运行结果如下:

Fig1.Description statistics

Fig 2. autocorrelations,inverse autocorrelations and partial autocorrelations

Fig 3. autocorrelation check for white noise

6、 提交程序,观察样本自相关系数,可看出有缓慢下降趋势,结合我们观察的图形,我们知道要对序列做差分运算,作一阶差分,输入如下程序:

identify var=lgnp(1) nlag=12;

run;

结果如下: 7、 提交程序,观察样本自相关系数,可看出样本自相关系数5步后是截尾的,那么确定为MA(5)模型,进行参数估计,输入如下程序:

estimate q=5 plot;

run;

结果如图:

参数估计及显著性结果及拟合统计量

模型残差项的白噪声检验

8、 提交程序,观察输出结果,可看出模型通过了白噪声检验,说明模型拟合充分。且MA1,3 ,

MA1,4的T值较小,说明参数显著为0,除掉这两项重新进行估计,输入如下程序:

estimate q=(1,2,5) plot; run;

参数估计及显著性结果及拟合统计量

模型残差项的白噪声检验

残差项的自相关系数图

9、 提交程序,观察输出结果,可看出模型通过了白噪声检验,说明模型拟合充分,且残差标准误与前一估计相差很小,故以此结果为我们所要的结果,依此结果写出方程式。

所以可得模型方程式为: Z(t)+0.4674Z(t-1)+0.30715Z(t-2)-0.30001Z(t-5)=0.01766+a(t)

10、 进行预测,预测美国未来2年的每季国民生产总值。输入如下程序:

forecast lead=6 interval=qtr id=date out=results;

run;

data results;

set results;

gnp=exp(lgnp);

l95=exp(l95);

u95=exp(u95);

forecast=exp(forecast+std*std/2);

run;

proc print data=results;

var date forcast;

where date>=’1jan96’d;

run;

11、 提交程序,并把预测值记录下来。