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

扩展:随机过程进阶

在线 Notebook

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

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


为什么需要理解随机过程

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

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

随机过程的基本概念

定义

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

分类:

  • 离散时间t{0,1,2,}(序列)
  • 连续时间tR(信号)
  • 离散值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(t1t2)=R(τ)(只依赖于时间差)

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

自相关函数(ACF)

对于宽平稳过程:

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

性质:

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

马尔可夫链

定义

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

P(Xn+1=x|Xn=xn,Xn1=xn1,)=P(Xn+1=x|Xn=xn)

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

转移矩阵

定义:转移概率矩阵 P

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

性质:

  • 每行和为 1:jPij=1
  • 所有元素非负:Pij0

例子:天气模型

状态:晴天、阴天、下雨

转移矩阵:
       晴  阴  雨
晴  [ 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)+ϵ,fGP(μ,K)

优势:

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

应用:

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

自回归模型(AR)

AR(p) 模型

定义:

Xt=ϕ1Xt1+ϕ2Xt2++ϕpXtp+ϵt

其中 ϵt 是白噪声。

特征方程

特征多项式:

1ϕ1zϕ2z2ϕpzp=0

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

自相关函数

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

ρ(τ)=ϕ|τ|

移动平均模型(MA)

MA(q) 模型

定义:

Xt=ϵt+θ1ϵt1+θ2ϵt2++θqϵtq

自相关函数

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


ARMA 模型

ARMA(p,q) 模型

定义:

Xt=ϕ1Xt1++ϕpXtp+ϵt+θ1ϵt1++θqϵtq

优势:

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

模型选择

使用 ACF 和 PACF(偏自相关函数)选择 pq

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

谱分析

功率谱密度(PSD)

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

S(f)=τ=R(τ)ej2π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 许可协议