随机微分方程(SDE)在常微分方程上叠加噪声项,描述受随机扰动驱动的动力学系统——从分子碰撞到期权价格,真实世界几乎不含无噪声系统。整个体系的演化脉络见微分方程,确定性基线见常微分方程。

从 ODE 到 SDE

常微分方程假设演化完全确定:给定初值,未来唯一锁定。但真实系统永远带涨落——分子碰撞、热噪声、市场冲击。把扰动建模为布朗运动增量 ,就得到 SDE:

符号含义
漂移项(drift),确定性趋势
扩散项(diffusion),随机扰动强度
维纳过程(布朗运动),见高斯分布的增量视角

关键差别藏在量级里:,而普通增量是 量级。噪声项衰减得慢一档, 在 时爆炸,所以 SDE 写不成导数形式——这不是记号偏好,是布朗运动轨道不可微、无界变差带来的硬约束,完整因果链见变差。对这样的被积函数做积分,古典微积分直接失效,必须换成 伊藤积分与伊藤公式。

不是普通无穷小

量级——平方后与确定性项同阶,不能像处理 那样扔掉。伊藤引理里多出的修正项 正是由此而来。

伊藤引理

随机版的链式法则,对 :

比确定性链式法则多出的 项是二次变差的直接后果。积分构造与推导细节见 伊藤积分与伊藤公式,这里只消费结论:有了它,才能对 SDE 的解做函数变换。

同一方程有两种积分版本:Itô 取左端点(不可预测,金融与扩散模型的标准选择,鞅性质干净);Stratonovich 取区间中点(满足普通链式法则,物理与连续时间极限的噪声建模惯用)。两者可通过修正漂移项互相换算。

解与典型实例

SDE 的解不是一条曲线,而是一族随机轨道。绝大多数 SDE 没有解析解,几何布朗运动(GBM)是少数例外:

对 用伊藤引理,漂移被修正 ,得到闭式解:

Black-Scholes 期权定价正建立在 GBM 之上。另一个经典是 Ornstein-Uhlenbeck 过程——漂移把状态拉回均值、扩散项搅动,稳态分布是高斯;其物理原型即 Langevin dynamics 朗之万动力学。

Fokker-Planck:轨道与密度两副面孔

单条轨道随机,但轨道集合的概率密度 演化完全确定,服从 Fokker-Planck 方程:

确定性动力学里对应的是相空间密度演化的刘维尔方程 Liouville Equation——没有扩散项的 Fokker-Planck。同一个系统,SDE 描述样本轨道,Fokker-Planck 描述分布,前者适合模拟与单轨迹推理,后者适合统计性质与平稳分布分析。

数值求解

方法强收敛阶特点
Euler-丸山0.5直接移植欧拉法,简单通用
Milstein1补二次变差项,精度提升一档
隐式方法可变适合刚性漂移项

ODE 数值法的主角是局部截断误差 ;SDE 里 主导误差,Euler-丸山步长减半、误差只按 缩,慢得多——Milstein 补上 的修正项才回到一阶强收敛。

import numpy as np
 
def euler_maruyama(mu, sigma, x0, T, n_steps, n_paths, seed=0):
    # GBM: dX = mu*X dt + sigma*X dW;噪声增量 std = sqrt(dt),不是 dt
    rng = np.random.default_rng(seed)
    dt = T / n_steps
    x = np.full(n_paths, float(x0))
    for _ in range(n_steps):
        dw = rng.standard_normal(n_paths) * np.sqrt(dt)
        x += mu * x * dt + sigma * x * dw
    return x
 
# 模拟 GBM 终值,验证 E[S_T] = S_0*exp(mu*T)
paths = euler_maruyama(mu=0.05, sigma=0.2, x0=100, T=1, n_steps=1000, n_paths=20000)
print(paths.mean(), 100 * np.exp(0.05))

应用

领域应用
扩散模型Score-based 生成:加噪-去噪过程本身写成 SDE
金融工程期权定价(Black-Scholes)、利率模型
物理学Langevin dynamics 朗之万动力学、分子动力学控温
系统生物学基因表达噪声、种群随机涨落

扩散模型是近年最亮眼的消费者:前向过程是把数据逐步加噪的 SDE,生成是求解反向 SDE——score 网络学的正是反向漂移项,理论展开见 伊藤积分与伊藤公式 的应用小节。