Date: 2019-07-07

 

 

最近在使用ARIMA模型进行时间序列上的预测算法的构建,其理论参考如下博客:
时间序列预测模型-ARIMA模型

什么是 ARIMA模型

ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行时间序列 预测的模型。

1. ARIMA的优缺点

优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。

缺点:
1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
2.本质上只能捕捉线性关系,而不能捕捉非线性关系。
注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。

2. 判断是时序数据是稳定的方法。

严谨的定义: 一个时间序列的随机变量是稳定的,当且仅当它的所有统计特征都是独立于时间的(是关于时间的常量)。
判断的方法:

  1. 稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。
  2. 可以使用Dickey-Fuller Test进行假设检验。(另起文章介绍)

3. ARIMA的参数与数学形式

ARIMA模型有三个参数:p,d,q。

  • p--代表预测模型中采用的时序数据本身的滞后数(lags) ,也叫做AR/Auto-Regressive项
  • d--代表时序数据需要进行几阶差分化,才是稳定的,也叫Integrated项。
  • q--代表预测模型中采用的预测误差的滞后数(lags),也叫做MA/Moving Average项

ARIMA建模基本步骤

  1. 获取被观测系统时间序列数据;
  2. 对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列;
  3. 经过第二步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数ACF 和偏自相关系数PACF,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q
  4. 由以上得到的d、q、p,得到ARIMA模型。然后开始对得到的模型进行模型检验。

总结d、p、q这三者的选择,一般而言就算不是非平稳的时间序列数据,经过一阶差分或者二阶差分就可以转换为弱平稳甚至是平稳的时间序列数据;对于p和q的选择一般需要根据ACF和PACF图进行判断,下面举例说明如何根据原始数据得到的ACF和PACF图得到相应的pq值,其分别表示的是,ACF:自相关图和PACF:偏相关图。

                                                                                   图1

                                                                   图2 

直接看图,是拖尾还是截尾。

第一个图,偏自相关和自相关都是2阶截尾,所以PQ都是2,就是ARMA(2,2)。

第二个图, 偏自相关1阶截尾,自相关拖尾,就是ARMA(1,0)。

总结:对时间序列预测问题使用ARIMA虽然是一个不错的算法(任何算法都有任务的适定性:同样的算法在某些任务上效果不错,但在另外某些问题上 的效果不是非常适用。),但其需要训练者去选择不同的pdd值进行最终的预测,不同的参数的选择将会得到不同的预测结果,这在一定程度上对不是很熟悉该算法背景知识的人不够友好。所以可以选择Auto_ARIMA模型自适应训练。

所以尝试利用ARIMA模型进行时间序列预测的任务,可以进一步考虑Auto-ARIMA算法,更为友好。

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐