ARIMA预测原理以及SAS实现代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
█ARIMA定义
ARIMA的完整写法为ARIMA(p,d,q)
►其中p为自回归系数,代表数据呈现周期性波动
►d为差分次数,代表数据差分几次才能达到平稳序列
►q为移动平均阶数,代表数据为平稳序列,可以用移动平均来处理。
█平稳性检测方法
•►方法一:时序图
序列始终在一个常数值附近随机波动,且波动范围有界,且没有明显的趋势性或周期性,所以可认为是平稳序列。下图明显不是一个平稳序列
proc gplot data=gdp;
plot gdp*year=1 ;
symbol c=red i=join v=star;
run;
•►方法二:自相关图
自相关系数会很快衰减向0,所以可认为是平稳序列。
proc arima data= gdp;
identify var=gdp stationarity =(adf=3) nlag=12;
run;
•►ADF单位根检验(精确判断)
三个检验中只要有一个Pr =(adf=3) 起作用 proc arima data= gdp; identify var=gdp stationarity =(adf=3) nlag=12; run; █白噪声检验 Pr>卡方<0.05即可认定为通过白噪声检验。 proc arima data= gdp; identify var=gdp stationarity =(adf=3) nlag=12; run; █非平稳序列转换为平稳序列 方法一:将数据取对数。 方法二:对数据取差分dif函数 data gdp_log; set gdp; loggdp=log(gdp); cfloggdp=dif(loggdp); run; /**对数数据散点图**/ proc gplot; plot loggdp*year=1 ; symbol c=black i=join v=star; run; /* 一阶差分对数数据散点图*/ proc gplot; plot cfloggdp*year=1; symbol c=green v=dot i=join; run; 从上图中可以看出,一阶差分后序列已经变成平稳的了,因此,数列需要做一阶差分█转换完毕后再验证 下面代码中的(1)就代表1阶差分,adf=3则代表平稳性检验0-3, /* 一阶差分对数数据的自相关图、偏自相关图、纯随机性检验、单位根检验 */ proc arima data=gdp_log; identify var=loggdp(1) stationarity =(adf=3) nlag=12; run; 用Q LB统计量作的 2检验结果表明:对数差分后的GDP序列的Q LB统计量的P值为0.0045(<0.05),故序列为非白噪声序列。 单位根检验结果表明:对数差分后的GDP序列有常数均值、无趋势的二阶自回归模型的Tau统计量的P值小于0.0573,故序列基本可以确定为平稳序列,并可初步考虑用ARMA (2,q)模型对它们进行拟合。 █模型定阶 /** 定阶 **/ proc arima data=gdp_log; identify var=loggdp(1) nlag=6minic p=(0:2) q=(0:4); run; /* minic为一定范围模型定阶——相对最优模型识别 */ 采用相对最优模型识别,根据上述分析及序列的自相关和偏自相关图,适当选择m = 4,n = 2,使用indentify命令中的minic p = (0: n) q = (0: m)短语进行相对最优模型定阶。 结果显示(图6.10),在p = 1,q = 4时,BIC函数值最小。执行ARIMA过程的Estimate p = 1 q = 4命令做参数检验,结果未能通过参数检验。让q在0~3之间取值,通过反复测试,只有ARMA(1, 3)模型与ARMA(1, 0)模型通过参数检验及模型检验,其检验结果及参数估计如图6.11所示。 █参数估计 /** 参数估计 **/ proc arima data=gdp_log; identify var=loggdp(1); estimate p=1q=4; run; /* SAS支持三种估计,默认为条件最小二乘估计,要制定可增加选项: METHOD=ML 极大似然估计 METHOD=ULS 最小二乘估计 METHOD=CLS 条件最小二乘估计 输出项的含义见王燕 P104*/; 从上面可以看出,在p=1q=4时,通不过检验。 p =1 q =3 和 p=1 q=0时能通过检验 从上面2个模型的检验结果可以看到,它们均为有效模型,但ARMA(1, 0)模型的AIC 为-67,SBC 为-65均比ARMA(1, 3)的AIC 与SBC 小,根据AIC 准则和SBC 准则,ARMA(1, 0)应该更有效,所以应选择前者作为预测模型。 GDP 对数序列模型的口径为: B x t t 49853.01155955.0log -+ =∇ε 其中,x t 表示GDP 序列,模型可写为: t t t t x x x ε++-=--078207.0log 49853.0log 49853.1log 21