接受拒绝采样
采样
所谓采样,就是已知某个分布的概率密度函数,指按照某种方法获取一些样本,使得这些样本服从这个分布。先从最简单的离散的分布来考虑。假设服从以下分布:
X | 0 | 1 |
---|---|---|
P | 0.6 | 0.4 |
即有的概率会取到,的概率会取到。我们可以利用轮盘赌选择法来进行采样。即按均匀分布随机产生间的数字(假定均匀分布的采样是可行的),如果落在区间 中,则选取样本,如果落在,则选取样本。我们重复以上操作即可得到服从上述分布的样本。
连续分布的采样
对于连续的分布,我们也可以利用上述思想。假设已知某个分布的概率密度函数为,可以计算其分布函数。由于分布函数的取值范围是,所以可以在间均匀采样得到,然后选取取值为的样本。其中是的反函数,由于单调递增,因此一定存在。
连续分布的采样遇到的问题
如果按照上述方法进行采样,我们就必须根据概率密度函数去计算分布函数。然而当很复杂时,求积分的过程可能会十分困难。为了解决这个问题,可以利用接受拒绝采样的方法。
接受拒绝采样
接受拒绝采样的思想是,找一个辅助分布,设其概率密度函数为,它的分布函数易于求得。利用这个易于求得的分布函数去采样得到样本,并根据一些条件去选择是否保留(即接受或拒绝)该样本。所以说,接受拒绝采样的关键是找到一个标准,使得在辅助分布函数中采样得到的样本因为这个标准的限制而满足所要采样的分布。
接受拒绝采样的流程
- 假设要采样的分布的概率密度函数为;
- 选择一个辅助分布函数,设其概率密度函数为,通常可选均匀分布或高斯分布;
- 选择一个常数,使得(c最好接近于1);
- 从分布采样,得到样本;
- 从均匀分布采样,得到;
- 如果则接受样本y,否则拒绝;
- 重复上述过程4-6直至满足条件。
上述第6步即为我们提供了一个接受拒绝的标准,类似于轮盘赌选择法,在中随机选择一个点,如果该点落入中我们就接受样本,否则拒绝。可以看出,越接近,则接受样本的概率越大。这也是第3步选取常数以及最好接近于1的原因。
接受拒绝采样的缺点
接受拒绝采样必须依赖一个辅助分布,然而如果这个分布选取的不合适那么将导致所采样的样本大概率会被拒绝,使得采样的效率大大降低。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Solsticev!
评论