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

本文介绍了在快消行业需求预测项目中使用ARIMA模型的过程。通过pmdarima库,作者详细阐述了季节性ARIMA模型的建模步骤,包括平稳性检验、序列平稳化、白噪声检验和时间序列定阶。最终,通过构建模型并进行预测,得出预测结果,并对其进行了评价。
摘要由CSDN通过智能技术生成

背景

前段时间参与了一个快消行业需求预测的项目。其中,用到了移动平均法、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 ARIMA(p,d,q)(P,D,Q)

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值