当前位置:   article > 正文

[Python][pmdarima] 季节性ARIMA模型学习

季节性arima

背景

前段时间参与了一个快消行业需求预测的项目。其中,用到了移动平均法、ARIMA、Xgboost等方法进行预测,现在打算总结一下ARIMA。
因为项目的销售数据属于私密数据,这里用网上找的一份案例数据用于展示。
构建ARIMA模型可以用到statsmodels库和pmdarima库。我这里用的是pmdarima库,这个库有一个优点是能够自动地对ARIMA模型的参数进行自动确定。

1、建模步骤

在这里插入图片描述

2、ARIMA模型

  • 首先, A R M A ( p , q ) \color{red}ARMA (p,q) ARMA(p,q)称为自回归移动平均模型,由 A R ( p ) AR(p) AR(p) M A ( q ) MA(q) MA(q)模型结合而成,公式为: y t = μ + ∑ i = 1 p γ i y t − i + ϵ t + ∑ i = 1 q θ i ϵ t − i y_t=μ+\sum_{i=1}^p \gamma_i y_{t-i} +\epsilon_t + \sum_{i=1}^q \theta_i \epsilon_{t-i} yt=μ+i=1pγiyti+ϵt+i=1qθiϵti 其中, μ μ μ为常数项; p p p为自回归阶数; γ i \gamma_i γi θ i \theta_i θi为待定系数; ϵ t \epsilon_t ϵt为误差。
    A R ( p ) AR(p) AR(p)描述当前值 y t y_t yt与历史值之间的关系。
    M A ( q ) MA(q) MA(q)关注的是自回归模型的误差项的累加,有效地消除预测中的随机波动。

      有些时间序列可能呈现出季节性、周期性波动。这样的时间序列肯定产生于非平稳的随机过程,从而不可以直接套用 A R ( p ) AR(p) AR(p) M A ( q ) MA(q) MA(q) A R M A ( p , q ) ARMA(p,q) ARMA(p,q)之类的平稳随机过程来模拟。
      对于非平稳的时间序列,应该将其平稳化。其中,差分化是最常用的平稳化方法。然后,再使用 A R ( p ) AR(p) AR(p) M A ( q ) MA(q) MA(q) A R M A ( p , q ) ARMA(p,q) ARMA(p,q)来模拟已经平稳化的时间序列。这就是所谓的差分自回归移动平均模型 A R I M A ( p , d , q ) \color{red}ARIMA(p,d,q) ARIMA(p,d,q),的 d d d是差分化的次数。

  • 优缺点
    优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。
    缺点:(1)要求时序数据是平稳的,或者是通过差分化后是平稳的;(2)本质上只能捕捉线性关系,而不能捕捉非线性关系。

3、季节性ARIMA模型

A R I M A ( p , d , q ) ( P , D , Q ) m \color{red}ARIMA (p,d,q) (P,D,Q)_m ARIM

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/579739
推荐阅读
相关标签
  

闽ICP备14008679号