Das Kefk Network Wiki befindet sich im Testbetrieb.


Box-Muller-Methode

Aus Kefk.

(Weitergeleitet von Box-Muller-Verfahren)
Wechseln zu: Navigation, Suche

Bild:Box Muller.svg Die Box-Muller-Methode (nach George Edward Pelham Box und Mervin Edgar Muller 1958) ist ein Verfahren zur Erzeugung normalverteilter Zufallszahlen.

Inhaltsverzeichnis

Idee

Bei dieser Methode werden zunächst zwei Standardzufallszahlen u1 und u2 benötigt. Diese lassen sich beispielsweise mit einem Zufallszahlengenerator erzeugen. Standardzufallszahlen unterliegen einer Rechteckverteilung mit den Parametern 0 und 1.

Erzeugung standardnormalverteilter Zufallszahlen

Es lässt sich zeigen, dass man nach folgendem Transformationsschritt daraus zwei standardnormalverteilte (stochastisch) unabhängige Zufallszahlen z1 und z2 erhält:

z_1 = r \cdot \cos \varphi = \sqrt{-2 \cdot \ln (1-u_1)} \cdot \cos ( 2 \pi \cdot u_2 )

und

z_2 = r \cdot \sin \varphi = \sqrt{-2 \cdot \ln (1-u_1)} \cdot \sin ( 2 \pi \cdot u_2 ).

Hierbei wurde die Inversionsmethode zur Transformation von u1 und u2 in die Polarkoordinaten r und \varphi ausgenutzt:

 r = \sqrt{-2 \cdot \ln (1-u_1)}

und

\varphi = 2 \pi \cdot u_2.

Bei der Anwendung der Inversionsmethode wurde berücksichtigt, dass bei Polarkoordinaten \varphi einer Rechteckverteilung mit den Parametern 0 und unterliegt und r einer Exponenzialverteilung mit dem Parameter Parser-Fehler (Unbekannter Fehler\tfrac): \tfrac{1}{2} .

Die bisherigen Transformationsschritte erzeugen zwei standardnormalverteilte Zufallszahlen. Eine Standardnormalverteilung ist ein Spezialfall der Normalverteilung, nämlich mit dem Erwartungswert μ = 0 und der Varianz σ2 = 1.

Um mit der Box-Muller-Methode Normalverteilungen mit beliebigen Parametern zu erzeugen, lassen sich die erhaltenen zi nach dem Muster

x_i = \mu + \sigma \cdot z_i

transformieren. In der obigen Notation steht π wie üblich für die Kreiszahl, sin für den Sinus, cos für den Kosinus und ln für den natürlichen Logarithmus.

Probleme

Verwendet man zur Erzeugung der ui einen linearen Kongruenzgenerator, so liegen die Paare (z1;z2) auf einer durch eine Spirale beschriebenen Kurve. Dieses Verhalten ist eng mit dem im Satz von Marsaglia beschriebenen Hyperebenenverhalten linearer Kongruenzgeneratoren verwandt.

Dieses Problem lässt sich umgehen, wenn statt des linearen Kongruenzgenerators ein inverser Kongruenzgenerator verwendet oder die Polar-Methode verwendet wird.

Fazit

Die Box-Muller-Methode erzeugt zunächst zwei stochastisch unabhängige und standardnormalverteilte Zufallszahlen, die sich dann in eine Normalverteilung mit beliebigen Parametern transformieren lassen.

Die Box-Muller-Methode erfordert die Auswertung von Logarithmen und trigonometrischen Funktionen, was auf einigen Rechnern sehr zeitaufwendig sein kann.

Alternativen

Weitere Möglichkeiten zur Erzeugung normalverteilter Zufallszahlen sind im Artikel Normalverteilung beschrieben.

Eine Alternative ist z.B. die Polar-Methode, siehe

  • Kinderman, A.J. und J.R. Ramage: Computer Generation of Normal Random Numbers, Jour. Amer. Stat. Assoc., 71(356), p. 893-896 (1976)

Literatur

Persönliche Werkzeuge