Timeline for Why does this algorithm generate a standard normal distribution?
Current License: CC BY-SA 4.0
6 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Sep 4, 2022 at 20:44 | comment | added | J.G. | A more natural way to come up with it: since going from Cartesian to polar gives$$\frac{1}{2\pi}e^{-(y_1^2+y_2^2)/2}dy_1dy_2=re^{-r^2/2}dr\frac{d\theta}{2\pi},$$it's now easy to get the desired IIDs viz. $u_1=e^{-y_1^2}$ (we can drop the $1-$ you'd get if you wanted an order-preserving transformation), $u_2=\theta/(2\pi)$. This speaks to a deeper truth: the only way for two Cartesian coordinates to be IIDs, with the polar coordinates also independent, is for the IIDs to be $N(0,\,\sigma^2)$. | |
Sep 3, 2022 at 6:54 | comment | added | arcancor | @whuber Thank you! | |
Sep 3, 2022 at 5:57 | vote | accept | arcancor | ||
Sep 2, 2022 at 18:47 | comment | added | whuber♦ | @Xi'an I have realized -- and checked in code -- that one can overcome the limitation on tail behavior by means of a suitable transformation such as a logarithm or root. For instance, to generate a Gamma$(a)$ variate use $f(z) = -(1+a)z + \exp(z) + C$ after finding $C$ through numerical optimization. For smallish $a$ the acceptance rate isn't bad; e.g. it's 66% for $a=0.3$ and 39% for $a=3.$ This makes the approach much more general than I had thought. | |
Sep 2, 2022 at 18:34 | comment | added | Xi'an | (+1) Very nice reverse engineering. Historically von Neumann started by dominating the half-Normal density with a standard Exponential density and then achieved this condensed version. | |
Sep 2, 2022 at 18:04 | history | answered | whuber♦ | CC BY-SA 4.0 |