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 è
1√2πe−12x21√2πe−12y2dxdy=12πe−12r2rdrdθ
Ciò vuol dire che r e θ sono anch’esse indipendenti e θ è distribuita uniformemente in [0,2π). Inoltre sappiamo anche la distribuzione di probabilità di r. Sicuramente possiamo estrarre θ uniformemente, se poi fossimo in grado di estrarre r avremmo ottenuto le due variabili normalmente distribuite x=rcosθ e y=rsinθ, che, paradossalmente, sono anche indipendenti. Rimane quindi solo da estrarre r. A tal scopo calcoliamo direttamente la sua funzione di ripartizione,
F(R)=∫R0e−12r2rdr=1−e−12R2
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=√−2logU.
Pertanto possiamo riassumere il metodo che abbiamo trovato. Partiamo da due distribuzioni U1 e U2 uniformemente distribuite in (0,1). Allora le due variabili
X=√−2logU1cos(2πU2)Y=√−2logU1sin(2πU2)
sono indipendenti e normalmente distribuite con media zero e varianza uno.