时序分析 32 - 时序预测 从ARIMA到SARIMAX (一)理论回顾

本文回顾时序预测模型,从ARIMA到SARIMAX,探讨加性模型和乘性模型的区别,并通过沃尔玛销售数据实例解释SARIMAX如何考虑外部变量。同时,介绍了ARIMAX和SARIMAX的模型结构及其在实际应用中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时序分析 32

时序预测 从ARIMA到SARIMAX

    上一篇文章中我们介绍了SARIMA模型,相比于ARIMA模型,SARIMA考虑了季节性因素。读过上篇文章的细心读者会发现,python的statsmodels对sarima的支持对象名为SARIMAX。事实上,确实存在一个时序分析模型称为SARIMAX(Seasonal Auto-Regressive Integrated Moving Average with eXogenous factors),对比于SARIMA,所多的这个’X’代表exogenous,也就是说SARIMAX可考虑其他外部变量来协助对该时序数据进行建模。这种情况也是经常会出现的。

    本篇博文会结合一个例子来重新梳理一下时序分析预测中,从ARIMA -> SARIMA -> SARIMAX的整个过程。顺便说一下,另外一个时序模型名为ARIMAX;不言而喻,该模型就是在ARIMA模型的基础上增加了可考虑外部变量。

    本篇博文中所采用的数据是沃尔玛的销售数据集,可以从kaggle(https://www.kaggle.com/competitions/demand-forecasting-kernels-only)上获得。 此数据集中有5年的销售数据,分位train.csv和test.csv。本节我们的任务就是对此数据集进行时序建模并预测。

理论回顾

    上篇关于SARIMA的文章中,笔者并没有详细介绍SARIMA背后的数学模型。本文我们对比ARIMA模型简单介绍一下。这里面的数学比较复杂,读者不用太过在意,对此无兴趣的读者可略过这段内容。

加性模型和乘性模型

我们先简单介绍一下加性模型和乘性模型。

  • 加性模型: x t = T r e n d + S e a s o n a l + R a n d o m x_t=Trend+Seasonal+Random xt=Trend+Seasonal+Random
  • 乘性模型: x t = T r e n d ∗ S e a s o n a l ∗ R a n d o m x_t=Trend*Seasonal*Random xt=TrendSeasonalRandom
    这里的 Random 项在时序分解中经常被认为是不规则项,不一定就是随机因素。
    加性模型一般适用于季节性波动随着时间保持稳定;而乘性模型相对适用于季节波动随着时间会变大。

A R I M A ( 1 , 1 , 1 ) ARIMA(1,1,1) ARIMA(1,1,1):

   ARIMA是一个加性模型(Additive Model),ARIMA(1,1,1)可以被下式描述,
Δ y t = c + ϕ 1 Δ y t − 1 + θ 1 ϵ t − 1 + ϵ t \Delta y_t = c + \phi_1 \Delta y_{t-1} + \theta_1 \epsilon_{t-1} + \epsilon_{t} Δyt=c+ϕ1Δyt1+θ1ϵt1+ϵt
上式中 Δ \Delta Δ 是一阶差分操作符, ϵ t ∼ N ( 0 , σ 2 ) \epsilon_{t} \sim N(0, \sigma^2) ϵtN(0,σ2)
,上式可以改写成 ( 1 − ϕ 1 L ) Δ y t = c + ( 1 + θ 1 L ) ϵ t (1 - \phi_1 L ) \Delta y_t = c + (1 + \theta_1 L) \epsilon_{t} (1ϕ1L)Δyt=c+(1+θ1L)ϵt
L L L是滞后算子(lag operator),其运算规则为 L y t = y t − 1 , L 2 y t = y t − 2 Ly_t=y_{t-1},L^2y_t=y_{t-2} Lyt=yt1L2yt=yt2

S A R I M A ( p , d , q ) × ( P , D , Q ) s SARIMA(p,d,q)\times (P,D,Q)_s SARIMA(p,d,q)×(P,D,Q)s

   大多数SARIMA模型是一个乘性模型(Multiplicative Model),可以泛化为下式:
ϕ p ( L ) ϕ ~ P ( L s ) Δ d Δ s D y t = A ( t ) + θ q ( L ) θ ~ Q ( L s ) ϵ t \phi_p (L) \tilde \phi_P (L^s) \Delta^d \Delta_s^D y_t = A(t) + \theta_q (L) \tilde \theta_Q (L^s) \epsilon_t ϕp(L)ϕ~P(Ls)ΔdΔsDyt=A(t)+θq(L)θ~Q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值