⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
Skip to content

扩展:随机过程进阶 ​

在线 Notebook

对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。

难度: 高级
前置知识: 概率论、统计学、随机信号理论(第1.5章)


为什么需要理解随机过程 ​

在信号处理和机器学习中:

  • 时间序列建模需要理解随机过程的动态特性
  • 马尔可夫链用于序列模型和强化学习
  • 平稳过程的假设简化了许多算法
  • 自相关结构影响滤波和预测的性能

随机过程的基本概念 ​

定义 ​

随机过程:一族随机变量 {X(t),t∈T},其中 t 是时间参数。

分类:

  • 离散时间:t∈{0,1,2,…}(序列)
  • 连续时间:t∈R(信号)
  • 离散值:X(t)∈{0,1,2,…}
  • 连续值:X(t)∈R

随机过程的描述 ​

一阶统计量:

μ(t)=E[X(t)]

二阶统计量:

R(t1,t2)=E[X(t1)X(t2)]

自相关函数:

ρ(t1,t2)=R(t1,t2)−μ(t1)μ(t2)σ(t1)σ(t2)

平稳过程 ​

严格平稳性 ​

定义:如果对任意 τ 和任意 n,有:

P(X(t1)≤x1,…,X(tn)≤xn)=P(X(t1+τ)≤x1,…,X(tn+τ)≤xn)

直观理解:过程的统计性质不随时间变化。

宽平稳性(弱平稳性) ​

定义:如果满足以下条件:

  1. E[X(t)]=μ(常数)
  2. E[X(t)2]<∞
  3. R(t1,t2)=R(t1−t2)=R(τ)(只依赖于时间差)

优势:比严格平稳性更容易验证。

自相关函数(ACF) ​

对于宽平稳过程:

ρ(τ)=R(τ)−μ2σ2

性质:

  • ρ(0)=1
  • ρ(τ)=ρ(−τ)(对称性)
  • |ρ(τ)|≤1

马尔可夫链 ​

定义 ​

马尔可夫性质:未来只依赖于现在,不依赖于过去:

P(Xn+1=x|Xn=xn,Xn−1=xn−1,…)=P(Xn+1=x|Xn=xn)

一阶马尔可夫链:只依赖于前一个状态。

转移矩阵 ​

定义:转移概率矩阵 P:

Pij=P(Xn+1=j|Xn=i)

性质:

  • 每行和为 1:∑jPij=1
  • 所有元素非负:Pij≥0

例子:天气模型 ​

状态:晴天、阴天、下雨

转移矩阵:
       晴  阴  雨
晴  [ 0.7 0.2 0.1 ]
阴  [ 0.3 0.4 0.3 ]
雨  [ 0.2 0.3 0.5 ]

平稳分布 ​

定义:如果 π 满足:

π=πP

则 π 是平稳分布。

直观理解:长期运行后,系统的状态分布不再变化。


高斯过程 ​

定义 ​

高斯过程:任意有限个时刻的联合分布都是高斯分布。

完全由以下两个函数确定:

  1. 均值函数:μ(t)=E[X(t)]
  2. 协方差函数:K(t1,t2)=Cov(X(t1),X(t2))

高斯过程回归 ​

模型:

y=f(x)+ϵ,f∼GP(μ,K)

优势:

  • 提供不确定性估计
  • 贝叶斯方法
  • 灵活的核函数

应用:

  • 时间序列预测
  • 超参数优化(贝叶斯优化)
  • 空间插值

自回归模型(AR) ​

AR(p) 模型 ​

定义:

Xt=ϕ1Xt−1+ϕ2Xt−2+⋯+ϕpXt−p+ϵt

其中 ϵt 是白噪声。

特征方程 ​

特征多项式:

1−ϕ1z−ϕ2z2−⋯−ϕpzp=0

平稳性条件:所有根的模都大于 1。

自相关函数 ​

对于 AR(1) 模型 Xt=ϕXt−1+ϵt:

ρ(τ)=ϕ|τ|

移动平均模型(MA) ​

MA(q) 模型 ​

定义:

Xt=ϵt+θ1ϵt−1+θ2ϵt−2+⋯+θqϵt−q

自相关函数 ​

MA(q) 模型的 ACF 在 τ>q 时为 0(截断性)。


ARMA 模型 ​

ARMA(p,q) 模型 ​

定义:

Xt=ϕ1Xt−1+⋯+ϕpXt−p+ϵt+θ1ϵt−1+⋯+θqϵt−q

优势:

  • 结合 AR 和 MA 的优点
  • 用较少的参数描述复杂的相关结构

模型选择 ​

使用 ACF 和 PACF(偏自相关函数)选择 p 和 q:

模型ACFPACF
AR(p)指数衰减在 p 后截断
MA(q)在 q 后截断指数衰减
ARMA(p,q)指数衰减指数衰减

谱分析 ​

功率谱密度(PSD) ​

对于平稳过程,PSD 是自相关函数的傅里叶变换:

S(f)=∑τ=−∞∞R(τ)e−j2πfτ

Wiener-Khinchin 定理 ​

定理:平稳过程的功率谱密度等于自相关函数的傅里叶变换。

应用:

  • 频域滤波
  • 信号检测
  • 系统识别

随机过程的滤波 ​

Wiener 滤波 ​

问题:给定观测 y(t)=s(t)+n(t),估计信号 s(t)。

最优滤波器:

H(f)=Ss(f)Ss(f)+Sn(f)

其中 Ss(f) 和 Sn(f) 分别是信号和噪声的 PSD。

Kalman 滤波 ​

状态空间模型:

xt+1=Axt+wtyt=Cxt+vt

优势:

  • 处理非平稳过程
  • 递归算法,计算高效
  • 提供最优估计

实践建议 ​

时间序列分析步骤 ​

  1. 可视化:绘制时间序列图
  2. 检查平稳性:ADF 检验、KPSS 检验
  3. 差分:如果非平稳,进行差分
  4. 选择模型:查看 ACF/PACF
  5. 拟合模型:AR、MA、ARMA
  6. 诊断:检查残差是否为白噪声
  7. 预测:使用拟合的模型进行预测

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)

关键要点 ​

  1. 平稳性是时间序列分析的基础
  2. 马尔可夫链用于序列建模和强化学习
  3. AR、MA、ARMA 模型是经典的时间序列模型
  4. 谱分析提供了频域视角
  5. Kalman 滤波是最优的递归滤波算法

代码实验 ​

Stochastic Processes

图:随机过程实验结果。包含马尔可夫链状态分布收敛、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"

本教程采用 CC BY-NC-SA 4.0 许可协议