随机变量的变换的接受-拒绝采样方法
字数 2146 2025-11-06 12:40:49

好的,我们这次来讲解 随机变量的变换的接受-拒绝采样方法

随机变量的变换的接受-拒绝采样方法

接受-拒绝采样,也称为拒绝采样,是一种从复杂概率分布中生成随机样本的通用方法。它的核心思想是:利用一个容易采样的“提议分布”来间接地从一个难以直接采样的“目标分布”中生成样本。

第一步:基本思想与前提条件

假设我们想从目标概率密度函数(PDF)为 \(f(x)\) 的分布中生成随机数,但 \(f(x)\) 的形式非常复杂,或者其累积分布函数(CDF)的逆函数难以求解,导致我们无法使用像逆变换采样那样直接的方法。

接受-拒绝采样的策略是:

  1. 找到一个容易采样的提议分布,其概率密度函数为 \(g(x)\)
  2. 这个提议分布 \(g(x)\) 必须满足一个关键条件:存在一个常数 \(M > 1\),使得对于所有 \(x\),都有 \(f(x) \leq M \cdot g(x)\)。换句话说,函数 \(M \cdot g(x)\) 能够将目标分布 \(f(x)\) 完全“包裹”住。

第二步:算法步骤详解

算法流程如下:

  1. 生成提议样本:从提议分布 \(g(x)\) 中随机抽取一个样本 \(X\)
  2. 生成均匀随机数:从一个均匀分布 \(U \sim \text{Uniform}(0, 1)\) 中独立地抽取一个随机数 \(u\)
  3. 接受/拒绝判断:计算接受概率 \(\alpha = \frac{f(X)}{M \cdot g(X)}\)。由于 \(f(x) \leq M \cdot g(x)\),所以 \(\alpha\) 的值总是在 0 和 1 之间。
  • 如果 \(u \leq \alpha\),则接受这个样本 \(X\) 作为来自目标分布 \(f(x)\) 的一个有效样本。
  • 如果 \(u > \alpha\),则拒绝这个样本 \(X\),并回到步骤 1 重新开始。

第三步:原理与几何解释

为什么这个算法是有效的?我们可以从几何角度来理解。

  • 我们是在二维平面上生成点。点的横坐标由提议分布 \(g(x)\) 决定,即 \(X\)
  • 生成了 \(X\) 之后,我们在纵向上均匀地、随机地“撒点”,范围是从 0 到 \(M \cdot g(X)\)
  • 现在,考虑所有点 \((X, U \cdot M \cdot g(X))\) 的分布。这些点是均匀分布在曲线 \(M \cdot g(x)\) 下方的区域内的。
  • 接受条件 \(u \cdot M \cdot g(X) \leq f(X)\) 意味着,我们只保留那些落在目标分布曲线 \(f(x)\) 下方的点。

因此,最终被接受的样本 \(X\),其分布恰好是目标分布 \(f(x)\)。因为给定 \(X\) 被接受的概率与 \(f(X)\) 的高度成正比,而提议样本 \(X\) 本身的分布密度是 \(g(X)\),两者结合,通过贝叶斯定理可以证明,接受后的样本的分布正是 \(f(x)\)

第四步:效率分析与关键参数 M

接受-拒绝采样法的效率是一个重要考量。效率定义为:接受率,即被接受的样本数量与总提议样本数量之比。

从几何角度看,效率就是目标分布曲线 \(f(x)\) 下的面积与包裹曲线 \(M \cdot g(x)\) 下的面积之比。由于概率密度函数下的面积为 1,所以:

\[\text{效率} = \frac{\int f(x) dx}{\int M \cdot g(x) dx} = \frac{1}{M} \]

这个公式揭示了常数 \(M\) 的关键作用:

  • \(M\) 的最小值应该是 \(\sup_x \frac{f(x)}{g(x)}\)(即 \(f(x)/g(x)\) 的上确界)。
  • \(M\) 越接近这个最小值,包裹曲线 \(M \cdot g(x)\) 就越紧贴目标曲线 \(f(x)\),效率 \(1/M\) 就越高,浪费的样本就越少。
  • 如果 \(M\) 选择得过大,会导致效率非常低,大部分计算(生成样本)都被浪费了。

因此,成功应用此方法的关键在于选择一个与目标分布 \(f(x)\) 形状相似的提议分布 \(g(x)\),并计算出尽可能小的 \(M\)

第五步:优缺点总结

  • 优点
  • 通用性强:只要能找到合适的包裹函数 \(M \cdot g(x)\),理论上可以对任何分布进行采样。
    • 概念直观:原理容易理解。
  • 缺点
  • 效率可能很低:如果目标分布与提议分布形状差异很大,需要很大的 \(M\),导致大量样本被拒绝。
  • 需要优化:寻找最优的提议分布 \(g(x)\) 和常数 \(M\) 本身可能是一个挑战。
    • 高维问题:在更高维的空间中,找到紧密的包裹函数变得极其困难,效率会急剧下降(这被称为“维数灾难”)。

接受-拒绝采样是蒙特卡洛方法中的基础技术之一,许多更高级的采样算法(如马尔可夫链蒙特卡洛方法中的某些提案步骤)都蕴含着它的思想。

好的,我们这次来讲解 随机变量的变换的接受-拒绝采样方法 。 随机变量的变换的接受-拒绝采样方法 接受-拒绝采样,也称为拒绝采样,是一种从复杂概率分布中生成随机样本的通用方法。它的核心思想是:利用一个容易采样的“提议分布”来间接地从一个难以直接采样的“目标分布”中生成样本。 第一步:基本思想与前提条件 假设我们想从目标概率密度函数(PDF)为 \( f(x) \) 的分布中生成随机数,但 \( f(x) \) 的形式非常复杂,或者其累积分布函数(CDF)的逆函数难以求解,导致我们无法使用像逆变换采样那样直接的方法。 接受-拒绝采样的策略是: 找到一个容易采样的提议分布,其概率密度函数为 \( g(x) \)。 这个提议分布 \( g(x) \) 必须满足一个关键条件:存在一个常数 \( M > 1 \),使得对于所有 \( x \),都有 \( f(x) \leq M \cdot g(x) \)。换句话说,函数 \( M \cdot g(x) \) 能够将目标分布 \( f(x) \) 完全“包裹”住。 第二步:算法步骤详解 算法流程如下: 生成提议样本 :从提议分布 \( g(x) \) 中随机抽取一个样本 \( X \)。 生成均匀随机数 :从一个均匀分布 \( U \sim \text{Uniform}(0, 1) \) 中独立地抽取一个随机数 \( u \)。 接受/拒绝判断 :计算接受概率 \( \alpha = \frac{f(X)}{M \cdot g(X)} \)。由于 \( f(x) \leq M \cdot g(x) \),所以 \( \alpha \) 的值总是在 0 和 1 之间。 如果 \( u \leq \alpha \),则 接受 这个样本 \( X \) 作为来自目标分布 \( f(x) \) 的一个有效样本。 如果 \( u > \alpha \),则 拒绝 这个样本 \( X \),并回到步骤 1 重新开始。 第三步:原理与几何解释 为什么这个算法是有效的?我们可以从几何角度来理解。 我们是在二维平面上生成点。点的横坐标由提议分布 \( g(x) \) 决定,即 \( X \)。 生成了 \( X \) 之后,我们在纵向上均匀地、随机地“撒点”,范围是从 0 到 \( M \cdot g(X) \)。 现在,考虑所有点 \( (X, U \cdot M \cdot g(X)) \) 的分布。这些点是均匀分布在曲线 \( M \cdot g(x) \) 下方的区域内的。 接受条件 \( u \cdot M \cdot g(X) \leq f(X) \) 意味着,我们只保留那些落在目标分布曲线 \( f(x) \) 下方的点。 因此,最终被接受的样本 \( X \),其分布恰好是目标分布 \( f(x) \)。因为给定 \( X \) 被接受的概率与 \( f(X) \) 的高度成正比,而提议样本 \( X \) 本身的分布密度是 \( g(X) \),两者结合,通过贝叶斯定理可以证明,接受后的样本的分布正是 \( f(x) \)。 第四步:效率分析与关键参数 M 接受-拒绝采样法的效率是一个重要考量。效率定义为: 接受率 ,即被接受的样本数量与总提议样本数量之比。 从几何角度看,效率就是目标分布曲线 \( f(x) \) 下的面积与包裹曲线 \( M \cdot g(x) \) 下的面积之比。由于概率密度函数下的面积为 1,所以: \[ \text{效率} = \frac{\int f(x) dx}{\int M \cdot g(x) dx} = \frac{1}{M} \] 这个公式揭示了常数 \( M \) 的关键作用: \( M \) 的最小值应该是 \( \sup_ x \frac{f(x)}{g(x)} \)(即 \( f(x)/g(x) \) 的上确界)。 \( M \) 越接近这个最小值,包裹曲线 \( M \cdot g(x) \) 就越紧贴目标曲线 \( f(x) \),效率 \( 1/M \) 就越高,浪费的样本就越少。 如果 \( M \) 选择得过大,会导致效率非常低,大部分计算(生成样本)都被浪费了。 因此,成功应用此方法的关键在于选择一个与目标分布 \( f(x) \) 形状相似的提议分布 \( g(x) \),并计算出尽可能小的 \( M \)。 第五步:优缺点总结 优点 : 通用性强 :只要能找到合适的包裹函数 \( M \cdot g(x) \),理论上可以对任何分布进行采样。 概念直观 :原理容易理解。 缺点 : 效率可能很低 :如果目标分布与提议分布形状差异很大,需要很大的 \( M \),导致大量样本被拒绝。 需要优化 :寻找最优的提议分布 \( g(x) \) 和常数 \( M \) 本身可能是一个挑战。 高维问题 :在更高维的空间中,找到紧密的包裹函数变得极其困难,效率会急剧下降(这被称为“维数灾难”)。 接受-拒绝采样是蒙特卡洛方法中的基础技术之一,许多更高级的采样算法(如马尔可夫链蒙特卡洛方法中的某些提案步骤)都蕴含着它的思想。