7 Zufallszahlen, Simulation Es ist nützlich, Folgen von i.i.d. R[0, 1]-verteilten Zufallszahlen“ auf einem Rechner ” erzeugen zu können (vgl. Simulation, Monte-Carlo-Verfahren) . Letztere sind i.A. keine echten“ Zufallszahlen , d.h. Ergebnisse von Zufallsexperimenten , sondern (so genann” te) Pseudozufallszahlen , die durch einen (deterministischen) Algorithmus erzeugt werden. Häufig werden dabei lineare Kongruenzgeneratoren benutzt, die auf Lehmer (1948) zurückgehen und wie folgt arbeiten : Wähle m>0 a >0 r ≥0 z0 ≥ 0 : : : : groß , etwa m = 2w , w = Wortlänge (in bit) des Computers ; Modul Multiplikator (geeignet) ; Inkrement (geeignet) ; (geeignet) . Startwert Algorithmus : zn+1 un+1 := (azn + r) mod m azn + r := Rest von m zn+1 := ∈ [0, 1) . m ∈ [0, m) , Bei r = 0 : Multiplikative Kongruenzmethode (Lehmer, 1948) . Bemerkung 7.1. a) Nicht jede Wahl von m, a, r, z0 liefert geeignete“ Folgen von ” Zufallszahlen , z.B. m = 26, a = 3, r = 3, z0 = 5 (zn )n=0,1,... : 5, 18, 5, 18, . . . =⇒ (Periode 2) . b) Die Periodenlänge kann höchstens m betragen, da nach spätestens m+1 Iterationen wieder der Startwert z0 erreicht wird. Mit Hilfe zahlentheoretischer Methoden lassen sich m, a, r, z0 so bestimmen, dass die Periodenlänge m erreicht wird. Allerdings bedeutet maximale Periodenlänge nicht automatisch, dass der Zufallsgenerator gut“ ist. Zum ” Beispiel erhält man für festes m durch n hni − , n = 0, 1, . . . , die Folge un := m m m−1 1 2 1 2 3 , , ..., ; 0, , , ... , 0, , m m m m m m die viel zu systematisch aufgebaut ist, um sich wie eine Folge U1 , U2 , . . . von i.i.d. R[0, 1]-ZV. zu verhalten. 66 c) Es gibt statistische Tests“, die es gestatten, Realisationen von Zufallszahlen auf ” Eigenschaften wie z.B. Unabhängigkeit oder identische R[0, 1]-Verteilung zu überprüfen (vgl. χ2 -Anpassungstest, Run-Test etc.). Im Folgenden gehen wir davon aus, dass ein guter“ Generator zur Erzeugung langer “ ” ” Serien von i.i.d. (Pseudo-) Zufallszahlen U1 , U2 , . . . mit PUi = R[0, 1] zur Verfügung steht. Aus diesen lassen sich dann durch Transformationen i.i.d. Folgen X1 , X2 , . . . mit anderen Verteilungen gewinnen : T1. Inversionsverfahren U sei R(0, 1)-verteilt und F eine reelle VF. mit einer (verallgemeinerten ) Inversen F −1 , d.h. F −1 (u) := inf{x : F (x) ≥ u} , u ∈ (0, 1) =⇒ X := F −1 (U ) besitzt die VF. F . Beispiel 7.1. Exp(λ)-verteilte Zufallszahlen U1 , U2 , . . . i.i.d. R(0, 1)-verteilt , λ > 0 fest =⇒ 1 1 X1 := − ln U1 , X2 := − ln U2 , . . . sind i.i.d. Exp(λ)-verteilt . λ λ Beispiel 7.2. Diskrete Verteilung mit endlichem Träger Es soll die folgende Verteilung erzeugt werden : x1 x2 . . . x N Σ xk . P (X = xk ) p1 p2 . . . pN 1 Ist U R(0, 1)-verteilt und setzt man k k−1 X X pj pj < U ≤ X := xk , falls j=1 (k = 1, . . . , N ) , j=1 so gilt : P (X = xk ) = pk (k = 1, . . . , N ) . 1 (k = 1, . . . , N ) a) (Diskrete) Laplace-Verteilung : P (X = k) = N k−1 k Setze X := k , falls U ∈ (k = 1, . . . , N ) ; , N N 67 b) B(1, p)-Verteilung : P (X = 1) = p, P (X = 0) = 1 − p Setze X := [U + p] =⇒ X ist B(1, p)-verteilt . Allgemeiner : B(n, p)-Verteilung U1 , . . . , Un i.i.d R(0, 1)-verteilt =⇒ n X X := [ Ui + p ] ist B(n, p)-verteilt . i=1 Beispiel 7.3. Geometrische Verteilung Durch Abrunden“ einer Exp(λ)-verteilten ” ZV. erhält man eine geometrisch-verteilte ZV. mit Parameter p = 1 − e−λ : Sei X Exp(λ)-verteilt (λ > 0) und Y := [X] P (Y = k) = pq k =⇒ (k = 0, 1, . . . ; q = 1 − p = e−λ ) . Eine weitere Methode zur Erzeugung diskret verteilter Zufallszahlen liefert das T2. Ersteintrittsverfahren Beispiel 7.3 Fortsetzung; Geometrische Verteilung Seien X1 , X2 , . . . i.i.d. B(1, p)-verteilt . Setzt man Y so gilt : := min{n ∈ N : Xn = 1} − 1 = max{n ∈ N : X1 = . . . = Xn = 0} , max ∅ := 0 , P (Y = k) = pq k (k = 0, 1, . . . ; q = 1 − p ) . Beispiel 7.4. Seien X1 , X2 , . . . i.i.d. Exp(λ)-verteilte ZV. (λ > 0 , fest ). Setzt man Y := min{n : X1 + · · · + Xn > 1} − 1 = max{n : X1 + · · · + Xn ≤ 1} , max ∅ := 0 , so ist Y πλ -verteilt . 68 Bemerkung 7.2. Da Xi = − λ1 ln Ui mit i.i.d. R(0, 1)-verteilten ZV. Ui (i = 1, 2, . . .), kann eine πλ -verteilte ZV. Y auch direkt aus den Ui erzeugt werden : Setzt man Y := min{n : U1 · · · Un < e−λ } − 1 = max{n : U1 · · · Un ≥ e−λ } , max ∅ := 0 , so ist Y πλ -verteilt . T3. Verwerfungsmethode Es sollen i.i.d. ZV. X1 , X2 , . . . mit einer (diskreten bzw. absolut-stetigen) Dichte f erzeugt werden. Stattdessen erzeugt man zunächst i.i.d. ZV. Y1 , Y2 , . . . mit einer (diskreten bzw. absolut-stetigen ) Dichte g = g(y) , für die gilt : (7.1) ∃ c > 0 : f (y) ≤ c g(y) ∀ y. Ferner seien U1 , U2 , . . . i.i.d. R(0, 1)-Zufallszahlen, unabhängig von Y1 , Y2 , . . . . Setzt man N0 := 0 und n f (Yn ) o (7.2) Nk := min n > Nk−1 : Un ≤ , c g(Yn ) Xk := YNk (k = 1, 2, . . .) , so sind X1 , X2 , . . . i.i.d. ZV. mit Dichte f . Bemerkung 7.3. a) Der Name der Methode rührt daher, dass aus der Folge Y1 , Y2 , . . . alle Zufallszahlen gestrichen ( verworfen“ ) werden , für die die Bedingung in (7.2) ” nicht erfüllt ist. b) Die ZV. N1 − 1, N2 − 1, . . . sind geometrisch verteilt mit Parameter f (Y1 ) 1 p = P U1 ≤ und = es gilt cg(Y1 ) c 1− 1 q EN1 = + 1 = 1 c + 1 = c , p c d.h., im Mittel werden c der Zufallszahlen Yi benötigt, um eine der Zufallszahlen Xk zu erzeugen . c sollte daher möglichst klein gewählt werden unter der Neben bedingung (7.1) . 69 Beispiel 7.4 Fortsetzung; Poisson-Verteilung Seien f bzw. g die (diskrete) Dichte der πλ - bzw. der geometrischen Verteilung (mit Parameter p), also λk −λ e f (k) = k = 0, 1, . . . . k! k g(k) = pq k (k) = e p (λ/q) ≤ const ∀ k ∈ N0 , ist Bedingung (7.1) erfüllt (c geeignet ). Da fg(k) k! Die Zufallszahlen Y1 , Y2 , . . . sind leicht zu erzeugen (vgl. Beispiel 7.3), ebenso die U1 , U2 , . . . ! −λ T4. Erzeugung von N (0, 1)-Zufallszahlen Seien U1 , U2 i.i.d. R(0, 1)-verteilt . Setzt man p −2 ln U1 cos(2πU2 ) , X1 := p −2 ln U1 sin(2πU2 ) , X2 := so sind X1 und X2 i.i.d. N (0, 1)-verteilt . Anwendung : Die i.i.d. Folge U1 , U2 , . . . von R(0, 1)-ZV. wird paarweise in die i.i.d. Folge X1 , X2 , . . . von N (0, 1)-ZV. transformiert . T5. Erzeugung d-dimensionaler Zufallsvektoren Beispiel 7.5. R(B)-Verteilung , B ⊂ Rd beschränkt , V ol(B) > 0 Wähle einen Quader [a, b] so , dass B ⊂ [a, b], a = (a1 , . . . , ad ), b = (b1 , . . . , bd ) . Für d i.i.d. R(0, 1)-ZV. U1 , . . . , Ud setze man Xi := ai +(bi −ai ) Ui (i = 1, . . . , d ) und verwerfe X = (X1 , . . . , Xd ), falls X ∈ / B, andernfalls nicht. =⇒ Die resultierende d-dimensionale ZV. X ist gleichverteilt auf B , d Q b̃i − ãi ∀ ã, b̃ ⊂ B . d.h. P X ∈ ã, b̃ = i=1 V ol(B) Bezeichnung : R(B)-Verteilung . 70 Beispiel 7.6. N (a, Σ)-Verteilung in Rd Seien a ∈ Rd , Σ = BB ⊤ ∈ Rd×d , regulär , und Z1 , . . . , Zd i.i.d. N (0, 1)-verteilt. Setzt man Z1 X1 . . X := .. := a + B .. , Xd Zd so besitzt X eine N (a, Σ)-Verteilung in Rd . 71