蒙特卡洛积分法的方差缩减技术——分层采样法
字数 2320 2025-10-30 08:32:20

蒙特卡洛积分法的方差缩减技术——分层采样法

题目描述
考虑计算定积分 \(I = \int_a^b f(x) \, dx\)。若直接使用蒙特卡洛积分法(在区间 \([a, b]\) 上均匀随机采样求均值),方差可能较大。分层采样法通过将积分区间划分为多个子区间(层),在每个子区间内独立进行蒙特卡洛采样,最终加权合并结果,以降低整体方差。要求推导分层采样法的数学形式,分析其方差缩减原理,并讨论如何优化分层策略(如层数选择、样本分配)。


解题过程

1. 基础蒙特卡洛积分法回顾
直接蒙特卡洛积分法在 \([a, b]\) 上生成 \(n\) 个均匀随机点 \(x_i\),估计积分值为:

\[\hat{I} = \frac{b-a}{n} \sum_{i=1}^n f(x_i), \]

其方差为:

\[\operatorname{Var}(\hat{I}) = \frac{(b-a)^2}{n} \sigma^2_f, \quad \sigma^2_f = \frac{1}{b-a} \int_a^b \left( f(x) - \bar{f} \right)^2 dx, \]

其中 \(\sigma^2_f\)\(f(x)\)\([a, b]\) 上的方差。若 \(f(x)\) 波动较大,直接法的方差较高。


2. 分层采样法的基本思想
将区间 \([a, b]\) 划分为 \(m\) 个不相交的子区间(层) \([a_{j-1}, a_j]\),其中 \(a_0 = a\)\(a_m = b\)。设第 \(j\) 层的宽度为 \(h_j = a_j - a_{j-1}\),满足 \(\sum_{j=1}^m h_j = b-a\)
在每个层内独立进行蒙特卡洛采样:第 \(j\) 层抽取 \(n_j\) 个均匀随机点 \(x_{j,k}\),总样本数 \(n = \sum_{j=1}^m n_j\)。第 \(j\) 层的积分估计为:

\[\hat{I}_j = \frac{h_j}{n_j} \sum_{k=1}^{n_j} f(x_{j,k}), \]

整体积分估计为各层估计之和:

\[\hat{I}_{\text{strat}} = \sum_{j=1}^m \hat{I}_j. \]


3. 方差分析
由于各层独立采样,总方差为各层方差之和:

\[\operatorname{Var}(\hat{I}_{\text{strat}}) = \sum_{j=1}^m \frac{h_j^2}{n_j} \sigma_j^2, \quad \sigma_j^2 = \frac{1}{h_j} \int_{a_{j-1}}^{a_j} \left( f(x) - \bar{f}_j \right)^2 dx, \]

其中 \(\bar{f}_j = \frac{1}{h_j} \int_{a_{j-1}}^{a_j} f(x) dx\) 是第 \(j\) 层内 \(f(x)\) 的均值。
与直接法方差对比:

\[\operatorname{Var}(\hat{I}) = \frac{(b-a)^2}{n} \sigma_f^2 = \frac{1}{n} \sum_{j=1}^m h_j \sigma_j^2 + \frac{1}{n} \sum_{j=1}^m h_j (\bar{f}_j - \bar{f})^2, \]

其中 \(\bar{f} = \frac{1}{b-a} \int_a^b f(x) dx\)。分层法的方差表达式缺少第二项(层间方差),因此总方差更小。


4. 样本分配优化
固定总样本数 \(n\),如何分配 \(n_j\) 以最小化总方差?使用拉格朗日乘数法,最小化目标函数:

\[L = \sum_{j=1}^m \frac{h_j^2 \sigma_j^2}{n_j} + \lambda \left( \sum_{j=1}^m n_j - n \right). \]

\(n_j\) 求偏导并令为0:

\[\frac{\partial L}{\partial n_j} = -\frac{h_j^2 \sigma_j^2}{n_j^2} + \lambda = 0 \implies n_j \propto h_j \sigma_j. \]

即最优分配策略是使每层样本数 \(n_j\) 与该层的宽度 \(h_j\) 和标准差 \(\sigma_j\) 成正比。


5. 分层策略选择

  • 层数选择:层数 \(m\) 增加可进一步降低方差,但受计算成本限制。通常根据 \(f(x)\) 的复杂度权衡。
  • 分层边界:若 \(f(x)\) 变化剧烈处设置更密的层,可更有效降低方差。常见策略是等宽分层(\(h_j\) 恒定)或根据 \(|f'(x)|\) 调整分层密度。
  • 实际应用:若 \(\sigma_j\) 未知,可先进行预采样估计各层方差,再调整样本分配。

总结
分层采样法通过将积分区间划分为多个层,分别估计后再合并,有效利用了函数在不同层内的局部特性,降低了整体方差。优化样本分配和分层策略可进一步提升效率。该方法特别适用于函数在区间内变化不均匀的场景。

蒙特卡洛积分法的方差缩减技术——分层采样法 题目描述 考虑计算定积分 \( I = \int_ a^b f(x) \, dx \)。若直接使用蒙特卡洛积分法(在区间 \([ a, b ]\) 上均匀随机采样求均值),方差可能较大。分层采样法通过将积分区间划分为多个子区间(层),在每个子区间内独立进行蒙特卡洛采样,最终加权合并结果,以降低整体方差。要求推导分层采样法的数学形式,分析其方差缩减原理,并讨论如何优化分层策略(如层数选择、样本分配)。 解题过程 1. 基础蒙特卡洛积分法回顾 直接蒙特卡洛积分法在 \([ a, b]\) 上生成 \( n \) 个均匀随机点 \( x_ i \),估计积分值为: \[ \hat{I} = \frac{b-a}{n} \sum_ {i=1}^n f(x_ i), \] 其方差为: \[ \operatorname{Var}(\hat{I}) = \frac{(b-a)^2}{n} \sigma^2_ f, \quad \sigma^2_ f = \frac{1}{b-a} \int_ a^b \left( f(x) - \bar{f} \right)^2 dx, \] 其中 \(\sigma^2_ f\) 是 \( f(x) \) 在 \([ a, b ]\) 上的方差。若 \( f(x) \) 波动较大,直接法的方差较高。 2. 分层采样法的基本思想 将区间 \([ a, b]\) 划分为 \( m \) 个不相交的子区间(层) \([ a_ {j-1}, a_ j]\),其中 \( a_ 0 = a \),\( a_ m = b \)。设第 \( j \) 层的宽度为 \( h_ j = a_ j - a_ {j-1} \),满足 \(\sum_ {j=1}^m h_ j = b-a\)。 在每个层内独立进行蒙特卡洛采样:第 \( j \) 层抽取 \( n_ j \) 个均匀随机点 \( x_ {j,k} \),总样本数 \( n = \sum_ {j=1}^m n_ j \)。第 \( j \) 层的积分估计为: \[ \hat{I} j = \frac{h_ j}{n_ j} \sum {k=1}^{n_ j} f(x_ {j,k}), \] 整体积分估计为各层估计之和: \[ \hat{I} {\text{strat}} = \sum {j=1}^m \hat{I}_ j. \] 3. 方差分析 由于各层独立采样,总方差为各层方差之和: \[ \operatorname{Var}(\hat{I} {\text{strat}}) = \sum {j=1}^m \frac{h_ j^2}{n_ j} \sigma_ j^2, \quad \sigma_ j^2 = \frac{1}{h_ j} \int_ {a_ {j-1}}^{a_ j} \left( f(x) - \bar{f} j \right)^2 dx, \] 其中 \(\bar{f} j = \frac{1}{h_ j} \int {a {j-1}}^{a_ j} f(x) dx\) 是第 \( j \) 层内 \( f(x) \) 的均值。 与直接法方差对比: \[ \operatorname{Var}(\hat{I}) = \frac{(b-a)^2}{n} \sigma_ f^2 = \frac{1}{n} \sum_ {j=1}^m h_ j \sigma_ j^2 + \frac{1}{n} \sum_ {j=1}^m h_ j (\bar{f}_ j - \bar{f})^2, \] 其中 \(\bar{f} = \frac{1}{b-a} \int_ a^b f(x) dx\)。分层法的方差表达式缺少第二项(层间方差),因此总方差更小。 4. 样本分配优化 固定总样本数 \( n \),如何分配 \( n_ j \) 以最小化总方差?使用拉格朗日乘数法,最小化目标函数: \[ L = \sum_ {j=1}^m \frac{h_ j^2 \sigma_ j^2}{n_ j} + \lambda \left( \sum_ {j=1}^m n_ j - n \right). \] 对 \( n_ j \) 求偏导并令为0: \[ \frac{\partial L}{\partial n_ j} = -\frac{h_ j^2 \sigma_ j^2}{n_ j^2} + \lambda = 0 \implies n_ j \propto h_ j \sigma_ j. \] 即最优分配策略是使每层样本数 \( n_ j \) 与该层的宽度 \( h_ j \) 和标准差 \( \sigma_ j \) 成正比。 5. 分层策略选择 层数选择 :层数 \( m \) 增加可进一步降低方差,但受计算成本限制。通常根据 \( f(x) \) 的复杂度权衡。 分层边界 :若 \( f(x) \) 变化剧烈处设置更密的层,可更有效降低方差。常见策略是等宽分层(\( h_ j \) 恒定)或根据 \( |f'(x)| \) 调整分层密度。 实际应用 :若 \( \sigma_ j \) 未知,可先进行预采样估计各层方差,再调整样本分配。 总结 分层采样法通过将积分区间划分为多个层,分别估计后再合并,有效利用了函数在不同层内的局部特性,降低了整体方差。优化样本分配和分层策略可进一步提升效率。该方法特别适用于函数在区间内变化不均匀的场景。