ARIMA介绍
ARIMA是一种非常流行的时间序列预测统计方法。ARIMA全称是自回归积分滑动平均模型。ARIMA模型基于以下假设:
1、数据序列是平稳的,这意味着均值和方差不应该随时间变化。利用对数变换或对级数求导,可以使级数保持平稳。
2、作为输入提供的数据必须是单变量序列,因为ARIMA使用过去的值来预测未来的值。
ARIMA有三个组成部分——AR(自回归项)、I(差分项)和MA(移动平均项)。其中:
AR项:用来预测下一个值的过去值。AR项由arima中的参数“p”定义。p的值是通过PACF图确定的。
MA项:用于预测未来值的过去预测错误的数量。arima中的参数q表示MA项。ACF图用于识别正确的“q”值。
差分次数:对级数执行差分运算使其平稳的次数。ADF和KPSS等测试可以用来确定序列是否平稳,有助于识别d值。
Auto ARIMA介绍
虽然ARIMA是预测时间序列数据的一个非常强大的模型,但是数据准备和参数调整过程最终非常耗时。在实现ARIMA之前,您需要使级数保持平稳,并使用上面讨论的ACF和PACF图确定p和q的值。Auto ARIMA则对我们来说非常简单,因为它可以帮我们自动调参获得较好模型性能。以下是实现auto ARIMA的步骤:
加载数据:这一步是相同的。把数据载入你的机器
预处理数据:输入应该是单变量的,因此删除其他列
创建Auto ARIMA:适合单变量系列的ARIMA模型
预测:对验证集进行预测
计算RMSE:用预测值与实际值对比检验模型的性能
如您所见,我们完全绕过了传统ARIMA算法的p和q特性的选择。我松了一口气!下面我们将使用toy数据集实现Auto ARIMA。
Auto ARIMA模型实战(python)
我们将使用国际航空旅客数据集。该数据集包含每月乘客总数(以千计)。它有两栏数据—月和旅客人数。在进行操作前,你需要安装pyramid.arima库。
1、下载数据并预处理
2、创建模型并训练
3、模型评价
到此,我们在国际航空旅客数据集上简单实现了Auto ARIMA模型,在上面的代码中,我们简单地使用.fit()命令来拟合模型,而不需要选择p、q、d的组合。但是模型是如何计算出这些参数的最佳组合的呢?Auto ARIMA会考虑生成的AIC和BIC值(正如您在代码中看到的那样),以确定参数的最佳组合。AIC和BIC值是比较模型的估计量。这些值越低,模型越好。总的来说,Auto ARIMA比较简单,对于初学时间序列建模的同学来说比较容易入手。
结语:
领取专属 10元无门槛券
私享最新 技术干货