扩展:随机过程进阶
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
难度: 高级
前置知识: 概率论、统计学、随机信号理论(第1.5章)
为什么需要理解随机过程
在信号处理和机器学习中:
- 时间序列建模需要理解随机过程的动态特性
- 马尔可夫链用于序列模型和强化学习
- 平稳过程的假设简化了许多算法
- 自相关结构影响滤波和预测的性能
随机过程的基本概念
定义
随机过程:一族随机变量
分类:
- 离散时间:
(序列) - 连续时间:
(信号) - 离散值:
- 连续值:
随机过程的描述
一阶统计量:
二阶统计量:
自相关函数:
平稳过程
严格平稳性
定义:如果对任意
直观理解:过程的统计性质不随时间变化。
宽平稳性(弱平稳性)
定义:如果满足以下条件:
(常数) (只依赖于时间差)
优势:比严格平稳性更容易验证。
自相关函数(ACF)
对于宽平稳过程:
性质:
(对称性)
马尔可夫链
定义
马尔可夫性质:未来只依赖于现在,不依赖于过去:
一阶马尔可夫链:只依赖于前一个状态。
转移矩阵
定义:转移概率矩阵
性质:
- 每行和为 1:
- 所有元素非负:
例子:天气模型
状态:晴天、阴天、下雨
转移矩阵:
晴 阴 雨
晴 [ 0.7 0.2 0.1 ]
阴 [ 0.3 0.4 0.3 ]
雨 [ 0.2 0.3 0.5 ]平稳分布
定义:如果
则
直观理解:长期运行后,系统的状态分布不再变化。
高斯过程
定义
高斯过程:任意有限个时刻的联合分布都是高斯分布。
完全由以下两个函数确定:
- 均值函数:
- 协方差函数:
高斯过程回归
模型:
优势:
- 提供不确定性估计
- 贝叶斯方法
- 灵活的核函数
应用:
- 时间序列预测
- 超参数优化(贝叶斯优化)
- 空间插值
自回归模型(AR)
AR(p) 模型
定义:
其中
特征方程
特征多项式:
平稳性条件:所有根的模都大于 1。
自相关函数
对于 AR(1) 模型
移动平均模型(MA)
MA(q) 模型
定义:
自相关函数
MA(q) 模型的 ACF 在
ARMA 模型
ARMA(p,q) 模型
定义:
优势:
- 结合 AR 和 MA 的优点
- 用较少的参数描述复杂的相关结构
模型选择
使用 ACF 和 PACF(偏自相关函数)选择
| 模型 | ACF | PACF |
|---|---|---|
| AR(p) | 指数衰减 | 在 p 后截断 |
| MA(q) | 在 q 后截断 | 指数衰减 |
| ARMA(p,q) | 指数衰减 | 指数衰减 |
谱分析
功率谱密度(PSD)
对于平稳过程,PSD 是自相关函数的傅里叶变换:
Wiener-Khinchin 定理
定理:平稳过程的功率谱密度等于自相关函数的傅里叶变换。
应用:
- 频域滤波
- 信号检测
- 系统识别
随机过程的滤波
Wiener 滤波
问题:给定观测
最优滤波器:
其中
Kalman 滤波
状态空间模型:
优势:
- 处理非平稳过程
- 递归算法,计算高效
- 提供最优估计
实践建议
时间序列分析步骤
- 可视化:绘制时间序列图
- 检查平稳性:ADF 检验、KPSS 检验
- 差分:如果非平稳,进行差分
- 选择模型:查看 ACF/PACF
- 拟合模型:AR、MA、ARMA
- 诊断:检查残差是否为白噪声
- 预测:使用拟合的模型进行预测
Python 实现
python
import statsmodels.api as sm
from statsmodels.tsa.arima.model import ARIMA
# 拟合 ARIMA 模型
model = ARIMA(data, order=(p, d, q))
results = model.fit()
# 预测
forecast = results.get_forecast(steps=10)关键要点
- 平稳性是时间序列分析的基础
- 马尔可夫链用于序列建模和强化学习
- AR、MA、ARMA 模型是经典的时间序列模型
- 谱分析提供了频域视角
- Kalman 滤波是最优的递归滤波算法
代码实验
- 代码文件:
code/ch01_dsp/stochastic_processes_demo.py - 运行方式:
python code/ch01_dsp/stochastic_processes_demo.py

图:随机过程实验结果。包含马尔可夫链状态分布收敛、AR(1) 过程时序图、自相关函数(ACF)以及 Kalman 滤波效果对比。
进一步阅读
- Hamilton, "Time Series Analysis"
- Brockwell & Davis, "Introduction to Time Series and Forecasting"
- Durbin & Koopman, "Time Series Analysis by State Space Methods"
