Box-Muller与逆CDF方法相比在模拟正态分布方面的优势?
为了从一组均匀变量中模拟正态分布,有几种技术: Box-Muller算法,其中一个对上的两个独立均匀变量进行采样,然后通过以下方法将它们转换为两个独立的标准正态分布: Ž 0 = √(0,1)(0,1)(0,1)Z0=−2lnU1−−−−−−√cos(2πU0)Z1=−2lnU1−−−−−−√sin(2πU0)Z0=−2lnU1cos(2πU0)Z1=−2lnU1sin(2πU0) Z_0 = \sqrt{-2\text{ln}U_1}\text{cos}(2\pi U_0)\\ Z_1 = \sqrt{-2\text{ln}U_1}\text{sin}(2\pi U_0) CDF方法,其中可以将普通cdf等同于一个统一变量: 并得出 F (Z )= U Z = F − 1(U )(F(Z))(F(ž))(F(Z))F(Z)= UF(ž)=ü F(Z) = U ž= F− 1(U)ž=F-1(ü)Z = F^{-1}(U) 我的问题是:哪个计算效率更高?我认为这是后者的方法-但是我阅读的大多数论文都使用Box-Muller-为什么? 附加信息: 正常CDF的逆是已知的,并给出: F− 1(Z)=2–√埃尔夫− 1(2Z−1),Z∈(0,1).F−1(Z)=2erf−1(2Z−1),Z∈(0,1).F^{-1}(Z)\; =\; \sqrt2\;\operatorname{erf}^{-1}(2Z - 1), \quad Z\in(0,1). 因此: Z=F−1(U)=2–√erf−1(2U−1),U∈(0,1).Z=F−1(U)=2erf−1(2U−1),U∈(0,1). Z …