ARIMA时间序列模型-操作篇

Posted 统计联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARIMA时间序列模型-操作篇相关的知识,希望对你有一定的参考价值。

ARIMA时间序列模型-操作篇


上期我们介绍了ARIMA模型的理论,在理论的基础上,本期将结合实例进行软件操作,本期介绍ARIMA模型的SPSS操作,以方便大家对照用自己的数据:



1缺失值填补

如果数据有缺失,是无法做ARIMA的模型预测的,所以第一步是缺失值的填补。


ARIMA时间序列模型-操作篇


2定义时间变量

点击数据-定义日期,选择对于的格式。


ARIMA时间序列模型-操作篇


如果提供的格式没有我们想要的,可以用语法自定义。如果我们定义年、周这样数据,操作如下:文件-新建-语法。语法中CYCLE代表日期循环的起始,默认间隔为1,WEEK代表周次,52代表52周为一个周期。     


ARIMA时间序列模型-操作篇


3时间序列平稳话与季节性模型识别

ARIMA序列分析的前提要求时间序列为零均值的平稳随机序列。为此我们首先要做时间序列图对原始的数据进行观察。


ARIMA时间序列模型-操作篇


我们得到的序列图如下,观察图形可知时间序列具有明显的上升性和季节性,对数据进行一次差分与季节性差分转换,重新获得新的时间序列图。再次观察可知转换后的时间序列图基本是一个白噪声序列。


ARIMA时间序列模型-操作篇

数据转换:

ARIMA时间序列模型-操作篇

数据转化后时间序列图:

ARIMA时间序列模型-操作篇

4ACF图与PACF图               

对未转换的数据做ACF与PACF图。

ARIMA时间序列模型-操作篇


当时间序列较长时可以增大延迟数便于观察。


ARIMA时间序列模型-操作篇

得到的ACF图显示在特定的节点均出现局部极大值,结合时间序列图可初步判断时间序列具有季节性,因此建立的模型应为混合模型(季节+非季节)。



5季节模型参数的确定

对数据做一次季节性差分观察得到的ACF与PACF图。观察可知ACF图是拖尾的,而PACF图是骤减的,初步确定季节性部分可能为AR模型p=1,参数为ARIMA(1,1,0)。


ACF图:

ARIMA时间序列模型-操作篇


PACF图:

ARIMA时间序列模型-操作篇


6建立季节性模型部分

以ARIMA(1,1,0)进行建模,步骤如下:

step1:

ARIMA时间序列模型-操作篇

step2:

ARIMA时间序列模型-操作篇


切换到“统计量”,选择需要保存的统计量,将“参数估计”与“显示预测值”勾选。



step3:

ARIMA时间序列模型-操作篇

切换到图表,选择图形的选项。

step4:

ARIMA时间序列模型-操作篇


点击确定之后输出结果如下图:

结果1:参数汇报

ARIMA时间序列模型-操作篇


结果2:参数检验

ARIMA时间序列模型-操作篇


结果3:残差ACF与PACF图

ARIMA时间序列模型-操作篇



模拟拟合的判断:

(1)R方:

决定系数,即现有模型可以解释原变量的多少变异。对于有趋势有周期波动的序列而言,R方往往有点过于乐观,因为只要把相应的趋势解释掉,可能就占了相当大的变异解释,比较客观的平稳的R方,指的是平稳后的序列,我们的建模可以解释多少信息。


(2) RMSE:

相当于回归里的残差剩余的离散程度,残差的均方


(3)MAPE,MaxAPE:

相当于相对误差和绝对误差,相对于原始数据,我们的误差有百分之多少,2.07%


(4)MAE,MaxAE:

平均的实测误差,最大的绝对误差


(5)正态化的BIC:

基于均分误差的分数,可用于比较相同序列的不同模型的统计量。 


(6)模型统计量:

Ljung-Box的sig(P值)告诉我们这个序列是不是白噪声,该例子中p值<0.05,h0为扣除模型后的残差是白噪声,拒绝H0,说明残差还不是白噪声,需要加入非季节的模型。


(7)ARIMA模型参数:

t检验的p值均小于0.05,说明我们构建的模型参数是有统计学意义的。


(8)残差的ACF与PACF图:

ACF图与PACF图均为仍不是白噪声序列,其中ACF图与PACF图为拖尾,可初步判定非季节性部分为ARIMA(1,1,1)。


综上所述,我们的季节模型经过尝试构建,仍然有不足,仍含有非季节性部分,需要继续添加非季节性部分。


7加入非季节性部分

重复(6)中的步骤,设置模型为ARIMA(1,1,1)(1,1,0)

ARIMA时间序列模型-操作篇


得到结果如下:

结果1:参数汇报

ARIMA时间序列模型-操作篇


结果2:参数检验

ARIMA时间序列模型-操作篇


结果3:残差ACF与PACF图

ARIMA时间序列模型-操作篇


结果4:模型拟合效果

ARIMA时间序列模型-操作篇


结论:输出的结果显示Q统计量的p值>0.05,模型的参数均有意义,残差图与趋于白噪声,模型的拟合效果较好,可认为我们创建的模型效果较好。


8模型间比较

由观察得到的模型不一定是最优模型,可能由于观察的不确定性,有时候不能确定模型到底是拖尾的还是骤减的,可以假设多个可能的模型,然后去比较得到的结果。


例如我们在该例子中季节性部分可能是ARIMA(0,1,1),混合后的模型为ARIMA(1,1,1)(0,1,1),因此我们需要去比较两个模型的哪个个好。可以选择正态化的BIC较小的那个。


ARIMA(1,1,1)(0,1,1)得到的结果如下图。在参数均有意义的前提下比较正态化的BIC,ARIMA(1,1,1)(1,1,0)为7.755,ARIMA(1,1,1)(0,1,1)为7.675,且平稳R方后者稍微高点,因此ARIMA(1,1,1)(0,1,1)较优。

ARIMA时间序列模型-操作篇

我们可以去把所有可能的结果列出来,然后比较后选择最优的模型。所以做ARIMA预测的过程是一个探索比较的过程,模型也没有绝对的好坏。


9预测未来数据


想要预测未来的数据,在创建模型的时候需要在“保存”与“选项”界面做如下配置,之后在数据视图界面就能看到结果。


参数配置:

ARIMA时间序列模型-操作篇


指定预测时间:

ARIMA时间序列模型-操作篇


10验证数据集

一般我们可以将已有的数据集分为分析集与验证集,分析集用于建模,验证集用于验证。对于spss将验证集与预测值同时选入序列图后作图比较二者的拟合程度,或者计算RMSE。可以手动计算RMSE,将验证集与预测的数据集做差得到的残差算RMSE。可新建语法输入”FIT VARIABLES=残差变量.”得到RMSE结果,比较不同模型的RMSE可知道哪个模型的预测效果更好。


语法输入:

ARIMA时间序列模型-操作篇


结果输出:

ARIMA时间序列模型-操作篇


参考文献:
ARIMA时间序列模型-操作篇

1.张文彤.SPSS统计分析高级教程(第二版)

2.孙振球.医学统计学(第四版)

https://blog.csdn.net/u010159842/article/details/53067828




小编寄语


ARIMA模型需要用户根据自身数据不断判断和调整,是个不断修正的过程,相对其它模型往往比较复杂和主观,如果你暂时不能掌握也没关系,欢迎您随时与我们交流!


ARIMA时间序列模型-操作篇

为方便联盟内部成员交流,特建立微信交流群,由高校、科研院所、临床医生构成,由于群人数超过100,需要由工作人员拉你才能入群,工作人员二维码如下,添加时请备注“申请入群”;此外现转发我们指定的推文就可送SPSS、SAS、R软件视频教程一套,详情请点击下方阅读全文。

ARIMA时间序列模型-操作篇

科研统计交流群工作人员二维码


ARIMA时间序列模型-操作篇


更多精彩推荐,请关注统计联盟
把时间交给联盟








以上是关于ARIMA时间序列模型-操作篇的主要内容,如果未能解决你的问题,请参考以下文章

R语言实战应用精讲50篇(二十)-R语言时间序列预测模型:ARIMA vs KNN

R语言实战应用精讲50篇(二十)-R语言时间序列预测模型:ARIMA vs KNN

R语言时间序列分析-根据aic值选择arima模型

时间序列预测模型ARIMA浅析

时间序列模式——ARIMA模型

时间序列模型分析——ARIMA 模型和SARMIA模型