AR模型

AR模型
xu756太好了!明白了代码,现在我来详细讲解AR模型的原理和公式。我会用直观的方式解释。
🎯 AR模型核心思想
基本概念
AR模型(自回归模型)的核心思想很简单:
当前的信号值 = 过去几个信号值的加权和 + 随机噪声
就像:
-
经济预测:今天的股价受昨天、前天的股价影响
-
天气预报:今天的温度受前几天温度的影响
-
语音信号:当前的声音与之前的声音相关
📐 AR模型的数学公式
AR(p)模型的一般形式:
其中:
-
x(n):当前时刻的信号值 -
x(n-1), x(n-2), ..., x(n-p):过去p个时刻的信号值 -
a₁, a₂, ..., aₚ:自回归系数(权重) -
w(n):白噪声(随机扰动) -
p:模型阶数
🔧 系统函数与极点
从时域到z域
把AR模型公式两边进行z变换:
变成:
整理得:
提取公因式:
系统函数 H(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值:
对于AR(2)模型:
乘以z²:
解这个二次方程就得到两个极点。
极点位置决定频谱形状
| 极点位置 | 频谱特征 | 物理意义 |
|---|---|---|
| 靠近单位圆 | 尖锐的峰值 | 强共振频率 |
| 在实轴上 | 低频或高频峰值 | 单调振荡 |
| 复数共轭 | 共振峰 | 阻尼振荡 |
| 单位圆内 | 稳定系统 | 信号不会爆炸 |
| 单位圆外 | 不稳定系统 | 信号会发散 |
📊 实际例子分析
例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
频谱特征:
-
极点在正实轴上
-
频谱在低频处有峰值
-
信号有很强的"记忆性"
🎯 关键要点总结
-
AR模型:用过去的信号值预测当前值
-
系统函数:
H(z) = 1 / A(z),是全极点模型 -
极点:决定系统的共振频率
-
稳定性:所有极点必须在单位圆内
-
频谱峰值:极点靠近单位圆 → 尖锐的频谱峰
物理意义:
-
极点位置 = 系统的"固有振动模式"
-
极点靠近单位圆 = 该频率成分很强
-
白噪声输入 = 激发所有可能的振动模式
-
AR系数 = 控制各个振动模式的强度
这样理解,AR模型就不再是枯燥的公式,而是一个描述信号"记忆"和"惯性"的生动工具!













