概率积分变换
若X为连续型随机变量,其cdf为FX,则
U = F X − 1 ( X ) ∼ U ( 0 , 1 ) U=F^{-1}_X(X) \sim U(0,1) U=FX−1(X)∼U(0,1)
证明:
F X ( X = u ) = P ( X ≤ u ) F X − 1 ( u ) = { x ∣ F X ( x ) = u } = d e f inf { x ∣ F X ( x ) = u } F_X(X=u)=P(X\leq u)\\ F^{-1}_X(u) =\{x|F_X(x)=u\}\overset{\underset{def}{}}{=}\inf\{x|F_X(x)=u\} FX(X=u)=P(X≤u)FX−1(u)={
x∣FX(x)=u}=definf{
x∣FX(x)=u}
若 U ∼ U ( 0 , 1 ) U\sim U(0,1) U∼U(0,1),则对所有 x ∈ R x\in \mathcal{R} x∈R,有
P ( F X − 1 ( U ) ≤ x ) = P ( i n f { t ∣ F X ( t ) = U } ≤ x ) = P ( U ≤ F X ( x ) ) = F U ( F X ( x ) ) = F X ( x ) = P ( X ≤ x ) P(F_X^{-1}(U)\leq x)=P(inf\{t|F_X(t)=U\}\leq x)\\ =P(U\leq F_X(x))=F_U(F_X(x))=F_X(x)=P(X\leq x) P(FX−1(U)≤x)=P(inf{
t∣FX(t)=U}≤x)=P(U≤FX(x))=FU(FX(x))=FX(x)=P(X≤x)
故 F X − 1 ( U ) F_X^{-1}(U) FX−1(U)和X同分布。
取舍法
假设X和Y是随机变量,其pdf分别为f和g。满足:
f ( t ) g ( t ) ≤ c , ∀ t s . t . f ( t ) > 0 \frac{f(t)}{g(t)}\leq c,\forall t\;\;s.t. f(t)>0 g(t)f(t)≤c,∀ts.t.f(t)>0
可用以下流程生成随机数:
- 找一个可以方便生成随机数的随机变量Y,其pdf g满足 f ( t ) / g ( t ) ≤ c , ∀ t s . t . f ( t ) > 0 f(t)/g(t)\leq c,\forall t\;\;s.t.f(t)>0 f(t)/g(t)≤c,∀ts.t.f(t)>0。
- 从g中产生一个随机数y。
- 从均匀分布U(0,1)中产生一个随机数u。
- 若u<f(y)/(cg(y)),则接受x=y,否则拒绝y,重复产生y,直到产生给定个数的x。
证明:
P(Y\leq y|U\leq\frac{f(Y)}{cg(Y)})=\frac{P(Y\leq y,U\leq\frac{f(Y)}{cg(Y)})}{P(U\leq \frac{f(Y)}{cg(Y)})}=\frac{P(U\leq\frac{f(Y)}{cg(Y)},Y\leq y)}{1/c}\
=\int_{-\infin}^y\frac{P(U\leq\frac{f(Y)}{cg(Y)},Y=\omega\leq y)}{1/c}g(\omega)d\omega\
=c\int_{-\infin}^y\frac{f(\omega)}{cg(\omega)}g(\omega)d\omega\
=F_X(y)
P ( Y ≤ y ∣ U ≤ f ( Y ) c g ( Y ) ) = P ( Y ≤ y , U ≤ f ( Y ) c g ( Y ) ) P ( U ≤ f ( Y ) c g ( Y ) ) = P ( U ≤ f ( Y ) c g ( Y ) , Y ≤ y ) 1 / c = ∫ − ∞ y P ( U ≤ f ( Y ) c g ( Y ) ∣ Y = ω ≤ y ) 1 / c g ( ω ) d ω = c ∫ − ∞ y f ( ω ) c g ( ω ) g ( ω ) d ω = F ( y ) P(Y\leq y|U\leq\frac{f(Y)}{cg(Y)})=\frac{P(Y\leq y,U\leq\frac{f(Y)}{cg(Y)})}{P(U\leq \frac{f(Y)}{cg(Y)})}=\frac{P(U\leq\frac{f(Y)}{cg(Y)},Y\leq y)}{1/c}\\ =\int_{-\infin}^y\frac{P(U\leq\frac{f(Y)}{cg(Y)}|Y=\omega\leq y)}{1/c}g(\omega)d\omega\\ =c\int_{-\infin}^y\frac{f(\omega)}{cg(\omega)}g(\omega)d\omega\\ =F(y) P(Y≤y∣U≤cg(Y)f(Y))=P(U≤cg(Y)f(Y))P(Y≤y,U≤cg(Y)f(Y))=1/cP(U≤cg(Y)f(Y),Y≤y)=∫−∞y1/cP(U≤cg(Y)f(Y)∣Y=ω≤y)g(ω)dω=c∫−∞ycg(ω)f(ω)g(ω)dω=F(y)
P ( U ≤ f ( Y ) c g ( Y ) ) = ∫ − ∞ ∞ f ( y ) c g ( y ) × g ( y ) d y = 1 c ∫ − ∞ ∞ f ( y ) d y = 1 c P(U\leq\frac{f(Y)}{cg(Y)})=\int_{-\infin}^\infin\frac{f(y)}{cg(y)}\times g(y)dy\\ =\frac{1}{c}\int_{-\infin}^\infin f(y)dy=\frac{1}{c} P(U≤cg(Y)f(Y))=∫−∞∞cg(y)f(y)×g(y)dy=c1∫−∞∞f(y)dy=c1
2.
P ( U ≤ f ( Y ) c g ( Y ) ∣ Y ≤ y ) = P ( U ≤ f ( Y ) c g ( Y ) , Y ≤ y ) G ( y ) = ∫ − ∞ y P ( U ≤ f ( Y ) c g ( Y ) ∣ Y = ω ≤ y ) G ( y ) g ( ω ) d ω = 1 G ( y ) ∫ − ∞ y f ( ω ) c g ( ω ) g ( ω ) d ω = F ( y ) c G ( y ) P(U\leq\frac{f(Y)}{cg(Y)}|Y\leq y)=\frac{P(U\leq\frac{f(Y)}{cg(Y)},Y\leq y)}{G(y)}\\ =\int_{-\infin}^y\frac{P(U\leq\frac{f(Y)}{cg(Y)}|Y=\omega\leq y)}{G(y)}g(\omega)d\omega\\ =\frac{1}{G(y)}\int_{-\infin}^y\frac{f(\omega)}{cg(\omega)}g(\omega)d\omega =\frac{F(y)}{cG(y)} P(U≤cg(Y)f(Y)∣Y≤y)=G(y)P(U≤cg(Y)f(Y),Y≤y)=∫−∞yG(y)P(U≤cg(Y)f(Y)∣Y=ω≤y)g(ω)dω=G(y)1∫−∞ycg(ω)f(ω)g(ω)dω=cG(y)F(y)
3.
P ( Y ≤ y ∣ U ≤ f ( Y ) c g ( Y ) ) = P ( U ≤ f ( Y ) c g ( Y ) ∣ Y ≤ y ) P ( Y ≤ y ) P ( U ≤ f ( Y ) c g ( Y ) ) = F ( y ) c G ( y ) G ( y ) 1 / c = F ( y ) P(Y\leq y|U\leq\frac{f(Y)}{cg(Y)})=\frac{P(U\leq\frac{f(Y)}{cg(Y)}|Y\leq y)P(Y\leq y)}{P(U\leq\frac{f(Y)}{cg(Y)})}\\ =\frac{F(y)}{cG(y)}\frac{G(y)}{1/c}=F(y) P(Y≤y∣U≤cg(Y)f(Y))=P(U≤cg(Y)f(Y))P(U≤cg(Y)f(Y)∣Y≤y)P(Y≤y)=cG(y)F(y)1/cG(y)=F(y)
故满足条件 U ≤ f ( Y ) c g ( Y ) U\leq\frac{f(Y)}{cg(Y)} U≤cg(Y)f(Y)时,Y的条件分布概率是F(y)。
为了得到最准确的分布,最好c=max(f(t))/min(g(t))。但某些时候这样可能导致接受率过低。可以人为减小c来增大接受率(增大太多生成的分布会偏离目标分布, P ( U ≤ f ( Y ) c g ( Y ) = 1 c P(U\leq\frac{f(Y)}{cg(Y)}=\frac{1}{c} P(U≤cg(Y)f(Y)=c1不严格成立)。