4.3 差分整合移动平均自回归模型(Autoregressive Integrated Moving Average)
在了解了AR和MA模型后,我们将进一步学习结合了这两者的ARIMA模型,ARIMA在时间序列数据分析中有着非常重要的地位。但在这之前,让我们先来看ARIMA的简化版ARMA模型(Autoregressive moving average model),ARMA同样是结合了AR和MA模型,公式如下:
可以看出,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,这是一个多步迭代过程,分为以下几个步骤,
结合对数据集的可视化和领域知识选择一组合适的模型
拟合模型
根据模型表现微调参数,以解决模型表现不佳的地方
通过一个简单的例子来学习手动box-jenkins方法的使用过程。







可以看到ARIMA(2,0,1)的效果有了明显提升,而当再增加模型复杂度时,效果没有明显提升。当然这只是一个极为粗略的手动拟合的例子,真实场景则需要更为精细的优化。
从上面的例子中可以看出手动拟合法较为复杂,对经验要求很高,一些统计学家也长期致力于这类方法的优化思路。但同时也受到了一些人的批评,认为这种纯手工的方法效率太低,而且很依赖经验,不是最优的方法。
下面就来学习如何进行自动拟合。
自动拟合法


Last updated
Was this helpful?