4.3 差分整合移动平均自回归模型(Autoregressive Integrated Moving Average)

在了解了AR和MA模型后,我们将进一步学习结合了这两者的ARIMA模型,ARIMA在时间序列数据分析中有着非常重要的地位。但在这之前,让我们先来看ARIMA的简化版ARMA模型(Autoregressive moving average model),ARMA同样是结合了AR和MA模型,公式如下:

yt=c+ϕ1yt1+ϕ2yt2+...+ϕpytp+et+θ1et1+θ2et2+...+θqytqy_t = c + \phi_1 * y_{t -1} + \phi_2 * y_{t -2} + ... + \phi_p * y_{t - p} + e_t + \theta_1 * e_{t -1} + \theta_2 * e_{t -2} + ... + \theta_q * y_{t - q}

可以看出,ARMA模型就是AR和MA的简单结合,同时包含了历史数值项和错误项。由于AR模型对时间序列有平稳性要求,ARMA模型也存在这个限制,因此我们将其拓展到ARIMA模型,引入的差分概念是一种获得时间序列的方法。最常使用的一种差分方法是计算当前项和前项的差值,获得一组新的时间序列。由于ARIMA强大的功能,这使得在统计领域有着非常广泛的应用,尤其适用于机器学习和深度学习难以应用的小样本数据集上,同时也应当警惕过拟合的情况发生。

当我们拿到一个陌生的数据集时,可能会思考应当使用AR,MA,还是结合AR和MA的模型,一个简单的准则是画出ACF和PACF曲线,根据其特征来判断。

函数

AR(p)

MA(q)

ARMA or ARIMA

ACF曲线

缓缓下降

在间隔=q后突然下降

没有明显截止点

PACF曲线

在间隔=p后突然下降

缓缓下降

没有明显截止点

在实际分析过程中,我们也可以一律使用ARIMA模型,因为AR,MA,ARMA都是它的一种特殊情况。

ARIMA有三个参数p、d、q,写作ARIMA(p,d,q),其中p代表AR(p),自回归阶数,d代表Integrated (d),差分阶数,q代表MA(q),移动平均阶数。我们应当确保这三个参数尽可能的小避免过拟合,一个可供参数的准则是,不要让d超过2,p和q超过5,并且p和q尽量保证一个是模型主导项,另一个相对较小。

ARIMA有一些经典的特殊例子:

  • ARIMA(0, 0, 0) 是白噪声模型

  • ARIMA(0, 1, 0)是随机行走模型

  • ARIMA(0, 1, 1) 是指数平滑模型,而ARIMA(0, 2, 2) 是Holt线性趋势模型

python代码实战

如何确定ARIMA模型的参数通常有两种方法,手动拟合法和自动拟合法。

手动拟合法是一种经验方法,最著名的方法被称为Box-Jenkins method,这是一个多步迭代过程,分为以下几个步骤,

  1. 结合对数据集的可视化和领域知识选择一组合适的模型

  2. 拟合模型

  3. 根据模型表现微调参数,以解决模型表现不佳的地方

通过一个简单的例子来学习手动box-jenkins方法的使用过程。

可以看到ARIMA(2,0,1)的效果有了明显提升,而当再增加模型复杂度时,效果没有明显提升。当然这只是一个极为粗略的手动拟合的例子,真实场景则需要更为精细的优化。

从上面的例子中可以看出手动拟合法较为复杂,对经验要求很高,一些统计学家也长期致力于这类方法的优化思路。但同时也受到了一些人的批评,认为这种纯手工的方法效率太低,而且很依赖经验,不是最优的方法。

下面就来学习如何进行自动拟合。

自动拟合法

Last updated

Was this helpful?