AR模型

太好了!明白了代码,现在我来详细讲解AR模型的原理和公式。我会用直观的方式解释。

🎯 AR模型核心思想

基本概念

AR模型(自回归模型)的核心思想很简单:

当前的信号值 = 过去几个信号值的加权和 + 随机噪声

就像:

  • 经济预测:今天的股价受昨天、前天的股价影响

  • 天气预报:今天的温度受前几天温度的影响

  • 语音信号:当前的声音与之前的声音相关


📐 AR模型的数学公式

AR(p)模型的一般形式

x(n)=a1x(n1)+a2x(n2)+...+apx(np)+w(n) x(n) = a₁·x(n-1) + a₂·x(n-2) + ... + aₚ·x(n-p) + w(n)

其中:

  • x(n):当前时刻的信号值

  • x(n-1), x(n-2), ..., x(n-p):过去p个时刻的信号值

  • a₁, a₂, ..., aₚ:自回归系数(权重)

  • w(n):白噪声(随机扰动)

  • p:模型阶数


🔧 系统函数与极点

从时域到z域

把AR模型公式两边进行z变换:

x(n)=a1x(n1)+a2x(n2)+...+apx(np)+w(n) x(n) = a₁·x(n-1) + a₂·x(n-2) + ... + aₚ·x(n-p) + w(n)

变成:
X(z)=a1z1X(z)+a2z2X(z)+...+apzpX(z)+W(z) X(z) = a₁·z⁻¹X(z) + a₂·z⁻²X(z) + ... + aₚ·z⁻ᵖX(z) + W(z)

整理得:
X(z)a1z1X(z)a2z2X(z)...apzpX(z)=W(z) X(z) - a₁·z⁻¹X(z) - a₂·z⁻²X(z) - ... - aₚ·z⁻ᵖX(z) = W(z)

提取公因式:
X(z)[1a1z1a2z2...apzp]=W(z) X(z)[1 - a₁·z⁻¹ - a₂·z⁻² - ... - aₚ·z⁻ᵖ] = W(z)

系统函数 H(z)

H(z)=X(z)/W(z)=1/[1a1z1a2z2...apzp] H(z) = X(z)/W(z) = 1 / [1 - a₁·z⁻¹ - a₂·z⁻² - ... - aₚ·z⁻ᵖ]

这就是代码中的:
ar_coeffs = [1, -a1, -a2] # 对应分母多项式:1 - a₁·z⁻¹ - a₂·z⁻² w, h = signal.freqz([1], ar_coeffs) # 计算 H(z) = 1 / (1 - a₁·z⁻¹ - a₂·z⁻²)


🎛️ 极点与频谱的关系

什么是极点?

极点就是让分母为零的z值:
1a1z1a2z2...apzp=0 1 - a₁·z⁻¹ - a₂·z⁻² - ... - aₚ·z⁻ᵖ = 0

对于AR(2)模型:
1a1z1a2z2=0 1 - a₁·z⁻¹ - a₂·z⁻² = 0

乘以z²:
z2a1za2=0 z² - a₁·z - a₂ = 0

解这个二次方程就得到两个极点。

极点位置决定频谱形状

极点位置 频谱特征 物理意义
靠近单位圆 尖锐的峰值 强共振频率
在实轴上 低频或高频峰值 单调振荡
复数共轭 共振峰 阻尼振荡
单位圆内 稳定系统 信号不会爆炸
单位圆外 不稳定系统 信号会发散

📊 实际例子分析

例1:AR(2)模型,a₁=1.4, a₂=-0.9

系统方程:x(n) = 1.4·x(n-1) - 0.9·x(n-2) + w(n)
系统函数:H(z) = 1 / (1 - 1.4·z⁻¹ + 0.9·z⁻²)

极点计算:

z² - 1.4z + 0.9 = 0
极点:z = 0.7 ± j0.71
幅度:|z| = √(0.7² + 0.71²) ≈ 0.997

频谱特征:

  • 极点非常靠近单位圆(|z|≈0.997)

  • 频谱会出现很尖锐的峰值

  • 像吹瓶子产生的纯音

例2:AR(2)模型,a₁=0.9, a₂=0

系统方程:x(n) = 0.9·x(n-1) + w(n)
系统函数:H(z) = 1 / (1 - 0.9·z⁻¹)

极点计算:

z - 0.9 = 0
极点:z = 0.9

频谱特征:

  • 极点在正实轴上

  • 频谱在低频处有峰值

  • 信号有很强的"记忆性"


🎯 关键要点总结

  1. AR模型:用过去的信号值预测当前值

  2. 系统函数H(z) = 1 / A(z),是全极点模型

  3. 极点:决定系统的共振频率

  4. 稳定性:所有极点必须在单位圆内

  5. 频谱峰值:极点靠近单位圆 → 尖锐的频谱峰

物理意义

  • 极点位置 = 系统的"固有振动模式"

  • 极点靠近单位圆 = 该频率成分很强

  • 白噪声输入 = 激发所有可能的振动模式

  • AR系数 = 控制各个振动模式的强度

这样理解,AR模型就不再是枯燥的公式,而是一个描述信号"记忆"和"惯性"的生动工具!