参考博客
1、python中利用ARIMA模型对时间序列问题进行预测(以洗发水销售预测为例)
2、机器学习(五)——时间序列ARIMA模型
3、时间序列分析-ARIMA模型(python)
笔记
详情参考三篇博文。
1、ARIMA模型,全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model),是AR模型、差分运算、MA模型的结合。ARIMA模型是在将非平稳时间序列转化为平稳时间序列过程中,将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型,具体而言:
- AR:自回归。一种模型,它使用观察与一些滞后观察之间的依赖关系。
- I:差分运算。使用原始观察的差分(例如,从前一时间步骤的观察中减去观察值)以使时间序列静止。
- MA:移动平均线。使用应用于滞后观察的移动平均模型中的观察和残差之间的依赖关系的模型
2、模型适用于平稳时间序列。对于比如自相关系数长期大于0,序列具有很强的长期相关性的非平稳序列,需要先进行差分操作,化为平稳时间序列。
3、statsmodels模块中有该模型的具体实现,调用方式如下:
from statsmodels.tsa.arima_model import ARIMA
model = ARIMA(dataSet, order=(1,1,0)) # 建立ARIMA(1,1,0)模型
model_fit = model.fit() # 拟合
model.forecast(5) # 预测
print(model_fit.summary()) # 输出模型信息
4、ARIMA(p, d, q)中各参数的含义如下:
- p:模型中包含的滞后观察数,也称为滞后顺序。
- d:原始观测值的差异次数,也称为差分程度。
- q:移动平均窗口的大小,也称为移动平均值的顺序。