Skip to content

方法Method

分层 Monte Carlo

Stratified Monte Carlo · Stratified simulation · 分层模拟

按已知概率划分模拟域,在各条件分布内独立抽样,以固定层配额消去层间组成波动,并正确估计剩余模拟误差。

形式陈述 ​

目标是 μ=Ef(X),其中 X∼P,Ef(X)2<∞。事先把状态空间划成有限个互不重叠的层 A1,…,AH,它们穷尽全部概率质量。假定各层概率 wh=P(X∈Ah)>0 已精确知道,能从每层的条件分布 P(⋅∣X∈Ah) 抽样。令

μh=E[f(X)∣X∈Ah],σh2=Var(f(X)∣X∈Ah).

在第 h 层独立产生 nh≥1 个样本;各层也使用独立随机流。预算 N=∑hnh 固定,分层估计量为

μ^S=∑h=1HwhY¯h,Y¯h=1nh∑i=1nhf(Xhi).

全期望与全方差公式给出 μ=∑hwhμh。层内均值无偏、层间独立,故

Eμ^S=μ,Var(μ^S)=∑hwh2σh2nh.

权重是层的真实概率 wh,不是样本比例 nh/N;只有比例分配时两者才相等。各层来自可反复抽样的概率分布,本式没有有限总体修正。

比例分配为何不劣于普通模拟 ​

假定 Nwh 都是正整数,取 nh=Nwh。于是分层方差为 N−1∑hwhσh2。普通IID Monte Carlo单次方差可分为

Var(f(X))=∑hwhσh2+∑hwh(μh−μ)2.

两者使用同样 N 次目标函数求值,方差之差恰为

1N∑hwh(μh−μ)2≥0.

分层消去的是“这一批碰巧多抽了哪些层”的组成波动。严格改善需要各层均值不全相等;如果层均值相同,比例分配与IID基准方差相同。这项保证针对精确比例配额,随意分配或粗暴取整后需重新代入方差式检查。

分配还能进一步优化 ​

若各层 σh>0、函数求值成本相同,先把 nh 当连续数,Cauchy–Schwarz 不等式给出

(∑hwh2σh2nh)N≥(∑hwhσh)2.

等号条件为 nh∝whσh,即给概率大、波动大的层更多样本。有限预算最终需要正整数配额;若需估计层内方差,通常还要 nh≥2。零方差层若其常值已经知道,可直接加入确定贡献;仅仅猜测它方差为零不足以跳过该层。

直觉

把积分域分成若干小区域,是为了确保每一区域都有预定的观察机会。层内仍随机,层总权重却固定。因此每层内部越平坦,剩余误差越小;边界漂亮或层数多本身都不是收益保证。

固定层配额与条件均值

分层抽样与Neyman分配也优化层内资源,但该页的随机对象是有限总体不放回设计,方差有 1−nh/Nh 修正。本页可以在同一层反复模拟新样本,没有“把该层抽完”的上界。共同的二次优化形式不能抹掉这两个实验的区别。

例子与边界

把二次积分分成左右两半 ​

令 X∼Uniform(0,1)、f(x)=x2,按 A1=(0,1/2]、A2=(1/2,1) 分层,两个概率都为 1/2。边界取法不影响连续分布。由积分直接算得

μ1=112,μ2=712,E(Y2∣A1)=180,E(Y2∣A2)=3180.

因此

σ12=1180,σ22=17360.

这两个层内方差不同:右半区的平方函数更陡,相同长度不代表相同波动。等额配给 N/2 个样本后,

Var(μ^S)=12N(1180+17360)=19720N.

原IID方差为 4/(45N)=64/(720N),因此分层方差是原来的 19/64,约29.69%。差额 45/(720N)=1/(16N) 恰好是两个层均值 1/12,7/12 的层间方差除以 N,可反过来检查分解。

连续最优人数比为 2:17。总预算 N=240 时可选整数配额 (60,180),此时

Var(μ^S)=14(1/18060+17/360180)=23259200.

等额 (120,120) 的方差为 19/172800;普通240点均值为 1/2700。这只是一个可执行的近最优整数方案,不能把连续解的最优性直接盖到它头上。虽然第二层拿到四分之三样本,加权时仍用两个 1/2;若用样本比例 (1/4,3/4),期望会变成 11/24,已经偏离目标 1/3。

任意配额可以浪费信息 ​

设层标签以等概率取1或2,输出在两层都独立取 −1,+1 且等概率。两层均值都为0、方差都为1,普通 N=100 次模拟方差是 1/100。比例配额 (50,50) 达到相同方差;若改为 (90,10),仍用正确层权重,则方差为

14(190+110)=136>1100.

估计依然无偏,但小层样本的噪声被固定的二分之一权重放大,方差变为基准的 25/9 倍。这个反例只改变配额,直接指出“不劣”结论所需的比例条件。

每层只有一个点时,输出行不能估出层内散布 ​

如果每层只抽一个点,点估计仍可无偏,但没有该层内部的重复来计算 sh2。把不同层输出混起来算普通样本方差,会同时混入层均值差异,且忽略不同权重,通常不是目标方差估计。可在每层增加独立重复,或独立重复整套分层设计;后者每套输出一个完整估计值,再跨套估计Monte Carlo误差。不能用“层数很多”替代独立同分布条件。

推论与应用

误差估计与执行 ​

若每层 nh≥2,用层内样本方差 sh2 构造

V^=∑hwh2sh2nh.

由于每个 sh2 对 σh2 无偏,V^ 无偏估计分层均值方差;V^ 本身一般不是标准差的无偏估计。固定层数、各 nh→∞ 且占比有正极限、总渐近方差为正时,可对各层均值联合应用独立中心极限定理,得到正态区间。层数随预算增长的单点分层需要另行分析,不能套这组固定层条件。

算法输入须包含层集合、准确 wh、每层条件采样器、整数配额和种子分流。运行时逐层维护个数、均值、平方差;不变量为第 h 层只处理来自该条件分布的样本,最后总贡献始终为 whY¯h。函数求值总数为 N,累加成本 O(N),额外在线统计量存储 O(H),还应计入获得条件样本的真实成本。稀有层若靠拒绝抽样获取,可能消耗远多于 nh 次底层随机提议。

用先导数据估计层方差后,应冻结配额并使用独立主样本;此时条件于先导,前述无偏性与方差表达仍成立。若层边界也由先导选择,还必须能准确计算新层概率和按新条件分布取样。同一批样本边看边决定在哪层停止时,样本数与结果相关,固定配额方差式没有自动保留。

两个自测:若每层输出已知恒为 ah,答案是 ∑hwhah,模拟方差为零;若有一层概率 wh>0 却配额为零且层均值未知,则本页估计量没有定义,不能将其贡献默认为零。极稀有也不等于可忽略。

多层Monte Carlo也分配多组独立样本,但其“层”是近似精度,贡献为 P0 与相邻耦合差 Pℓ−Pℓ−1,各项权重1,合起来靠望远镜得到 EPL。本页的层则是概率空间划分,权重为真实层概率;其总目标没有因为有限精度层级而自动产生截断偏差。两种费用分配共享平方根代数,估计对象和偏差责任不同。

参考资料
关系图谱21 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系