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 : : : : Modul groß , etwa m = 2w , w = Wortlänge (in bit) des Computers ; Multiplikator (geeignet) ; Inkrement (geeignet) ; Startwert (geeignet) . Algorithmus : zn+1 un+1 := (azn + r) mod m azn + r ∈ [0, m) , := Rest von m zn+1 ∈ [0, 1) . := 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 n − , 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 . . . xN Σ xk . P (X = xk ) p1 p2 . . . pN 1 Ist U R(0, 1)-verteilt und setzt man k−1 k pj < U ≤ pj X := xk , falls j=1 (k = 1, . . . , N) , j=1 so gilt : P (X = xk ) = pk (k = 1, . . . , N) . 1 a) (Diskrete) Laplace-Verteilung : P (X = k) = (k = 1, . . . , N) N k−1 k , (k = 1, . . . , N) ; Setze X := k , falls U ∈ 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 := [ 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 := min{n ∈ N : Xn = 1} − 1 = max{n ∈ N : X1 = . . . = Xn = 0} , max ∅ := 0 , so gilt : 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 f (Yn ) (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 − N1 − 1, . . . sind geometrisch verteilt mit Parameter f (Y1 ) 1 es gilt = und p = P U1 ≤ cg(Y1) c 1 − 1c q EN1 = + 1 = 1 + 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 Seien f bzw. g die (diskrete) Beispiel 7.4 Fortsetzung; Poisson-Verteilung Dichte der πλ - bzw. der geometrischen Verteilung (mit Parameter p), also ⎫ λk −λ ⎬ e f (k) = k = 0, 1, . . . . k! ⎭ g(k) = pq k 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 X1 := −2 ln U1 cos(2πU2 ) , X2 := −2 ln U1 sin(2πU2 ) , 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 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 ⎛ ⎞ ⎞ ⎛ X1 Z1 ⎜ . ⎟ ⎜ . ⎟ X := ⎝ .. ⎠ := a + B ⎝ .. ⎠ , Xd Zd so besitzt X eine N(a, Σ)-Verteilung in Rd . 71