时间序列分析讲义 下

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各参数均显著,均值不显著(其对应的P值0.9968大于 0.05)。
平稳性检验的目的是确定该时序可不可以直接建 模,平稳序列(非白噪声)可以直接建模,非白噪 声非平稳(非白噪声)序列需要先做差分处理,然 后建模。
SAS的ARIMA过程中的IDENGTIFY语句,提供了白 噪声检验的结果,同时提供了醒目的自相关、偏相 关函数图,可以帮助判 别平稳性。
事实上,通过IDENGTIFY语句,还可以实现序列 模型的识别,这个在下一章详细介绍。
目录
第一章 SAS-时间序列数据 第二章 SAS-时间序列预处理 第三章 SAS-ARIMA模型过程简介 第四章 实例-ARIMA的几种类型及SAS处 理
第一章 SAS-时间序列数据
1.1 创建数据数据
1、数据直接录入
格式1
Data 数据集名; input 变量名1 变量名2 ;
cards; 数据
时序图在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;
若命名中没有数据库名,则默认为临时数据库WORK 。
若改为如下的程序:
data sassuser.example1_1; input price@@; cards; 3.41 3.45 3.42 3.53 3.45 ; run;
就创建了一个名叫 example1_1的永久数据集,保 存在永久数据库SASUSER中,关机后数据保存。
我们用利用AIC准则最佳判别准则来选择模型。
在IDENTIFY中添加MINIC语句,即可求得模型的BIC 值。
再拟合MA(4)模型: estimate q=4; run;
本例拟合MA(4) 的白噪声检验结果:
白噪声检验统计量的所有P值都大于0.05, 说明残 差序列为白噪声。模型检验通过。
本例拟合MA(4) 的模型参数估计结果:
3、缺失值插值
data example1_5;input price@@; t=intnx('month','1jan2005'd,_n_-1); format t date.;cards; 3.41 3.45 . 3.53 3.45 ; proc expand data=example1_5 out=example1_6;id t; proc print data=example1_5 ; proc print data=example1_6;run;
时间序列分析讲义(下)
前面,我们已经介绍了时间序列建模的基本原理、 方法和步骤。
本讲我们重点介绍SAS分析时间序列的一些重要命 令,及不同类型时间序列的SAS处理。
时间序列建模步骤流程:


















模型 识别
参数 估计
N
模型
检验
序 列 Y预 测
一个时间序列模型的建立,可能要经过多次的识别评估的反复,希望同学们能够熟练地应用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:
拟合MA(3): estimate q=3; run;
三、系数相关阵 四、残差相关检验(白噪声) 五、拟合模型形式
一般,我们通过参数估计看参数是否通过显著性检验; 通过残差相关检验(白噪声)看模型是否通过显著性 检验,检验通过的模型,写出具体的形式。
本例拟合MA(3) 的模型参数估计结果:
均值不显著,其他参数均显著。 注:若模型通过检验,还需要建立均值为0的优化模型。
2.2 平稳检验与纯随机性检验 纯随机性检验也叫白噪声检验,这个检验着
SAS建模中至关重要,有两方面的作用: 对于待建模的时序,若检验结果为白噪声,则该
时序可不可以建模,一个白噪声序列是不能建立任 何模型的。
对于建模的后的残差序列,若检验结果为白噪声, 模型通过检验,若残差不是白噪声则模型不通过。
序列偏相关图
序列白噪声检验
分析: 白噪声检验显示该序列不是白噪声,可以建模;自 相关和偏相关函数都较快趋于零,判别为平稳过程; 注意到自相关函数在3步之后小于2倍标准差,认为自 相关函数在3步截尾,偏相关函数6步还未进入2倍标准 差,看做拖尾,所以初步判别模型为MA(3)
3.2 参数估计与诊断
方法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数据命名采用二级制:数 据库名.数据集名。
(2)input语句中加@@,则录入可以按行录入, SAS按行读取数据;否则SAS按列读取数据。
注1:也可以建立自己的永久数据库。
注2:把录入数据的程序文件以.SAS文件形式保存下来, 这样数据也得到保存。启动文件,即产生临时数据集。
2、 等间隔时间数据的录入
SAS提供了命令或函数,可以更具需要自动产生等间隔的时间数据。 例 录入下表中的数据:
下面看模型检验:
本例拟合MA(3),得到模型的残差的白噪声检验结 果:
滞后6步检验的P值0.0010<0.05,认为残差不是白噪声。 所以该模型没有通过检验。
那么如何寻找该序列的适合模型呢?
时间序列还提供了利用最佳判别准则来选择模型的方法。 最佳判别准则有AIC准则,BIC准则、SBC准则,都是基于 估计误差和模型简洁2性的准则,以值小的为佳。
可以在数据库WORK看见数据集example1_4:
“proc print data=example1_5 ;” 是查看语句,可以在输出窗口看到两个数据集。
第二章 SAS-时间序列预处理 2.1 时间序列图形 SAS时间序列作图的程序语句格式为: PROC GPLOT 数据集名 表明要对该数据集中的数据做图。
描述性统计量
自相关函源自文库图
偏相关函数图
自相关和偏相关函数都能较快地进入2倍标准差内,认 为序列平稳.
检验统计量的P值<0.001,序列不是白噪声,可以建模.
注: IDENGTIFY给出的五条消息中,一般利用自相关、偏相 关信息判别序列平稳性,利用白噪声检验信息判断序 列的纯随机性。
下一章可以看到IDENGTIFY给出的自相关和偏相关信 息还可用于模型识别、定阶。
以数据集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.2
data example2_2; input fred@@; year=intnx('year','1jan1970'd,_n_-1); format year year4.; cards; 97 154 137.7 149 164 157 188 204 179 210 202 218 209 204 211 206 214 217 210 217 219 211 233 316 221 239 215 228 219 239 224 234 227 298 332 245 357 301 389 ; proc arima data= example2_2; identify var=fred; 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;
proc gplot data= example3_1; plot x*time=1; symbol1 c=red,i=join,v=star; run; proc arima data=example3_1; identify var=x ; run;
本例IDENGTIFY得到的信息:
序列自相关图
可以在数据库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-ARIMA模型过程简介 ARIMA模型过程有三个阶段:
模型识别与定阶 参数估计与模型诊断 预测
SAS是通过IDENGTIFY、 Estimate及forecast三个语句来实 现这三个阶段的。
3.1 模型识别
模型的识别可以通过IDENGTIFY语句实现 。
第二章提到,SAS的ARIMA过程中的IDENGTIFY 语句,不仅可以实现白噪声和平稳性的检验,还 可以实现序列模型的识别。
时间
价格
1
101
2 2 4 5
82
66
35
31 7
我们可以运行如下程序:
data example ; input price@@; t=_n_; cards; 101 82 66 35 31 7 ; run;
可以在数据库WORK看见数据集example数据集中有两 个变量t和price。
我们没有输入时间变量的数据,但“t=_n_”命令 自动给时间变量赋值 。
相关文档
最新文档