#sdsc6012
English / 中文
自回归模型(AR(p))
定义与形式
一个 p 阶自回归模型,记为 AR(p),其形式为:
xt=ϕ1xt−1+ϕ2xt−2+⋯+ϕpxt−p+wt
其中:
-
wt∼wn(0,σw2) 是均值为0、方差为 σw2 的白噪声。
-
ϕ1,ϕ2,…,ϕp(且 ϕp=0)是自回归系数。
直观理解:当前值 xt 是其自身过去 p 个历史值的线性组合,再加上一个随机扰动。它捕捉的是序列的“惯性”或“记忆”,即序列自身历史对其当前状态的影响。
平稳性与因果性
-
平稳性条件:AR(p) 过程平稳的充要条件是其特征方程的根全部落在复平面上的单位圆外。
- 特征方程定义为:ϕ(z)=1−ϕ1z−ϕ2z2−⋯−ϕpzp=0
- 如果根的模 ≤1,过程方差可能无限增长(爆炸)或呈现趋势(如随机游走),破坏平稳性。
-
因果性:一个因果过程是指当前值 xt 仅依赖于当前及过去的白噪声 wt,wt−1,...,而不依赖于未来的白噪声。对于AR模型,平稳性通常意味着因果性。
例子:AR(1) 模型
xt=ϕxt−1+wt
移动平均模型(MA(q))
定义与形式
一个 q 阶移动平均模型,记为 MA(q),其形式为:
xt=wt+θ1wt−1+θ2wt−2+⋯+θqwt−q
其中:
-
wt,wt−1,...,wt−q 是独立同分布的白噪声序列 (wt∼wn(0,σw2))。
-
θ1,θ2,…,θq(且 θq=0)是移动平均系数。
直观理解:当前值 xt 是当前及过去 q 个随机“冲击”或“创新”的线性组合。它捕捉的是外部临时事件对序列的短期影响。例如,θ1 衡量了上一期冲击 wt−1 对当前值 xt 的影响程度。
核心特性:短记忆与ACF截尾
后退移算子(B)表示
后退移算子 B 定义为:B⋅xt=xt−1, B⋅wt=wt−1,且 Bk⋅wt=wt−k。使用 B,MA(q) 模型可以简洁地表示为:
xt=θ(B)wt
其中 θ(B) 是 移动平均多项式:
θ(B)=1+θ1B+θ2B2+⋯+θqBq
证明:
Step 1: 核心工具——后移算子 (B)
后移算子,记为 B,是时间序列分析中的关键算子。
数学定义为:
B⋅xt=xt−1
B⋅wt=wt−1
通过扩展定义,高次幂的 B 表示多次后移:
B2⋅wt=B⋅(B⋅wt)=B⋅wt−1=wt−2
Bq⋅wt=wt−q
后移算子的本质是时间索引的变换器,它将整个序列在时间轴上系统性地向后平移,是构建ARIMA等时间序列模型的基石。
Step 2: 用后移算子 B 重写 MA(q) 模型
MA(q) 模型的原方程为:
xt=wt+θ1wt−1+θ2wt−2+…+θqwt−q
利用后移算子 B 重写每一项:
-
wt 保持不变,可视为 B0⋅wt(其中 B0=1,恒等算子)
-
θ1wt−1 变为 θ1⋅(B⋅wt)
-
θ2wt−2 变为 θ2⋅(B2⋅wt)
-
θqwt−q 变为 θq⋅(Bq⋅wt)
将上述替换代入原模型,得到:
xt=wt+θ1Bwt+θ2B2wt+…+θqBqwt
此步骤完成了从直观的时间延迟表述到紧凑的算子表述的转换,为后续的因式分解和多项式定义做准备。
Step 3: 提取公因子 wt
观察到等式右边每一项都含有公共因子 wt,将其提取出来:
xt=(1+θ1B+θ2B2+…+θqBq)wt
提取公因子的操作将模型的加性结构转化为** multiplicative 结构**,揭示了模型的核心是一个对白噪声序列 {wt} 的线性滤波过程。
Step 4: 定义移动平均多项式 θ(B)
基于提取公因子后的形式,我们定义一个以后移算子 B 为变量的多项式,称为移动平均多项式,记为 θ(B):
θ(B)=1+θ1B+θ2B2+⋯+θqBq
利用此多项式,MA(q) 模型可以极其简洁地表示为:
xt=θ(B)wt
移动平均多项式 θ(B) 完全表征了MA模型的结构和特性。模型的阶数 q、各移动平均项的系数 θi 以及模型的平稳性、可逆性条件都蕴含在此多项式中。这是连接时间序列模型理论与算子理论的关键桥梁。
可逆性(Invertibility)
-
定义:一个 MA 过程是可逆的,如果其白噪声序列 wt 可以表示为当前及过去观测值 xt,xt−1,... 的线性组合(即 wt=∑j=0∞πjxt−j),且系数绝对可和。
-
条件(以MA(1)为例):MA(1) 过程 xt=wt+θwt−1 可逆的充要条件是 ∣θ∣<1。
- 等价于其移动平均多项式 θ(z)=1+θz 的根 z=−1/θ 的模大于 1 (∣z∣>1)。
-
重要性:可逆性保证了模型参数的唯一性和可识别性,且便于将模型转化为AR(∞)形式来进行预测和理解。
自回归移动平均模型(ARMA(p, q))
定义与形式
ARMA(p, q) 模型结合了 AR 和 MA 部分,其形式为:
xt=ϕ1xt−1+...+ϕpxt−p+wt+θ1wt−1+...+θqwt−q
或使用后退移算子 B 表示为:
ϕ(B)xt=θ(B)wt
其中:
-
ϕ(B)=1−ϕ1B−ϕ2B2−...−ϕpBp 是 自回归多项式
-
θ(B)=1+θ1B+θ2B2+...+θqBq 是 移动平均多项式
直观理解:当前值 xt 同时受到两方面影响:
- AR部分(惯性):序列自身过去状态 (xt−1,...,xt−p) 的线性组合,捕捉长期趋势和周期模式。
- MA部分(冲击):当前及过去随机冲击 (wt,wt−1,...,wt−q) 的线性组合,捕捉外部事件的短期影响。就像一个在有混响(回声)的房间里的声音,既包含原始声音(MA),也包含回声(AR)。
优点:
ARMA模型通过相对较少的参数 (p+q),兼具AR模型捕捉长期依赖和MA模型捕捉短期_patterns的灵活性,能够更简洁(更节省参数)地描述复杂的平稳时间序列。根据Wold分解定理,ARMA模型可以任意精度逼近任何平稳过程。
平稳性、因果性与可逆性
参数冗余(Parameter Redundancy)
详细解释
-
模型的核心特性
-
模型组成的直观理解
- AR(p) 过程的特点
- 允许大量非零系数:当前值 xt 可以依赖于遥远过去的值(xt−1, xt−2, …, xt−p)。
- 系数有衰减限制:虽然可以有很多非零系数 ϕ1,ϕ2,...,ϕp,但这些系数的取值不能是任意的。为了确保过程的平稳性,这些系数构成的序列必须满足特定的数学约束(通常通过特征根在单位圆内来实现)。
- 衰减模式:这种约束导致随着滞后阶数的增加,遥远过去值的影响会呈现出特定的衰减模式,通常是指数衰减或正弦衰减。
例如,一个AR(2)过程:Xt=0.7Xt−1+0.2Xt−2+εt,其系数0.7和0.2的值及其组合决定了序列的波动和记忆模式。
- MA(q) 过程的特点
- 允许少量非零系数:只允许有限数量(q个)的系数 θ1,θ2,...,θq 不为零。
- 系数取值灵活:这些非零系数的值可以是任意的(没有像AR那样的衰减约束),这使其在短期内非常灵活。
- 记忆短暂:MA过程的自相关函数(ACF) 在滞后q阶后会突然截断(立即变为0)。这是因为当滞后 k>q 时,xt 和 xt−k 由完全独立的冲击(ε)构成。
例如,一个MA(1)过程:Xt=εt+0.8εt−1,其ACF在滞后1阶后截断。优势在于它能灵活刻画短期内的任意自相关形态;劣势在于无法描述长期依赖关系。
3. 参数冗余问题
-
共同因子问题:在构建ARMA模型时,其核心的多项式定义为:
- 自回归多项式:ϕ(B)=1−ϕ1B−ϕ2B2−...−ϕpBp
- 移动平均多项式:θ(B)=1+θ1B+θ2B2+...+θqBq
其中 B 是滞后算子(BXt=Xt−1)。
-
确保模型唯一性:要求多项式 ϕ(z) 和 θ(z) 没有公因子。例如,如果 ϕ(B)=(1−0.5B) 且 θ(B)=(1−0.5B),那么它们有公因子 (1−0.5B),模型可简化为白噪声过程,导致参数无法唯一识别。消除公因子能保证得到的模型是结构唯一的,参数可识别,且是可能的最低阶数。
模型选择与Python实现
如何区分AR和MA?
问一个问题:是什么在驱动这个系统?
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
|
模型评估