首先,我们考虑如何从简单的非均匀分布中生成随机数,假定我们已经有了一个均匀分布的随机数的来源。假设在区间上均匀分布,我们使用某个函数的值进行变换,即上的概率分布为

其中,在这种情况下,。我们的目标是选择一个函数使得产生出的值具有某种所需的具体的分布形式,对式(11.5)进行积分,我们有

它是的不定积分。因此,,因此我们必须使用一个函数来对这个均匀分布的随机数进行变换,这个函数是所求的概率分布的不定积分的反函数,如图11.2所示。

图 11-2
图 11.2 生成非均匀分布的随机数的变换方法的几何表示。是所求概率分布的不定积分。如果一个均匀分布的随机变量使用进行变换,那么会服从概率分布

考虑指数分布(exponential distribution)

其中。在这种情况下,式(11.6)的积分下界为0,因此。从而,如果我们将均匀分布的变量使用进行变换,那么就会服从指数分布。

另一种可以应用变换方法的概率分布是柯西分布

这种情况下,不定积分的反函数可以用函数表示。

对于多个变量情形的推广是很容易的,涉及到变量变化的Jacobian行列式,即

作为变换方法的最后一个例子,我们考虑Box-Muller方法,用于生成高斯概率分布的样本。首先,假设我们生成一对均匀分布的随机变量,我们可以这样生成:对上的均匀分布的变量使用的方式进行变换。接下来,我们丢弃那些不满足的点对。这产生出单位圆内部的一个均匀分布,且,如图11.3所示。

图 11-3
图 11.3 Box-Muller方法用于生成高斯分布的随机数,方法在开始时使用的是单位圆内部均匀分布的样本。

然后,对于每对,我们计算

其中。这样,的联合概率分布为

因此是独立的,且每个都服从高斯分布,均值为0,方差为1。

如果服从高斯分布,且均值为0,方差为1,那么也服从高斯分布,均值为,方差为。为了生成向量值的变量,且这个变量服从多元高斯分布,均值为,协方差为,我们可以使用Cholesky分解,它的形式为(Press et al., 1992)。这样,如果是一个向量值的随机变量,且它的元素是独立的,并且服从均值为0、方差为1的高斯分布,那么的均值为,协方差为

显然,变换方法依赖于它能够进行计算所需的概率分布,并且能够求所需的概率分布的不定积分的反函数。这样的计算只对于一些非常有限的简单的概率分布可行,因此我们必须寻找一些更加一般的方法。这里,我们考虑两种方法,即拒绝采样(rejection sampling)和重要采样(importance sampling)。虽然这些方法主要限制在单变量概率分布,因此无法直接应用于多维的复杂问题,但是这些方法确实是更一般的方法的重要成分。

results matching ""

    No results matching ""