您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 时间序列分析讲义(下)
时间序列分析讲义(下)前面,我们已经介绍了时间序列建模的基本原理、方法和步骤。本讲我们重点介绍SAS分析时间序列的一些重要命令,及不同类型时间序列的SAS处理。时间序列建模步骤流程:时间序列图计算样本相关系数偏相关系数模型识别参数估计模型检验序列预测YN一个时间序列模型的建立,可能要经过多次的识别-评估的反复,希望同学们能够熟练地应用SAS建立时序模型。第一章SAS-时间序列数据第二章SAS-时间序列预处理第三章SAS-ARIMA模型过程简介目录第四章实例-ARIMA的几种类型及SAS处理Data数据集名;input变量名1变量名2;cards;数据;run;Data数据集名;input变量名1变量名2@@;cards;数据;run;1.1创建数据数据格式1格式21、数据直接录入第一章SAS-时间序列数据dataexample1_1;inputprice;cards;3.413.453.423.533.45;run;dataexample1_1;inputprice@@;cards;3.413.453.423.533.45;run;例1-1录入数据3.413.453.423.533.45方法1方法2(1)这2种方法都可以创建一个名叫example的临时数据集,保存在数据库WORK中,本次开机可调用,关机后数据不保存。SAS提供了两个通用数据库:临时数据库WORK和永久数据库SASUSER。SAS数据命名采用二级制:数据库名.数据集名。若命名中没有数据库名,则默认为临时数据库WORK。说明:datasassuser.example1_1;inputprice@@;cards;3.413.453.423.533.45;run;就创建了一个名叫example1_1的永久数据集,保存在永久数据库SASUSER中,关机后数据保存。若改为如下的程序:(2)input语句中加@@,则录入可以按行录入,SAS按行读取数据;否则SAS按列读取数据。注2:把录入数据的程序文件以.SAS文件形式保存下来,这样数据也得到保存。启动文件,即产生临时数据集。注1:也可以建立自己的永久数据库。2、等间隔时间数据的录入SAS提供了命令或函数,可以更具需要自动产生等间隔的时间数据。例录入下表中的数据:dataexample;inputprice@@;t=_n_;cards;101826635317;run;时间价格12245101826635317我们可以运行如下程序:可以在数据库WORK看见数据集example数据集中有两个变量t和price。我们没有输入时间变量的数据,但“t=_n_”命令自动给时间变量赋值。例1-2录入下表中的数据:我们可以运行如下程序:dataexample1_2;inputprice@@;t=intnx('month','1jan2005'd,_n_-1);formattmonyy.;cards;101826635317;run;等间隔的年份时间数据可以利用间隔函数输入:可以在数据库WORK看见数据集ex1_2数据集中有两个变量t和price。formattmonyy.指定时间的输出格式此处monyy.指定时间的输出格式为月-年。3、外部数据的读取1.2数据的处理dataexample1_3;inputprice@@;t=intnx('month','1jan2005'd,_n_-1);logp=log(price);formattmonyy.;cards;3.413.453.423.533.45;run;1、序列变换可以在数据库WORK看见数据集ex1_3数据集中有3个变量。dataexample1_4;setexample1_3;keeptlogp;wheret='01mar2005'd;procprintdata=example1_4;run;2、子集可以在数据库WORK看见数据集example1_4:dataexample1_5;inputprice@@;t=intnx('month','1jan2005'd,_n_-1);formattdate.;cards;3.413.45.3.533.45;procexpanddata=example1_5out=example1_6;idt;procprintdata=example1_5;procprintdata=example1_6;run;3、缺失值插值可以在数据库WORK看见数据集example1_4:“procprintdata=example1_5;”是查看语句,可以在输出窗口看到两个数据集。第二章SAS-时间序列预处理2.1时间序列图形SAS时间序列作图的程序语句格式为:PROCGPLOT数据集名表明要对该数据集中的数据做图。时序图,直观观察序列的平稳性;拟合效果图,直观地看到预测的效果。时序图在SAS分析中的作用:例2.1以下表dataexample2_1;inputprice1price2;time=intnx('month','01jul2004'd,_n_-1);formattimedate.;cards;12.8515.2113.2914.2312.4214.6915.2116.2714.2316.7513.5615.33;run;procgplotdata=example2_1;plotprice1*time=1price2*time=2/overlay;symbol1c=blackv=stari=join;symbol2c=redv=circlei=spline;run;2.2平稳检验与纯随机性检验纯随机性检验也叫白噪声检验,这个检验着SAS建模中至关重要,有两方面的作用:对于待建模的时序,若检验结果为白噪声,则该时序可不可以建模,一个白噪声序列是不能建立任何模型的。对于建模的后的残差序列,若检验结果为白噪声,模型通过检验,若残差不是白噪声则模型不通过。平稳性检验的目的是确定该时序可不可以直接建模,平稳序列(非白噪声)可以直接建模,非白噪声非平稳(非白噪声)序列需要先做差分处理,然后建模。SAS的ARIMA过程中的IDENGTIFY语句,提供了白噪声检验的结果,同时提供了醒目的自相关、偏相关函数图,可以帮助判别平稳性。事实上,通过IDENGTIFY语句,还可以实现序列模型的识别,这个在下一章详细介绍。dataexample2_2;inputfred@@;year=intnx('year','1jan1970'd,_n_-1);formatyearyear4.;cards;97154137.7149164157188204179210202218209204211206214217210217219211233316221239215228219239224234227298332245357301389;procarimadata=example2_2;identifyvar=fred;run;例2.2描述性统计量自相关函数图偏相关函数图自相关和偏相关函数都能较快地进入2倍标准差内,认为序列平稳.检验统计量的P值0.001,序列不是白噪声,可以建模.注:IDENGTIFY给出的五条消息中,一般利用自相关、偏相关信息判别序列平稳性,利用白噪声检验信息判断序列的纯随机性。下一章可以看到IDENGTIFY给出的自相关和偏相关信息还可用于模型识别、定阶。模型识别与定阶参数估计与模型诊断预测ARIMA模型过程有三个阶段:第三章SAS-ARIMA模型过程简介SAS是通过IDENGTIFY、Estimate及forecast三个语句来实现这三个阶段的。模型的识别可以通过IDENGTIFY语句实现。3.1模型识别第二章提到,SAS的ARIMA过程中的IDENGTIFY语句,不仅可以实现白噪声和平稳性的检验,还可以实现序列模型的识别。以数据集example3_1为例来说明SAS序列模型的识别的语句。dataexample3_1;inputx@@;time=_n_;cards;0.30-0.450.360.000.170.452.154.423.482.991.742.400.110.960.21-0.10-1.27-1.45-1.19-1.47-1.34-1.02-0.270.14-0.070.10-0.15-0.36-0.50-1.93-1.49-2.35-2.18-0.39-0.52-2.24-3.46-3.97-4.60-3.09-2.19-1.210.780.882.071.441.500.29-0.36-0.97-0.30-0.280.800.911.951.771.800.56-0.110.10-0.56-1.34-2.470.07-0.69-1.960.041.590.200.391.06-0.39-0.162.071.351.461.500.94-0.08-0.66-0.21-0.77-0.520.05;例3.1procgplotdata=example3_1;plotx*time=1;symbol1c=red,i=join,v=star;run;procarimadata=example3_1;identifyvar=x;run;本例IDENGTIFY得到的信息:序列自相关图序列偏相关图分析:序列白噪声检验白噪声检验显示该序列不是白噪声,可以建模;自相关和偏相关函数都较快趋于零,判别为平稳过程;注意到自相关函数在3步之后小于2倍标准差,认为自相关函数在3步截尾,偏相关函数6步还未进入2倍标准差,看做拖尾,所以初步判别模型为MA(3)3.2参数估计与诊断estimateq=3;run;拟合MA(3):三、系数相关阵四、残差相关检验(白噪声)一般,我们通过参数估计看参数是否通过显著性检验;通过残差相关检验(白噪声)看模型是否通过显著性检验,检验通过的模型,写出具体的形式。五、拟合模型形式本例拟合MA(3)的模型参数估计结果:均值不显著,其他参数均显著。注:若模型通过检验,还需要建立均值为0的优化模型。下面看模型检验:滞后6步检验的P值0.00100.05,认为残差不是白噪声。所以该模型没有通过检验。本例拟合MA(3),得到模型的残差的白噪声检验结果:那么如何寻找该序列的适合模型呢?时间序列还提供了利用最佳判别准则来选择模型的方法。最佳判别准则有AIC准则,BIC准则、SBC准则,都是基于估计误差和模型简洁2性的准则,以值小的为佳。我们用利用AIC准则最佳判别准则来选择模型。在IDENTIFY中添加MINIC语句,即可求得模型的BIC值。estimateq=4;run;再拟合MA(4)模型:本例拟合MA(4)的白噪声检验结果:白噪声检验统计量的所有P值都大于0.05,说明残差序列为白噪声。模型检验通过。本例拟合MA(4)的模型参数估计结果:各参数均显著,均值不显著(其对应的P值0.9968大于0.05)。下面去除均值,建立均值为0的优化模型。estimateq=4noint;run;拟合MA(4)的模型参数估计及白噪声检验结果:白噪声检验统计量的所有P值都大于0.05,说明残差序列为白噪声。模型检验通过。拟合MA(4)的具体形式如下:3.3预测forecastlead=5id=timeout=yuce;run;模型拟合好了后,可以用模型作短期预测,预测语句如下:该语句运行后会输出如下信息:MA(4)的forecast结果:我们还可以利用存储的预测的结果,绘成美观的拟合效果图,用如下语句:procgplotdata=yuce;plotx*time=1forecast*time=2l95*time=3u95*time=3/overlay;symbol1c=black,i=none,v=star;symbol2c=red,i=join,v=none;symbol3c=green,i=join,v=nonel=32;run;拟合效果图dataexample3_1;inputx@@;time=_n_;cards;0.30-0.450.360.000
本文标题:时间序列分析讲义(下)
链接地址:https://www.777doc.com/doc-731595 .html