La distribuzione normale è estremamente utile, eppure di solito i generatori casuali dei computer campionano soltanto da distribuzioni uniformi. In questo articolo vediamo come convertire un campione uniforme in un campione normalmente distribuito tramite la cosiddetta trasformazione di Box-Muller.
L’idea è di utilizzare lo stesso trucco che si usa per calcolare l’integrale gaussiano. Consideriamo $X$ e $Y$ indipendenti normalmente distribuite con media zero e varianza uno. La loro distribuzione di probabilità congiunta è
$$\frac{1}{\sqrt{2\pi}} e^{-\frac12 x^2} \frac{1}{\sqrt{2\pi}} e^{-\frac12 y^2} dx dy =\frac{1}{2\pi} e^{-\frac12 r^2}r dr d\theta$$
Ciò vuol dire che $r$ e $\theta$ sono anch’esse indipendenti e $\theta$ è distribuita uniformemente in $[0,2\pi)$. Inoltre sappiamo anche la distribuzione di probabilità di $r$. Sicuramente possiamo estrarre $\theta$ uniformemente, se poi fossimo in grado di estrarre $r$ avremmo ottenuto le due variabili normalmente distribuite $x= r\cos{\theta}$ e $y = r\sin{\theta}$, che, paradossalmente, sono anche indipendenti. Rimane quindi solo da estrarre $r$. A tal scopo calcoliamo direttamente la sua funzione di ripartizione,
$$F(R) = \int_0^R e^{-\frac12 r^2} r dr = 1-e^{-\frac12 R^2}$$
Per il metodo dell’inversione, se $U$ è uniformemente distribuita in $(0,1)$ allora $F^{-1}(U)$ è distribuita secondo la distribuzione di $r$. Ora notiamo che anche $1-U$ è uniformemente distribuita e quindi ponendo $F(R) = 1-U$ otteniamo $R= \sqrt{-2 \log{U}}$.
Pertanto possiamo riassumere il metodo che abbiamo trovato. Partiamo da due distribuzioni $U_1$ e $U_2$ uniformemente distribuite in $(0,1)$. Allora le due variabili
\begin{align}
X &= \sqrt{-2 \log{U_1}} \cos{\pqty{2\pi U_2}}\\
Y &= \sqrt{-2 \log{U_1}} \sin{\pqty{2\pi U_2}}
\end{align}
sono indipendenti e normalmente distribuite con media zero e varianza uno.