SAS建立时间序列模型
例1 磨轮剖面资料 data li; input x @@; cards; 13.5 4.0 4.0 4.5 3.0 3.0 10.0 10.2 9.0 10.0 8.5 7.0 10.5 7.5 7.0 10.5 9.5 7.0 12.0 13.5 12.5 15.0 13.0 11.0 9.0 10.5 10.5 11.5 10.5 9.0 8.2 8.5 9.2 8.5 10.0 14.5 13.0 2.0 6.0 6.0 11.0 9.5 12.5 13.8 12.0 12.0 12.0 13.0 12.0 14.0 14.5 13.5 12.3 7.0 7.0 7.0 6.5 12.5 15.0 12.5 11.6 11.0 10.0 8.5 3.0 11.5 11.5 11.5 11.0 9.0 2.5 7.0 6.0 6.6 14.0 11.0 9.0 6.5 4.0 6.0 12.0 11.0 12.0 12.5 12.5 13.6 13.0 8.0 6.5 6.8 6.0 7.2 10.2 8.0 7.5 11.0 11.8 11.8 6.5 8.0 9.0 8.0 8.0 9.0 9.5 10.0 9.0 12.0 13.5 13.8 15.0 12.5 11.0 11.5 14.5 11.5 11.8 13.0 15.0 14.5 13.0 9.0 11.0 9.0 10.0 14.0 13.5 3.0 2.2 6.0 8.0 9.0 9.0 9.0 7.0 6.0 6.5 7.0 7.5 8.5 9.0 9.5 10.0 11.5 11.2 12.5 11.6 8.0 7.0 6.0 6.0 6.0 9.0 12.0 13.5 13.0 3.5 1.8 1.6 7.5 8.0 7.9 11.6 12.5 10.5 8.0 9.0 11.6 11.8 12.6 10.2 10.0 5.0 7.0 -1.0 0.0 0.0 3.0 11.0 12.0 12.2 11.0 8.0 7.0 5.5 10.0 11.5 7.0 4.0 7.0 7.0 10.0 9.0 8.0 10.0 13.0 10.0 6.5 11.0 13.0 13.0 14.0 13.0 12.5 12.0 9.0 8.5 7.0 8.5 10.0 8.0 4.0 3.0 10.0 13.0 13.0 13.0 12.0 11.0 11.0 11.0 14.5 14.0 14.0 13.5 10.0 9.5 10.0 12.5 10.0 9.0 9.0 4.0 3.0 6.0 5.0 7.0 6.0 5.0 8.5 10.5 11.1 11.0 10.0 11.2 8.0 2.5 5.0 13.2 14.0; Proc print data=li; run;
例2 国航客票数(Airline)数据
data seriesg; input x @@; xlog=log(x); date=intnx('month','31dec1948'd,_n_); format date monyy.; cards;
112 118 132 129 121 135 148 148 136 119 104 118 115 126 141 126 126 149 170 170 158 133 114 140 145 150 178 163 172 178 199 199 184 162 146 166 171 180 193 181 183 218 230 242 209 191 172 194 196 196 236 235 229 243 264 272 237 211 180 201 204 188 235 227 234 264 302 233 259 229 203 229 242 233 267 269 270 316 364 347 312 274 237 278 284 277 317 313 318 374 413 405 355 306 271 306 315 301 356 348 356 422 465 467 404 347 305 336 340 318 362 348 363 435 491 505 404 359 310 337 360 342 406 396 420 472 548 559 463 407 362 405 417 391 419 461 472 535 622 606 508 461 390 432 ; Proc print data= seriesg; run;
白噪声检验——卡方检验
• H0 :直到某一给定时间间隔的样本自相关系数没 有显著不为零的.(Xt为白噪声,独立的随机扰动) • 如果对所有时间间隔,该零假设成立,则没有需要 建模的信息,也不需要建立ARIMA模型. • 被检查的时间间隔个数依赖于=选项 • 对前N-2个自相关系数的检验P值。 P<=0.005 拒绝 H0 (拒绝为白噪声,P=0时, Xt高度自相关) P<=0.005 接受 H0 (即对所有时间间隔,自相关 系数为零,说明没有建模信息,不必要做下去了)
SAS软件简介
SAS系统 是由美国SAS软件研究所开发的用于 决策支持的大型集成信息系统,是数 据处理和统计领域的国际标准软件之 一,广泛应用于金融、医药卫生、生 产、运输、通讯、政府、教育和科研 等领域。
应用SAS软件建立时间序列模型
• 准备工作:建立一个时间序列数据集 SAS语句: Data 数据集名; Input 序号(year or month)变量名 @@; Cards;/(输入数据,按input格式逐个输入数 据,以分号结束); Proc print data=数据集名;/输出数据表 Run;
如果序列的样本自相关系数在q步后截尾,则是MA 序列,如果偏相关系数在p步后截尾,则是AR序列。如 果都不截尾,只是按负指数衰减或以阻尼正弦波形式趋 于零(即是拖尾的),则应判断为ARMA序列,但是不 能确定阶次。
若序列的样本自相关和偏相关系数都不截尾,而且 至少有一个不是拖尾,即下降趋势很慢,不能被负指数 函数所控制,或是不具有下降的趋势而是周期变化,那 么我们便认为序列具有增长趋势或季节性变化,是非平 稳序列。可应用提取趋势性和季节性的方法,对数据进 行处理,就是主要通过差分等变换将非平稳序列变成一 个平稳序列。
ESTIMATE的输出
• 参数估计表:
– 估计方法:METHOD=选择不同的估计方法(条件最 小二乘法估计,极大似然估计,条件、无条件估计, 线性或非线性估计) 参数估计值(提供:估计值,标准差,t比值) t比值:关于参数估计值的显著性检验(近似值)。 当观测序列的长度很短,并且被估计参数的个数相 对于序列昌都很长时,t统计量的近似效果很差。 均值项MU 常数项:Constant Estimate 模型的常数项可以表 示为均值项MU和自回归参数的函数。
SAS的建模步骤
• SAS建模根据Box―Jenkins建模方法, 主要包括三个阶段: 模型识别阶段(包括模型定阶) 模型参数估计阶段(包括模型检验) 模型的预测阶段
第一阶段: 模型的识别
• 平稳性模型识别 首先判定时间序列数据是否为平稳随机数 据, (一)通过时间序列数据趋势图判别。
Sas语句: symbol1 i=join v=star; proc gplot data=seriesg; plot x*date=1/haxis='1jan49'd to '1jan61'd by year; run;
X M n ( n 2)
2 M
rk
2
R 1
(n k )
rk
t 1 n t 1
nk
t
t
tR
Байду номын сангаас
2
每个卡方值对于指定 的所有时间间隔进行计 算,并不独立于前面的 卡方值。若滞后m 期的 卡方统计量所对应的值 均小于临界值,即 p值 均小于置信水平, 则残 差卡方检验未通过.
(二)通过自相关函数和偏自相关函数的截 尾性识别模型
“IDENTIFY”语句 通过SAS软件,运行程序如下: proc arima data=数据集 identify var=变量名 nlag=时间间隔个数 run; 计算出自相关系数ACF, 逆自相关系数 SIACF, 偏自相关系数PACF和互相关系数。 根据样本自相关系数ACF和偏相关系数 PACF的形态来识别模型类别。
例2 国航客票数(Airline)数据 proc arima data=seriesg; identify var=xlog(1,12) nlag=15; run; 差分不仅影响用于IDENTIFY语句输出的 序列,而且应用于任何随后的ESTIMATE和 FORECAST语句。ESTIMATE语句对差分序 列拟模型,FORECAST语句预测差分并自动 把差分加起来以取消有IDENTIFY语句指定的 差分操作。
非平稳序列的平稳化
若序列是非平稳的,下面是通过差分变换变成一个平稳 序列。 SAS的程序为一阶差分 变量名(1) identify var=变量(1) nlog=N ; run; 若一阶差分是平稳的,对差分序列建模,观测ACF、 PACF的变化趋势,初步给出的阶数。因为输入数据是序 列的有限样本,所以由输入序列计算出样本自相关系数是 逼近产生序列的理论自相关系数。这意味着样本自相关系 数不能够恰好等于任何模型的理论自相关系数,并且可能 会具有一种或多种不同的模型的理论自相关系数相似的类 型。若一阶差分序列仍不平稳,重复以上过程,(二阶差 分,三阶差分等等)直到差分序列平稳。
第二阶段:估计和诊断检验阶段
• 时间序列Wt由IDENTIFY语句识别并且由 ESTIMATE语句处理, 即在完成可能的模型 识别后,开始估计和诊断检查阶段.
估计模型AR(P) estimate p=?; (根据偏相关系数的截尾点) run; ESTIMATE语句的功能是用模型拟合数据,并打印 出参数估计值和诊断统计量,指出模型对数据的 拟合优度。