第 14 章 · 信息与随机模拟

14.3 蒙特卡洛误差与方差缩减

Monte Carlo Error and Variance Reduction
得到一批随机样本后,还要知道估计误差有多大,以及能否用相同计算量提高精度。本节从独立样本均值的方差和中心极限定理出发,推导控制变量、对偶变量、分层与重要性采样的方差公式。通过可解析的积分和稀有事件例子比较效果,并说明支撑遗漏、无穷二阶矩、自归一化偏差及置信区间的适用边界。

14.3.1 估计量、标准误与置信区间

目标是计算 \(\mu=E_p[h(X)]\)。按照上一节的方法生成 iid 样本 \(X_1,\ldots,X_n\),记 \(H_i=h(X_i)\)。若 \(E_p|h(X)|<\infty\),强大数定律保证 \(\widehat\mu_n=n^{-1}\sum_iH_i\to\mu\) 几乎必然;若再有 \(0<\sigma^2=\operatorname{Var}_p(h(X))<\infty\),则

\[E\widehat\mu_n=\mu,\qquad\operatorname{Var}(\widehat\mu_n)=\frac{\sigma^2}{n},\qquad\frac{\sqrt n(\widehat\mu_n-\mu)}{\sigma}\Rightarrow N(0,1).\]
(14.3-1)

标准误是估计量本身的标准差 \(\sigma/\sqrt n\),不等于单个观测的标准差。样本方差 \(s_n^2=(n-1)^{-1}\sum_i(H_i-\widehat\mu_n)^2\) 在有限二阶矩下依概率趋于 \(\sigma^2\)。结合 Slutsky 定理,得到渐近置信区间

\[\widehat\mu_n\ \pm\ z_{1-\alpha/2}\frac{s_n}{\sqrt n},\]
(14.3-2)

其中 \(z_{1-\alpha/2}\) 是标准正态分位数。它的重复实验覆盖率趋于 \(1-\alpha\),并不保证这一次区间一定覆盖 \(\mu\),也不自动给出有限样本的精确覆盖率。若方差无穷,这个标准误公式不能沿用;若数据来自有关联的链,方差也不再简单等于 \(\sigma^2/n\)。

例 1 · 一个可以核对误差的积分

取 \(U\sim U(0,1)\)、\(h(U)=U^2\)。解析值为 \(\mu=1/3\),单项方差 \(\sigma^2=EU^4-(EU^2)^2=1/5-1/9=4/45\)。当 \(n=10^4\) 时,标准误约 \(0.002981\),使用真实方差的渐近 95% 区间半宽约 \(1.96\times0.002981=0.005844\)。这些是解析误差尺度,不是一批虚构的模拟输出。

有限样本概率界与近似区间

若各 \(H_i\in[a,b]\) 且独立,Hoeffding 不等式给出 \(P(|\widehat\mu_n-\mu|\ge\varepsilon)\le2\exp[-2n\varepsilon^2/(b-a)^2]\)。这是有限样本概率上界,往往比正态近似保守;它同样不是“每次误差必小于 \(\varepsilon\)”的确定性保证。精度要求应明确是标准误、覆盖率还是偏差概率。

14.3.2 控制变量的最优系数

假设同时能计算 \(G=g(X)\),且其均值 \(\gamma=EG\) 已知。若 \(H,G\) 均平方可积、\(\operatorname{Var}(G)>0\),对一个预先固定的实数 \(c\) 构造 \(H_c=H-c(G-\gamma)\)。由于减去的部分均值为零,\(EH_c=\mu\)。

控制变量(control variate)的方差最小化
\[\operatorname{Var}(H_c)=\operatorname{Var}(H)-2c\operatorname{Cov}(H,G)+c^2\operatorname{Var}(G),\qquad c_* =\frac{\operatorname{Cov}(H,G)}{\operatorname{Var}(G)}.\]
(14.3-3)

配方即得最小方差 \(\operatorname{Var}(H)-\operatorname{Cov}(H,G)^2/\operatorname{Var}(G)\)。若 \(\operatorname{Var}(H)>0\),也可写为 \(\operatorname{Var}(H)(1-\rho^2)\),其中 \(\rho\) 为相关系数。这完整证明了最优性:偏离 \(c_*\) 的额外方差恰为 \((c-c_*)^2\operatorname{Var}(G)\)。

对例 1 取 \(G=U\)、\(\gamma=1/2\)。有 \(\operatorname{Cov}(U^2,U)=1/4-(1/3)(1/2)=1/12\),\(\operatorname{Var}(U)=1/12\),故 \(c_*=1\),调整后 \(H_*=U^2-U+1/2\) 的方差为 \(4/45-1/12=1/180\)。相同样本数下方差缩小到原来的 \(1/16\),标准误缩小到 \(1/4\)。计算额外变量也有成本,真实效率还应计入每个样本的耗时。

控制变量系数与单项方差的定量关系 方差4/450012c最小值 1/180c = 0 对应未调整的估计方差曲线:4/45 − c/6 + c²/12
图 14.3-1 例 1 使用 \(G=U\) 后的解析方差。系数选择不当也可能增大方差;最优系数来自协方差计算。
估计系数后,无偏性要重新检查

若用同一批数据估计 \(\widehat c\),再计算 \(\overline H-\widehat c(\overline G-\gamma)\),乘积的期望未必为零,不能直接套用固定系数的无偏证明。可以用独立的预备样本估计系数,再在正式样本中固定使用;在相应可积条件下,对预备样本条件化即可恢复无偏性。至于预备估计误差对效率的影响,需要另作评估。

14.3.3 对偶抽样、分层与条件化

对偶变量法(antithetic variates)把具有相同边缘分布的两个变量 \(A,B\) 配成一组。若它们的方差均为 \(\sigma^2\),则

\[\operatorname{Var}\!\left(\frac{A+B}{2}\right)=\frac{\sigma^2+\operatorname{Cov}(A,B)}2.\]
(14.3-4)

因此与两次独立计算相比,协方差为负时有改进。取 \(A=h(U),B=h(1-U)\) 时,若 \(h\) 单调且平方可积,协方差非正:用独立的 \(U,V\),恒等式 \(2\operatorname{Cov}(h(U),h(1-U))=E[(h(U)-h(V))(h(1-U)-h(1-V))]\) 的被积函数非正。非单调函数则未必如此。

在例 1 中,成对平均为 \([U^2+(1-U)^2]/2=U^2-U+1/2\),单组方差仍为 \(1/180\)。用 \(n\) 组独立的对偶对,方差为 \(1/(180n)\);使用相同的 \(2n\) 次函数计算,普通 iid 平均的方差为 \(2/(45n)\)。两者相差 \(8\) 倍,这一比较明确计入了每组两次计算。

分层抽样(stratified sampling)先把空间分成有限个概率已知的层 \(A_j\),权重 \(w_j=P(A_j)>0\)。在第 \(j\) 层条件分布中独立抽取 \(n_j\) 个样本,并让不同层也独立,层均值记为 \(\overline H_j\),层内方差为 \(\sigma_j^2\)。则

\[\widehat\mu_{\rm str}=\sum_jw_j\overline H_j,\qquad E\widehat\mu_{\rm str}=\mu,\qquad\operatorname{Var}(\widehat\mu_{\rm str})=\sum_j\frac{w_j^2\sigma_j^2}{n_j}.\]
(14.3-5)

在比例分配 \(n_j=nw_j\) 恰为整数时,该方差是 \(n^{-1}\sum_jw_j\sigma_j^2\)。由总方差公式,它不大于普通 iid 方差;减少的正是层均值差异造成的那部分波动。另一种方法是直接计算 \(E[H\mid\mathcal G]\) 来替代 \(H\),同样保持均值并降低方差,但前提是这个条件期望确实能高效求出。

14.3.4 重要性采样的支撑与二阶矩

重要性采样(importance sampling)

设 \(p,q\) 是相对同一基准测度的概率密度,目标 \(\mu=\int h(x)p(x)\,dx\) 绝对可积。要求在 \(|h|p>0\) 的区域几乎处处有 \(q>0\)。生成 iid 的 \(Y_i\sim q\),定义

\[W(Y)=\frac{h(Y)p(Y)}{q(Y)},\qquad\widehat\mu_{\rm IS}=\frac1n\sum_{i=1}^nW(Y_i).\]
(14.3-6)

在 \(q=0\) 处可任意定义比值。支撑条件保证 \(E_q|W|=\int|h|p<\infty\)、\(E_qW=\mu\),所以估计无偏且强一致。若再有 \(\int h^2p^2/q<\infty\),则

\[\operatorname{Var}_q(W)=\int\frac{h(x)^2p(x)^2}{q(x)}\,dx-\mu^2.\]
(14.3-7)

这些等式由密度变换直接得到,因而也证明了正确性和二阶矩条件。估计量的 CLT 与样本标准误应使用加权输出 \(W(Y_i)\) 的方差,不能使用未加权 \(h(Y_i)\) 的方差。提议分布过轻的尾部可能让权重产生无穷二阶矩,即使原来的普通 Monte Carlo 方差有限。

例 2 · 指数分布的稀有尾事件

设目标为速率 \(1\) 的指数变量满足 \(X>8\) 的概率 \(\mu=e^{-8}\approx0.000335463\)。普通指标估计的单项方差为 \(\mu(1-\mu)\),故单项方差除以 \(\mu^2\) 后为 \(e^8-1\approx2979.958\)。

改用速率 \(\lambda=1/8\) 的指数提议,权重输出为 \(W(Y)=\lambda^{-1}e^{-(1-\lambda)Y}\mathbf1_{\{Y>8\}}\)。直接积分得到,凡 \(0<\lambda<2\),

\[E_qW^2=\frac{e^{-8(2-\lambda)}}{\lambda(2-\lambda)},\qquad\frac{\operatorname{Var}_q(W)}{\mu^2}=\frac{e^{8\lambda}}{\lambda(2-\lambda)}-1.\]
(14.3-8)

取 \(\lambda=1/8\) 时,后一值约为 \(10.598\),方差降低约 \(281.18\) 倍。要让标准误除以 \(\mu\) 不超过 \(10\%\),按真实方差计算,普通方法需 \(n\ge297996\),该提议需 \(n\ge1060\)。这是相同样本数下的解析比较,没有计入实现耗时,也没有声称达到某个固定的置信覆盖率。

两种尾概率估计的单项相对方差 单项方差 / μ²(对数刻度)11010010002979.95810.598普通指标抽样重要性采样n 个独立样本的相对方差,还需除以 n
图 14.3-2 例 2 的解析结果;纵轴为以 10 为底的对数刻度,柱高不能按线性比例解读。两种方法估计相同的 \(e^{-8}\)。

14.3.5 自归一化与诊断的限度

若只知道 \(p=\widetilde p/Z\),而归一化常数 \(Z\) 未知,可令 \(\widetilde w=\widetilde p/q\),使用自归一化重要性采样(self-normalized importance sampling)

\[\widehat\mu_{\rm SN}=\frac{\sum_i\widetilde w(Y_i)h(Y_i)}{\sum_i\widetilde w(Y_i)}.\]
(14.3-9)

若 \(0<Z<\infty\),提议覆盖 \(p\) 的全部质量,且 \(E_p|h|<\infty\),分子、分母各自应用强大数定律后,其比值几乎必然趋于 \(\mu\)。分母可能在有限样本时为零;可在该事件上预先约定一个数值,因分母平均最终趋于正数,不影响上述极限。比值一般有有限样本偏差,不能把“两个平均分别无偏”推成“它们的比值无偏”。

若加权输出极少数项特别大,经验标准误也可能很不稳定。常见指标 \((\sum_iw_i)^2/\sum_iw_i^2\) 只能描述当前权重的集中程度;它不检验遗漏的支撑,也不保证已经发现尚未抽中的高权重区域。第14.4 节的马尔可夫链有效样本量涉及自相关,是另一个需要单独推导的量。

14.3.6 习题与解答

习题 14.3-1 · 误差缩小需要多少样本

普通 iid 蒙特卡洛的方差固定且有限。标准误降为原来的 \(1/3\),样本数应变为多少?若用控制变量将单项方差减为 \(1/9\),相同样本数的标准误怎样变化?

解答。标准误与 \(n^{-1/2}\) 成正比,所以前者需要 \(9n\)。后者的标准差降为 \(1/3\),标准误也降为 \(1/3\)。这两种结论比较的是统计精度;若控制变量每次计算明显更慢,不能据此直接认定运行时间也缩小九倍。

习题 14.3-2 · 对偶变量也会增大方差

令 \(h(u)=(u-1/2)^2\),比较一组 \([h(U)+h(1-U)]/2\) 与两个独立样本的均值。

解答。对所有 \(u\),\(h(1-u)=h(u)\),所以对偶平均等于 \(h(U)\)。由 \(Eh=1/12\)、\(Eh^2=1/80\),单项方差为 \(1/80-1/144=1/180\)。两次独立计算的平均方差为 \(1/360\),对偶法却为 \(1/180\),大了两倍。反射输入并不自动制造负协方差。

习题 14.3-3 · 分层的最优连续分配

设层内方差均正、各次计算成本相同。在总样本数 \(\sum_jn_j=n\) 固定时,先忽略整数约束,求最小化式 (14.3-5) 的分配。

解答。Cauchy–Schwarz 不等式给出 \((\sum_jw_j\sigma_j)^2\le(\sum_jw_j^2\sigma_j^2/n_j)(\sum_jn_j)\)。因此最小方差为 \((\sum_jw_j\sigma_j)^2/n\),等号条件为 \(n_j=nw_j\sigma_j/\sum_kw_k\sigma_k\)。实际样本数须取整数并确保必要层被抽到,所以这个连续解用于指导分配,不保证任意取整后仍精确最优。

习题 14.3-4 · 无偏不等于有限方差

对例 2,把指数提议速率改为 \(\lambda=2\)。证明重要性估计仍无偏且强一致,却没有有限的单项方差。

解答。提议在所有 \(x>0\) 上为正,支撑条件满足。权重为 \(W(Y)=\tfrac12e^Y\mathbf1_{\{Y>8\}}\)。乘以提议密度 \(2e^{-2y}\) 积分,得 \(E_qW=\int_8^\infty e^{-y}dy=e^{-8}\),且 \(W\ge0\) 可积,所以大数定律仍适用。但 \(E_qW^2=\int_8^\infty\tfrac12\,dy=\infty\),不能使用有限方差 CLT 和式 (14.3-2) 的标准误推导。这说明尾部太轻的提议可能比原方法更差。

关键术语

  • 蒙特卡洛估计:利用随机样本平均逼近期望。
  • 标准误:估计量的标准差。
  • 渐近置信区间:随样本数增大达到指定覆盖率的随机区间。
  • 控制变量:利用已知均值构造零均值调整项。
  • 对偶变量:通过负相关的成对输出减小方差。
  • 分层抽样:在预先划定的层内分别取样后加权。
  • 重要性采样:改变抽样分布,并用密度比修正期望。
  • 自归一化:以权重和相除消去未知常数,一般具有有限样本偏差。

参考文献

  1. Owen, A. B. Monte Carlo Theory, Methods and Examples, Chapter 8, “Variance reduction”. 作者公开章节:对偶、分层、条件化及控制变量。
  2. Teh, Y. W. (2013). Part A Simulation, University of Oxford. 官方课程讲义:蒙特卡洛积分、重要性采样与自归一化重要性采样。
  3. 本书 10.5 节与 10.6 节给出上述 iid 一致性与中心极限定理的证明;11.1 节给出条件化降低均方误差的测度论基础。