27
Stochastik-Praktikum Zufallszahlen und Monte Carlo Peter Frentrup Humboldt-Universit¨ at zu Berlin 17. Oktober 2017 (Humboldt-Universit¨ at zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 1 / 23

Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Stochastik-PraktikumZufallszahlen und Monte Carlo

Peter Frentrup

Humboldt-Universitat zu Berlin

17. Oktober 2017

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 1 / 23

Page 2: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Ubersicht

1 Erzeugung von ZufallszahlenErzeugung Bernoulli–verteilter ZufallszahlenDie Inversionsmethode fur univariate VerteilungenErzeugung multivariat normalverteilter Zufallszahlen

2 Monte-Carlo-MethodenMonte Carlo-IntegrationCrude Monte Carlo IntegrationMonte-Carlo-Bander

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 2 / 23

Page 3: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Johann von Neumann:

”Anyone who considers arithmetical methods of producing random

digits is, of course, in a state of sin.“

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 3 / 23

Page 4: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Definition

Ein Generator (uniformer) Pseudozufallszahlen ist ein Algorithmus, der voneinem Startwert u0 (seed) und einer Transformation T ausgehend, einerekursive deterministische Zahlenfolge un = T ◦n(u0) ([0,1]–wertiger)Folgeglieder erzeugt, die sich wie eine zufallige i. i. d. Folge von echten(uniformen) Zufallszahlen verhalten soll.Monte Carlo Methoden basieren auf der haufigen Wiederholung einesZufallsexperimentes bzw. Erzeugung von Pseudozufallszahlen um (zumeistkomplexe) analytische Probleme naherungsweise zu losen, wobei das Gesetzder großen Zahlen die Grundlage hierfur bildet.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 4 / 23

Page 5: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Pseudo- und Quasi-Zufallszahlen

Pseudo-Zufallszahlen:Eine Zahlenfolge, deren Bildungsgesetz moglichst schwer zu

”erraten“ ist.

Quasi-Zufallszahlen:Eine Zahlenfolge, deren Haufigkeitsverteilung gemaß eines vorgegebenenAbstandsbegriffs einer vorgegebenen Wahrscheinlichkeitsverteilung (i. d. R.U[0,1]) moglichst nahe kommt.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 5 / 23

Page 6: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Pseudozufall: Mersenne Twister

Moderner Zufallszahlengenerator, der auch in Matlab zur Erzeugunggleichverteilter Zufallszahlen Verwendung findet.Es sei F2 der Korper der Charakteristik 2, also F2 = {0, 1} mit derAddition ⊕ und der Multiplikation �.

Vorgegeben seien Parameter ω ∈ N,m, n ∈ N, 1 ≤ m < nund r ∈ {0, . . . , ω − 1}.

Notation:

y l = (y1, . . . , yr , 0, . . . , 0),

zu = (0, . . . , 0, zr+1, . . . , zω),

(y l |zu) = (y1, . . . , yr , zr+1, . . . , zω).

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 6 / 23

Page 7: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Pseudozufall: Mersenne Twister

Notation:

y l = (y1, . . . , yr , 0, . . . , 0),

zu = (0, . . . , 0, zr+1, . . . , zω),

(y l |zu) = (y1, . . . , yr , zr+1, . . . , zω).

Mit ω × ω Matrix A und (n − 1) Startwerten x0, . . . , xn−1 ∈ Fω2 ist derMersenne-Twister der folgende rekursive Algorithmus:

xk+n = xk+m ⊕ω(x lk |xuk+1

)�ω A, k ∈ N0.

Dabei Addition und (Matrix)Multiplikation mit ⊕ω und �ω in Fω2 .

Fur (ω, n,m, r) = (32, 624, 397, 31) Periodenlange 219937 − 1.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 6 / 23

Page 8: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Quasi–Zufallszahlen

Ziel bei der Generierung einer Folge von Quasi-Zufallszahlen x1, . . . , xN istdie Minimierung der Diskrepanz

DN(x1, . . . , xN) = supu∈[0,1]

∣∣∣∣ |{xi : i = 1, . . . ,N , xi ∈ [0, u)}|N

− u

∣∣∣∣ .Quasi-Zufallszahlen (Halton-, Sobol-Folgen): DN ≤ C (logN/N)

Fur Pseudozufallszahlen indes DN ' N−1/2 nach ZGWS

⇒ kleinere Fehler bei Quasi-Monte Carlo Integration

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 7 / 23

Page 9: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

0 200 400 600 800 10000.0

0.2

0.4

0.6

0.8

1.0Sobol-Quasi-Zufallszahlen

0 200 400 600 800 10000.0

0.2

0.4

0.6

0.8

1.0Pseudozufallszahlen

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 8 / 23

Page 10: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Quasi-Zufall: Halton-Folge

Man wahle eine Primzahl p als Basis und einen Startwert m 6= 0 und stellem zur Basis p dar:

m =k∑

j=0

ajpj .

Die Haltonzahlen sind dann gegeben durch

h =k∑

j=0

ajp−j−1.

Man verfahrt analog mit (m + 1), . . ..

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 9 / 23

Page 11: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Quasi-Zufall: Halton-Folge

Die folgende Tabelle enthalt die ersten drei Haltonzahlen zum Startwertm = 3 fur p = 2.

m binare Darstellung h

3 11 3/44 100 1/85 101 5/8...

......

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 9 / 23

Page 12: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung Bernoulli–verteilter Zufallszahlen

Gegeben eine Zufallsvariable U ∼ U[0,1] folgt

X := T (U) =

{1 fur U ≤ p

0 fur U > p

ist Bernoulli-verteilt mit Parameter p ∈ (0, 1).

Erzeugt man iid. U1, . . . ,Un ∼ U[0,1] und addiert die resultierenden Xi , soist die Summe binomialverteilt mit Parametern n und p.

Ahnliche Diskretisierungsmethoden sind fur andere diskrete Verteilungenanwendbar!

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 10 / 23

Page 13: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Die Inversionsmethode fur univariate Verteilungen

Definition

Sei F : R→ [0, 1] eine Verteilungsfunktion. Die Funktion

F−1(u) :=

{inf{x | F (x) ≥ u}, u ∈ (0, 1]

sup{x ∈ R | F (x) = 0}, u = 0

heißt Quantilfunktion oder Verallgemeinerte Inverse von F .

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 11 / 23

Page 14: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Die Inversionsmethode fur univariate Verteilungen

Lemma

Mit U ∼ U[0,1] ⇒ X = F−1(U) ∼ F fur jede Verteilungsfunktion F . D.h.die Zufallsvariable F−1(U) ist verteilt nach der zu F gehorenden Verteilung.

Beweis:

P[X ≤ x ] = P[F−1(U) ≤ x ] = P[U ≤ F (x)] = F (x).

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 12 / 23

Page 15: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Die Inversionsmethode fur univariate Verteilungen

Seien pi , i ∈ J die Gewichte einer diskreten Verteilung zu den Wertenmi , i ∈ J, wobei m1 < m2 < . . . < m|J|. Die rechtsstetige Treppenfunktion

F (x) =∑

i :mi≤xpi

ist die zugehorige Verteilungsfunktion. Wenn U eine auf demEinheitsintervall gleichverteilte Zufallszahl ist, wird durch

X := min{t, U ≤ F (t)}

eine Zufallszahl der diskreten Verteilung F erzeugt.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 13 / 23

Page 16: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 14 / 23

Page 17: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung multivariat normalverteilter Zufallszahlen

Eine reellwertige Zufallsvariable heißt N (µ, σ2)-verteilt, wenn sie die stetigeDichte

fµ,σ2(x) =1√2πσ

exp(−(x − µ)2/(2σ2))

bezuglich des Lebesguemaßes besitzt.Ist Z standardnormalverteilt, so ist

X = µ+ σZ

normalverteilt mit Parametern µ und σ2.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 15 / 23

Page 18: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung multivariat normalverteilter Zufallszahlen

Box-Muller-Methode: U,Vi . i . d .∼ U[0,1] ⇒

(X ,Y ) :=√−2 logU

(cos 2πV , sin 2πV

) i . i . d .∼ N (0, 1).

Polarkoordinaten: R2 := X 2 + Y 2 ∼ Exp(1/2) undθ := arctan(Y ,X ) = arg(X + iY ) ∼ U[0,2π] sind unabhangig!

Marsaglia-Bray Variante fur BM: Sind (U,V ) uniform auf dem Einheitskreisverteilt (mit Verwerfen erzeugen), so folgt

(X ,Y ) :=

√−2 log(U2 + V 2)

U2 + V 2(U,V )

i . i . d .∼ N (0, 1).

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 16 / 23

Page 19: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung multivariat normalverteilter Zufallszahlen

Definition

X ist multivariat N (µ,Q)-verteilt in Rd mit Mittelwertvektor m undKovarianzmatrix Q, falls fur alle θ ∈ Rd gilt

θ>X ∼ N (θ>m, θ>Q θ)-univariat normalverteilt.

Falls Matrix Q diagonal ist, werden Koordinaten von X unabhangigsimuliert. Und anderenfalls?

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 17 / 23

Page 20: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung multivariat normalverteilter Zufallszahlen

Definition

X ist multivariat N (µ,Q)-verteilt in Rd mit Mittelwertvektor m undKovarianzmatrix Q, falls fur alle θ ∈ Rd gilt

θ>X ∼ N (θ>m, θ>Q θ)-univariat normalverteilt.

Fur Z ∼ N (0, Id) standart multivariat normal ist

X := m + BZ ∼ N (m,BB>) m ∈ Rd , B ∈ Rd×d .

Fur ggb. Kovarianzmatrix Q liefert z.B. Cholesky-ZerlegungQ = ADA> = BB> (oder B = AD1/2) eine Matrix B s.d.X := m + BZ ∼ N (m,Q)-normalverteilt ist.

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 17 / 23

Page 21: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Erzeugung multivariat normalverteilter ZufallszahlenScatterplot einer Stichprobe von 1000 Pseudozufallszahlen einer2-dimensionalen N (0,Q)-Normalverteilung zu Kovarianz

Q =

(1 0.5

0.5 0.333

)

3 2 1 0 1 2 3

1.5

1.0

0.5

0.0

0.5

1.0

1.5

2.0

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 18 / 23

Page 22: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Dichte-Histogramme der empirischen Randverteilungen verglichen mittheoretischen Randverteilungsdichten:

2 0 20.0

0.1

0.2

0.3

0.4

0.5

0.6

0.71. Randverteilung

2 0 20.0

0.1

0.2

0.3

0.4

0.5

0.6

0.72. Randverteilung

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 19 / 23

Page 23: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Ubersicht

1 Erzeugung von ZufallszahlenErzeugung Bernoulli–verteilter ZufallszahlenDie Inversionsmethode fur univariate VerteilungenErzeugung multivariat normalverteilter Zufallszahlen

2 Monte-Carlo-MethodenMonte Carlo-IntegrationCrude Monte Carlo IntegrationMonte-Carlo-Bander

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 20 / 23

Page 24: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Monte Carlo-Integration

Naherungsweise Berechnung von∫ b

ag(x)dx =

∫ b

ah(x)f (x)dx

=

∫h(x)Pf [ dx ] = Ef [h(X )]

durch den Mittelwert einer endlichen Folge von i.i.d. erzeugten ZufallszahlenXi mit Verteilung Pf :

S :=1

n

n∑i=1

h(Xi ) .

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 21 / 23

Page 25: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Crude Monte Carlo Integration

Speziell mit Xii .i .d .∼ U[a,b] ergibt sich der Schatzer

S =1

n

n∑i=1

g(Xi )(b − a) .

Der Schatzer ist erwartungstreu, da

E[S ] =b − a

n

n∑1

E[g(Xi )] =

∫ b

ag(x) dx

und nach dem Gesetz der großen Zahlen konsistent mit Varianz

(b − a)2

n2

n∑i=1

Var(g(Xi )) =b − a

n

∫ b

a

(g(x)−

∫ b

ag(t) dt

)2dx .

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 22 / 23

Page 26: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Monte-Carlo-Bander

Mit MC konnen empirisch durch wiederholte Simulation von (funktionalen)Statistiken fur diese sogenannte Monte-Carlo-Bander erzeugt werden, umdie Variabilitat der Statistik und Konfidenzbereiche zu veranschaulichen.

Beispiel Monte-Carlo-Bander fur eine empirische Verteilungsfunktion einer(Pseudo) U[0, 2]-iid. Stichprobe

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 23 / 23

Page 27: Stochastik-Praktikum - Zufallszahlen und Monte Carlofrentrup/Lehre/WS... · 2017. 10. 17. · Ubersicht 1 Erzeugung von Zufallszahlen Erzeugung Bernoulli{verteilter Zufallszahlen

Monte-Carlo-BanderBeispiel Monte-Carlo-Bander fur eine empirische Verteilungsfunktion einer(Pseudo) U[0, 2]-iid. Stichprobe

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00

0.0

0.2

0.4

0.6

0.8

1.0

Femp. Verteilungsfunktion mit MC-Bändern

(Humboldt-Universitat zu Berlin) Zufallszahlen und Monte Carlo 17. Oktober 2017 23 / 23