漫谈MCMC与Gibbs采样(二)—— 拒绝采样

本文介绍了拒绝采样方法,通过调整接受率从均匀分布生成正态分布样本。文章阐述了如何计算接受率,并提出在K≥xmaxp(x)q(x)条件下,选择K最小的分布P来提高采样效率。拒绝采样适用于不同维度的分布转换,且在P与Q相似时效果更好。
摘要由CSDN通过智能技术生成

拒绝采样

在开始讨论之前,需要明确一个前提,我们想要生成一组服从分布 Q Q Q的样本,那么我们首先要知道如何从另一个分布 P P P中采样,通过对 P P P分布样本的“改造”, 我们可以得到 Q Q Q分布的样本。例如,接下来我们会探讨,如何基于均匀分布来生成正态分布。至于均匀分布如何生成,这就是伪随机数生成算法所研究的问题,不在本文的范畴之内。

下图中,绿色是均匀分布U(-4, 4)的样本直方图,右边是正态分布N(0, 1)的样本直方图:
[注]:由于N(0,1)在[-4, 4]之外几乎没有样本存在 (回忆一下 3 σ 3\sigma 3σ原则),因此我们只生成落在[-4, 4]范围内的样本,依然可以作为很好的近似。
\qquad \qquad \qquad \qquad \qquad \qquad 在这里插入图片描述
那么一个很自然的想法是,如果我们把上图中的均匀分布的样本直方图砍掉一部分,就可以得到正态分布的样本直方图。等价地说,如果我们把均匀分布的样本,在各个取值处,按照比例只接受一部分样本,其余的舍弃,那么保留下来的样本就服从正态分布了。这个比例应该怎么求呢?相信大家已经想到了,这里我们需要用到两个分布的密度函数。

我们按照第二节的思路,将随机数的取值范围均匀分割成M份,我们考察 i , j i, j i,j两个区间, s i , s j s_i,s_j si,sj分别为区间 i , j i, j i,j的中点, u i , u j u_i,u_j ui,uj分别为均匀分布的样本落在 i , j i, j i,j内的个数, n i , n j n_i, n_j ni,nj分别为正态分布的样本落在 i , j i, j i,j内的个数。那么根据第二节的讨论,某处的样本个数正比于此处的密度函数取值,可以得到:
u i u j = U ( − 4.4 ) ( s i ) U ( − 4 , 4 ) ( s j ) = 1 n i n j = N ( 0 , 1 ) ( s i ) N ( 0 , 1 ) ( s j ) = 1 2 π e x p ( s i 2 2 ) 1 2 π e x p ( s j 2 2 ) \begin{aligned} \frac{u_i}{u_j} &= \frac{U(-4. 4)({s_i})}{U(-4,4)({s_j})} =1 \\[2ex] \frac{n_i}{n_j}&= \frac{N(0, 1)({s_i})}{N(0, 1)({s_j})} = \frac{\frac1{\sqrt{2\pi}}exp(\frac{s_i^2}2)}{\frac1{\sqrt{2\pi}}exp(\frac{s_j^2}2)} \end{aligned} ujuinjni=U(4,4)(sj)U(4.4)(si)=1=N(0,1)(sj)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值