随机过程(Stochastic Process)是概率论的核心分支,研究随时间演化的随机现象序列。与普通随机变量不同,随机过程描述的是时间维度上的不确定系统——每个时刻的状态都是随机的,但前后时刻之间存在内在的依赖关系。
Hugo 的理解偏差:最早我是做 Web 后端的,遇到过"随机数"不够随机(伪随机数周期性问题),以为随机过程就是"高级随机数生成"。其实两者完全不同——随机过程不关心单次随机取值,而是建模随时间演化且具有内在结构的随机系统。股票价格是不可预测的,但价格波动率(volatility)是可建模的。
设 ((\Omega, \mathcal{F}, P)) 是一个概率空间,(\mathcal{T}) 是一个指标集(通常取时间 ([0, \infty)) 或离散时刻 ({0,1,2,\ldots}))。((X_t)_{t \in \mathcal{T}}) 是一个随机过程,如果对每个 (t \in \mathcal{T}),(X_t : \Omega \to S) 是一个随机变量((S) 称为状态空间)。
直观理解:
随机过程可按三个维度分类:
| 分类维度 | 类型 | 示例 |
|---|---|---|
| 时间集 | 离散时间 | 随机游走、ARIMA模型 |
| 时间集 | 连续时间 | 布朗运动、泊松过程 |
| 状态空间 | 离散状态 | 马尔可夫链(天气、排队) |
| 状态空间 | 连续状态 | 几何布朗运动(股票) |
| 依赖性 | 独立增量 | 维纳过程、泊松过程 |
| 依赖性 | 马尔可夫性 | 马尔可夫链、扩散过程 |
| 依赖性 | 鞅性 | 公平赌博、资产定价 |
随机过程完全由其有限维分布族(Finite Dimensional Distributions, FDDs)决定:
[F_{t_1,\ldots,t_n}(x_1,\ldots,x_n) = P(X_{t_1} \leq x_1, \ldots, X_{t_n} \leq x_n)]
Kolmogorov 相容性定理保证了:如果有限维分布族满足对称性和相容性条件,则存在一个随机过程实现它。这个定理奠定了随机过程理论的存在性基础——我们不需要显式构造所有样本路径,只要给出有限维分布,过程就存在。
Kolmogorov 延拓定理(也被称为 Kolmogorov 相容性定理)是随机过程理论的存在性基石。它回答了这样一个问题:**如何保证一个随机过程在数学上存在?**答案是:只要对所有有限维分布族指定一致的概率测度,就一定存在一个概率空间和定义其上的过程。"存在性"在数学中从来不是"显然的"——即便是最简单的独立随机变量序列的无穷列,也需要这个定理保证其存在。
Hugo 的备注:概率论中很多"显然"的东西背后都有深刻的存在性定理。做工程时不需要纠结这些,但理解了这些基础后,当你遇到"这个随机模型是否合理"的问题时,会有更清晰的判断框架。
一个随机过程的样本路径可能有截然不同的性质:
连续性不仅是数学性质,它决定了我们可以对过程做什么样的分析。对于布朗运动,我们可以做伊藤积分;对于 càdlàg 过程,需要考虑跳跃项。
最简单的离散时间过程——({X_n}) 独立同分布:
Hugo 的实战:做 A/B 测试系统时,最初直接用 i.i.d. 假设计算 p 值,结果发现用户行为有日周期性(白天 vs 夜间),根本不是 i.i.d.。后来改用 bootstrap 和自相关校正——现实中的"独立同分布"几乎是理想假设。
定义:(S_n = S_0 + \sum_{i=1}^n X_i),其中 (X_i) 独立同分布。
一维简单随机游走:
重要性质:
Hugo 的感悟:对称随机游走的常返性听起来"平凡",但关键在维度差异——一维和二维随机游走是常返的,三维及以上是非常返的。这个现象和"醉酒的人总能回家,醉酒的鸟永远飞不回"是一个道理。这个结论的现实含义是:在三维空间中,扩散粒子不太可能回到出发位置——这在化学反应速率理论中有直接影响。
在工程中,更常用的是 自回归滑动平均模型(ARMA):
AR(1) 模型:(X_t = \phi X_{t-1} + \varepsilon_t)
MA(1) 模型:(X_t = \varepsilon_t + \theta \varepsilon_{t-1})
ARMA(p,q):结合自回归和滑动平均
ARIMA(p,d,q):对差分后的序列建模,(d) 为差分阶数
选择模型的准则:
隐马尔可夫模型(HMM)是一种双层随机过程:底层是一个不可观测的马尔可夫链(隐藏状态),顶层是依赖于隐藏状态的可观测变量(发射分布)。HMM 的核心假设是:给定当前隐藏状态,当前观测与过去观测条件独立。
三个基本问题:
应用场景:
虽然在离散时间中"扩散"一词更常用于连续时间语境,但离散时间的随机过程也有很多类似于扩散的行为——关键区别在于步长分布的形状。
马尔可夫过程的核心性质是马尔可夫性(Markov Property):
[P(X_{t+1} = j \mid X_t = i, X_{t-1} = i_{t-1}, \ldots, X_0 = i_0) = P(X_{t+1} = j \mid X_t = i)]
"未来只通过现在依赖于过去"——这是随机过程理论中最深刻的简化假设之一。它不是在所有现实系统中成立,但当它成立时,极大地简化了分析和计算。
Hugo 的理解方式:把马尔可夫性想成"系统有记忆但只有短期记忆"。你只需要知道当前状态,过去的历史已经被"压缩"到当前状态中了。很多实际系统在合理的时间尺度上,近似满足马尔可夫性——比如天气预报,"明天是否下雨"主要由"今天是否下雨"和"今天的各种气象参数"决定,而一周前的天气影响很小。
对于离散时间离散状态的马尔可夫链,转移概率矩阵为 (P = (p_{ij})):
[p_{ij} = P(X_{n+1} = j \mid X_n = i)]
性质:
根据访问性质,状态可分为:
| 类型 | 定义 | 特征 |
|---|---|---|
| 常返 | 返回无穷次的概率为 1 | 平均返回时间有限 |
| 瞬过 | 最终不再返回 | 返回概率 < 1 |
| 周期 | 返回周期 > 1 | 如 (d>1) 步循环 |
| 非周期 | 周期为 1 | 极限存在唯一 |
| 吸收 | 一旦进入即永久停留 | (p_{ii}=1) |
不可约性:链中所有状态互通(从任何状态可以到达任何状态)。不可约链要么全部常返,要么全部瞬过。
平稳分布 (\pi) 满足:
[\pi_j = \sum_i \pi_i p_{ij}, \quad \sum_j \pi_j = 1]
矩阵形式:(\pi = \pi P)
存在性与唯一性:
如果满足细致平衡条件(Detailed Balance):
[\pi_i p_{ij} = \pi_j p_{ji}\quad \forall i, j]
则称该马尔可夫链关于 (\pi) 是可逆的。
Hugo 的理解:细致平衡像物理学中的微观可逆性——"正向流的概率密度 = 反向流的概率密度"。这在 MCMC(马尔可夫链蒙特卡洛方法)中至关重要,Metropolis-Hastings 算法就是通过构造满足细致平衡的链来采样任意分布。
Google 的 PageRank 算法本质上是马尔可夫链的平稳分布计算:
阻尼因子 (d) 防止"陷入"没有出链的页面(sink nodes),本质上是一个随机重启机制。
Hugo 的笔记:早在学 PageRank 之前,我已经在日常项目里碰到过"计算图的重要性排序"问题。当时用迭代法(类似幂法)算节点分数,后来才发现 PageRank 就是马尔可夫链的平稳分布。很多工程直觉背后其实有完整的数学理论,重学数学的价值就在于此。
MCMC 将马尔可夫链与蒙特卡洛集成,使得从复杂高维分布的采样变为可行。传统蒙特卡洛直接采样在遇到高维复杂分布时不可行,MCMC 通过构造马尔可夫链来解决这一问题。
Metropolis-Hastings 算法:
Gibbs 采样是 Metropolis-Hastings 的一个特例:每次从一个变量的条件分布中采样,接受概率恒为 1,采样效率更高。
Hugo 的实现经验:MCMC 的调参关键是提议分布的方差——太大导致拒绝率高(样本效率低),太小导致探索不足(链易卡在局部模式)。经验法则是目标接受率在 0.2-0.5 之间。我自己写过一个自适应 MCMC,运行时动态调整提议方差——10% 的额外代码换来了 3 倍的采样效率提升。
鞅(Martingale)是最优雅的随机过程之一。一个离散时间随机过程 ({M_n}) 是鞅,如果:
直觉:"给定当前信息集 (\mathcal{F}_n),未来的条件期望等于当前值"——鞅是公平赌博的数学模型。
定义鞅差序列:(\Delta_n = M_n - M_{n-1}),则:
鞅差序列在计量经济学中有重要应用:如果残差是鞅差,则模型是"动态完备"的。
(M_n = M_0 + \sum_{k=1}^n Y_k \Delta M_k),其中 (Y_k) 在 (\mathcal{F}_{k-1}) 下可测(可预测)。
直白理解:鞅变换是以"之前的信息"决定"本次押注多少"——在公平赌博中,任何基于过去信息的策略都不能改变最终的公平性。这是赌博无策略定理,也是有效市场假说的数学基础。
可选停时定理(Optional Stopping Theorem):
如果 (\tau) 是有界停时((P(\tau \leq K) = 1)),则 (E[M_\tau] = E[M_0])。
Hugo 的关键领悟:可选停时定理是"庄家不可能被完美停时打败"的数学表述。但注意!它只在有界停时下成立。赌徒的"倍投策略"(double down)——输后加倍投注直到赢——看似能确保最后不亏,但停时可能无界且期望输出负无穷。这不是正确的"稳赢策略"。
鞅收敛定理:
Doob 分解:任何适应过程可以唯一分解为鞅 + 可预测过程。这个分解是时间序列预测的理论基础——任何可预测的"系统部分"加上不可预测的"鞅部分"。
鞅在金融数学中处于核心地位:
Hugo 的理财感悟:学了鞅才明白,为什么没有免费的午餐——任何"看起来稳赚"的策略,要么是在停时上做文章(实际承受尾部风险),要么是高杠杆下的时间欺骗。市场上不存在可预测的一致超额收益,如果有人声称有,要么他们不懂鞅,要么他们在卖课程。
布朗运动是最基础的连续时间随机过程。(W_t) 是布朗运动,如果:
重要性质:
对于布朗运动,经典黎曼积分失效(因为路径不可导),需要伊藤积分:
[\int_0^T f(t, \omega) dW_t]
构建过程:先对简单函数(阶梯函数)定义积分,再通过等距延拓到更广泛的被积函数类。伊藤等距式(Itô Isometry)是这一过程的核心:
[E\left[\left(\int_0^T f_t dW_t\right)^2\right] = E\left[\int_0^T f_t^2 dt\right]]
伊藤公式(随机链式法则):
[df(X_t) = f'(X_t)dX_t + \frac{1}{2}f''(X_t)d[X, X]_t]
二阶项的存在是随机微积分与经典微积分最本质的不同——因为布朗运动的二次变差不为零。
Hugo 的震撼:当年第一次看到伊藤公式时非常困惑——"为什么多了一个二阶项?"后来明白了:布朗运动的均方波动是 (\mathcal{O}(dt)) 量级,而不是 (\mathcal{O}(\sqrt{dt}))。经典微积分假设了 ((dx)^2 \approx 0),但在布朗运动中 ((dW_t)^2 = dt)。随机性是"一阶"的,不是"二阶"的。
一般形式:
[dX_t = \mu(X_t, t)dt + \sigma(X_t, t)dW_t]
其中 (\mu) 是漂移项(决定趋势),(\sigma) 是扩散项(决定波动性)。
常见模型:
几何布朗运动(GBM):(dS_t = \mu S_t dt + \sigma S_t dW_t)
Ornstein-Uhlenbeck 过程:(dX_t = \theta(\mu - X_t)dt + \sigma dW_t)
Cox-Ingersoll-Ross(CIR)模型:(dr_t = \kappa(\theta - r_t)dt + \sigma \sqrt{r_t} dW_t)
不是所有连续时间过程都连续。泊松过程是典型的有跳跃的过程:
[N_t = \sum_{i=1}^{\infty} \mathbf{1}_{{T_i \leq t}}]
其中 (T_i) 是独立指数分布的时间间隔(参数 (\lambda))。
性质:
复合泊松过程:每次跳跃的幅度也是随机变量:
[Y_t = \sum_{i=1}^{N_t} Z_i]
其中 (Z_i) 独立同分布,且与 (N_t) 独立。
应用:保险精算(索赔次数 + 索赔金额)、排队论(到达率)、金融高频交易(交易事件)。
Lévy 过程是独立平稳增量过程的统称,它包括:
Lévy–Itô 分解说明:任何 Lévy 过程可以分解为连续鞅部分 + 大跳部分 + 补偿小跳部分。
严平稳:有限维分布在时间平移下不变。即对任意 (t_1,\ldots,t_n) 和 (h):
[(X_{t_1},\ldots,X_{t_n}) \stackrel{d}{=} (X_{t_1+h},\ldots,X_{t_n+h})]
宽平稳(弱平稳):
遍历性定理(Ergodic Theorem)(严平稳过程):
[\frac{1}{n}\sum_{i=1}^n f(X_i) \xrightarrow{a.s.} E[f(X_0)]]
本质:时间平均 = 系综平均。
Hugo 的重要提醒:很多人(包括以前的我)默认时间序列可以"取平均估计期望"。但这只在遍历性下成立。一个简单的反例是随机常数过程((X_n \sim \mathcal{N}(0,1)),然后所有时间点的值等于第一个随机实现 (X_1))——时间平均收敛到第一个随机值,而不是总体均值。遍历性是不可忽视的假设。
测量误差模型、面板数据模型中的个体效应、不可交换的时间序列——这些场景中遍历性假设需要谨慎验证。
平稳过程的谱表示:
[f(\omega) = \sum_{k=-\infty}^{\infty} \gamma(k) e^{-i k \omega}]
谱密度函数的物理意义:方差在不同频率上的分解。高频能量大说明过程"跳动多",低频能量大说明"趋势性"强。
应用示例:分析经济周期时,谱密度在 3-7 年周期处出现峰值,说明经济存在"基钦周期"(库存周期)。同样,分析销售数据时,谱密度在 24 小时、7 天、12 个月处的峰值揭示了季节性的三个层次。
随机过程在金融中最广泛的应用:
| 应用 | 使用的随机过程 | 关键概念 |
|---|---|---|
| 股票定价 | 几何布朗运动 | 对数正态分布 |
| 利率建模 | CIR、Vasicek | 均值回归 |
| 信用风险评估 | Merton 模型 | 第一穿越时间 |
| 期权定价 | 布朗运动 | 风险中性测度 |
| 高频交易 | 泊松跳跃 + 布朗运动 | 跳跃扩散过程 |
Hugo 的实践:在做简单的期权模拟时,发现 GBM 假设的"对数正态收益"在实际市场不成立——真实收益率有肥尾(fat tail)特征。后来引入了 GARCH 模型(Bollerslev 1986)来建模波动率聚类(volatility clustering),预测准确度提升明显。
Hugo 的观察:2020 年后,扩散模型(基于 SDE 的生成模型)大幅超越了 GAN,成为图像生成的主流。其数学之美在于:前向过程用 SDE 将数据变为噪声,逆向过程用学习的 SDE 将噪声变回数据。这是随机过程理论在 AI 时代最杰出的应用。如果你学过伊藤微积分,理解 DDPM 的数学基础会非常顺畅——score matching + SDE 逆向 = 生成模型。
布朗运动路径生成(Python):
import numpy as np
def generate_bm_path(T=1.0, n=1000):
dt = T / n
t = np.linspace(0, T, n+1)
dW = np.random.normal(0, np.sqrt(dt), n)
W = np.cumsum(np.concatenate([[0], dW]))
return t, W
# 几何布朗运动
def generate_gbm_path(S0=100, mu=0.05, sigma=0.2, T=1.0, n=252):
dt = T / n
dW = np.random.normal(0, np.sqrt(dt), n)
W = np.cumsum(np.concatenate([[0], dW]))
t = np.linspace(0, T, n+1)
S = S0 * np.exp((mu - 0.5 * sigma**2) * t + sigma * W)
return t, S
# 模拟 OU 过程
def generate_ou_path(theta=1.0, mu=0.0, sigma=0.3, x0=0.0, T=1.0, n=1000):
dt = T / n
x = np.zeros(n+1)
x[0] = x0
for i in range(n):
dW = np.random.normal(0, np.sqrt(dt))
x[i+1] = x[i] + theta * (mu - x[i]) * dt + sigma * dW
return np.linspace(0, T, n+1), x
极大似然估计(MLE):对参数化的 SDE 模型
EM 算法:处理部分可观测过程(如 HMM)
粒子滤波(序贯蒙特卡洛):用于非线性非高斯系统
卡尔曼滤波:线性高斯系统的最优估计
Hugo 的踩坑记录:
- 某次做热力图(排队模拟),用了 100 万次蒙特卡洛模拟,发现结果总不对。查了一天才发现——numpy 的随机种子重复了,所有样本路径实际上是同一条。教训:多线程模拟一定要管理好随机状态。正确的做法:为每个线程/进程分配不同的种子或使用 numpy 的 SeedSequence。
- 用 SDE 做期权定价时,对数值解算子的稳定性估计不足。显式 Euler–Maruyama 有严格步长限制。换用 Milstein 方法(含扩散项的泰勒展开到二阶)后,收敛速度显著提升。
- 模拟 OU 过程时,如果 (\theta dt) 太大(接近或超过 1),数值解会发散——原因是对均值回归项的离散化不稳定,需要按矩阵指数形式精确求解。
本文为数学知识库系列的一部分,更多相关内容请访问 数学知识库索引