根据Box-Muller变换原理利用均匀分布的随机变量生成二维柯西分布

二维柯西分布(Bivariate Cauchy Distribution):

Box-Muller算法的主要原理就是利用需生成分布的cdf中形如 x 2 + y 2 x^2+y^2 x2+y2的部分进行三角换元,然后将换元后的联合分布函数积分成 R R R θ \theta θ各自的边缘分布函数,再求反函数,找到两个随机变量的函数,则可以通过这两个函数把均匀分布的随机变量映射到所求分布上。
f ( x , y ; x 0 , y 0 , γ ) = 1 2 π [ γ ( ( x − x 0 ) 2 + ( y − y 0 ) 2 + γ 2 ) 3 2 ] f(x, y ; x_{0}, y_{0}, \gamma)=\frac{1}{2 \pi}[\frac{\gamma}{((x-x_{0})^{2}+(y-y_{0})^{2}+\gamma^{2})^{\frac{3}{2}}}] f(x,y;x0,y0,γ)=2π1[((xx0)2+(yy0)2+γ2)23γ]
X = x − x 0 , Y = y − y 0 : X=x-x_{0}, Y=y-y_{0}: X=xx0,Y=yy0:
则:
f ( X , Y , γ ) = 1 2 π [ γ ( X 2 + Y 2 + γ 2 ) 3 2 ] f(X, Y, \gamma)=\frac{1}{2 \pi}[\frac{\gamma}{(X^{2}+Y^{2}+\gamma^{2})^{\frac{3}{2}}}] f(X,Y,γ)=2π1[(X2+Y2+γ2)23γ]
X = R cos ⁡ ( θ ) , Y = R sin ⁡ ( θ ) X=R\cos(\theta),Y=R\sin(\theta) X=Rcos(θ),Y=Rsin(θ),则有:
∫ − ∞ + ∞ ∫ − ∞ + ∞ 1 2 π [ γ ( X 2 + Y 2 + γ 2 ) 3 2 ] d X d Y = ∫ − ∞ + ∞ ∫ − ∞ + ∞ 1 2 π [ γ ( R 2 + γ 2 ) 3 2 ] R d θ d R = 1 \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} \frac{1}{2 \pi}[\frac{\gamma}{(X^{2}+Y^{2}+\gamma^{2})^{\frac{3}{2}}}] d X d Y=\int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} \frac{1}{2 \pi}[\frac{\gamma}{(R^{2}+\gamma^{2})^{\frac{3}{2}}}] R d \theta d R=1 ++2π1[(X2+Y2+γ2)23γ]dXdY=++2π1[(R2+γ2)23γ]RdθdR=1
由此可得 R R R θ \theta θ 的分布函数 P R P_{R} PR P θ P_{\theta} Pθ :
P R ( R ≤ r ) = ∫ 0 2 π ∫ 0 r 1 2 π [ γ ( R 2 + γ 2 ) 3 2 ] R    d θ d R = ∫ 0 r [ γ ( R 2 + γ 2 ) 3 2 ] R    d R = 1 − γ r 2 + γ 2 ( r > 0 ) P θ ( θ ≤ ϕ ) = ∫ 0 ϕ ∫ 0 + ∞ 1 2 π [ γ ( R 2 + γ 2 ) 3 2 ] R    d θ d R = ϕ 2 π \begin{aligned} P_{R}(R \leq r)&=\int_{0}^{2 \pi} \int_{0}^{r} \frac{1}{2 \pi}[\frac{\gamma}{(R^{2}+\gamma^{2})^{\frac{3}{2}}}] R\;d \theta d R\\ &=\int_{0}^{r}[\frac{\gamma}{(R^{2}+\gamma^{2})^{\frac{3}{2}}}] R\;d R\\ &=1-{\gamma\over \sqrt{r^2+\gamma^2}}\qquad(r>0)\\ P_{\theta}(\theta \leq \phi)&=\int_{0}^{\phi} \int_{0}^{+\infty} \frac{1}{2 \pi}[\frac{\gamma}{(R^{2}+\gamma^{2})^{\frac{3}{2}}}] R\;d \theta d R\\ &=\frac{\phi}{2 \pi} \end{aligned} PR(Rr)Pθ(θϕ)=02π0r2π1[(R2+γ2)23γ]RdθdR=0r[(R2+γ2)23γ]RdR=1r2+γ2 γ(r>0)=0ϕ0+2π1[(R2+γ2)23γ]RdθdR=2πϕ
P R P_R PR求反函数得:
R = γ ( 2 x − x 2 ) 1 2 1 − x R=\frac{\gamma(2 x-x^{2})^{\frac{1}{2}}}{1-x} R=1xγ(2xx2)21
U 1 , U 2 U_1,U_2 U1,U2为服从均匀分布的随机变量,则:
R = γ ( 2 U 1 − U 1 2 ) 1 2 1 − U 1 θ = 2 π U 2 \begin{aligned} R&=\frac{\gamma(2 U_{1}-U_{1}^{2})^{\frac{1}{2}}}{1-U_{1}} \\ \theta&=2\pi U_{2} \end{aligned} Rθ=1U1γ(2U1U12)21=2πU2
则:
X = γ ( 2 U 1 − U 1 2 ) 1 2 1 − U 1 cos ⁡ ( 2 π U 2 ) Y = γ ( 2 U 1 − U 1 2 ) 1 2 1 − U 1 sin ⁡ ( 2 π U 2 ) X =\frac{\gamma(2 U_{1}-U_{1}^{2})^{\frac{1}{2}}}{1-U_{1}} \cos (2 \pi U_{2}) \\ Y=\frac{\gamma(2 U_{1}-U_{1}^{2})^{\frac{1}{2}}}{1-U_{1}} \sin (2 \pi U_{2}) X=1U1γ(2U1U12)21cos(2πU2)Y=1U1γ(2U1U12)21sin(2πU2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值