时间序列分析讲义(下)
可以在数据库WORK看见数据集ex1_2数据集中有两个 变量t和price。
format t monyy.指定时间的输出格式 此处monyy.指定时间的输出格式为月-年。
3、 外部数据的读取
1.2 数据的处理 1、序列变换
data example1_3;input price@@; t=intnx('month','1jan2005'd,_n_-1); logp=log(price); format t monyy.; cards; 3.41 3.45 3.42 3.53 3.45 ; run;
时间序列分析讲义(下)
前面,我们已经介绍了时间序列建模的基本原理、 方法和步骤。
本讲我们重点介绍SAS分析时间序列的一些重要命 令,及不同类型时间序列的SAS处理。
时间序列建模步骤流程:
计
算
样
本
时
相
间
关
序
系
列
数
图
偏
相
关
系
数
模型 识别
参数 估计
N
模型
检验
序 列 Y预 测
一个时间序列模型的建立,可能要经过多次的识别-评估 的反复,希望同学们能够熟练地应用SAS建立时序模型。
各参数均显著,均值不显著(其对应的P值0.9968大于 0.05)。
若命名中没有数据库名,则默认为临时数据库WORK 。
若改为如下的程序:
data sassuser.example1_1; input price@@; cards; 3.41 3.45 3.42 3.53 3.45 ; run;
就创建了一个名叫 example1_1的永久数据集,保 存在永久数据库SASUSER中,关机后数据保存。
平稳性检验的目的是确定该时序可不可以直接建 模,平稳序列(非白噪声)可以直接建模,非白噪 声非平稳(非白噪声)序列需要先做差分处理,然 后建模。
SAS的ARIMA过程中的IDENGTIFY语句,提供了白 噪声检验的结果,同时提供了醒目的自相关、偏相 关函数图,可以帮助判 别平稳性。
事实上,通过IDENGTIFY语句,还可以实现序列 模型的识别,这个在下一章详细介绍。
时序图在SAS分析中的作用:
时序图,直观观察序列的平稳性; 拟合效果图,直观地看到预测的效果。
例2.1 以下表
data example2_1; input price1 price2; time=intnx('month','01jul2004'd,_n_-1); format time date.;cards; 12.85 15.21 13.29 14.23 12.42 14.69 15.21 16.27 14.23 16.75 13.56 15.33 ; run; proc gplot data=example2_1; plot price1*time=1 price2*time=2/overlay; symbol1 c=black v=star i=join;symbol2 c=red v=circle i=spline; run;
run;
格式2 Data 数据集名;
input 变量名1 变量名2@@;
cards; 数据
;
run;
例1-1 录入数据 3.41 3.45 3.42 3.53 3.45 方法1 data example1_1;input price;
cards; 3.41 3.45 3.42 3.53 3.45 ; run;
等间隔的年份时间数据可以利用间隔函数输入: 例1-2 录入下表中的数据:
我们可以运行如下程序:
data example1_2 ;input price@@; t=intnx('month','1jan2005'd,_n_-1); format t monyy.; cards; 101 82 66 35 31 7 ; run;
可以在数据库WORK看见数据集example1_4:
“proc print data=example1_5 ;” 是查看语句,可以在输出窗口看到两个数据集。
第二章 SAS-时间序列预处理 2.1 时间序列图形
SAS时间序列作图的程序语句格式为: PROC GPLOT 数据集名
表明要对该数据集中的数据做图。
我们用利用AIC准则最佳判别准则来选择模型。
在IDENTIFY中添加MINIC语句,即可求得模型的BIC 值。
再拟合MA(4)模型: estimate q=4; run;
本例拟合MA(4) 的白噪声检验结果:
白噪声检验统计量的所有P值都大于0.05, 说明残 差序列为白噪声。模型检验通过。
本例拟合MA(4) 的模型参数估计结果:
序列偏相关图
序列白噪声检验
分析: 白噪声检验显示该序列不是白噪声,可以建模;自 相关和偏相关函数都较快趋于零,判别为平稳过程; 注意到自相关函数在3步之后小于2倍标准差,认为自 相关函数在3步截尾,偏相关函数6步还未进入2倍标准 差,看做拖尾,所以初步判别模型为MA(3)
3.2 参数估计与诊断
目录
第一章 SAS-时间序列数据 第二章 SAS-时间序列预处理 第三章 SAS-ARIMA模型过程简介
第四章 实例-ARIMA的几种类型及SAS处理
第一章 SAS-时间序列数据
1.1 创建数据数据
1、数据直接录入
格式1
Data 数据集名; input 变量名1 变量名2 ;
cards; 数据
;
(2)input语句中加@@,则录入可以按行录入, SAS按行读取数据;否则SAS按列读取数据。
注1:也可以建立自己的永久数据库。
注2:把录入数据的程序文件以.SAS文件形式保存下来, 这样数据也得到保存。启动文件,即产生临时数据集。
2、 等间隔时间数据的录入
SAS提供了命令或函数,可以更具需要自动产生等间隔的时间数据。 例 录入下表中的数据:
可以在数据库WORK看见数据集ex1_3数据集中有3 个变量。
2、子集
data example1_4;set example1_3; keep t logp; where t>='01mar2005'd; proc print data=example1_4;run;
可以在数据库WORK看见数据集example1_4:
proc gplot data= example3_1; plot x*time=1; symbol1 c=red,i=join,v=star; run; proc arima data=example3_1; idenIDENGTIFY得到的信息:
序列自相关图
描述性统计量
自相关函数图
偏相关函数图
自相关和偏相关函数都能较快地进入2倍标准差内,认 为序列平稳.
检验统计量的P值<0.001,序列不是白噪声,可以建模.
注: IDENGTIFY给出的五条消息中,一般利用自相关、偏相 关信息判别序列平稳性,利用白噪声检验信息判断序 列的纯随机性。
下一章可以看到IDENGTIFY给出的自相关和偏相关信 息还可用于模型识别、定阶。
拟合MA(3): estimate q=3; run;
三、系数相关阵 四、残差相关检验(白噪声) 五、拟合模型形式
一般,我们通过参数估计看参数是否通过显著性检验; 通过残差相关检验(白噪声)看模型是否通过显著性 检验,检验通过的模型,写出具体的形式。
本例拟合MA(3) 的模型参数估计结果:
均值不显著,其他参数均显著。 注:若模型通过检验,还需要建立均值为0的优化模型。
下面看模型检验:
本例拟合MA(3),得到模型的残差的白噪声检验结 果:
滞后6步检验的P值0.0010<0.05,认为残差不是白噪声。 所以该模型没有通过检验。
那么如何寻找该序列的适合模型呢?
时间序列还提供了利用最佳判别准则来选择模型的方法。 最佳判别准则有AIC准则,BIC准则、SBC准则,都是基于 估计误差和模型简洁2性的准则,以值小的为佳。
以数据集example3_1为例来说明SAS序列模 型的识别的语句。
例3.1
data example3_1; input x@@; time=_n_; cards; 0.30 -0.45 0.36 0.00 0.17 0.45 2.15 4.42 3.48 2.99 1.74 2.40 0.11 0.96 0.21 -0.10 -1.27 -1.45 -1.19 -1.47 -1.34 -1.02 -0.27 0.14 -0.07 0.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.21 0.78 0.88 2.07 1.44 1.50 0.29 -0.36 -0.97 -0.30 -0.28 0.80 0.91 1.95 1.77 1.80 0.56 -0.11 0.10 -0.56 -1.34 -2.47 0.07 -0.69 -1.96 0.04 1.59 0.20 0.39 1.06 -0.39 -0.16 2.07 1.35 1.46 1.50 0.94 -0.08 -0.66 -0.21 -0.77 -0.52 0.05 ;
方法2
data example1_1;input price@@; cards; 3.41 3.45 3.42 3.53 3.45 ; run;
说明:
(1)这2种方法都可以创建一个名叫example的临时 数据集,保存在数据库WORK中,本次开机可调用,关 机后数据不保存。 SAS提供了两个通用数据库:临时数据库WORK 和永 久数据库SASUSER。 SAS数据命名采用二级制:数 据库名.数据集名。