概率采样方法1——直接转换

函数转换

假设可以由计算机得到(0,1)均匀分布的随机数z,现在想得到服从任意分布p(y)的随机数y的样本,其中假定y=f(z)。
概率密度变量转换时,为了保证概率相等,要求p(z)dz~=p(y)dy,当然概率密度必须是正的,所以有下式:

p(y)=p(z)|dzdy|
——-(1)
如果我们能找到这样一个满足上式的f,就可以直接由z得到y了。
这里再假设z=h(y),h是f的逆,如果h满足下式:
h(y)=yp(x)dx
——–(2)
那么(1)式就会满足。也就是说先求y的累积分布函数,然后求逆,将样本点带入逆函数中就可以求得样本y。
证明如下:
对(2)求导,有:
h(y)=p(y)
,由于p(z)=1,所以(1)式得证。
这里举一个简单的例子,比如我要采样y~1:0.1,2:0.9的样本。首先求y的累积分布1:0.1,2:1,这反应了映射关系h,然后我再对z~U(0,1)随机抽样,如果样本z<0.1,那么由映射关系h可以知道该对应样本y=1,而且是有效的;如果z>0.1且z<1,对应y=2。

高斯采样

高斯函数比较特别,他的不定积分或者说累积函数没法求,也就说没有原函数,所以按照前面的方法有一定的困难。这里介绍BOX-Muller方法的推导过程。
首先要承认这样一个事实,即2维笛卡尔坐标系中x,y独立且都服从高斯,那么对应的极坐标系R,$\theta$也是独立的。
假设一对随机变量y1,y2独立而且都服从N(0,1),那么:

f(x,y)=12πex2+y22

x=rcos(θ) , y=rsin(θ) ,那么R, θ 也是独立的。
分别求 P(r<R) , P(θ<Θ) ,这里的积分可以参考文献3:
最后求出的结果是:
P(r<R)=1er22,P(θ<Θ)=12π

然后可以回到我们前面解决的问题, θ 是服从均匀分布的,我们其实就是要对随机变量r进行取样就可以得到x,y了。
这里累积分布已经求了,取逆,然后令均匀分布样本U,那么:
r=2ln(1U)
,然后我们取U1=1-U,U2= θ /2 π ,这样就可由均匀随机样本求x,y了。
最后就是我们常见的取样公式了:
常见的高斯取样公式
这里先介绍直接转换的采样方法,近似采样方法以后再介绍。

参考文献

1、http://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform
2、http://blog.csdn.net/to_utopia/article/details/6402644
3、http://wenku.baidu.com/link?url=vw1ysDReCP6i0irX2PbuDIaSY0R5PyHmVOh0TBSBD97uKnyoRr8E4oPk0-auj3vXCg79ijzsLkDFy6bfqU5-8wrbacep9ToRndinnMD3XYW

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值