#sdsc6012

English / 中文

自回归模型(AR(p))

定义与形式

一个 pp 阶自回归模型,记为 AR(p)AR(p),其形式为:

xt=ϕ1xt1+ϕ2xt2++ϕpxtp+wtx_t = \phi_1 x_{t-1} + \phi_2 x_{t-2} + \cdots + \phi_p x_{t-p} + w_t

其中:

  • wtwn(0,σw2)w_t \sim \text{wn}(0, \sigma_w^2) 是均值为0、方差为 σw2\sigma_w^2 的白噪声。

  • ϕ1,ϕ2,,ϕp\phi_1, \phi_2, \ldots, \phi_p(且 ϕp0\phi_p \neq 0)是自回归系数。

直观理解:当前值 xtx_t 是其自身过去 pp 个历史值的线性组合,再加上一个随机扰动。它捕捉的是序列的“惯性”或“记忆”,即序列自身历史对其当前状态的影响。

平稳性与因果性

  • 平稳性条件:AR(p) 过程平稳的充要条件是其特征方程的根全部落在复平面上的单位圆外

    • 特征方程定义为:ϕ(z)=1ϕ1zϕ2z2ϕpzp=0\phi(z) = 1 - \phi_1 z - \phi_2 z^2 - \cdots - \phi_p z^p = 0
    • 如果根的模 1\leq 1,过程方差可能无限增长(爆炸)或呈现趋势(如随机游走),破坏平稳性。
  • 因果性:一个因果过程是指当前值 xtx_t 仅依赖于当前及过去的白噪声 wt,wt1,...w_t, w_{t-1}, ...,而不依赖于未来的白噪声。对于AR模型,平稳性通常意味着因果性。

例子:AR(1) 模型

xt=ϕxt1+wtx_t = \phi x_{t-1} + w_t

  • 平稳/因果条件:ϕ<1|\phi| < 1

  • 特征方程:1ϕz=01 - \phi z = 0,根为 z=1/ϕz = 1/\phi,要求 1/ϕ>1|1/\phi| > 1,即 ϕ<1|\phi| < 1

移动平均模型(MA(q))

定义与形式

一个 qq 阶移动平均模型,记为 MA(q)MA(q),其形式为:

xt=wt+θ1wt1+θ2wt2++θqwtqx_t = w_t + \theta_1 w_{t-1} + \theta_2 w_{t-2} + \cdots + \theta_q w_{t-q}

其中:

  • wt,wt1,...,wtqw_t, w_{t-1}, ..., w_{t-q} 是独立同分布的白噪声序列 (wtwn(0,σw2)w_t \sim \text{wn}(0, \sigma_w^2))。

  • θ1,θ2,,θq\theta_1, \theta_2, \ldots, \theta_q(且 θq0\theta_q \neq 0)是移动平均系数。

直观理解:当前值 xtx_t 是当前及过去 qq 个随机“冲击”或“创新”的线性组合。它捕捉的是外部临时事件对序列的短期影响。例如,θ1\theta_1 衡量了上一期冲击 wt1w_{t-1} 对当前值 xtx_t 的影响程度。

核心特性:短记忆与ACF截尾

  • 短记忆:MA(q) 模型只有 qq 期的记忆。对于 k>qk > qxtx_txtkx_{t-k} 由完全独立的冲击组成,其自相关函数(ACF)在滞后 qq 之后严格截尾(变为0)

  • 灵活性:在 qq 期之内,ACF 可以呈现任何形态,但其记忆无法描述长期依赖。

后退移算子(B)表示

后退移算子 BB 定义为:Bxt=xt1B \cdot x_t = x_{t-1}, Bwt=wt1B \cdot w_t = w_{t-1},且 Bkwt=wtkB^k \cdot w_t = w_{t-k}。使用 BB,MA(q) 模型可以简洁地表示为:

xt=θ(B)wtx_t = \theta(B) w_t

其中 θ(B)\theta(B)移动平均多项式

θ(B)=1+θ1B+θ2B2++θqBq\theta(B) = 1 + \theta_1 B + \theta_2 B^2 + \cdots + \theta_q B^q

证明:

Step 1: 核心工具——后移算子 (B)

后移算子,记为 B,是时间序列分析中的关键算子。

  • B 作用于一个时间序列变量。

  • B 作用于时刻 t 的值,会得到前一个时刻 t-1 的值。

数学定义为:

Bxt=xt1B \cdot x_t = x_{t-1}

Bwt=wt1B \cdot w_t = w_{t-1}

通过扩展定义,高次幂的 B 表示多次后移:

  • B2B^2 表示应用两次后移操作:

B2wt=B(Bwt)=Bwt1=wt2B^2 \cdot w_t = B \cdot (B \cdot w_t) = B \cdot w_{t-1} = w_{t-2}

  • BqB^q 表示应用 q 次后移操作:

Bqwt=wtqB^q \cdot w_t = w_{t-q}

后移算子的本质是时间索引的变换器,它将整个序列在时间轴上系统性地向后平移,是构建ARIMA等时间序列模型的基石。

Step 2: 用后移算子 B 重写 MA(q) 模型

MA(q) 模型的原方程为:

xt=wt+θ1wt1+θ2wt2++θqwtqx_t = w_t + \theta_1 w_{t-1} + \theta_2 w_{t-2} + \ldots + \theta_q w_{t-q}

利用后移算子 B 重写每一项:

  • wtw_t 保持不变,可视为 B0wtB^0 \cdot w_t(其中 B0=1B^0 = 1,恒等算子)

  • θ1wt1\theta_1 w_{t-1} 变为 θ1(Bwt)\theta_1 \cdot (B \cdot w_t)

  • θ2wt2\theta_2 w_{t-2} 变为 θ2(B2wt)\theta_2 \cdot (B^2 \cdot w_t)

  • θqwtq\theta_q w_{t-q} 变为 θq(Bqwt)\theta_q \cdot (B^q \cdot w_t)

将上述替换代入原模型,得到:

xt=wt+θ1Bwt+θ2B2wt++θqBqwtx_t = w_t + \theta_1 B w_t + \theta_2 B^2 w_t + \ldots + \theta_q B^q w_t

此步骤完成了从直观的时间延迟表述紧凑的算子表述的转换,为后续的因式分解和多项式定义做准备。

Step 3: 提取公因子 wtw_t

观察到等式右边每一项都含有公共因子 wtw_t,将其提取出来:

xt=(1+θ1B+θ2B2++θqBq)wtx_t = \left(1 + \theta_1 B + \theta_2 B^2 + \ldots + \theta_q B^q \right) w_t

提取公因子的操作将模型的加性结构转化为** multiplicative 结构**,揭示了模型的核心是一个对白噪声序列 {wt}\{w_t\}线性滤波过程。

Step 4: 定义移动平均多项式 θ(B)\theta(B)

基于提取公因子后的形式,我们定义一个以后移算子 B 为变量的多项式,称为移动平均多项式,记为 θ(B)\theta(B)

θ(B)=1+θ1B+θ2B2++θqBq\theta(B) = 1 + \theta_1 B + \theta_2 B^2 + \cdots + \theta_q B^q

利用此多项式,MA(q) 模型可以极其简洁地表示为:

xt=θ(B)wtx_t = \theta(B) w_t

移动平均多项式 θ(B)\theta(B) 完全表征了MA模型的结构和特性。模型的阶数 q、各移动平均项的系数 θi\theta_i 以及模型的平稳性、可逆性条件都蕴含在此多项式中。这是连接时间序列模型理论与算子理论的关键桥梁。

可逆性(Invertibility)

  • 定义:一个 MA 过程是可逆的,如果其白噪声序列 wtw_t 可以表示为当前及过去观测值 xt,xt1,...x_t, x_{t-1}, ... 的线性组合(即 wt=j=0πjxtjw_t = \sum_{j=0}^{\infty} \pi_j x_{t-j}),且系数绝对可和。

  • 条件(以MA(1)为例):MA(1) 过程 xt=wt+θwt1x_t = w_t + \theta w_{t-1} 可逆的充要条件是 θ<1|\theta| < 1

    • 等价于其移动平均多项式 θ(z)=1+θz\theta(z) = 1 + \theta z 的根 z=1/θz = -1/\theta 的模大于 1 (z>1|z| > 1)。
  • 重要性:可逆性保证了模型参数的唯一性和可识别性,且便于将模型转化为AR(\infty)形式来进行预测和理解。

自回归移动平均模型(ARMA(p, q))

定义与形式

ARMA(p, q) 模型结合了 AR 和 MA 部分,其形式为:

xt=ϕ1xt1+...+ϕpxtp+wt+θ1wt1+...+θqwtqx_t = \phi_1 x_{t-1} + ... + \phi_p x_{t-p} + w_t + \theta_1 w_{t-1} + ... + \theta_q w_{t-q}

或使用后退移算子 BB 表示为:

ϕ(B)xt=θ(B)wt\phi(B) x_t = \theta(B) w_t

其中:

  • ϕ(B)=1ϕ1Bϕ2B2...ϕpBp\phi(B) = 1 - \phi_1 B - \phi_2 B^2 - ... - \phi_p B^p自回归多项式

  • θ(B)=1+θ1B+θ2B2+...+θqBq\theta(B) = 1 + \theta_1 B + \theta_2 B^2 + ... + \theta_q B^q移动平均多项式

直观理解:当前值 xtx_t 同时受到两方面影响:

  1. AR部分(惯性):序列自身过去状态 (xt1,...,xtpx_{t-1}, ..., x_{t-p}) 的线性组合,捕捉长期趋势和周期模式。
  2. MA部分(冲击):当前及过去随机冲击 (wt,wt1,...,wtqw_t, w_{t-1}, ..., w_{t-q}) 的线性组合,捕捉外部事件的短期影响。就像一个在有混响(回声)的房间里的声音,既包含原始声音(MA),也包含回声(AR)。

优点:

ARMA模型通过相对较少的参数 (p+qp + q),兼具AR模型捕捉长期依赖和MA模型捕捉短期_patterns的灵活性,能够更简洁(更节省参数)地描述复杂的平稳时间序列。根据Wold分解定理,ARMA模型可以任意精度逼近任何平稳过程。

平稳性、因果性与可逆性

  • 平稳性取决于AR部分:要求 ϕ(B)=0\phi(B) = 0 的根都在单位圆外。

  • 因果性同样取决于AR部分:在平稳条件下通常满足。

  • 可逆性取决于MA部分:要求 θ(B)=0\theta(B) = 0 的根都在单位圆外。

参数冗余(Parameter Redundancy)

  • 如果AR多项式 ϕ(B)\phi(B) 和MA多项式 θ(B)\theta(B)公因子,则模型参数无法唯一识别,模型可以被简化到一个更低阶的ARMA模型。

  • 因此,一个“好的”ARMA模型要求 ϕ(B)\phi(B)θ(B)\theta(B) 没有公因子,以保证模型结构唯一且阶数最低。

详细解释
  1. 模型的核心特性

  • 通用近似能力:对于任何自协方差函数为 γ\gamma 的平稳过程,以及任意 k>0k>0,都存在一个ARMA过程 {xt}\{x_t\} 可以无限近似它。这意味着ARMA模型在理论上能够以任意精度逼近任何其他平稳过程。

  1. 模型组成的直观理解

    1. AR(p) 过程的特点
      • 允许大量非零系数:当前值 xtx_t 可以依赖于遥远过去的值(xt1x_{t-1}, xt2x_{t-2}, …, xtpx_{t-p})。
      • 系数有衰减限制:虽然可以有很多非零系数 ϕ1,ϕ2,...,ϕp\phi_1, \phi_2, ..., \phi_p,但这些系数的取值不能是任意的。为了确保过程的平稳性,这些系数构成的序列必须满足特定的数学约束(通常通过特征根在单位圆内来实现)。
      • 衰减模式:这种约束导致随着滞后阶数的增加,遥远过去值的影响会呈现出特定的衰减模式,通常是指数衰减正弦衰减

    例如,一个AR(2)过程:Xt=0.7Xt1+0.2Xt2+εtX_t = 0.7 X_{t-1} + 0.2 X_{t-2} + \varepsilon_t,其系数0.7和0.2的值及其组合决定了序列的波动和记忆模式。

    1. MA(q) 过程的特点
      • 允许少量非零系数:只允许有限数量(q个)的系数 θ1,θ2,...,θq\theta_1, \theta_2, ..., \theta_q 不为零。
      • 系数取值灵活:这些非零系数的值可以是任意的(没有像AR那样的衰减约束),这使其在短期内非常灵活。
      • 记忆短暂:MA过程的自相关函数(ACF) 在滞后q阶后会突然截断(立即变为0)。这是因为当滞后 k>qk > q 时,xtx_txtkx_{t-k} 由完全独立的冲击(ε\varepsilon)构成。

    例如,一个MA(1)过程:Xt=εt+0.8εt1X_t = \varepsilon_t + 0.8\varepsilon_{t-1},其ACF在滞后1阶后截断。优势在于它能灵活刻画短期内的任意自相关形态;劣势在于无法描述长期依赖关系。

3. 参数冗余问题

  • 共同因子问题:在构建ARMA模型时,其核心的多项式定义为:

    • 自回归多项式:ϕ(B)=1ϕ1Bϕ2B2...ϕpBp\phi(B) = 1 - \phi_1 B - \phi_2 B^2 - ... - \phi_p B^p
    • 移动平均多项式:θ(B)=1+θ1B+θ2B2+...+θqBq\theta(B) = 1 + \theta_1 B + \theta_2 B^2 + ... + \theta_q B^q

    其中 BB 是滞后算子(BXt=Xt1B X_t = X_{t-1})。

  • 确保模型唯一性:要求多项式 ϕ(z)\phi(z)θ(z)\theta(z) 没有公因子。例如,如果 ϕ(B)=(10.5B)\phi(B) = (1-0.5B)θ(B)=(10.5B)\theta(B) = (1-0.5B),那么它们有公因子 (10.5B)(1-0.5B),模型可简化为白噪声过程,导致参数无法唯一识别。消除公因子能保证得到的模型是结构唯一的,参数可识别,且是可能的最低阶数。

模型选择与Python实现

如何区分AR和MA?

问一个问题:是什么在驱动这个系统?

  • 如果答案是“最近的一些外部事件”(如:昨天和今天的新闻),那么它更接近一个 MA模型

  • 如果答案是“系统自身先前的状态”(如:市场因为已经在下跌趋势中所以继续下跌),那么它更接近一个 AR模型

  • 如果两者皆有,则使用 ARMA模型

Python实现示例(使用statsmodels)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt

1. 生成模拟的ARMA(1,1)数据
np.random.seed(42)
n = 1000
phi = 0.5 AR系数
theta = 0.5 MA系数
w = np.random.normal(size=n) 白噪声

x = np.zeros(n)
for t in range(1, n):
x[t] = phi * x[t-1] + w[t] + theta * w[t-1]

绘图
plt.figure(figsize=(10, 6))
plt.plot(x)
plt.title('Simulated ARMA(1,1) Process')
plt.show()

2. 拟合ARMA(1,1)模型
model = sm.tsa.ARMA(x, order=(1, 1))
fitted_model = model.fit()

3. 输出模型拟合摘要
print(fitted_model.summary())
输出示例:AR(1)系数估计约0.47, MA(1)系数估计约-0.28

模型评估

  • 使用AIC(Akaike信息准则)BIC(贝叶斯信息准则) 比较不同模型的拟合优度(值越小越好)。

  • 对模型的残差进行检验,其应表现为白噪声(无自相关),否则说明模型未能完全捕捉数据中的信息。