使用SAS系统对时间序列ARMA模型进行模型识别,阶数判定、参数估计和预测 |
您所在的位置:网站首页 › arima模型是什么专业 › 使用SAS系统对时间序列ARMA模型进行模型识别,阶数判定、参数估计和预测 |
一、首先对时间序列建立数据集pp,并绘制时序图 data pp; input a@@; time=_n_; cards; 0.31 -0.45 0.32 1.20 0.17 0.45 2.15 4.41 3.58 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.12 -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 -1.24 -3.46 -3.97 -4.60 -3.09 -2.19 -1.21 0.78 0.88 1.07 1.44 1.50 0.29 -0.36 -0.97 -0.30 -0.28 0.70 0.91 1.95 1.77 1.81 0.56 -0.11 0.10 -0.56 -1.34 -2.47 0.04 -0.69 -1.96 0.04 1.49 0.25 0.39 1.03 -0.39 -0.16 2.07 1.35 1.46 1.50 0.92 -0.08 -0.66 -0.21 -0.71 -0.51 0.15 ; proc gplot data=pp; plot a*time=1; symbol1 c=red i=join v=star; run; 运行结果如下: 从时序图可以看到,时间序列为平稳序列 二、对时间序列数据进行统计分析,并进行平稳性检验结果,在这里用到了identify语句。 proc arima data=pp; identify var=a nlag=8 stationrity=(adf); run; 运行结果如下: 从白噪声自相关的检验结果看,时间序列a为非白噪声序列;ADF检验结果来看,该时间序列为平稳时间序列。程序的运行结果输出了时序图、自相关图、偏自相关图和逆自相关图。对时间序列的ARMA模型的定阶起来初步判别作用。 三、ARMA模型的阶数的识别 proc arima data=pp; identify var=a nlag=8 stationrity=(adf) minic p=(0:5) q=(0:5); run; minic p=(0:5) q=(0:5)语句输出了,自相关阶数0-5,移动平价阶数0-5时间序列的Minimum Information Criterion,对模型的阶数起到了判别作用,但该判别的阶数的起到了参考作用,但该阶数并不是一定最优的。 程序输出了模型阶数的识别判别结果: 最小表值: BIC(0,4) = -0.34263在本例中按照模型的运行结果,使用MA(4)进行参数估计和预测。 四、模型参数的估计,默认使用条件最小二乘法进行参数估计 estimate q=4; run; 运行结果如下: 从程序运行结果可以看到,常数的系数不显著,P值为0.7391,不能拒绝原假设。 所以本来中舍去常数项再一次进行模型参数估计。 使用如下命令: estimate q=4 noint; run; 模型运行结果为: 从运行结果可以看到,各系数显著拒绝原假设。并且程序运行输出了模型拟合结果的统计量 AIC,SBC等,用于识别模型拟合的优劣。 五、残差的各项检验 从残差的自相关性检查中,残差为白噪声序列。 程序运行输出了残差的自相关图和正态性的检验结果: 残差的各种相关图显示,残差的自相关系数和偏自相关系数各阶相关系数都在2倍的标准差范围内,说明时间序列的相关信息提取较好,残差中相关性不显著。 六、时间序列的ARMA的预测 forecast lead=5 id=time out=results; run; 使用如上命令,时间序列的预测结果输出如下: 七、根据时间序列数据集自行绘制数据序列的拟合和预测图 proc gplot data=results; plot a*time=1 forecast*time=2 l95*time=3 u95*time=3/overlay; symbol1 c=black i=none v=star; symbol2 c=red i=join v=none; symbol3 c=green i=join v=none line=25; run; 运行如下: 八、总结 通过如上运用SAS系统进行如上系列操作可以非常方便的进行时间序列的模型识别,阶数判定,参数估计和预测,并进行下一步的研究。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |