重要性采样模拟器 返回
数理统计模拟器

重要性采样 — 高效估计尾部概率

并行使用朴素蒙特卡罗与重要性采样估计标准正态分布的尾部概率 P(X>t)。调节提议分布的均值和标准差,实时体验方差缩减效果。

参数设置
尾部阈值 t
σ
样本数 N
提议分布均值 μ
提议分布标准差 σ

随机数由固定种子 seed=42 的 LCG 与 Box-Muller 法生成,相同参数下结果可重现。

计算结果
真值 P(X>t)
朴素 MC 估计
IS 估计
方差缩减比 Var_MC/Var_IS
目标分布 p、提议分布 q 与估计值收敛

上半:蓝=目标 N(0,1)/绿=提议 q(x)/红虚线=阈值 t/红色填充=尾部 x>t 下半:蓝=朴素 MC 估计/红=IS 估计/绿虚线=真值

理论与主要公式

目标分布 $p$ 下的期望可由提议分布 $q$ 的加权样本来评估:

$$I = \mathbb{E}_p[h(X)] = \int h(x)\,p(x)\,dx = \mathbb{E}_q\!\left[h(X)\,\frac{p(X)}{q(X)}\right]$$

从 $q$ 抽取 $N$ 个样本 $X_i$,并使用权重 $w(X_i)=p(X_i)/q(X_i)$ 进行修正,得到重要性采样估计量:

$$\hat I_{\text{IS}} = \frac{1}{N}\sum_{i=1}^{N} h(X_i)\,w(X_i),\quad X_i \sim q$$

对于尾部概率 $P(X>t)$,取 $h(x)=\mathbf 1(x>t)$,$p=\mathcal N(0,1)$,$q=\mathcal N(\mu,\sigma^2)$,权重为

$$w(x)=\frac{\sigma\exp(-x^2/2)}{\exp(-(x-\mu)^2/(2\sigma^2))}$$

取 $\mu\approx t$ 时几乎所有样本都落在尾部,方差缩减比 $\operatorname{Var}(\hat I_{\text{MC}})/\operatorname{Var}(\hat I_{\text{IS}})$ 可达数倍乃至上千倍。

什么是重要性采样模拟器

🙋
"尾部概率"是什么呀?我以为只要用普通蒙特卡罗法抽10000个随机数数一数,任何概率都能算出来。
🎓
大致来说,就是某个罕见事件发生的概率。比如标准正态分布超过 3σ 的概率约为 0.00135——抽10000个样本平均也只有13个命中。在模拟器中看一下 t=3 时的"朴素 MC 估计",每次结果都有明显波动,相对误差大约 1/√13 ≈ 28%。
🙋
28%差好多。多抽点样本不就行了吗?
🎓
如果 t=5(5σ),真值约 3×10⁻⁷,10000 样本平均才命中 0.003 个,即使抽 100 万个也只大约 3 个。需要的样本数随 t 指数增长。这就是"重要性采样(IS)"的用武之地。把模拟器的 μ 保持在 3,看"IS 估计"卡片,明显比朴素 MC 稳定得多。
🙋
原来如此!绿色曲线被拉到了尾部。这是怎么做到的?
🎓
把提议分布 q(x) 集中到关心的区域(尾部)进行采样,然后用权重 w(x)=p(x)/q(x) 修正。期望式 ∫h(x)p(x)dx 等价于 ∫h(x)w(x)q(x)dx,所以无论选哪个提议分布,期望都保持不变。看"方差缩减比"卡片——默认设置下应大于10,把 μ 调到等于 t 时更大。
🙋
那 μ 越大越好吗?我把 μ 设成 5 试试……咦,方差缩减比反而下降了!
🎓
这正是重要性采样的陷阱。μ 比 t 大得太多时,样本确实都落在尾部,但权重 w(x) 自身变得方差很大。理论最优是 μ ≈ t,在模拟器中调节 μ 可以看到方差缩减比在 μ=t 附近达到峰值。实际工程中如何选取提议分布本身就是一个研究方向。

常见问题

在期望积分内乘除 q(x):E_p[h(X)] = ∫h(x)p(x)dx = ∫h(x)·{p(x)/q(x)}·q(x)dx = E_q[h(X)·p(X)/q(X)],形式上对任意 q 都成立。但如果在 p(x)·h(x)≠0 的区域 q(x)=0,估计将失效,因此 q 的支撑集必须覆盖目标分布的相关部分。
方差缩减比 Var_MC/Var_IS 为 10 时,意味着达到相同精度只需十分之一的样本数:朴素 MC 需要 10 万样本时,IS 只需 1 万样本。比值 100 则再节省 10 倍。对极罕见事件该比值可超过 1000,使计算时间减少数个数量级。
这是经典的"权重爆炸"失效模式。少数样本权重极大,主导了估计,虽然得到一个数值,但方差灾难性增大。对策包括将提议分布拉近目标分布(重新选择 μ 和 σ),使用自归一化重要性采样(SIS),以及监控有效样本数 ESS = (Σw)² / Σw²。
完全可以——它就是结构可靠性分析的主力方法。当失效概率低于 10⁻⁴ 时,朴素 MC 结合 FEM 在实际上不可行。把提议分布置于最可能失效点附近的"设计点重要性采样(DP-IS)",配合 FORM 与 SORM 一同被广泛使用。

现实世界中的应用

结构可靠性分析:对于桥梁、飞机、核电站等失效概率介于 10⁻⁴ 至 10⁻⁹ 的结构,朴素蒙特卡罗法实际不可用。结合 FORM/SORM 与设计点重要性采样(DP-IS),对 FEM 模型运行成千上万次以高精度估计失效概率。日本道路桥示方书、ASME 规范中的可靠性指标 β 都通过此方法计算。

金融工程风险管理:VaR(在险价值)与 CVaR(条件 VaR)估计中,投资组合的大额损失事件位于损失分布的尾部。将提议分布偏向市场暴跌情景,可使所需路径数减少 1000 倍以上,使实时风险计算成为可能。它是量化金融的基础工具。

通信工程的比特误码率估计:数字通信系统的 BER 经常达到 10⁻⁹ 量级,直接仿真需要数百亿比特。重要性采样将噪声样本集中到易错的尾部,使仿真时间缩短到数小时,被广泛用于调制方式和纠错码的设计。

贝叶斯统计与粒子滤波:序贯重要性重采样(SIR)以及序贯蒙特卡罗 / 粒子滤波的核心就是重要性采样。当无法直接从后验分布采样时,使用与似然成正比的提议分布并用权重修正。自动驾驶状态估计、机器人定位也依赖同样的思想。

常见误区与注意事项

最常见的误区是认为提议分布越偏离目标越好。试着在模拟器中把 μ 从默认 3.0 增大到 5.0,样本确实更集中在尾部,但方差缩减比反而下降。这是因为权重 w(x)=p(x)/q(x) 对少数样本变得极大,引发所谓"权重爆炸"。理论最优在 μ ≈ t(尾部阈值)附近,无论偏多还是偏少都会降低效率。

第二个陷阱是认为只要增加样本数 N 重要性采样就一定优于朴素 MC。如果提议分布选得差,方差不会随 N 减小,少数离群样本反而让估计大起大落。把模拟器的 σ 设为 0.5、μ 设为 5,可以直观看到估计值不稳定。实际工程中应监控有效样本数 ESS = (Σw_i)² / Σw_i²,当 ESS 低于 N 的几个百分点时就该重新选择提议分布。

最后,重要性采样并非"魔法"。它能让方差减小若干数量级,但只是通过最大化每个样本的信息量做到的,本质的计算成本并未消失。设计好的提议分布需要对目标分布和被积函数有充分了解,选错了反而比朴素 MC 更差。简单尾部问题有已知的最优 μ,但实际问题往往需要自适应重要性采样(AIS)或交叉熵法(CE)来在线学习提议分布本身。