SAS学习系列39. 时间序列分析—ARIMA模型(4)

2019-08-26 18:43

二、建模步骤

分为三个阶段:识别阶段、估计阶段和预测阶段。

1. 识别阶段

使用identify语句来指定响应变量序列并且识别候选ARIMA模型。一般先对序列进行非线性、差分和平稳性检验,可能对序列进行差分,然后计算自相关系数ACF、逆自相关系数IACF、偏自相关系数PACF和互相关系数。此阶段的输出通常会建议一个或多个可拟合的ARIMA模型。如果模型确定,还可以检验样本自相关系数SACF和样本偏自相关系数SPACF,以分出模型的类型。

2. 估计阶段

使用estimate语句来指定ARIMA模型去拟合在前面identify语句中指定的响应变量,并且估计该模型的参数。estimate语句也生成

诊断统计量从而帮助判断该模型的适用性。

关于参数估计值的显著性检验可以指出模型里的一些项是否不需要:拟合优度统计量R2可帮助比较该模型和其他模型的优劣;白噪声残差检验可指明残差序列是否包含可被其他更复杂模型采用的额外信息,如果诊断检验表明模型不适用,则可尝试另一个模型然后重复估计和诊断。

3. 预测阶段

使用forecast语句来预测时间序列的未来值,并对这些来自前面estimate语句生成的ARIMA模型的预测值产生置信区间。

(三)PROC ARIMA过程

ARIMA过程采用Box-Jenkins方法建立模型,是集一元时间序列模型判定、参数估计和预测为一体的多功能综合工具。当ARIMA模型包括其他时间序列作为输入变量时,有时也被称为ARIMAX模型。ARIMA模型还支持干预或中断时间序列模型、误差的多元回归分析、任意复杂程度的有理转移函数模型。

基本语法:

procarima data=数据集 out=输出数据集; where 条件表达式;

identify var=变量(?)<选项列表> ; estimate <选项列表>; forecast <选项列表>;

说明:

(1)where语句

指定用于分析的时间间隔,通常条件表达式是有关日期变量的条件表达式,例如:’31dec98’d<日期变量<’31dec99’d

(2)identify语句

主要完成时间序列的差分计算,样本ACF、IACF和PACF函数的计算、卡方检验统计量和白噪声自相关检验的p值的计算。主要选项:

? var=变量(d1,…,dk)——是必选项,指定要分析的时间序列变量,按括号内列出的差分周期列表来计算时间序列的滞后差分。例如:

var=X(1) 为对滞后1项的序列差分,即Xt-Xt-1; var=X(2) 为对滞后2项的序列差分,即Xt-Xt-2; var=X(1,1) 为X进行二阶差分,即(Xt-Xt-1)-(Xt-1-Xt-2);

? nlag=数字——指定计算自相关的滞后数,其值应大于p+d+q,小于观测数,默认值为24;

? crosscorr=(干预变量(d1))——列出有var=指定的响应序列的交叉相关变量。干预变量在交叉相关变量中。交叉相关变量的差分由圆括号内的差分滞后数确定。

(3)estimate语句

对已执行的identify语句中的响应变量规定一个模型,主要选项: ? p=(p1,p2,…)?(p1,p2,…)——定义一个在p中指定的滞后处具有自回归参数的模型,p的默认值为0;

? q=(q1,q2,…)?(q1,q2,…)——定义一个在q中指定的滞后处具有滑动平均参数的模型,q的默认值为0。如果p=和q=都没有指定,则拟合随机模型;

? noconstant——在模型中舍弃常数项μ; ? noint——在该模型中不拟合截距参数;

? method=ml | uls | cls——指定估计时使用的方法,分别为极大似然方法、无条件最小二乘法、有条件最小二乘法,默认为cls; ? outest=数据集——将参数估计值输出到指定的数据集; ?outmode=数据集——将模型和参数估计值输出到指定的数据集; ? outstat=数据集——将模型诊断统计量输出到指定的数据集; ? plot——可以绘制残差自回归函数等;

(4)forecast语句

利用estimate语句所产生的参数估计生成时间序列的预测值,主要选项:

? alpha=α——设置预测置信限的大小,上下置信限的置信水平为1-α,默认值为0.05;

? lead=n——指定要计算的多步向前预测值的次数,默认为24; ? back=n——指定在数据末尾前n个观测值开始进行分步预测,默认为0;

? interval=时间间隔——指定观测之间的时间间隔,常用的时间间隔为year、qtr、month、week、weekday、day、hour、minute、second; ? id=变量名——指明输入数据集中一个变量,用于识别与观测有关

的时间周期;

? out=数据集——将预测值和其他值输出到一个指定的数据集中。

例1有一组1949年至1961年国际航线旅客月度人数的记录:

YEAR 1 1949 112 1950 115 1951 145 1952 171 1953 196 1954 204 1955 242 1956 284 1957 315 1958 340 1959 360 1960 417 2 118 126 150 180 196 188 233 277 301 318 342 391 3 132 141 178 193 236 235 267 317 356 362 406 419 4 129 135 163 181 235 227 269 313 348 348 396 461 5 121 125 172 183 229 234 270 318 355 363 420 472 6 135 149 178 218 243 264 315 374 422 435 472 535 7 148 170 199 230 264 302 364 413 465 491 548 622 8 148 170 199 242 272 293 347 405 467 505 559 606 9 136 158 184 209 237 259 312 355 404 404 463 408 10 119 133 162 191 211 229 274 306 347 359 407 461 11 104 114 146 172 180 203 237 271 305 310 362 390 12 118 140 166 194 201 229 278 306 336 337 405 432 使用ARIMA过程进行建模和预测。

(一)读入数据、绘制时间序列图、判断平稳性,代码:

data arimad01;

date=intnx('month','31dec1948'd,_n_); input x @@;

format date monyy5.; datalines;

112 118 132 129 121 135 148 119 104 118

115 126 141 135 125 149 170 133 114 140

145 150 178 163 172 178 199 162 146 166

171 180 193 181 183 218 230 191 172 194

196 196 236 235 229 243 264 211 180 201

204 188 235 227 234 264 302 229 203 229

148 170 199 242 272 293

136158184209237259


SAS学习系列39. 时间序列分析—ARIMA模型(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国移动TD-LTE - OMC-R测量报告技术要求规范V2.0.0

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: