《SAS时序分析介绍.ppt》由会员分享,可在线阅读,更多相关《SAS时序分析介绍.ppt(31页珍藏版)》请在三一办公上搜索。
1、一、时间序列数据集的创建,1、使用DATA步创建SAS数据集,创建临时数据集data jr09;input time monyy7.price;format time monyy5.;cards;Jan2005 101 Feb2005 82 Mar2005 66 Apr2005 35 May2005 31 Jun2005 7;Run;proc print data=jr09;Run;,SAS系统命令语句不分大小写,单词之间至少空一格,每条命令以“;”结束。“data example1_1”命令SAS建立一个临时数据集。“input time monyy7.price;”第一个变量名为“time
2、”,“monyy7.”说明变量是时间变量,且指定了数据的输入格式为字符长度为7的月份年度数据。,第二个变量名为“price”,对它没有指定变量类型和数据输入格式,系统会自动将它视为数字型变量,并自动读取。“format time monyy5.;”该句告诉系统,“time”这个变量的的输出格式是字符长度为5的月份年度数据,输出格式为月份的三位缩写字母+2位年份数据。“cards”告诉SAS系统,下面开始录入数据行。第一列数据会自动赋给“time”,第一列数据会自动赋给“price”。如果命令为:“input time monyy7.price;”,数据将以如下方式读取:第一个数据赋值给变量“t
3、ime”,第二个数据赋值给变量“price”,第三个数据赋值给变量“time”,第四个数据赋值给变量“price”,数据输入完后,另起一行输入命令结束符号“;”注意:Cards=datalines,“Run;”表示程序写好可以运行。,创建永久数据集 所谓永久数据集就是指在sas中建立的数据集不会因为退出sas而丢失,它会永久地保存在该数据中,以后进入sas系统还可以从库中调用该数据集。用“data sasuser.jr09;”生成一个名字为sasuser.jr09的永久数据集。用libname命令建立永久数据集假定SAS软件安装在C盘,并且已经在SAS目录下建立名为myfile的文件夹,就可以
4、通过如下命令在该目录下建立一个名为datafile的永久数据库,并将数据集09jr存入永久数据库中。Libname datafilec:sasmyfile;Data datafile.09jr;该数据集将一直以datafile.09jr这种二级名称的形式被调用。,查看数据“proc print data=jr09;”,2、直接导入外部数据,file-import-microsoft excel 97or 2000(*.xls)-browse(指明要输入文件的路径)-next-finishproc import out=work.jr09 datafile=d:jr.xls dbms=excel
5、 replace;sheet=sheet;getnames=yes;run;,导出数据data jr09;set f;keep residual;run;Proc export data=work.jr09 outfile=d:jr09.xls dbms=excel replace;Sheet=“jr09”;run;,sas分部转换为excel,proc transpose data=tmp1.stockreturn out=t_t;run;data t_t1;set t_t;if _n_=250;run;proc transpose data=t_t1 out=t_t11;data t_t1
6、1;set t_t11;format data yymmdd10.;run;proc export data=t_t11 outfile=d:tant_t11.xls dbms=excel2000 replace;run;,二、时间序列数据集的处理,1、间隔数据的处理对于等时间间隔数据,SAS提供一种时间间隔函数INTNX,它可以根据需要自动产生等时间间隔的时间数据。,data jr091_1;input price;time=intnx(month,01jan2005d,_n_-1);format time monyy.;cards;3.41 3.45 3.42 3.53 3.45;proc
7、 print data=jr091_1;run;,“time=intnx(month,01jan2005d,_n_-1);”该命令是指定用intnx函数给时间time赋值。intnx函数包括三个参数:第一个参数指定等时间间隔,该参数可以为day,week,quarter,year等,第二个参数指定参照时间,第三个参数(_n_k)是调整开始观测的指针。K为整数,k取正值,指针由参照时间向未来(不包含参照时间)拨k期,k取负值,指针由参照时间向过去(包含参照时间)拨k期。,2、序列变换data jr091_2;input price;lotprice=log(price);time=intnx(m
8、onth,01jan2005d,_n_-1);format time monyy.;cards;3.41 3.45 3.42 3.53 3.45;proc print data=jr091_2;run;,反对数运算data jr091_3;set jr091_2;y=exp(lotprice);run;,3、子集data jr091_4;set jr091_3;keep time logprice;where time=01mar2005d;proc print data=jr091_4;run;,建立“data jr091_4;”的临时数据集,“set jr091_3;”该句表明“jr091
9、_4”是“09jr1_3”的子集,“keep time logprice;”该命令说明要保留的变量,“where time=01mar2005d;”指“jr091_4”要从“jr091_3”获取数据集的范围。,4、缺失值的插补data jr091_5;input price;time=intnx(month,01jan2005d,_n_-1);format time date.;cards;3.41 3.45.3.53 3.45;proc expand data=jr091_5 out=jr091_6;id time;proc print data=jr091_5;proc print dat
10、a=jr091_6;run;,三、SAS时间序列分析,1、模型识别Identify介绍proc arima data=ml;identify var=x nlag=8;run;Identify命令执行后会得到如下信息:a变量的描述性统计b样本自相关图c样本逆自相关图,自相关定义:假定 服从平稳可逆ARMA(p,q)过程那么ARMA(q,p)称为ARMA(p,q)的对偶模型,其对偶模型的自相关系数称作原模型的逆自相关系数。,逆自相关系数和偏自相关系数有着基本相同的性质,但逆自相关系数对于过差分非常敏感。d偏自相关图e纯随机检验结果Identify命令可以得到:平稳性、纯随机性和模型识别三方面的信
11、息。,相对最有定阶proc arima data=ml2;identify var=m nlag=8 minic p=(0:5)q=(0:5);run;Minic选项可以输出所有自相关延迟阶数小于等于5,滑动平均延迟阶数也小于等于5的ARMA(p,q)模型的BIC信息量,并指出其中BIC信息量达到最小模型的阶数。,2、参数估计estimate p=2 noint;run;在estimate命令后可增加method=ml,uls或cls估计方法选项,如果不专门指定估计方法系统默认估计方法为条件最小二乘法。ml极大似然估计uls最小二乘估计cls 条件最小二乘估计,3、序列预测forecast l
12、ead=10 id=n out=jg;run;Lead指定预测期数Id指定身份表示out指定预测后的结果存入某个数据集,4、非平稳时间序列,data sr;input s;y=log(s);dify=dif(y);dify2=dif(dify);t=intnx(year,01jan1952d,_n_-1);format t year.;cards;,“dify=dif(y);”表示命令系统对变量y差分进行1阶差分。常见的几种差分表示:1阶差分dif(y)2阶差分dif(dif(y))k步差分difk(y),单位根检验,proc arima data=sr;identify var=s stat
13、ionarity=(adf=1);run;Stationarity该选项支持ADF、PP和RW检验。,data jr09root;input x y;t=_n_;cards;-2.94 9.83-2.14 12.63 1.01 14.77 2.84 17.29-0.79 18.07 1.46 17.38 5.44 19.17 1.65 9.12 6.53 22.82 8.93 23.58 8.67 15.19 8.36 22.43 9.79 17.83 11.67 25.49 9.70 28.40 9.18 23.15 11.13 19.70 9.39 22.32 12.89 30.01 8.
14、45 21.27 6.66 11.52 4.15 15.57 2.57 9.91 2.29 23.28-3.28 13.75-5.21 3.38-3.74 15.81-8.73 12.41-15.89 5.54-12.15 4.83-10.86 14.79-17.16 4.14-18.55-5.36-11.42 4.79-16.02 0.91-14.36-5.49-17.98 6.01-16.94 2.78-17.52-2.49-13.44 10.30-14.11-0.32-15.16 2.35;,proc gplot data=jr09root;plot x*t=1 y*t=2/overla
15、y;symbol1 c=black i=join v=none;symbol2 c=red i=join v=none w=2 l=2;proc arima data=jr09root;identify var=x stationarity=(adf=1);identify var=y stationarity=(adf=1);proc reg data=jr09root;model y=x;output out=out residual=residual;proc arima data=out;identify var=residual stationarity=(adf);proc arima data=jr09root;identify var=y crosscorr=x;estimate input=x plot;forecast lead=5 id=t out=result;proc gplot data=result;plot y*t=1 forecast*t=2 l95*t=3 u95*t=3/overlay;symbol1 c=black i=none v=star;symbol2 c=rd i=join v=none;symbol3 c=green i=join v=none;run;,时间序列分析窗口实现找到窗口,