基于SAS软件的时间序列实验的代码.docx
《基于SAS软件的时间序列实验的代码.docx》由会员分享,可在线阅读,更多相关《基于SAS软件的时间序列实验的代码.docx(63页珍藏版)》请在冰豆网上搜索。
基于SAS软件的时间序列实验的代码
经济时间序列分祈
实验一分析太阳黑子数序列3
实验二模拟AR模型4
实验三模拟MA模型和ARMA模型6
实验四分析化工生产量数据8
实验五模拟ARIMA模型和季节ARIMA模型10
实验六分析美国国民生产总值的季度数据13
实验七分析国际航线月度旅客总数数据16
实验八干预模型的建模19
实验九传递函数模型的建模22
实验十回归与时序相结合的建模25
太阳黑子年度数据28
美国国民收入数据29
化工生产过程的产量数据30
国际航线月度旅客数据30
洛杉矶臭氧每小时读数的月平均值数据31
煤气炉数据35
芝加哥某食品公司大众食品周销售数据37
牙膏市场占有率周数据39
某公司汽车生产数据44
加拿大山猫数据44
实验一分析太阳黑子数序列
一、实验目的:
了解时间序列分析的基本步骤,熟悉SAS/ETS软件使用方法。
二、实验内容:
分析太阳黑子数序列。
三、实验要求:
了解时间序列分析的基本步骤,注意各种语句的输出结果。
四、实验时间:
2小时。
五、实验软件:
SAS系统。
六、实验步骤
1、开机进入SAS系统。
2、创建名为expl的SAS数据集,即在窗中输入下列语句:
dataexp1;
inputa1@@;
year=intnx(‘year','1jan1742'd,_n_-1);
formatyearyear4.;
cards;
输入太阳黑子数序列(见附表)
run;
3、保存此步骤中的程序,供以后分析使用(只需按工具条上的保存按钮然后填写完提问后就可以把这段程序保存下来即可)。
4、绘数据与时间的关系图,初步识别序列,输入下列程序:
procgplotdata=exp1;
symboli=splinev=starh=2c=green;
plota1*year;
run;
5、提交程序,在graph窗口中观察序列,可以看出此序列是均值平稳序列。
6、识别模型,输入如下程序。
procarimadata=exp1;
identifyvar=a1nlag=24;
run;
7、提交程序,观察输出结果。
初步识别序列为AR(3)模型。
8、估计和诊断。
输入如下程序:
estimatep=3;
run;
9、提交程序,观察输出结果。
假设通过了白噪声检验,且模型合理,则进行预测。
10、进行预测,输入如下程序:
forecastlead=6interval=yearid=yearout=out;
run;
procprintdata=out;
run;
11、提交程序,观察输出结果。
12、退出SAS系统,关闭计算机。
实验二模拟AR模型
一、
实验目的:
熟悉各种AR模型的样本自相关系数和偏相关系数的特点,为理
论学习提供直观的印象。
二、
实验内容:
随机模拟各种AR模型。
三、
实验要求:
记录各AR模型的样本自相关系数和偏相关系数,观察各种序列
图形,总结AR模型的样本自相关系数和偏相关系数的特点
四、
实验时间:
2小时。
五、
实验软件:
SAS系统。
六、实验步骤
1、开机进入SAS系统。
2、模拟实根情况,模拟zt0.6zt10.4zt2at过程。
3、在edit窗中输入如下程序:
dataa;
x1=0.5;
x2=0.5;
n=-50;
doi=-50to250;
a=rannor(32565);
x=a-0.6*x1+0.4*x2;
x2=x1;
x1=x;
n=n+1;
ifi>0thenoutput;
end;
run;
4、观察输出的数据,输入如下程序,并提交程序。
procprintdata=a;
varx;
procgplotdata=a;
symboli=splinec=red;
plotx*n;
run;
5、观察样本自相关系数和偏相关系数,输入输入如下程
序,并提交程序。
procarimadata=a;
identifyvar=xnlag=10outcov=exp1;
run;
procgplotdata=exp1;
symboli=needlewidth=6;
plotcorr*lag;
run;
procgplotdata=exp1;
symboli=needlewidth=6;
plotpartcorr*lag;
run;
6、作为作业把样本自相关系数和偏相关系数记录下来。
7、估计模型参数,并与实际模型的系数进行对比,即输入如下程序,并提交。
procarimadata=a;
identifyvar=xnlag=10;
run;
estimatep=2;
run;
8、模拟虚根情况,模拟ztzt10.5zt2at过程。
重复步骤3-7即可(但部分程序需要修改,请读者自己完成)。
9、模拟AR(3)模型,模拟zt0.4zt10.3zt20.2zt3at过程。
重复步骤3-7即可(但部分程序需要修改,请读者自己完成).
10、回到graph窗口观察各种序列图形的异同
11、退出SAS系统,关闭计算机.
实验三模拟MA模型和ARMA模型
一、实验目的:
熟悉各种MA模型和ARMA莫型的样本自相关系数和偏相关系数
的特点,为理论学习提供直观的印象。
二、实验内容:
随机模拟各种MA模型和ARMAI型。
三、实验要求:
记录各MA莫型和ARMA模型的样本自相关系数和偏相关系数,
观察各序列的异同,总结MA模型和ARMA模型的样本自相关系
四、
实验时间:
2小时。
五、
实验软件:
SAS系统。
六、
实验步骤
1、
开机进入
SAS系统。
2、模拟10,20情况,模拟xt(10.65B0.24B2)at过程。
3在edit窗中输入如下程序:
dataa;
a1=0;
a2=0;
don=-50to250;
a=rannor(32565);
x=a+0.65*a1+0.24*a2;
a2=a1;
a1=a;
ifn>0thenoutput;
end;
run;
4、观察输出的数据序列,输入如下程序,并提交程序。
procgplotdata=a;
symboli=spline;
plotx*n;
run;
5、观察样本自相关系数和偏相关系数,输入输入如下程
序,并提交程序。
procarimadata=a;
identifyvar=xnlag=10outcov=exp1;
run;
procgplotdata=exp1;
symbol1i=needlec=red;
plotcorr*lag=1;
run;
procgplotdata=exp1;
symbol2i=needlec=green;
plotpartcorr*lag=2;
run;
6、作为作业把样本自相关系数和偏相关系数记录下来。
7、估计模型参数,并与实际模型的系数进行对比,即输入如下程序,并提交。
procarimadata=a;
identifyvar=xnlag=10;
run;
estimateq=2;
run;
2
8、模拟10,20情况,模拟xt(10.65B0.24B2)at过程。
重复步骤3-7即可
(但部分程序需要修改,请读者自己完成)。
9、模拟10,20情况,模拟xt(10.65B0.24B2)at过程。
重复步骤3-7即
可(但部分程序需要修改,请读者自己完成)。
2
10、模拟10,20情况,模拟xt(10.65B0.24B2)at过程。
重复步骤3-7即可(但部分程序需要修改,请读者自己完成)。
11、模拟ARMA模型,模拟xt0.75xt10.5xt25at0.3at10.4at2过程。
重复步骤3-7即可(但部分程序需要修改,请读者自己完成).
12、回到graph窗口观察各种序列图形的异同。
13、退出SAS系统,关闭计算机.
实验四分析化工生产量数据
SACF及SPACF定
实验目的:
进一步熟悉时间序列建模的基本步骤,掌握用
二、
实验内容:
分析化工生产过程的产量序列。
三、
实验要求:
掌握ARMA模型建模的基本步骤,初步掌握数据分析技巧。
写出
实验报告。
四、
实验时间:
2小时。
五、
实验软件:
SAS系统。
六、
实验步骤
1、
开机进入SAS系统。
2、
创建名为exp2的SAS数据集,即在窗中输入下列语句:
dataexp2;
inputx@@;
n=_n_;
cards;
输入化工生产产量数据序列(见附表)
;
run;
3、
保存此步骤中的程序,供以后分析使用(只需按工具条上的保存按钮然后填写完提问后就可以把这段程序保存下来即可)。
4、
绘数据与时间的关系图,初步识别序列,输入下列程序:
procgplotdata=exp2;
symboli=splinev=starh=2c=green;
plotx*n;
run;
5、
提交程序,在graph窗口中观察序列,可以看出此序列是均值平稳序列。
6、
识别模型,输入如下程序。
procarimadata=exp2;identityvar=xnlag=12;run;
7、
提交程序,观察输出结果,发现二阶样本自相关系数和一阶的样本偏相关系数都在2
estimateplotp=1;
run;
8、提交程序,观察输出结果,发现残差能通过白噪声检验,但它的二阶的样本偏相关系
数比较大,那么我们考虑二阶AR模型。
输入如下程序:
estimateplotp=2;
run;
9、提交程序,观察输出结果,发现残差样本自相关系数和样本偏相关系数都
在2倍的标准差之内。
且能通过白噪声检验。
比较两个模型的AIC和SBC,
发现第二个模型的AIC和SBC都比第一个的小,故我们选择第二个模型为我们的结果。
10、记录参数估计值,写出模型方程式。
11、进行预测,输入如下程序:
forecastlead=12out=out;
run;
procprintdata=out;
run;
12、提交程序,观察输出结果。
13、退出SAS系统,关闭计算机。
实验五模拟ARIMA模型和季节ARIMA模型
一、实验目的:
熟悉各种ARIMA模型的样本自相关系数和偏相关系数的特点,
区别各种ARIMA模型的图形,为理论学习提供直观的印象。
二、实验内容:
随机模拟各种ARIMA模型。
三、实验要求:
记录各ARIMA模型的样本自相关系数和偏相关系数观察各序列
图形的异同,总结ARIMA模型的样本自相关系数和偏相关系数的特点
四、实验时间:
2小时。
五、实验软件:
SAS系统。
六、实验步骤
2、开机进入SAS系统。
2、模拟ARIMA(0,1,1)过程,模拟xtxt1at0.8at1过程。
3、创建数据集,在edit窗中输入如下程序:
dataa;
x1=0.9;
a1=0;
don=-50to250;
a=rannor(32565);
x=x1+a-0.8*a1;
x1=x;
a1=a;
ifn>0thenoutput;
end;
run;
4、观察输出的数据序列,输入如下程序:
。
procgplotdata=a;
symboli=spline;
plotx*n;
run;
5、提交程序,在Graph窗口中观察图形。
6、观察样本自相关系数和偏相关系数,输入输入如下程序:
procarimadata=a;
identifyvar=xnlag=10outcov=exp1;
run;
procgplotdata=exp1;
symbol1i=needlec=red;
plotcorr*lag=1;
run;
procplotdata=exp1;
symbol2i=needlec=green;
plotpartcorr*lag=2;
run;
7、提交程序,发现自相关系数成缓慢下降的趋势,说明要做差分运算,做一阶差分运算,输入如下程序:
procarimadata=a;
identityvar=x
(1)nlag=24;
run;
8、提交程序,观察样本自相关系数与样本偏相关系数,发现自相关系数1阶截尾,故
判断差分后序列为MA
(1)模型。
进行模型参数估计,输入如下程序:
estimateq=1plot;
run;
9、提交程序,并观察残差图,发现模型拟合完全。
10、写出模型的方程,并与真实模型对比。
11、模拟ARIMA(1,1,0)模型,模拟(10.5B)(1B)ztat过程。
重复步骤
3-10即可(但部分程序需要修改,请读者自己完成)。
12模拟ARIMA(p,d,q)(P,D,Q)s模型,
1212t
模拟(1B)(1B)冶(10.4B)(10.6B)a模型,
即ARIMA(0,1,1)(0,1,1)12模型。
13、创建数据集,在edit窗中输入如下程序:
datac;
x1=0.9;x2=0;x3=0;x4=0;x5=0;x6=0;x7=0;
x8=0;x9=0;x10=0;x11=0;x12=0;x13=0;
a1=0;a2=0;a3=0;a4=0;a5=0;a6=0;a7=0;
a8=0;a9=0;a10=0;a11=0;a12=0;a13=0;
don=-50to250;
a=rannor(12345);
x=x1+x12-x13+a-0.4*a1-0.6*a12+0.24*a13;
x13=x12;x12=x11;x11=x10;x10=x9;x9=x8;x8=x7;
x7=x6;x6=x5;x5=x4;x4=x3;x3=x2;x2=x1;x1=x;
a13=a12;a12=a11;a11=a10;a10=a9;a9=a8;a8=a7;
a7=a6;a6=a5;a5=a4;a4=a3;a3=a2;a2=a1;a1=a;
ifn>0thenoutput;
end;
run;
14、绘序列图,输入如下程序:
procgplotdata=c;
symboli=splinec=red;
plotx*n;
run;
15、提交程序,到graph窗口中观察序列图形。
16、初步识别模型,输入如下程序:
procarimadata=c;
identifyvar=xnlag=36;
run;
17、提交程序,观察样本自相关系数和样本偏相关系数。
18、做季节差分和一阶差分除掉季节因子和趋势因子,输入如下程序:
identifyvar=x(1,12)nlag=36;
run;
19、提交程序,观察样本自相关系数和样本偏相关系数,确定模型阶数。
20、估计模型参数,输入如下程序:
estimateq=
(1)(12)method=ulsplot;
run;
21、提交程序,观察残差的样本自相关系数和样本偏相关系数,看是否通过
了白噪声检验。
写出模型方程式,并与真实模型对比。
22、回到graph窗口观察各种序列图形的异同。
23、退出SAS系统,关闭计算机.
实验六分析美国国民生产总值的季度数据
一、实验目的:
进一步学习数据分析技巧,进一步了解ARIMA莫型。
二、实验内容:
47年1季度到96年3季度美国国民生产总值的季度数据。
三、实验要求:
写出分析报告。
四、实验时间:
2小时。
五、实验软件:
SAS系统。
六、实验步骤
1、开机进入SAS系统。
2、建立名为exp3的SAS数据集,输入如下程序:
dataexp3;
inputgnp@@;
date=intnx(‘qtr','1jan47'd,_n_-1);
formatdateyyqc.;
cards;
输入美国国民生产总值的数据
run;
注:
Intnx函数按间隔递增日期,Intnx函数计算某个区间经过若干区间间隔之后的间隔的开始日期或日期时间值,其中开始间隔内的一个日期或日期时间值给出。
Intnx函数的格式如下:
Intnx(interval,from,n)
3保存上述程序,供以后分析使用(只需按工具条上的保存按钮,然后填写完提问后就可以把这段程序保存下来)。
4、绘序列图,输入如下程序:
procgplotdata=exp3;
symbol1i=spline;
plotgnp*date=1;
run;
5、观察图形,发现图形成指数函数上升形式,故做对数变换,输入如下程序:
datalexp;
setexp3;
lgnp=log(gnp);
run;
6、绘变换后序列图,输入如下程序:
procgplotdata=lexp;
symbol2i=splinec=red;
plotlgnp*date=2;
run;
7、提交程序,到graph窗口中观察变换后的序列图,可以看出它成直线上升趋势。
对序列做初步识别,输入如下程序:
procarimadata=lexp;
identifyvar=lgnpnlag=12;
run;
8、提交程序,观察样本自相关系数,可看出有缓慢下降趋势,结合我们观察的图形,我们知道要对序列做差分运算,作一阶差分,输入如下程序:
identifyvar=lgnp
(1)nlag=12;
run;
9、提交程序,观察样本自相关系数,可看出样本自相关系数5步后是截尾的,那么确定
为MA(5)模型,进行参数估计,输入如下程序:
estimateq=5plot;
run;
10、提交程序,观察输出结果,可看出模型通过了白噪声检验,说明模型拟合充分。
且MA1,3,MA1,4的T值较小,说明参数显著为0,除掉这两项重新进行估计,输入
estimateq=(1,2,5)plot;
run;
11、提交程序,观察输出结果,可看出模型通过了白噪声检验,说明模型拟合充分,且残差标准误与前一估计相差很小,故以此结果为我们所要的结果,依此结果写出方程式。
12、进行预测,预测美国未来2年的每季国民生产总值。
输入如下程序:
forcastlead=6interval=qtrid=dateout=results;
run;
dataresults;
setresults;
gnp=exp(lgnp);
l95=exp(l95);
u95=exp(u95);
forecast=exp(forecast+std*std/2);
run;
procprintdata=results;
vardateforcast;
wheredate>='1jan96'd;
run;
13、提交程序,并把预测值记录下来。
14、退出SAS系统,关闭计算机。
实验七分析国际航线月度旅客总数数据
、实验目的:
熟悉运用SAS建立ARIMA(p,d,q)(P,D,Q)s模型的方法,进一步了解ARIMA(p,d,q)(P,D,Q)s模型的特征。
、实验内容:
19497年1月至1960年12月国际航线月度旅客总数数据。
三、实验要求:
写出分析报告。
四、实验时间:
2小时。
五、实验软件:
SAS系统。
六、实验步骤
1、开机进入
SAS系统。
2、建立名为
exp4的SAS数据集,输入如下程序
dataexp4;
inputair@@;
date=intnx(‘month','1jan49'd,_n_-1);
formatdatemonyy.;
cards;
输入国际航线月度旅客总数数据
run;
3、保存上述程序,供以后分析使用(只需按工具条上的保存按钮,然后填写完提问后就可以把这段程序保存下来)。
4、绘序列图,输入如下程序:
procgplotdata=exp4;
symbol1i=splinev=dotc=red;
plotair*date=1;
run;
5、提交程序,观察图形,发现图形有很强的季节性,且成指数函数上升形式,故做对数变换,输入如下程序:
datalair;
setexp4;
lair=log(air);
run;
6、绘变换后序列图,输入如下程序:
procgplotdata=lair;
symbol2i=splinec=green;
plotlair*date=2;
run;
7、提交程序,到graph窗口中观察变换后的序列图,可以看出它总的趋势成直线上升,且有很强的季节性。
对序列做初步识别,输入如下程序:
procarimadata=lair;
identifyvar=lairnlag=36;
run;
8、提交程序,观察样本自相关系数和偏相关系数,可看出样本自相关系数有缓慢下降趋势,偏相关系数在1步,13步,25步较大,我们作一步一阶差分,输入如下程序:
identityvar=lair
(1)nlag=36;
run;
9、提交程序,观察样本自相关系数和偏相关系数,发现样本自相关系数在12步,24步,
36步特别大,而偏相关系数在12步特别大,那么我们再做12步的一阶差分,输入如下程序:
identifyvar=lair(1,12)nlag=36;
run;
10、提交程序,观察样本自相关系数和偏相关系数,发现样本自相关系数在
1步,12步特别大,而偏相关系数看不出有特别的规律,我们可确定模型
的MA因子为(1£)(12B12)at。
11、进行参数估计,输入如下程序:
estimateq=
(1)(12)noconstantmethod=ulsplot;
run;
12、提交程序,观察输出结果,可看出模型通过了白噪声检验,说明模型拟合充分,故以此结果为我们所要的结果,依此结果写出方程式。
13、进行预测,输入如下程序:
forecastlead=36interval=monthid=dateout=b;
run;
procprintdata=b;
14、提交程序,仔细观察预测的结果有什么规律,思考为什么有这样的规律?
15、变换预测值,以获取原度量下的预测值,输入