自回归,移动平均模型,ARMA,ARIMA

近段时间在论文里经常见到一些学者用自回归模型(Auto-regression)等生成时间序列数据的随机数,或者使用 ARIMA 模型做时间序列数据的预测,决定总结一下。

1. 一些理论知识

1.1 平稳性

对于一个时间序列 { x t } \{x_t\} {xt},均值、方差对于任意时间段 t t t 都是相同的,并且对于任何相同的时间间隔 s s s,协方差 C o v ( x t , x t + s ) Cov(x_t, x_{t+s}) Cov(xt,xt+s) 也相同,则称该时间序列为平稳的。(这个定义为宽平稳,严格平稳要求对于相同的时间间隔,联合分布完全相同)

1.2 自相关函数 ACF

平稳性检验可以通过计算时间序列数据的自相关函数(ACF,autocorrelation function),画出图像看出,看是否随着阶数的增加能很快趋于零。国内一些教科书把自相关函数翻译成自相关系数

h h h 阶自相关函数 (ACF) ρ h \rho_h ρh 为:
ρ h = γ ( t + h , t ) γ ( t + h , t + h ) γ ( t , t ) \rho_h=\frac{\gamma(t+h, t)}{\sqrt{\gamma(t+h, t+h)\gamma(t,t)}} ρh=γ(t+h,t+h)γ(t,t) γ(t+h,t)

其中, γ ( t + h , t ) \gamma(t+h, t) γ(t+h,t) 为 序列 x t x_t xt x t + h x_{t+h} xt+h 的自协方差,即

γ ( t + h , t ) = C o v ( x t + h , x t ) \gamma(t+h, t)=Cov(x_{t+h}, x_t) γ(t+h,t)=Cov(xt+h,xt)

对于平稳性时间序列,由于相同间隔的协方差相同,上面的表达式可以简写:由于 γ ( t + h , t ) = γ ( h , 0 ) \gamma(t+h, t)=\gamma(h,0) γ(t+h,t)=γ(h,0) γ ( t + h , t ) \gamma(t+h, t) γ(t+h,t) 可以简写成 γ h \gamma_h γh γ ( t + h , t + h ) = γ ( t , t ) = γ 0 \gamma(t+h, t+h)=\gamma(t,t)=\gamma_0 γ(t+h,t+h)=γ(t,t)=γ0,因此

ρ h = γ h γ 0 \rho_h=\frac{\gamma_h}{\gamma_0} ρh=γ0γh

更标准的平稳性检验单位根检验:ADF检验

1.3 偏自相关函数 PACF

x t x_t xt 分别写成 x t − 1 x_{t-1} xt1, x t − 2 x_{t-2} xt2, … \dots , x t − k x_{t-k} xtk 的回归函数,相应的回归系数是偏自相关函数(国内教科书也称偏自相关系数):
x t = c 1 + ϕ 11 x t − 1 + ϵ 1 t x t = c 2 + ϕ 21 x t − 1 + ϕ 22 x t − 2 + ϵ 2 t ⋮ x t = c k + ϕ k 1 x t − 1 + ϕ k 2 x t − 2 + ⋯ + ϕ k k x t − k + ϵ k t \begin{aligned} x_t=&c_1+\phi_{11}x_{t-1}+\epsilon_{1t}\\ x_{t}=&c_2+\phi_{21}x_{t-1}+\phi_{22}x_{t-2}+\epsilon_{2t}\\ \vdots\\ x_{t}=&c_k+\phi_{k1}x_{t-1}+\phi_{k2}x_{t-2}+\dots+\phi_{kk}x_{t-k}+\epsilon_{kt} \end{aligned} xt=xt=xt=c1+ϕ11xt1+ϵ1tc2+ϕ21xt1+ϕ22xt2+ϵ2tck+ϕk1xt1+ϕk2xt2++ϕkkxtk+ϵkt

其中, ϕ 11 \phi_{11} ϕ11 x t x_t xt x t − 1 x_{t-1} xt1 的偏自相关系数, ϕ 22 \phi_{22} ϕ22 x t x_t xt x t − 2 x_{t-2} xt2 的偏自相关系数, ϕ k k \phi_{kk} ϕkk x t x_t xt x t − k x_{t-k} xtk 的偏自相关系数。

1.4 自回归模型(AR)

时间序列数据 { x t } \{x_t\} {xt} 可以表示为它的前期值和随机误差项的线性函数,即

x t = μ + φ 1 x t − 1 + φ 2 x t − 2 + ⋯ + φ p x t − p + ε t x_t=\mu+\varphi_1 x_{t-1}+\varphi_2 x_{t-2}+\dots+\varphi_p x_{t-p}+\varepsilon_t xt=μ+φ1xt1+φ2xt2++φpxtp+εt

该模型为 p p p 阶自回归模型,记为 A R ( p ) AR(p) AR(p)。其中, μ \mu μ x t x_t xt 的均值, ε t \varepsilon_t εt 为均值为 0, 方差为 σ 2 \sigma^2 σ2 的白噪声序列。

时间序列模型可以引入之后算子 B B B B x 1 = x t − 1 Bx_1=x_{t-1} Bx1=xt1 B 2 x t = x t − 2 B^2x_t=x_{t-2} B2xt=xt2, … \dots , B p x t = x t − p B^px_t=x_{t-p} Bpxt=xtp,则自回归模型也可以表示为:

x t = μ + φ 1 B x t + φ 2 B 2 x t + ⋯ + φ p B p x t + ε t x_t=\mu+\varphi_1 Bx_{t}+\varphi_2 B^2x_{t}+\dots+\varphi_p B^px_{t}+\varepsilon_t xt=μ+φ1Bxt+φ2B2xt++φpBpxt+εt

φ ( B ) = 1 − φ 1 B − φ 2 B 2 − ⋯ − φ p B p \varphi(B)=1-\varphi_1B-\varphi_2B^2-\dots-\varphi_pB^p φ(B)=1φ1Bφ2B2φpBp,则自回归模型可以表示为:

x t φ ( B ) = μ + ε t x_t\varphi(B)=\mu+\varepsilon_t xtφ(B)=μ+εt

1.5 移动平均模型(MA)

时间序列数据 { x t } \{x_t\} {xt} 可以表示为它的前期随机误差项的线性函数,即
x t = μ + ε t + θ 1 ε t − 1 + ⋯ + θ q ε t − q x_t=\mu+\varepsilon_t+\theta_{1}\varepsilon_{t-1}+\dots+\theta_{q}\varepsilon_{t-q} xt=μ+εt+θ1εt1++θqεtq

该模型为 q q q 阶移动回归模型,记为 M A ( q ) MA(q) MA(q)

1.6 自回归移动平均模型(ARMA)

时间序列数据 { x t } \{x_t\} {xt} 可以表示为:
x t = μ + + φ 1 x t − 1 + φ 2 x t − 2 + ⋯ + φ p x t − p + ε t + θ 1 ε t − 1 + ⋯ + θ q ε t − q x_t=\mu++\varphi_1 x_{t-1}+\varphi_2 x_{t-2}+\dots+\varphi_p x_{t-p}+\varepsilon_t+\theta_{1}\varepsilon_{t-1}+\dots+\theta_{q}\varepsilon_{t-q} xt=μ++φ1xt1+φ2xt2++φpxtp+εt+θ1εt1++θqεtq

这个移动平均(moving-average)模型跟预测方法中常规的移动平均(moving average)不一样。

1.7 移动平均自回归模型(ARIMA)

时间序列数据 { x t } \{x_t\} {xt} 被称为 A R I M A ( p , d , q ) ARIMA(p,d,q) ARIMA(p,d,q),若
▽ d x t = ( 1 − B ) d x \triangledown^d x_t=(1-B)^d x dxt=(1B)dx
A R M A ( P , Q ) ARMA(P, Q) ARMA(P,Q).

其中, ( 1 − B ) d x (1-B)^dx (1B)dx 表示 x t x_t xt d d d 阶差分。即 x t x_t xt d d d 阶差分是自回归移动平均模型。

一阶差分: x t ′ = x t − x t − 1 x'_t=x_t-x_{t-1} xt=xtxt1
二阶差分: x t ′ ′ = x t ′ − x t − 1 ′ = x t − x t − 1 − ( x t − 1 − x t − 2 ) = x t − 2 x t − 1 + x t − 2 = ( 1 − B ) 2 x x''_t=x'_t-x'_{t-1}=x_t-x_{t-1}-(x_{t-1}-x_{t-2})=x_t-2x_{t-1}+x_{t-2}=(1-B)^2x xt′′=xtxt1=xtxt1(xt1xt2)=xt2xt1+xt2=(1B)2x

2. 做 ARIMA 的步骤

  • 先做平稳性 ADF 检验,若不平稳,则做差分,更高阶的差分,直到通过平稳性检验为止,依次确定差分阶数 d d d
  • 一般通过看偏自相关系系数 PACF 图,确定自回归阶数 p p p (若第 i i i 阶的 PACF 值低于置信区间上下界,则 p = i − 1 p=i-1 p=i1)。PACF 系数95%置信区间的上下界为 ± 1.96 / n \pm 1.96/\sqrt{n} ±1.96/n ,其中 n n n 为样本个数
  • 一般通过看自相关系数 ACF 图,确定移动平均阶数 q q q。ACF 系数95%置信区间的上下界也可以近似为 ± 1.96 / n \pm 1.96/\sqrt{n} ±1.96/n

参考文献12


  1. 傅德印,应用多元统计分析,高等教育出版社,2013 ↩︎

  2. https://www.machinelearningplus.com/time-series/arima-model-time-series-forecasting-python/ ↩︎

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态与习惯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值