使用SAS系统对时间序列ARMA模型进行模型识别,阶数判定、参数估计和预测

您所在的位置:网站首页 arima模型是什么专业 使用SAS系统对时间序列ARMA模型进行模型识别,阶数判定、参数估计和预测

使用SAS系统对时间序列ARMA模型进行模型识别,阶数判定、参数估计和预测

2024-06-12 02:15| 来源: 网络整理| 查看: 265

一、首先对时间序列建立数据集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