Kapitel 6 Monte Carlo

Werbung
Kapitel 6
Monte Carlo-Verfahren
6.1
Einleitung
Die Bezeichnung Monte Carlo-Verfahren“, die auf den wegen seines Spielcasinos berühmt–
”
berüchtigten Stadtteil von Monaco anspielt, stammt aus den 1940er Jahren, als Enrico Fermi,
John von Neumann, Stanislaw Ulam, Nick Metropolis und andere im Rahmen des ManhattanProjekts die Simulation stochastischer Prozesse auf die Lösung numerisch–mathematischer Probleme anzuwenden begannen. In dieser Zeit, die mit dem Aufkommen der ersten Computer in
den 1940er und 1950er Jahren zusammenfällt, wurde eine ganze Reihe von auch heute noch
grundlegenden Algorithmen entwickelt. Wenngleich die Ideen zu manchen dieser Verfahren
schon viel früher bekannt waren, konnte das Gebiet erst dann seinen Aufschwung nehmen, als
mit der Verfügbarkeit von Computern auch die praktische Anwendungsmöglichkeit gegeben
war.
Unter Monte Carlo-Verfahren im allgemeinsten Sinn versteht man heute den Einsatz von
Zufallszahlen zur Lösung von numerischen und nichtnumerischen Problemen, die sich durch
einen stochastischen Prozeß beschreiben lassen. Dabei muß das ursprüngliche mathematische,
physikalische oder aus einem nahezu beliebigen anderen Bereich kommende Problem zunächst
gar nichts mit Zufallsereignissen zu tun haben. Voraussetzung ist nur, daß sich die Lösung des
Problems mit Hilfe eines stochastischen Prozesses gewinnen läßt. Ein Beispiel für letzteres, und
eines der wichtigsten Monte Carlo-Verfahren überhaupt, ist die numerische Berechnung von
Integralen, also im Prinzip ein reines Problem der numerischen Mathematik.
Ein stochastischer Prozeß ist eine Folge von Zuständen eines Systems oder Modells, dessen
zeitliche Entwicklung durch Zufallsereignisse bestimmt wird. In Computersimulationen wird die
Realisierung des Prozesses in der Regel durch Zufallszahlen gesteuert.
Dank der enormen Steigerung der Rechenleistung in den vergangenen Jahrzehnten sowie auf
Grund der Entwicklung neuer und verbesserter Methoden bildet Monte Carlo“ heute einen der
”
wichtigsten Zweige computergestützter numerischer (und nichtnumerischer) Verfahren. Einige
der Anwendungsgebiete in der Physik sind
• direkte Simulation stochastischer Prozesse
• (hochdimensionale) numerische Integration
193
194
KAPITEL 6. MONTE CARLO-VERFAHREN
• Integralgleichungen (Wechselwirkung von Strahlung mit Materie)
• Random Walks (Diffusionsvorgänge)
• Statistische Physik (Simulation von Vielteilchensystemen)
• Elementarteilchenphysik (Lattice Gauge Theory)
• Optimierung (Simulated Annealing)
und viele andere mehr, doch ist Monte Carlo als Methode so allgemein, daß es sowohl innerhalb
als auch außerhalb der harten“ Naturwissenschaften und Mathematik kaum einen Bereich gibt,
”
in dem sie noch nicht mit Erfolg eingesetzt wurde.
6.2
6.2.1
Wahrscheinlichkeitstheorie
Grundbegriffe
Da zur Beschreibung der Monte Carlo-Verfahren wahrscheinlichkeitstheoretische Konzepte notwendig sind, werden in diesem Abschnitt die Grundlagen der Wahrscheinlichkeitstheorie wiederholt.
Wahrscheinlichkeitstheorie kann entweder mathematisch–abstrakt oder anschaulich–intuitiv
(z.B. über Wahrscheinlichkeiten als Grenzwerte relativer Häufigkeiten) formuliert werden. Für
die Zwecke dieses und der folgenden Kapitel genügt die intuitive Sichtweise, wobei im Hinblick
auf die späteren Anwendungen oft eine physikalische“ Ausdrucksweise (an Stelle der statisti”
schen) verwendet wird. Ausgangspunkt der wahrscheinlichkeitstheoretischen Überlegungen sind
in jedem Fall der aus den Elementarereignissen bestehende Ereignisraum (s. Abb. 6.1) und die
auf seinen Teilmengen definierte Wahrscheinlichkeit.
Ω
E
ω
Abbildung 6.1: Ereignisraum Ω, Ereignis E und Elementarereignis ω.
6.2. WAHRSCHEINLICHKEITSTHEORIE
195
Elementarereignis
Ein Elementarereignis ω ist der mögliche Ausgang eines (Zufalls)-Experiments unter bestimmten Bedingungen. Populäre einfache Beispiele dafür sind die beim Würfeln erzielte Augenzahl
oder die beim Kartenspielen gezogenen Karten; in der Physik stellt man sich darunter aber
am besten das Ergebnis eines Experiments an einem auf eine bestimmte Weise präparierten
physikalischen System vor.
Ereignisraum
Die Gesamtheit aller Elementarereignisse bildet den Ereignisraum Ω. Die Anzahl der in ihm enthaltenen Elementarereignisse kann endlich, abzählbar unendlich oder überabzählbar unendlich
sein.
Ereignis
Bestimmte Klassen von Elementarereignissen können in Teilmengen E ⊆ Ω zu Ereignissen
zusammengefaßt werden (z.B. das Ereignis, beim Würfeln eine gerade Augenzahl geworfen zu
haben). Insbesondere sind die Elementarereignisse als einelementige Teilmengen {ω} von Ω
Ereignisse in diesem Sinn, aber auch die leere Menge ∅ (das unmögliche“ Ereignis) und der
”
Ereignisraum Ω selbst (das sichere“ Ereignis).
”
Wahrscheinlichkeit
Den Ereignissen E ⊆ Ω werden reelle Zahlen P (E) mit den Eigenschaften (KolmogorovAxiome)
0 ≤ P (E) ≤ 1,
P (Ω) = 1,
P (E1 ∪E2 ) ≤ P (E1 ) + P (E2 ) und
(6.1)
P (E1 ∪E2 ) = P (E1 ) + P (E2 ) falls E1 ∩E2 = ∅,
als Wahrscheinlichkeiten zugeordnet. Wenn der Ereignisraum nur endlich viele Elementarereignisse enthält und sie alle gleich wahrscheinlich sind, dann sind diese Axiome konsistent mit der
intuitiven Definition von Wahrscheinlichkeit als dem Verhältnis der Anzahl der günstigen“ zur
”
Anzahl der möglichen Fälle“.
”
Bedingte Wahrscheinlichkeit
Es seien E1 und E2 zwei Ereignisse, z.B. das Ereignis, beim Würfeln die Augenzahl 6 bzw. eine
gerade Augenzahl zu erhalten. Wenn man schon weiß, daß das Ereignis E2 eingetreten ist, dann
196
KAPITEL 6. MONTE CARLO-VERFAHREN
kann man die Wahrscheinlichkeit für das gleichzeitige Eintreten von E1 und E2 renormieren“,
”
indem man durch P (E2 ) dividiert,
P (E1 |E2 ) =
P (E1 ∩E2 )
.
P (E2 )
(6.2)
Dies definiert die bedingte Wahrscheinlichkeit für das Eintreten von E1 , gegeben E2“. P (E1 ∩E2 )
”
ist dabei die Wahrscheinlichkeit für das gleichzeitige Auftreten von E1 und E2 . Die Situation ist
in Abb. 6.2 veranschaulicht. Im Fall des Würfelbeispiels, bei dem die Wahrscheinlichkeit, eine
bestimmte Augenzahl zu erhalten, jeweils 1/6 ist, würde sich durch das Vorwissen, daß eine
gerade Augenzahl geworfen wurde, die (bedingte) Wahrscheinlichkeit, genau 6 Augen gewürfelt
zu haben, von 1/6 auf 1/3 erhöhen.
Ω
E2
E1
Abbildung 6.2: Zur Definition der bedingten Wahrscheinlichkeit P (E1 |E2 ).
Unabhängige Ereignisse
Zwei Ereignisse E1 und E2 heißen statistisch unabhängig, wenn die bedingte Wahrscheinlichkeit
für das Eintreten von E1 gar nicht von E2 abhängt und gleich der (absoluten) Wahrscheinlichkeit
von E1 ist,
P (E1 |E2 ) =
P (E1 ∩E2 )
= P (E1 ),
P (E2 )
(6.3)
oder
P (E1 ∩E2 ) = P (E1 ) P (E2 ).
(6.4)
6.2. WAHRSCHEINLICHKEITSTHEORIE
197
Diese Argumentation ist natürlich symmetrisch in E1 und E2 , sodaß dann auch die bedingte
Wahrscheinlichkeit für das Eintreten von E2 , gegeben E1 , nicht von E1 abhängt. Kennzeichen
für die statistische Unabhängigkeit ist in jedem Fall, daß sich die Wahrscheinlichkeit für das
gleichzeitige Eintreten der Ereignisse als Produkt der Einzelwahrscheinlichkeiten schreiben läßt.
Zufallsvariablen
Manchmal hat es keinen Sinn, dem Ausgang eines Zufallsexperiments numerische Werte zuzuordnen, z.B. wenn es beim Beobachten der täglichen Wetterlage regnen“, schneien“, nebelig“
”
”
”
bewölkt“ oder heiter“ sein kann. Falls dies aber doch möglich und sinnvoll ist (z.B. Able”
”
sen der täglichen Mittagstemperatur), definiert das eine Abbildung des Ereignisraums auf die
(üblicherweise) reellen Zahlen, durch die jedem Elementarereignis ω ein numerischer Wert x(ω)
zugeordnet wird
x : Ω → <,
ω → x(ω).
(6.5)
Die Abbildung x heißt dann Zufallsvariable.
Man kann in diesem Fall die ursprünglich auf dem Ereignisraum Ω definierten Wahrscheinlichkeiten auf die reellen Zahlen übertragen, indem man für geeignete Teilmengen B ⊆ <
(Borel-Mengen, z.B. Intervalle) die Wahrscheinlichkeit für ein Ereignis der Form x liegt in B“
”
auf die Wahrscheinlichkeit des Urbildes von B zurückführt
P (B) = P ({ω | x(ω)∈B}).
(6.6)
(Das Symbol P bezeichnet auf der linken Seite der Gleichung die für Teilmengen von < neu
definierte Wahrscheinlichkeit, auf der rechten aber die für Teilmengen von Ω vorgegebene.)
Damit kann die Vorstellung des zugrunde liegenden Ereignisraums fallengelassen und direkt
mit den auf < definierten Wahrscheinlichkeiten gerechnet werden.
6.2.2
Wahrscheinlichkeitsverteilungen und Erwartungswerte
Kumulative Verteilungsfunktion
Es sei x eine Zufallsvariable mit Werten in <. Dann kann man als Teilmengen von < ( Ereig”
nisse“) insbesondere halbunendliche Intervalle der Form
B = (−∞, X]
(6.7)
betrachten. Mit ihrer Hilfe definiert man als kumulative Verteilungsfunktion von x
F (X) = P (x ≤ X).
(6.8)
Das ist die Wahrscheinlichkeit, daß x einen Wert kleiner oder gleich X annimmt. (Hier und im
folgenden wird häufig zur Unterscheidung einer Zufallsvariablen von den von ihr angenommenen
198
KAPITEL 6. MONTE CARLO-VERFAHREN
Werten für die Variable ein Kleinbuchstabe, für einen von ihr angenommenen konkreten Wert
aber der entsprechende Großbuchstabe verwendet.)
Auf Grund der speziellen Form der Intervalle B und der Eigenschaften von Wahrscheinlichkeiten, Gl. (6.1), gilt für die kumulative Verteilungsfunktion
0 ≤ F (X) ≤ 1,
F (−∞) = 0,
(6.9)
F (+∞) = 1,
F (X1 ) ≤ F (X2 ) wenn X1 ≤ X2 .
F (X) ist also eine monoton wachsende Funktion und hat typischerweise die in Abb. 6.3 gezeigte
Gestalt.
F (X)
1
X
Abbildung 6.3: Kumulative Verteilungsfunktion (schematisch).
Diskreter Fall: Wahrscheinlichkeiten
Es ist zweckmäßig, bei der Diskussion von Wahrscheinlichkeitsverteilungen eine Fallunterscheidung vorzunehmen, je nachdem, ob die Zufallsvariable x nur abzählbar viele diskrete Werte
annehmen kann oder nicht.
Im diskreten Fall möge x die abzählbar (u.U. unendlich) vielen Werte X1 , X2 , . . . annehmen.
Dann definiert man Koeffizienten pi durch die Wahrscheinlichkeiten, daß x gerade den Wert Xi
annimmt,
pi = P (x = Xi ),
(6.10)
und es gilt
0 ≤ pi ≤ 1,
X
i
pi = 1.
(6.11)
6.2. WAHRSCHEINLICHKEITSTHEORIE
199
(Die letzte Beziehung folgt aus der Tatsache, daß für i6=j die Ereignisse x = Xi und x = Xj
disjunkt sind und der Ereignisraum sich als Vereinigung aller dieser Erreignisse darstellen läßt.)
In Abb. 6.4 ist angedeutet, daß die kumulative Verteilungsfunktion einer diskreten Zufallsvariablen eine Treppenfunktion ist, deren Sprungstellen und Sprunghöhen durch die Lage der Xi
und die Wahrscheinlichkeiten pi gegeben sind.
F (X)
1
pi
X
Xi
Abbildung 6.4: Kumulative Verteilungsfunktion einer Zufallsvariablen mit diskretem Wertebereich.
Kontinuierlicher Fall: Wahrscheinlichkeitsdichte
Falls die Zufallsvariable x überabzählbar viele Werte annehmen kann, soll vorausgesetzt werden,
daß F (X) differenzierbar ist. Im allgemeinen muß das zwar nicht der Fall sein bzw. könnte die
Ableitung dann Singularitäten und δ-Funktionen enthalten, doch sind solche Pathologien“ eher
”
die Ausnahme. Ebenso wird angenommen, daß F (X) und dF/dX auf der ganzen reellen Achse
definiert sind. Ist das nicht der Fall und nimmt z.B. x nur Werte innerhalb eines endlichen
Intervalls an, so wird einfach dF/dX außerhalb dieses Intervalls Null gesetzt.
Man definiert dann die Wahrscheinlichkeitsdichte f (X) als
dF (X)
f (X) =
,
(6.12)
dX
sodaß man die kumulative Verteilungsfunktion als Integral über diese Wahrscheinlichkeitsdichte
darstellen kann
Z
F (X) =
X
−∞
dx f (x).
(6.13)
In Analogie zum diskreten Fall gilt auch hier
f (x) ≥ 0,
Z
∞
−∞
dx f (x) = 1,
(6.14)
200
KAPITEL 6. MONTE CARLO-VERFAHREN
wobei f (x) aber nicht nach oben beschränkt, sondern nur integrierbar sein muß. Der typische
Zusammenhang zwischen Wahrscheinlichkeitsdichte und kumulativer Verteilungsfunktion ist in
Abb. 6.5 gezeigt.
1
F (X)
f (x)
x, X
Abbildung 6.5: Kumulative Verteilungsfunktion und Wahrscheinlichkeitsdichte
einer Zufallsvariablen x mit kontinuierlichem Wertebereich.
Da das Intervall B2 = (−∞, X2 ] als Vereinigung der disjunkten Mengen B1 = (−∞, X1 ] und
B12 = (X1 , X2 ] gebildet werden kann und die Wahrscheinlichkeiten in diesem Fall additiv sind,
gilt
P (X1 < x ≤ X2 ) = P (x ≤ X2 ) − P (x ≤ X1 ) = F (X2 ) − F (X1 ).
(6.15)
Die Wahrscheinlichkeit, daß x im Intervall (X1 , X2 ] liegt, ist also
P (X1 < x ≤ X2 ) =
Z
X2
dx f (x).
(6.16)
X1
(Wenn f (x) stetig ist, spielt es keine Rolle, ob die Grenzen des Intervalls offen oder abgeschlossen
gewählt werden.) Falls das Intervall sehr klein ist, kann man das Integral durch das Produkt aus
Intervallbreite und einem Wert des Integranden im Intervall approximieren. Man sagt daher—
nicht ganz präzise—, daß die Wahrscheinlichkeit dafür, daß der Wert der Zufallsvariablen x in
einem kleinen Intervall dX um X liegt, durch f (X) dX gegeben ist.
In den folgenden allgemeinen Überlegungen wird meist angenommen, daß der Fall einer kontinuierlichen Zufallsvariablen im obigen Sinn vorliegt. Das erleichtert die Notation, da Integrale
einfacher zu schreiben sind als Summen. Liegt tatsächlich eine diskrete Zufallsvariable vor, so
muß man in der Regel nur die Integrale über Wahrscheinlichkeitsdichten durch Summen über
Wahrscheinlichkeiten pi ersetzen. Ebenso werden bei den Integralen meist die Integrationsgrenzen weggelassen, und es wird stillschweigend angenommen, daß von −∞ bis +∞ zu integrieren
ist. Sollten die Werte von x alle in einem beschränkten Bereich, z.B. in einem endlichen Intervall
liegen, so kann man immer noch außerhalb dieses Intervalls f (x) = 0 setzen und die Integration
formal auf (−∞, +∞) ausdehnen.
6.2. WAHRSCHEINLICHKEITSTHEORIE
201
Erwartungswerte
Es sei x eine Zufallsvariable mit diskretem oder kontinuierlichem Wertebereich. Dann ist der
Mittel- oder Erwartungswert von x
 X

p i Xi



E(x) =  Z



diskreter Fall,
i
∞
−∞
(6.17)
dx f (x) x
kontinuierlicher Fall.
Ist g(x) eine Funktion über der reellen Achse, so definiert man analog den Erwartungswert von
g(x) als
 X

pi g(Xi ),



E[g(x)] =  Z



i
∞
−∞
(6.18)
dx f (x) g(x).
In der Physik verwendet man an Stelle des eher in der Statistik gebräuchlichen Symbols E“
”
zur Kennzeichnung von Erwartungswerten meist eckige Klammern h. . .i“
”
hxi ≡ E(x),
(6.19)
hg(x)i ≡ E[g(x)].
Die Bildung von Erwartungswerten ist nach Definition eine lineare Operation, d.h. sind g(x)
und h(x) zwei Funktionen von x und λ eine Konstante, so gilt
hg(x) + h(x)i =
Z
Z
dx f (x) [g(x) + h(x)] =
Z
dx f (x) g(x) +
= hg(x)i + hh(x)i
und
hλg(x)i =
Z
dx f (x) h(x)
(6.20)
Z
dx f (x) λg(x) = λ
dx f (x) g(x)
= λ hg(x)i.
(6.21)
Varianz, Standardabweichung und Momente
Die Varianz einer Zufallsvariablen x ist definiert als Erwartungswert der Funktion g(x) =
[x − E(x)]2
Var(x) = E{[x − E(x)]2 }.
(6.22)
Sie ist ein Maß für die Streuung der Werte von x um den Mittelwert E(x) und sagt daher etwas
über die Schärfe“ der Wahrscheinlichkeitsverteilung oder Wahrscheinlichkeitsdichte von x aus.
”
Wegen der Linearitätseigenschaften des Erwartungswerts gilt
Var(x) = h(x − hxi)2 i = hx2 i − 2hxihxi + hxi2 ,
(6.23)
202
KAPITEL 6. MONTE CARLO-VERFAHREN
sodaß man die Varianz auch nach der Formel
Var(x) = hx2 i − hxi2
(6.24)
berechnen kann. Für die Varianz verwendet man alternativ auch das Symbol σ 2“
”
σx2 = Var(x).
(6.25)
Die Wurzel aus der Varianz, σx , heißt Standardabweichung.
Ein weiteres Maß zur Charakterisierung einer Zufallsvariablen bzw. der dieser zugrunde
liegenden Verteilung sind deren Momente. Das sind die Erwartungswerte der Potenzen von x
Mn = hx i =
n
6.2.3
Z
dx f (x) xn .
(6.26)
Multivariate Verteilungen
Bei der Erklärung des Begriffs einer Zufallsvariablen wurde zunächst davon ausgegangen, daß
jedem Element des Ereignisraums nur ein einziger numerischer Wert zugeordnet werden kann.
Wir wollen nun den allgemeineren Fall betrachten, in dem das Zufallsexperiment (d.h. jedes
Elementarereignis) zwei oder mehrere Werte liefert. Ein Beispiel dafür wäre, daß an einem
bestimmten Tag zur Mittagszeit nicht bloß die Temperatur (wie im Beispiel Wetterlage“ am
”
Ende von Abschnitt 6.2.1), sondern gleichzeitig auch die Luftfeuchtigkeit gemessen wird.
Liefert also jedes Elementarereignis zwei Werte x und y, so definiert das zwei Zufallsvariablen über dem Ereignisraum und damit eine Abbildung
(x, y) : Ω → < × <,
ω → (x[ω], y[ω]).
(6.27)
Können beide Variablen nur diskrete Werte X1 , X2 , . . . bzw. Y1 , Y2 , . . . annehmen, so kann man,
analog zum univariaten Fall, bivariate Wahrscheinlichkeiten (Koeffizienten)
pij = P (x = Xi , y = Yj )
(6.28)
definieren, für die wiederum gelten muß
0 ≤ pij ≤ 1,
X
(6.29)
pij = 1.
i,j
Nehmen hingegen x und y beide kontinuierliche Werte an, so definiert man als Verallgemeinerung der kumulativen Verteilungsfunktion
F (X, Y ) = P (x ≤ X, y ≤ Y ) =
Z
Z
X
−∞
dx
Y
−∞
dy f (x, y)
(6.30)
6.2. WAHRSCHEINLICHKEITSTHEORIE
203
mit der Wahrscheinlichkeitsdichte
∂ 2 F (X, Y )
f (X, Y ) =
.
(6.31)
∂X∂Y
Analog zum univariaten Fall sagt man auch jetzt wieder, daß die Wahrscheinlichkeit dafür, daß
die Werte der beiden Zufallsvariablen (x, y) in einem kleinen Rechteck mit den Dimensionen
dX und dY um (X, Y ) liegen, gleich f (X, Y ) dX dY ist.
Erwartungswerte von Funktionen mehrerer Zufallsvariablen sind ebenfalls analog zum univariaten Fall definiert, also z.B. für eine Funktion g(x, y)
hg(x, y)i =
Z
dx dy f (x, y) g(x, y).
(6.32)
Bei multivariaten Verteilungen kommen aber einige neue Begriffe hinzu.
Randverteilungen
Ist im bivariaten Fall z.B. der Wert der Variablen y nicht von Interesse, so kann dies dadurch
ausgedrückt werden, daß in der gemeinsamen Wahrscheinlichkeitsverteilung für y alle Werte
zugelassen werden (d.h. y irgendeinen“ Wert annimmt)
”
P (x ≤ X, y ≤ ∞) =
Z
Z
X
−∞
dx
∞
−∞
Z
dy f (x, y) =
X
−∞
dx f1 (x).
(6.33)
Für die Wahrscheinlichkeitsdichte der Zufallsvariablen x allein ergibt sich also die Randverteilung durch Integration von f (x, y) über alle Werte der irrelevanten Variablen y
Z
f1 (x) =
∞
−∞
dy f (x, y).
(6.34)
(Im diskreten Fall müßte entsprechend über alle Werte von y summiert, bei multivariaten
Verteilungen über alle Variablen bis auf eine integriert oder summiert werden.) Die analoge
Randverteilung für die Zufallsvariable y allein (wenn x irgendeinen Wert annehmen kann) ist
offenbar
Z
f2 (y) =
∞
−∞
dx f (x, y).
(6.35)
Statistische Unabhängigkeit
Zwei Zufallsvariablen x und y heißen (statistisch) unabhängig, wenn für alle Intervalle (X1 , X2 ]
und (Y1 , Y2 ] gilt [s. Gl. (6.4)]
P (X1 < x ≤ X2 , Y1 < y ≤ Y2 ) = P (X1 < x ≤ X2 ) P (Y1 < y ≤ Y2 ).
(6.36)
Wählt man als spezielle Werte X1 = X, X2 = X + dX, Y1 = Y und Y2 = Y + dY , so ergibt
sich für infinitesimale Intervalle
f (X, Y ) dX dY ≈ f1 (X) dX f2 (Y ) dY
(6.37)
204
KAPITEL 6. MONTE CARLO-VERFAHREN
und im Limes dX, dY → 0
f (x, y) = f1 (x) f2 (y).
(6.38)
d.h. die gemeinsame Wahrscheinlichkeitsdichte ist das Produkt der Randverteilungen. Da die
Argumentation vollkommen analog ist, gilt diese Aussage natürlich auch im Fall von mehr als
zwei Variablen.
Kovarianz und Korrelationskoeffizient
Die Kovarianz zweier Zufallsvariablen x und y ist definiert als Erwartungswert des Produkts
der Abweichungen von den Mittelwerten
Cov(x, y) = h(x − hxi)(y − hyi)i
(6.39)
bzw., wie man durch Ausmultiplizieren findet,
Cov(x, y) = hxyi − hxihyi.
(6.40)
Normiert man in der Kovarianz die Abweichungen von den Mittelwerten auf die Standardabweichungen σx und σy , so definiert dies den Korrelationskoeffizienten
ρx,y =
Cov(x, y)
hxyi − hxihyi
q
=q
.
σx σy
hx2 i − hxi2 hy 2 i − hyi2
(6.41)
Da nach der Schwarz’schen Ungleichung [aus f (x, y) kann die Wurzel gezogen werden]
|Cov(x, y)| =
≤
Z
dx dy f (x, y) (x − hxi)(y − hyi)
Z
dx dy f (x, y) (x − hxi)
2
1/2 Z
dx dy f (x, y) (y − hyi)
2
= σx σy ,
1/2
(6.42)
ist der Korrelationskoeffizient durch
−1 ≤ ρx,y ≤ 1
(6.43)
beschränkt.
Wenn x und y statistisch unabhängig und g(x) und h(y) zwei Funktionen von je einer der
beiden Variablen allein sind, gilt wegen f (x, y) = f1 (x) f2 (y)
Z
Z
dx dy f (x, y) g(x) h(y) =
Z
dx f1 (x) g(x)
dy f2 (y) h(x) ,
(6.44)
sodaß sich der Erwartungswert des Produkts in das Produkt der Erwartungswerte faktorisieren
läßt
hg(x) h(y)i = hg(x)ihh(y)i.
(6.45)
Insbesondere ist in diesem Fall natürlich auch hxyi = hxihyi und daher Cov(x, y) = 0 sowie ρx,y = 0. Umgekehrt darf aber aus dem Verschwinden der Kovarianz noch nicht auf die
Unabhängigkeit der Variablen geschlossen werden!
6.3. STICHPROBEN
6.3
205
Stichproben
6.3.1
Unabhängige Stichproben
In der naiven Interpretation der Wahrscheinlichkeitstheorie stehen die Wahrscheinlichkeiten
für den Limes der relativen Häufigkeiten, mit denen die Zufallsvariable x (im diskreten Fall)
die Werte Xi annimmt bzw. (im kontinuierlichen Fall) im Intervall dX um X liegt, wenn das
Zufallsexperiment unendlich oft wiederholt wird. In Übereinstimmung damit hat man sich dann
auch Erwartungswerte von x oder einer Funktion g(x) einfach als Mittelwerte über sehr viele“
”
Wiederholungen des Zufallsexperiments vorzustellen, in denen sich jeweils ein bestimmter Wert
für x oder g(x) ergibt.
Wir haben bisher angenommen, daß die Wahrscheinlichkeiten oder Wahrscheinlichkeitsdichten a priori bekannt sind, und formal einige Größen (wie Mittelwert, Varianz, Momente usw.)
definiert, mit deren Hilfe diese Verteilungen charakterisiert werden können. In der Praxis sind
aber die Verteilungen oft entweder überhaupt unbekannt, oder man hat zwar eine modellmäßige
Vorstellung von ihrer analytischen Form, muß aber die darin enthaltenen Parameter erst durch
Anpassung an Experimente bestimmen. Schließlich kann es auch sein, daß man sehr wohl die
Verteilung kennt, aber z.B. die für die Berechnung der Erwartungswerte notwendigen Integrale
mathematisch zu kompliziert sind, als daß man sie geschlossen angeben könnte.
In all diesen Fällen kann man den Ansatz der naiven Wahrscheinlichkeitstheorie umkehren
und von der Vorstellung unendlich vieler Wiederholungen des Zufallsexperiments wieder zu einer
endlichen Anzahl von Experimenten zurückkehren. Diesen Satz von Experimenten nennt man
eine Stichprobe, und man erwartet, daß die daraus berechneten Mittelwerte der verschiedenen
Kenngrößen brauchbare Schätzwerte für die Eigenschaften der wahren“ Verteilung abgeben—
”
wenigstens bei hinreichend großen Stichproben.
(Das entspricht genau der Vorgangsweise eines Meinungsforschungsinstituts, wenn dieses,
statt die Beliebtheit eines Produkts oder einer Ansicht in der gesamten Bevölkerung zu ermitteln, nur eine Umfrage unter einigen hundert Personen durchführt und daraus auf die Gesamtheit hochzurechnen versucht. In diesem Beispiel ist allerdings der Umfang der Gesamtheit, die
ja der wahren Verteilung entsprechen soll, nicht wirklich unendlich.)
Eine wesentliche Voraussetzung für eine solche Vorgangsweise ist natürlich, daß man Stichproben auch irgendwie nach Belieben erzeugen kann. In bezug auf die statistischen Eigenschaften ist es dabei besonders wünschenswert, wenn man von einer unabhängigen Stichprobe
ausgehen kann:
Unabhängige Stichprobe vom Umfang n
Es sei x eine Zufallsvariable. Unter einer (unabhängigen) Stichprobe vom Umfang
n versteht man n unabhängige Realisierungen von x (Wiederholungen des Zufallsexperiments)
{ξ1 , ξ2 , . . ., ξn }.
Das System“ wird jedesmal auf dieselbe Weise präpariert“ und dann x gemessen“.
”
”
”
Die Variable ξi ist der Wert von x im i-ten Experiment.
206
KAPITEL 6. MONTE CARLO-VERFAHREN
Da es sich bei den einzelnen Elementen der Stichprobe nur um alternative Namen für x
handelt, sind die ξi wieder Zufallsvariablen und haben dieselben statistischen Eigenschaften wie
x. Insbesondere werden sie, wenn x eine kontinuierliche Zufallsvariable ist, auch durch dieselbe
Wahrscheinlichkeitsdichte wie x beschrieben. Falls i6=j ist, sind laut Voraussetzung ξi und ξj
voneinander statistisch unabhängig, und die gemeinsame (bivariate) Wahrscheinlichkeitsdichte
kann daher immer als Produkt
f (ξi , ξj ) = f1 (ξi ) f1 (ξj )
(6.46)
angesetzt werden, wo f1 (ξi ) die Wahrscheinlichkeitsdichte jeder einzelnen Zufallsvariablen ξi
ist. Analoges gilt außer für Paare natürlich auch für Tripel und größere Gruppen verschiedener
ξ’s bis hin zur gesamten Stichprobe
f (ξ1 , ξ2 , . . ., ξn ) =
n
Y
f1 (ξi ).
(6.47)
i=1
6.3.2
Stichprobenmittelwerte
Will man den Erwartungswert einer Zufallsvariablen x, deren Wahrscheinlichkeitsverteilung
möglicherweise unbekannt ist, aus einer Stichprobe bestimmen, so ist es naheliegend, als Schätzwert dafür den Stichprobenmittelwert,
x̄ =
n
1X
ξi ,
n i=1
(6.48)
zu verwenden. [Die Notation x̄ bezeichnet hier und im folgenden immer den Stichprobenmittelwert, E(x) oder hxi den wahren“ Mittelwert, wie er sich durch exakte Integration über die
”
Wahrscheinlichkeitsdichte der Zufallsvariablen x ergeben würde.]
Da der Stichprobenmittelwert aus einer Summe von Zufallsvariablen gebildet wird, kann
man x̄ ebenfalls als Zufallsvariable auffassen, wobei jedes Experiment nun darin besteht, eine
ganze Stichprobe vom Umfang n zu machen, also x nicht nur ein-, sondern n-mal zu würfeln“,
”
die Ergebnisse zu addieren und durch n zu dividieren. Diese neue Zufallsvariable wird natürlich
durch eine eigene Wahrscheinlichkeitsverteilung1 charakterisiert sein, aus der man z.B. den Erwartungswert des Stichprobenmittelwertes, E(x̄), berechnen kann. Wegen der Linearität der
Erwartungswertbildung genügt dafür aber auch schon die Kenntnis der statistischen Eigenschaften der Summanden,
!
n
n
n
1X
1X
1X
E(x̄) = E
ξi =
E(ξi ) =
E(x) = E(x),
n i=1
n i=1
n i=1
(6.49)
wobei im vorletzten Schritt ausgenützt wurde, daß alle ξi äquivalent zu x sind. Die Aussage der
letzten Gleichung,
E(x̄) = E(x),
1
(6.50)
Im kontinuierlichen Fall ist das im wesentlichen die n-fache Faltung der Wahrscheinlichkeitsdichte von x.
6.3. STICHPROBEN
207
stellt sicher, daß der Stichprobenmittelwert ein geeigneter Schätzwert für den Erwartungswert
von x ist. D.h. könnte man das Experiment eine Stichprobe vom Umfang n machen“ unendlich
”
oft wiederholen, so würde sich im Mittel für x̄ der richtige Wert ergeben. Man sagt daher auch,
daß x̄ ein erwartungstreuer Schätzwert für E(x) ist.
Interessiert man sich im allgemeineren Fall nicht für die Variable x selbst, sondern für eine
Funktion g(x), so kann man auch deren Erwartungswert durch einen Stichprobenmittelwert
approximieren,
n
1X
ḡ =
g(ξi ),
n i=1
(6.51)
der ebenfalls erwartungstreu ist,
E(ḡ) = E(g).
(6.52)
Der Stichprobenmittelwert ḡ liefert also einen sinnvollen Schätzwert für E(g), die Frage ist
aber noch, um wieviel ein auf Grundlage einer einzigen Stichprobe berechnetes Ergebnis vom
wahren Wert abweichen kann. (In der Praxis besteht ja die Stichprobe in der Regel bereits
aus der Gesamtheit aller gemessenen oder erzeugten Daten und wird daher nicht sehr oft“,
”
sondern nur ein einziges Mal durchgeführt.) Ein gewisses Maß dafür ist die Varianz von ḡ, denn
sie gibt an, wie sehr Einzelergebnisse um den (wahren) Mittelwert, Gl. (6.52), streuen können.
Wir können sie ebenfalls leicht mit Hilfe der Linearitätseigenschaften der Mittelwertbildung
berechnen:
Var(ḡ) = E(ḡ 2 ) − E(ḡ)2 = E(ḡ 2 ) − E(g)2
n
n
1X
1X
= E
g(ξi )
g(ξj ) − E(g)2
n i=1
n j=1
=
n
1 X
E[g(ξi )g(ξj )] − E(g)2
n2 i,j=1
=
n
n
1 X
1 X
2
E[g(ξ
)
]
+
E[g(ξi )g(ξj )] −E(g)2
i
n2 i=1
n2 i,j=1
|
{z
}
(i6=j)
|
nE(g 2 )
{z
n(n − 1)E(g)
}
2
1
1
E(g 2 ) + 1 −
E(g)2 − E(g)2
n
n
1
1
=
[E(g 2 ) − E(g)2 ] =
Var(g).
n
n
=
(6.53)
Dabei wurde in der vierten Zeile die Doppelsumme über i und j in zwei Teilsummen aufgespalten, je nachdem, ob die beiden Indizes gleich oder verschieden sind. In der ersten Summe
sind alle n Terme äquivalent und haben jeweils den Wert E(g 2 ). Die zweite Summe umfaßt
208
KAPITEL 6. MONTE CARLO-VERFAHREN
ebenfalls n(n − 1) äquivalente Terme, die wegen der statistischen Unabhängigkeit verschiedener
Stichprobenmitglieder zu E[g(ξi )g(ξj )] = E[g(ξi )]E[g(ξj )] = E(g)2 faktorisiert werden können.
Damit ergibt sich das ebenso einfache wie bemerkenswerte Resultat
1
Var(g),
n
1 2
=
σ .
n g
Var(ḡ) =
σḡ2
(6.54)
Hier ist auf der rechten Seite der Gleichungen die Varianz von g ein zwar möglicherweise unbekannter, aber fester Wert, der nur von den statistischen Eigenschaften von x [z.B. beschrieben
durch eine Wahrscheinlichkeitsichte f (x)], jedoch nicht von der Stichprobe selbst abhängt.
Falls Var(g) < ∞ ist, ergibt sich also die erwartete und intuitiv einleuchtende Aussage, daß
der aus einer einzelnen Stichprobe erhaltene Stichprobenmittelwert umso näher am wahren
Erwartungswert E(g) liegen wird, je größer der Umfang der Stichprobe ist. Bemerkenswert ist,
daß man—was immer die Eigenschaften von x und g sonst sein mögen—bei Vorliegen einer
unabhängigen Stichprobe sogar quantitativ vorhersagen kann, daß
√ der Fehler des Stichprobenmittelwertes [d.h. die Wurzel aus Var(ḡ)] im allgemeinen wie 1/ n nach Null gehen wird. Wie
am Ende dieses Kapitels gezeigt wird, muß man bei korrelierten Stichproben von dieser Aussage
allerdings Abstriche machen.
Die Varianz von g läßt sich im Prinzip ebenfalls aus der Stichprobe schätzen, doch muß man
dafür die Größe
s2g =
n
1 X
[g(ξi ) − ḡ]2
n − 1 i=1
(6.55)
verwenden, bei der die Summe der Abweichungsquadrate nicht durch n, sondern durch n − 1
dividiert wird. (Letzteres hat seine Ursache darin, daß man in Unkenntnis von hgi die Abweichungen natürlich auf ḡ beziehen muß und sie, da der Stichprobenmittelwert ja in einem
gewissen Sinn an die Daten angepaßt ist, dadurch systematisch unterschätzt.) Mit dieser Normierung ist s2g erwartungstreu, denn bei Mittelung über viele Stichproben würde sich ergeben:
E(s2g )
n h
n
n
ih
i
1 X
1X
1X
= E
g(ξi ) −
g(ξj ) g(ξi ) −
g(ξk )
n − 1 i=1
n j=1
n k=1
X
n
n
n
1
2 X
1 X
2
E[g(ξj )g(ξk )]
=
E[g(ξi ) ] −
E[g(ξi )g(ξj )] + 2
n − 1 i=1
n i,j=1
n i,j,k=1
|
n
n
X
j,k=1
X
n
n
1
1 X
2
=
E[g(ξi ) ] −
E[g(ξi )g(ξj )]
n − 1 i=1
n i,j=1
{z
}
E[g(ξj )g(ξk )]
6.3. STICHPROBEN
1
n−1
=
209
1−
n
1X
1 X
E[g(ξi )2 ] −
E[g(ξi )g(ξj )]
n i=1
n i6=j
|
{z
nE(g 2 )
}
|
{z
n(n − 1)E(g)
}
2
= E(g 2 ) − E(g)2 ,
(6.56)
also, wie behauptet,
E(s2g ) = Var(g).
(6.57)
Wir haben vorhin Var(ḡ) als Maß für die Abweichung eines einzelnen Stichprobenmittelwertes vom wahren Wert eingeführt. Die Wurzel daraus, die man als Standardfehler des Mittelwerts
bezeichnet, kann man daher näherungsweise aus der (unabhängigen) Stichprobe bestimmen, indem man σg2 durch s2g ersetzt:
1
1
σḡ = √ σg ≈ √ sg
n
n
v
u
u
= t
n
X
1
[g(ξi ) − ḡ]2 .
n(n − 1) i=1
(6.58)
Alle die Größe g betreffenden Überlegungen gelten natürlich im Spezialfall g(x) = x auch
für die Variable x selbst, bzw. kann man g als neue Zufallsvariable auffassen und in den Formeln
statt g wieder das allgemeine Symbol für eine Zufallsvariable, x, verwenden, z.B.
1
Var(x),
n
(6.59)
1 2
2
σ .
σx̄ =
n x
Auf den Stichprobenmittelwert x̄ (oder ḡ) kann man jedoch auch noch ein weiteres bemerkenswertes Resultat der Statistik anwenden, das sogar eine Aussage über die Wahrscheinlichkeitsverteilung der Werte gestattet:
Var(x̄) =
Zentraler Grenzwertsatz
Es seien ξ1 , ξ2 , . . ., ξn unabhängige Zufallsvariablen mit identischer Wahrscheinlichkeitsverteilung, sodaß Mittelwert hξi i ≡ hxi und Varianz σξ2i ≡ σx2 endlich sind. Dann
ist für große n
x̄ =
n
1X
ξi
n i=1
annähernd normalverteilt mit Mittelwert hxi und Varianz σx2 /n.
[Eine Zufallsvariable x heißt normalverteilt mit Mittelwert µ und Varianz σ 2 , wenn ihre Wahrscheinlichkeitsdichte auf [−∞, ∞] durch
f (x) = √
1
2
2
e−(x−µ) /2σ
2πσ
(6.60)
210
KAPITEL 6. MONTE CARLO-VERFAHREN
gegeben ist.]
Die übliche Version des Zentralen Grenzwertsatzes besagt eigentlich, daß für die Partialsummen
Sn =
n
X
ξi
(6.61)
i=1
der unabhängigen Variablen ξ1 , ξ2 , . . ., ξn die Konvergenz in Wahrscheinlichkeit“,
”
!
Z t
Sn − nhxi
1
2
√
ds e−s /2 ,
(6.62)
lim P
≤t =√
n→∞
σx n
2π −∞
√
gilt. Daraus ergibt sich mit den Ersetzungen Sn /n → x̄ und σx / n → σx̄ die vorige, eher
umgangssprachliche Formulierung. Der Zentrale Grenzwertsatz gilt interessanterweise sogar für
Summen von fast beliebigen Variablen, ja die ξi müssen nicht einmal derselben Verteilung
entstammen. Sn muß aber jedenfalls eine Summe von unabhängigen Variablen sein.
Man weiß zwar in der Praxis—meist schon aus Unkenntnis der genauen statistischen Eigenschaften von x—nie, wie groß n sein müßte, damit der Zentrale Grenzwertsatz überhaupt
anwendbar ist, hat aber damit doch im Prinzip die Möglichkeit, quantitativ Wahrscheinlichkeiten dafür anzugeben, daß ein Stichprobenmittelwert um einen bestimmten Betrag vom wahren
Mittelwert abweicht.
6.3.3
Anwendung: numerische Integration
Monte Carlo-Integration
An Hand des Konzepts des Stichprobenmittelwertes kann man sofort sehen, wie die Simulation
von Zufallsprozessen z.B. zur numerischen Berechnung von Integralen eingesetzt werden kann.
Tatsächlich stellt numerische Integration, speziell die Berechnung von hochdimensionalen Integralen eine der wichtigsten Anwendungen von Monte Carlo-Methoden überhaupt dar. Unter
Simulation“ versteht man dabei die Erzeugung einer hinreichend großen, für den Zufallsprozeß
”
repräsentativen Stichprobe mit Hilfe von Pseudozufallszahlen (s. Abschnitt 6.4) am Computer.
Angenommen, es sei ein Integral der Form
Z
I=
dx f (x) g(x)
(6.63)
zu berechnen, bei dem der Integrand so in zwei Faktoren f (x) und g(x) zerlegt werden kann,
daß der eine Faktor
f (x) ≥ 0,
Z
dx f (x) = 1.
(6.64)
erfüllt. (Hier wurde bewußt offengelassen, ob es sich um ein ein- oder höherdimensionales Integral handelt und wie die Grenzen des Integrationsgebietes aussehen. Ebenso stehen x und dx
entweder für eine einzelne oder einen ganzen Satz von Variablen bzw. das jeweilige ein- oder
6.3. STICHPROBEN
211
mehrdimensionale Volumselement.) Man kann in diesem Fall f (x) als Wahrscheinlichkeitsdichte einer Zufallsvariablen x interpretieren und das gesuchte Integral als Erwartungswert der
Funktion g(x) auffassen
hg(x)i =
Z
dx f (x) g(x).
(6.65)
Der Zufallsprozeß hat hier also mit dem ursprünglichen abstrakten Problem, Berechnung eines
”
Integrals“, überhaupt nichts zu tun, sondern ist erst dadurch zustandegekommen, daß wir die
Funktion f (x) als Wahrscheinlichkeitsdichte interpretiert und eine entsprechende Zufallsvariable
x postuliert haben.
Wenn man daher ein Verfahren finden kann, eine repräsentative Stichprobe {ξ1 , ξ2 , . . ., ξn }
der durch die Wahrscheinlichkeitsdichte f (x) beschriebenen Zufallsvariablen x zu erzeugen [man
sagt auch: eine Stichprobe aus f (x)“ zu erzeugen], dann besteht offensichtlich eine Möglichkeit,
”
das gesuchte Integral numerisch zu berechnen, darin, es durch den Stichprobenmittelwert ḡ zu
approximieren (schätzen),
Z
dx f (x) g(x) ≈ ḡ =
n
1X
g(ξi ),
n i=1
(6.66)
und man weiß, daß dieser Wert umso genauer sein wird, je größer der Umfang n der Stichprobe
ist, speziell im Fall einer unabhängigen Stichprobe
1
1Z
Var(g) =
dx f (x) [g(x) − hgi]2 .
(6.67)
n
n
Nimmt man die Wurzel aus der Varianz von ḡ als Maß für die typische Abweichung eines
einzelnen Stichprobenmittelwertes vom wahren Mittelwert, so kann man den bei Monte CarloIntegration zu erwartenden Fehler des Integrals I als
Var(ḡ) =
1
2
1
εI =
Var(g)
(6.68)
n
ansetzen. Diese Aussage hat allerdings nur statistischen Charakter, und die tatsächliche Abweichung kann im konkreten Fall natürlich auch wesentlich größer oder kleiner sein.
Naive Monte Carlo-Integration
Im allgemeinen muß der Integrand nicht schon von vornherein die Form eines Produktes aus
zwei Funktionen f und g haben, sondern die Aufgabe kann z.B. im einfachsten eindimensionalen
Fall darin bestehen, nur die Funktion g(x) selbst über das Intervall [a, b] zu integrieren
Z
b
I=
dx g(x).
(6.69)
a
Man kann in dieser Situation aber künstlich eine Gewichtsfunktion

1


für a ≤ x ≤ b,
f (x) =  b − a

0
sonst.
(6.70)
212
KAPITEL 6. MONTE CARLO-VERFAHREN
definieren, unter das Integral ziehen und durch den Vorfaktor (b − a) wieder kompensieren
I = (b − a)
Z
dx f (x) g(x).
(6.71)
Dabei wurden auch gleich die Integrationgrenzen auf [−∞, ∞] ausgedehnt (und daher weggelassen), da f (x)R ohnehin außerhalb des Intervalls [a, b] verschwindet. Die Funktion f (x) erfüllt
f (x) ≥ 0 und dx f (x) = 1 (s. Abb. 6.6) und kann somit als Wahrscheinlichkeitsdichte einer
Zufallsvariablen x interpretiert werden. Da f (x) auf [a, b] konstant ist, ist die Wahrscheinlichkeit, daß x einen bestimmten Wert annimmt, für jeden Punkt des Intervalls dieselbe, und man
sagt daher, daß x gleichverteilt auf [a, b] ist.
f (x)
1
b−a
x
a
b
Abbildung 6.6: Wahrscheinlichkeitsdichte einer im Intervall [a, b] gleichverteilten
Zufallsvariablen x.
Mit Hilfe von f (x) kann nun das gesuchte Integral (bis auf einen Vorfaktor) ebenfalls als
Erwartungswert der Funktion g(x) aufgefaßt werden,
Z
b
a
dx g(x) = (b − a)hg(x)i,
(6.72)
wobei die Zufallsvariable x jetzt als gleichverteilt über dem Integrationsgebiet vorausgesetzt
wird. Ein numerischer Schätzwert für das Integral läßt sich daher auch in diesem Fall wieder
auf einen Stichprobenmittelwert zurückführen
Z
b
a
n
b−aX
dx g(x) ≈ (b − a) ḡ =
g(ξi ).
n i=1
(6.73)
Allerdings müssen, in Übereinstimmung mit der Definition der Wahrscheinlichkeitsdichte f (x),
die ξi hier eine (unabhängige) Stichprobe von gleichverteilten Zufallszahlen aus dem Intervall
[a, b] bilden.
6.3. STICHPROBEN
213
[Gleichung (6.72) hat große Ähnlichkeit mit dem sogenannten Mittelwertsatz“ der Analysis,
”
der besagt, daß für das Integral einer auf dem Intervall [a, b] stetigen Funktion g(x)
Z
b
a
dx g(x) = (b − a) g(ξ)
(6.74)
mit a ≤ ξ ≤ b gilt. Berücksichtigt man, daß zu einem Integral im Riemannschen Sinn alle Punkte
x des Integrationsgebietes mit demselben Gewicht beitragen, also gewissermaßen gleichverteilt
sind, so ist die eigentliche Aussage des Satzes, daß es im Intervall einen Punkt gibt, an dem die
Funktion ihren Mittelwert im statistischen Sinn annimmt!]
Werden—wie im obigen Beispiel—die Punkte ξi , an denen die Funktion g berechnet wird,
gleichverteilt im Intervall gewürfelt, so nennt man dieses Verfahren naive Monte Carlo-Integration. Es läßt sich unmittelbar auf höherdimensionale Probleme verallgemeinern, denn man muß
nur den Vorfaktor (b − a) in Gl. (6.73) durch das Volumen des Integrationsgebietes ersetzen
und dann die Stützpunkte gleichverteilt in ebendiesem Gebiet erzeugen.
Von naiver Monte Carlo-Integration würde man auch dann sprechen, wenn im Integranden
zwar g(x) ursprünglich mit einer Wahrscheinlichkeitsdichte f (x) multipliziert (gewichtet) war,
aber man das nicht ausnützt [und eine Stichprobe aus f (x) würfelt], sondern das Produkt
f (x) g(x) die Rolle der Funktion g(x) von vorhin spielen läßt und gleichverteilt mittelt, z.B.
wieder in einer Dimension
Z b
n
b−aX
dx f (x) g(x) ≈
f (ξi ) g(ξi ).
(6.75)
n i=1
a
Der Nachteil dieser naiven“ Vorgangsweise besteht darin, daß oft f (x) über weite Teile des
”
Integrationsgebietes verschwindend klein ist und man mit einer gleichverteilten Stichprobe sehr
viele Stützpunkte erzeugt, die zum Integral gar nichts beitragen.
Monte Carlo-Integration ist im eindimensionalen Fall selbst primitiven konventionellen Integrationsverfahren wie der Trapez- oder Simpsonregel hoffnungslos unterlegen. Dies ändert sich
jedoch rasch bei Integralen in höheren Dimensionen, wo statistische Verfahren in der Regel die
einzige brauchbare Alternative darstellen. Mit Monte Carlo-Methoden ist es im Prinzip auch
unschwierig, Integrale über Gebiete zu berechnen, die von komplizierten Rändern begrenzt sind,
sofern man für einen zufällig gewürfelten Stützpunkt rasch entscheiden kann, ob er innerhalb“
”
oder außerhalb“ liegt (im letzteren Fall wird er einfach verworfen und bleibt bei der Mit”
telwertbildung unberücksichtigt). Ein Problem kann hier der oft unbekannte Volumsinhalt des
Integrationsgebietes bereiten, doch kann man auch diesen näherungsweise ermitteln, indem man
das Integrationsgebiet in ein Volumen einfacher Form (und bekannten Inhalts) einschließt, dort
gleichverteilt Stützpunkte würfelt und wieder den Anteil jener Punkte bestimmt, die innerhalb
des eigentlichen Integrationsgebietes liegen.
Vergleich mit konventionellen Integrationsverfahren
Um zu illustrieren, warum Monte Carlo-Integration in höheren Dimensionen wesentlich günstiger ist als konventionelle numerische Integrationsverfahren, betrachten wir als einfaches Beispiel
das Integral einer Funktion g(x, y) über dem Einheitsquadrat in zwei Dimensionen
Z
Z
1
I=
dx
0
1
dy g(x, y).
0
(6.76)
214
KAPITEL 6. MONTE CARLO-VERFAHREN
√
Das Integrationsgebiet wird in n quadratische Zellen der Kantenlänge ∆x = ∆y = h = 1/ n
zerlegt, d.h. die Anzahl der Gitterzellen pro Dimension ist n1/d , wo d die Dimensionalität des
Problems, hier also d = 2 ist (s. Abb. 6.7).
y
1
∆x = ∆y = n−1/2
0
x
0
1
Abbildung 6.7: Zerlegung des Einheitsquadrates in n quadratische Gitterzellen.
Als konventionelles Integrationsverfahren wollen wir die primitivste Näherung, nämlich die
Approximations des Integrals durch eine Riemannsumme verwenden, wobei die Stützpunkte,
an denen der Integrand berechnet wird, jeweils an der linken unteren Ecke der Gitterzellen
liegen sollen. In dieser Näherung ist das Integral über eine der Gitterzellen (2), deren linker
unterer Eckpunkt die Koordinaten (x, y) haben möge, durch
Z
2
dx dy g(x, y) ≈ ∆x ∆y g(x, y)
(6.77)
gegeben. Der exakte Wert des Integrals würde sich, wenn man die Funktion g(x, y) in der Zelle
Taylor-entwickelt, hingegen zu
Z
Z
2
x+∆x
dx dy g(x, y) =
x
dx0
Z
y+∆y
y
h
dy 0 g(x, y) + (x0 − x) gx (x, y)
+ (y 0 − y) gy (x, y) + . . .
= ∆x∆y g(x, y) +
i
∆y 2
∆x2
∆y gx (x, y) + ∆x
gy (x, y) + . . .
2
2
(6.78)
ergeben. Der durch die Differenz zwischen den beiden Werten gegebene Fehler ist also von
dritter [=(d + 1)-ter] Ordnung in h
ε2 =
∆x2
∆y 2
∆y gx (x, y) + ∆x
gy (x, y) + . . . = O(h3 ).
2
2
(6.79)
6.3. STICHPROBEN
215
Im allgemeinen Fall, in dem ein d-dimensionales Gebiet in n (hyper)-würfelförmige Zellen
mit Kantenlänge h ∝ n−1/d zerlegt wird, ergibt eine entsprechende Überlegung, daß für die
Integration mit Riemannsumme der Fehler pro Zelle
ε2 = O
h
n
i
− d1 d+1
−1
= O n
− d1
n
(6.80)
ist. Nachdem es n solcher Zellen gibt und sich die einzelnen Fehler addieren können, ist der
Fehler des gesamten Integrals schlimmstenfalls
εI = n ε2 = O n− d .
1
(6.81)
Da nach Gleichung (6.68) bei Monte Carlo-Integration mit unabhängigen Stichproben der
Fehler des Integrals proportional zu n−1/2 ist, ergibt eine Gegenüberstellung der beiden Integrationsverfahren
1
1
Riemannsumme: εI = O n− d ,
Monte Carlo Integration: εI = O n− 2 .
(6.82)
In zwei Dimensionen ist die Abhängigkeit des Fehlers von der Anzahl der Stützpunkte zufällig
für beide Verfahren dieselbe.2 Der entscheidende Vorteil von Monte Carlo besteht jedoch darin,
daß die asymptotische Form, mit der der Fehler für große n nach Null geht, von der Dimensionalität des Problems unabhängig ist und daher dieses Verfahren auch für beliebig hochdimensionale
Integrale nicht schlechter“ wird. Im Gegensatz dazu müßte man, um mit der Riemannsumme
”
in mehr als 5–10 Dimensionen akzeptable Genauigkeiten zu erreichen, eine wahrhaft astronomische Anzahl von Stützpunkten aufwenden.
Natürlich wird man als konventionelles Integrationsverfahren in der Praxis kaum eine so primitive Näherung wie die Riemannsumme oder deren Verallgemeinerung auf mehr Dimensionen
einsetzen, sondern ein Verfahren höherer Ordnung. Das ändert jedoch nichts an der prinzipiellen Gültigkeit der obigen Überlegungen, denn wird z.B ein Verfahren verwendet, das in einer
Dimension von p-ter Ordnung ist, so wird dessen Verallgemeinerung auf d Dimensionen einen
Fehler von der Größenordnung
εI = O n−p/d
(6.83)
haben. Da p eine relativ kleine und für ein gegebenes Verfahren fixe Zahl ist, wird sich auch in
diesem Fall der Fehler hochdimensionaler Integrale durch keine realistische Wahl von n auf ein
vernünftiges Maß reduzieren lassen.
2
Daraus folgt aber nicht, daß die Fehler selbst gleich groß sind, denn bei Monte Carlo-Integration ist der
Fehler von der Varianz, bei der Riemannsumme jedoch von der ersten Ableitung des Integranden bestimmt. Es
ist lediglich die Potenz von n, mit der der Fehler nach Null geht, dieselbe.
216
KAPITEL 6. MONTE CARLO-VERFAHREN
Importance Sampling und Varianzreduktion
Der Begriff Importance Sampling wird in der Literatur in verschiedener, oft nicht ganz klarer
Bedeutung gebraucht und manchmal als Gegensatz zu naiver Monte Carlo-Integration gesehen.
Wir werden ihn hier in genau diesem letzteren Sinn verwenden, d.h. wenn naiv“ dafür steht,
”
daß bei der numerischen Berechnung eines Integrals in der Form
Z
n
1X
g(ξi )
n i=1
(6.84)
n
1X
dx f (x) g(x) ≈
f (ξi ) g(ξi )
n i=1
(6.85)
dx g(x) ≈
oder
Z
die Punkte der Stichprobe gleichverteilt im Integrationsgebiet gewählt werden, so wollen wir
unter Importance Sampling“ verstehen, daß mehr Stichprobenpunkte dort gewürfelt werden,
”
wo sie gemäß der vorgegebenen Wahrscheinlichkeitsdichte f (x) für das Integral wichtig sind
Z
n
1X
dx f (x) g(x) ≈
g(ξi ).
n i=1
(6.86)
In diesem Fall werden also von vornherein mehr Punkte dort erzeugt, wo f (x) groß ist, bzw.
weniger dort, wo f (x) klein ist, und die Gewichtung der Werte von g(x) mit f (x) fällt daher im
Stichprobenmittelwert weg. Das war auch gerade unsere ursprüngliche Definition von Monte
Carlo-Integration am Beginn dieses Abschnitts, Gl. (6.66).
Der Begriff Varianzreduktion beschäftigt sich damit, daß bei Monte Carlo-Integration der
Fehler des Integrals nach Gl. (6.68) außer durch die Anzahl der Punkte der (unabhängigen)
Stichprobe auch durch die Varianz der Funktion g(x) bestimmt wird
ε2I
h
i
1
1Z
= Var(ḡ) = Var(g) =
dx f (x) g(x)2 − hgi2 .
n
n
(6.87)
Er kann also auch dadurch verkleinert werden, daß man die Varianz von g(x) reduziert. Das
kann dadurch erfolgen, daß man statt f (x) eine andere Funktion fe(x) sucht, die
fe(x) ≥ 0,
Z
(6.88)
dx fe(x) = 1,
erfüllt und daher ebenfalls als Wahrscheinlichkeitsdichte interpretiert werden kann, und ihr eine
Funktion ge(x) zuordnet, sodaß der Erwartungswert von g(x) unter der Wahrscheinlichkeitsdichte f (x) als Erwartungswert von ge(x) unter der Wahrscheinlichkeitsdichte fe(x) geschrieben
werden kann
hg(x)if =
Z
Z
dx f (x) g(x) =
f (x) g(x)
dx fe(x)
=
fe(x)
|
{z
}
ge(x)
Z
dx fe(x) ge(x) = hge(x)ife .
(6.89)
6.3. STICHPROBEN
217
[Hier muß natürlich fe(x) so beschaffen sein, daß die durch den Bruch im mittleren Integral
definierte Funktion ge(x) endlich bleibt.]
Wird der Erwartungswert in der letzteren Form wieder mittels Monte Carlo-Integration
berechnet, so tritt im Fehler des Integrals nun statt der Varianz von g(x) jene von ge(x) auf,
Z
Var(ge)fe =
dx fe(x) ge(x)2 − hgei2fe =
Z
"
f (x) g(x)
dx fe(x)
fe(x)
#2
− hgi2f ,
(6.90)
die man durch geschickte Wahl von fe(x) minimieren kann. Wäre der Erwartungswert hgi schon
bekannt (und ungleich Null), so könnte man unter der zusätzlichen Annahme, daß g(x) ≥ 0
ist, z.B.
f (x) g(x)
fe(x) =
(6.91)
hgi
setzen. Dies ist eine normierte Wahrscheinlichkeitsdichte
fe(x) ≥ 0,
Z
1
dx fe(x) =
Z
(6.92)
dx f (x) g(x) = 1,
hgi
und die zugeordnete Funktion ge(x) sogar eine Konstante,
f (x) g(x)
= hgi,
(6.93)
ge(x) =
fe(x)
für die offenbar Var(ge)fe = 0 ist, also tatsächlich eine drastische Reduktion! Klarerweise kann
man in der Praxis nicht davon ausgehen, daß man den Erwartungswert hgi schon kennt (denn
dann bräuchte man ihn nicht mehr zu berechnen), aber man kann immerhin versuchen, die
Funktion fe(x) so zu wählen, daß sie f (x) g(x) möglichst ähnlich sieht, analytisch integrierbar
und normiert ist. Abbildung 6.8 zeigt dies an einem schematischen Beispiel. Eine weitere Voraussetzung für Importance Sampling ist allerdings auch noch, daß man natürlich in der Lage
sein muß, Stichproben aus der Wahrscheinlichkeitsdichte fe(x) zu erzeugen.
g(x)
fe(x)
ge(x)
f (x)
x
Abbildung 6.8: Übergang zu einer modifizierten Gewichtsfunktion fe(x) bei Monte
Carlo-Integration mit Importance Sampling. Danach ist Var(ge) < Var(g).
218
KAPITEL 6. MONTE CARLO-VERFAHREN
Mit Importance Sampling
wird manchmal auch jener Fall bezeichnet, in dem ursprünglich
R
ein Integral der Form I = dx h(x) gegeben war und man erkannt hat, daß man den Integranden
in ein Produkt h(x) = f (x) g(x) zerlegen kann, wobei f (x) den wesentlichen Anteil der Variation
von h(x) enthält und als Wahrscheinlichkeitsdichte interpretiert werden kann.
Wie oben angekündigt, wollen wir in diesem Kapitel unter Importance Sampling aber einfach den Gegensatz zu naiver Monte Carlo-Integration verstehen, d.h. die Approximation von
Erwartungswerten oder Integralen durch Stichprobenmittelwerte, bei denen die Stützpunkte
nicht gleichverteilt im Integrationsgebiet gewürfelt werden. Dabei ist es gleichgültig, ob der Integrand schon von vornherein eine explizite Wahrscheinlichkeitsdichte f (x) enthalten hat oder
diese erst später künstlich vom ihm abgespalten wurde.
6.4
6.4.1
Erzeugung von Zufallszahlen am Computer
Pseudozufallszahlen
Grundvoraussetzung dafür, am Computer Stichproben erstellen oder Zufallsexperimente im
weitesten Sinn simulieren zu können, ist es, konkrete Werte für die den stochastischen Prozessen
zugrunde liegenden Zufallsvariablen würfeln“ zu können. Im Prinzip ist es natürlich möglich,
”
dabei auf echte physikalische Zufallsmechanismen wie den radioaktiven Zerfall, thermisches
Rauschen, optische oder quantenmechanische Zufallsprozesse zurückzugreifen. Es gibt aber eine
ganze Reihe von Argumenten, die dagegen sprechen:
• Man möchte Simulationen gern auf dem Computer allein durchführen und nicht auf ein
zusätzliches Gerät angewiesen sein (z.B. radioaktive Quelle).
• Es ist nicht einfach, physikalische Daten sauber zu kalibrieren und zu verarbeiten, sodaß
Zufallszahlen mit den korrekten Eigenschaften produziert werden.
• Die Rechengeschwindigkeit der Computer ist heute so hoch, daß in vielen Anwendungen
wesentlich mehr Zufallszahlen pro Zeiteinheit verbraucht werden, als die Auswertung eines
physikalischen Prozesses in dieser Zeit liefern könnte.
• Der Ablauf eines von echten“ Zufallszahlen abhängigen Computerprogramms kann nicht
”
strikt reproduzierbar sein. Das ist aber insbesondere für Testzwecke unerläßlich.
• Speicherung und Wiederverwendung (Reproduzierbarkeit) von echten Zufallszahlen ist
umständlich oder unmöglich, insbesondere bei aufwendigen Rechnungen, die große Mengen solcher Zahlen erfordern.
Aus diesen Gründen verwendet man in der Praxis fast ausschließlich sogenannte Pseudozufallszahlen. Das sind Zahlenfolgen, die zwar durch einen streng deterministischen Algorithmus
erzeugt werden, in vieler Hinsicht jedoch zufällig aussehen“. Das heißt, sie erfüllen gewisse sta”
tistische Kriterien für Zufälligkeit, man kann aber im Prinzip immer einen Test konstruieren,
bei dem ihre Nicht-Zufälligkeit offenbar werden muß.
6.4. ERZEUGUNG VON ZUFALLSZAHLEN AM COMPUTER
219
Fast alle Programmier- und Skriptsprachen sowie viele Softwarepakete enthalten einen
eingebauten Zufallszahlengenerator [Random Number Generator (RNG), eigentlich PseudoZufallszahlengenerator (PRNG)] dieser Art. Üblicherweise ist das eine Funktion oder Prozedur,
die gleichverteilte Zufallszahlen aus dem Intervall [0, 1) liefert, es also erlaubt, Stichproben einer
kontinuierlichen Zufallsvariablen mit Wahrscheinlichkeitsdichte

 1 für
f (x) =

0 ≤ x < 1,
(6.94)
0 sonst,
mit Hilfe einfacher Funktions- oder Prozeduraufrufe zu erzeugen.3 Die dabei verwendeten Algorithmen sind—schon im Hinblick auf die erforderliche Geschwindigkeit—möglichst einfach
gehalten. Eingebaute Zufallszahlengeneratoren können daher von sehr unterschiedlicher Qualität sein. Für viele Zwecke ist dies ausreichend, bei kritischen Anwendungen sollte aber ein
guter Generator (z.B. aus einer Softwarebibliothek) verwendet werden, dessen Eigenschaften
und Mängel bekannt und dokumentiert sind, bzw. sollte für einen gegebenen Generator geprüft
werden, ob er für die geplante Anwendung hinreichend zufällig“ ist.
”
6.4.2
Lineare Kongruenzgeneratoren
Einfache eingebaute“ Zufallszahlengeneratoren sind oft vom Typ eines gemischten oder mul”
tiplikativen Kongruenzgenerators oder bauen auf einer Kombination solcher Generatoren auf.
Linearer Kongruenzgenerator
Es seien a, c und m fest gewählte ganze Zahlen mit m > a > 0 und 0 ≤ c < m;
ferner sei i0 eine beliebige ganze Zahl mit 0 ≤ i0 < m. Dann erfüllen für gewisse
Wahlen von a, c, m und i0 die mit Hilfe der Rekursion
in+1 = (a in + c) mod m,
(6.95)
ξn+1 = in+1 /m,
(6.96)
erzeugten Folgen von Zahlen {i0 , i1 , i2 , . . .} bzw. {ξ0 , ξ1 , ξ2 , . . .} bestimmte Tests für
Zufälligkeit, und die ξn sind insbesondere gleichverteilt auf dem Intervall [0, 1).
Ist die Konstante c > 0, so heißt der Generator auch gemischter Kongruenzgenerator. Im Fall
c = 0, d.h. wenn die Rekursion eigentlich
in+1 = (a in ) mod m
(6.97)
lautet, wird der Generator genauer auch als multiplikativer Kongruenzgenerator bezeichnet.
Die Funktionsweise eines solchen Generators besteht primär darin, die Folge der ganzen
Zahlen {i0 , i1 , i2 , . . .} zu erzeugen. Bei jedem Aufruf des Generators wird eine Iteration der
Rekursion von Gl. (6.95) oder (6.97) ausgeführt und als eigentlicher Funktionswert“ ξn+1
”
3
In C etwa die Funktion drand48, in Fortran die Prozedur random number.
220
KAPITEL 6. MONTE CARLO-VERFAHREN
zurückgegeben. Da in+1 als Ergebnis der Modulo-Funktion echt kleiner als m sein muß, sollte
bei einem korrekt implementierten Generator ξn+1 aus dem links abgeschlossenen, rechts offenen Intervall [0, 1) sein.4 Der Wert von in , der den momentanen Status einer solchen einfachen
Rekursion eindeutig charakterisiert, ist an einer internen Speicherstelle des Generators abgelegt
und bleibt zwischen den Aufrufen erhalten, bzw. wird er nach jedem Aufruf durch den neueren Wert in+1 überschrieben. Der Status des Generators sollte daher keinesfalls zwischen den
Aufrufen modifiziert werden, da man dadurch die statistischen Eigenschaften der Zahlenfolge
zerstört. Der Startwert i0 bestimmt die entstehende Folge {i0 , i1 , i2 , . . .} eindeutig und heißt
aus diesem Grund auch Seed des Generators. Bis zu welchem Grad man i0 tatsächlich be”
liebig“ wählen kann, hängt von den sonstigen Eigenschaften des Generators ab. So muß man
z.B. bei multiplikativen Kongruenzgeneratoren die Wahl i0 = 0 (und typischerweise generell
gerade i0 ) ausschließen, denn trifft ein solcher Generator einmal auf den Fixpunkt in = 0, so
sind ab diesem Zeitpunkt natürlich alle weiteren Zahlen der Folge ebenfalls Null. In jedem Fall
steht aber fest, daß ein linearer Kongruenzgenerator immer dieselbe Zahlenfolge liefert, wenn
man ihn mit demselben Startwert initialisert. Reproduzierbarkeit ist ja einer der Gründe für
die Verwendung eines deterministischen Zufallszahlengenerators“. Bei Initialisierung mit ver”
schiedenen Startwerten erwartet man jedoch im allgemeinen, daß sich dann auch verschiedene
Folgen von Zufallszahlen ergeben, doch hängt auch das wieder von den Eigenschaften des Generators, der genauen Wahl der Startwerte und nicht zuletzt davon ab, wie viele Zahlen der
Folge man verbraucht.
Die Elemente der Folge {i0 , i1 , i2 , . . .} sind ganze Zahlen und erfüllen als Resultat der
Modulo-Operation die Bedingung 0 ≤ in < m. Daraus ergibt sich, daß in der Folge nur
endlich viele verschiedene Werte auftreten können, bevor sich die Elemente—auch der Reihenfolge nach—wiederholen: Bei einer einstufigen Rekursion wie Gl. (6.95) sind ja alle künftigen
Elemente der Folge durch den momentanen Wert von in eindeutig bestimmt. Tritt dieser Wert
in der Folge nochmals auf, so müssen sich daran genau dieselben Zahlen der Folge anschließen
wie beim letzten Mal. Die Menge der Elemente {in , in+1 , . . ., in+`−1 }, wo ` die kleinste Zahl
ist, für die in+` = in gilt, nennt man einen Zyklus, ihre Anzahl P die Zykluslänge oder Periode des Generators. Beide sind nicht nur von den Parametern a, c und m des Generators
bestimmt, sondern können zusätzlich noch vom Startwert i0 abhängen. Es kann also sein, daß
bei ein und demselben Generator Zyklen verschiedener Länge auftreten, je nachdem, wie man
ihn initialisert.
Man kann durch geeignete Wahl der Parameter a, c und m bewirken, daß ein Generator die
maximale Zykluslänge oder volle Periode erreicht. Die maximale Zykluslänge kann höchstens
gleich m sein, je nach Typ des Generators aber auch darunter liegen. Größtmögliche Zykluslänge
ist insbesondere bei Anwendungen wünschenswert, die sehr viele Zufallszahlen verbrauchen,
denn man möchte sicherstellen, daß der Generator nicht frühzeitig erschöpft ist und nur eine
bestimmte Teilfolge der möglichen Werte wieder und wieder (und in identischer Reihenfolge!)
auftritt.
Für einen gemischten linearen Kongruenzgenerator mit c 6= 0 kann maximale Zykluslänge
P = m erreicht werden, wenn die Parameter folgende Bedingungen erfüllen:
4
Die Division durch m dient ja nur dazu, das ganzzahlige Intervall [0, m) auf das reelle Intervall [0, 1) zu
transformieren.
6.4. ERZEUGUNG VON ZUFALLSZAHLEN AM COMPUTER
221
• c und m sind relativ prim (haben keinen gemeinsamen Teiler);
• a ≡ 1 (mod g) für jeden Teiler g von m;
• a ≡ 1 (mod 4), falls m ein Vielfaches von 4 ist.
Ist insbesondere m eine Zweierpotenz, d.h. von der Form m = 2β , so vereinfachen sich diese
Bedingungen zu:
• c ist ungerade;
• a ≡ 1 (mod 4).
Bei einem multiplikativen linearen Kongruenzgenerator bildet der Startwert i0 = 0 einen
Fixpunkt (Zyklus der Länge 1) und muß daher stets ausgschlossen werden. Die maximale Zykluslänge eines solchen Generators kann also höchstens P = m − 1 sein. Dieser Wert kann
erreicht werden, wenn für m eine Primzahl gewählt wird ( Primzahlgenerator“) und
”
• a eine primitive Wurzel von m ist [d.h. am−1 ≡ 1
ganzzahlig für k < m − 1].
(mod m) und (ak − 1)/m ist nicht
Die andere populäre Wahl für m ist wieder eine Zweierpotenz, m = 2β mit β ≥ 3. In diesem
Fall ist die größtmögliche Zykluslänge P = 2β−2 , und die Voraussetzungen zur Erreichung des
Maximalwerts sind:
• a ≡ ±3 (mod 8);
• i0 ist ungerade.
Die angeführten Bedingungen garantieren lediglich die Erreichung der jeweils möglichen
maximalen Zykluslänge, eine damit konsistente Wahl der Parameter muß jedoch noch lange
nicht zu einem guten Generator führen. Einerseits gibt es eine Reihe zusätzlicher Richtlinien,
wie diese Parameter möglichst intelligent gewählt werden können, andererseits entscheiden über
die Qualität eines Generators letztlich sein Verhalten unter den verschiedensten theoretischen
und empirischen Tests sowie vor allem seine Bewährung in praktischen Anwendungen.
Da, wie schon angedeutet, Anwendungen heutzutage oft die Bereitstellung großer Mengen
von Zufallszahlen voraussetzen, trachtet man danach, Zufallszahlengeneratoren möglichst einfach zu halten und effizient zu implementieren. Das ist auch einer der Gründe, warum man für
m gern eine Mersenne’sche Primzahl5 oder eine Zweierpotenz verwendet. In beiden Fällen kann
man nämlich das Resultat der Modulo-Operation in Gl. (6.95), statt zu dividieren, viel schneller durch einfache Bit-Manipulationen ermitteln. Ist insbesondere m von der Form m = 2β ,
wo β die Wortlänge des Computers ist, so kann die Modulo-Operation ganz wegfallen, denn
für β = 32 ergibt z.B. ein Produkt von zwei (binär) 32-stelligen ganzen Zahlen zwar maximal
eine 64-stellige Zahl, doch werden vom Resultat nur die unteren (wenigst signifikanten) 32 Bits
5
Das sind Zahlen der Form m = 2β − 1; manche, aber nicht alle dieser Zahlen sind Primzahlen.
222
KAPITEL 6. MONTE CARLO-VERFAHREN
gespeichert, während die oberen 32 automatisch durch Overflow“ verlorengehen. Diese unteren
”
32 Bits stellen aber genau den Rest nach Division durch 232 dar.6
a
c
m
i0
Bemerkung
16807
65539
69069
1664525
25214903917
6364136223846793005
0
0
1
0
11
1
231 − 1
231
232
232
248
264
ungerade
ungerade
minimal
RANDU
VAX
Occam
C
ungerade
Tabelle 6.1: Parameter einfacher linearer Kongruenzgeneratoren.
In Tabelle 6.1 sind die Kenngrößen einiger einfacher linearer Kongruenzgeneratoren angeführt. Der Generator mit dem Multiplikator a = 16807 = 75 ist ein Primzahlgenerator (231 −1
ist eine der Mersenneschen Primzahlen) mit erstaunlich guten Eigenschaften und wird deshalb
manchmal als minimaler Standard“ bezeichnet. Der (wegen seiner schlechten Eigenschaften)
”
berüchtigte“ RANDU-Generator wurde in frühen IBM-Großrechnerserien eingesetzt. Einen
”
ähnlichen Multiplikator, aber viel bessere Eigenschaften hat der Generator, der auf Minicomputern vom Typ VAX ab den frühen 1980er Jahren zum Einsatz kam. Occam ist eine Ende der
1980er Jahre zur Programmierung von Transputern entwickelte Sprache, die den angegebenen
Generator als Standard-Zufallszahlengenerator enthielt. Allen diesen Generatoren ist eine—für
heutige Begriffe—recht kurze Zykluslänge gemeinsam. Längere Perioden haben z.B. der als
Funktion drand48 implementierte Generator der Programmiersprache C und der in der letzten
Zeile angegebene Generator.
6.4.3
Qualität von Zufallszahlengeneratoren
Korrelationen
Durchläuft ein linearer Kongruenzgenerator mit maximaler Periode P = m seinen ganzen
Zyklus, so kommen in der Folge {i0 , i1 , i2 , . . .} alle Zahlen von 0 bis m − 1 genau einmal vor.
Die in sind also per Konstruktion gleichverteilt im Intervall [0, m − 1], und daher sind auch die
ξn = in /m gleichverteilt in [0, 1).7 Da man in der Praxis kaum die Periode eines Generators
erschöpfen wird (und das auch nicht sollte), ist die wichtigere Frage, ob auch ein wesentlich
kürzerer Teil der Folge (z.B. die ersten 10000 oder 100000 Zufallszahlen) schon hinreichend
gleichverteilt aussieht. Diese Anforderung ist meist recht gut erfüllt.
Ein wesentlich gravierenderes Problem sind jedoch Korrelationen zwischen aufeinanderfolgenden Zufallszahlen, d.h. die unzulänglich erfüllte statistische Unabhängigkeit einer mit dem
Generator erzeugten Stichprobe. Man kann diese Korrelationen sichtbar machen, indem man
6
7
Dabei wurde eine Zahlendarstellung als sogenanntes Zweierkomplement angenommen.
Für Generatoren mit Maximalperiode P = m−1 oder P = 2β−2 kann man ähnliche Überlegungen anstellen.
6.4. ERZEUGUNG VON ZUFALLSZAHLEN AM COMPUTER
223
aufeinanderfolgende s-Tupel der ξn zu Koordinaten in einem s-dimensionalen Raum zusammenfaßt:
(ξ1 , ξ2 , . . ., ξs ), (ξs+1 , ξs+2 , . . ., ξ2s ), (ξ2s+1 , ξ2s+2 , . . ., ξ3s ), . . .
Wären die ξn wirklich statistisch unabhängig, dann müßten diese Punkte im s-dimensionalen
Einheitswürfel gleichverteilt sein. Wie man allgemein zeigen kann, füllen sie aber irgendwann
(d.h. für ein bestimmtes s) den Würfel nicht homogen aus, sondern kommen auf eine endlichen
Anzahl von Hyperebenen zu liegen. Gute und schlechte Generatoren unterscheiden sich u.a.
dadurch, ob dieser Mangel sich erst bei großen s oder schon in relativ niedrigen Dimensionen
zeigt.
Der in Tabelle 6.1 erwähnte multiplikative IBM/RANDU-Generator mit a = 65539 = 216 +3
(= Primzahl) verdankt seinen schlechten Ruf der Tatsache, daß das Phänomen bereits in drei
Dimensionen auftritt. Hier treten also Korrelationen schon zwischen Tripeln (ξn+1 , ξn+2 , ξn+3 )
aufeinanderfolgender Zufallszahlen auf, und alle vom Generator erzeugten Punkte fallen auf
nur 15 parallele Ebenen im <3 .
Kombination von Zufallszahlengeneratoren
Eine einfache Methode zur Verbesserung der Qualität von Zufallszahlen besteht im Mischen
von Zufallszahlengeneratoren. Dabei kommen z.B. zwei Generatoren, G1 und G2 , zum Einsatz
(die nicht notwendigerweise lineare Kongruenzgeneratoren sein müssen). Die Werte, die der
kombinierte Generator erzeugt, sind zwar die des Generators G1 , ihre Reihenfolge wird jedoch
mit Hilfe des Generators G2 verändert. Auf diese Weise können etwaige Korrelationen in der
vom Generator G1 gelieferten Folge weitgehend eliminiert werden.
Ein solcher Mischungsgenerator baut auf einer Tabelle der Länge N auf, in der die Zufallszahlen des Generators G1 gespeichert werden (N ist in der Größenordnung von O(102 )
Elementen):
0. In einer Initialisierungsphase wird die Tabelle zunächst mit den ersten N Zufallszahlen
von G1 befüllt.
ξ1
ξ2
ξN
1. Beim ersten Aufruf des kombinierten Generators wird mit Hilfe einer Zufallszahl η des
Generators G2 ein zufälliger Index i ∈ {1, 2, . . ., N } erzeugt und das zu diesem Zeitpunkt
an der i-ten Position der Tabelle befindliche Element (beim ersten Aufruf also ξi ) als
Resultat des kombinierten Generators ausgegeben.
ξ1
ξ2
ξi
ξN
224
KAPITEL 6. MONTE CARLO-VERFAHREN
2. Danach wird die i-te Position der Tabelle mit der nächsten Zufallszahl des Generators G1
(beim ersten Aufruf des kombinierten Generators also ξN +1 ) überschrieben.
ξ1
ξ2
ξN +1
ξN
Punkt 1 und 2 werden bei jedem Aufruf des kombinierten Generators ausgeführt. Die Tabelle
enthält dabei immer die letzten N Werte des Generators G1 , wovon einer mit Hilfe des Generators G2 zufällig ausgewählt und dann durch den nächsten Wert von G1 ersetzt wird. Zur
Charakterisierung des Momentanzustands (Status) eines Mischungsgenerators dieses Typs ist
es notwendig, nicht nur den internen Status der beiden Generatoren G1 und G2 , sondern auch
den aktuellen Inhalt der Tabelle zu kennen.
Zufallszahlengeneratoren können aber noch auf viele andere Arten miteinander kombiniert
werden. Sind beispielsweise G1 und G2 zwei Generatoren, die gleichverteilte Folgen von ganzen
Zahlen in ∈ [0, m − 1] bzw. jn ∈ [a, b] liefern, so ist
kn = (in + jn ) mod m
(6.98)
wieder gleichverteilt auf [0, m − 1] und kn /m gleichverteilt auf [0, 1). Dadurch können zwar
leicht Generatoren mit längeren Perioden konstruiert werden, die statistischen Eigenschaften
der entstehenden Zufallszahlenfolgen sind aber jeweils noch separat zu untersuchen.
Aufwärmen und zufällige Bits
Es findet sich oft der Hinweis, daß man einen Zufallszahlengenerator eine Zeitlang laufen lassen (d.h. die ersten Werte verwerfen) sollte, bevor man seine Ergebnisse in einer Anwendung
einsetzt. Die Notwendigkeit einer solchen Aufwärmphase“ kann sich z.B. bei einem linearen
”
Kongruenzgenerator mit relativ kleinem Multiplikator a daraus ergeben, daß bei ungeschickter
Wahl von i0 die ersten paar Werte von
in+1 = (a in + c) mod m
(6.99)
alle kleiner als m (und die ersten ξn daher nahe bei Null) sind, bevor die Modulo-Operation
erstmals zur Anwendung kommt und große und kleine Werte abwechseln.
Von linearen Kongruenzgeneratoren ist außerdem bekannt, daß in der Folge der in die signifikanten Bits zufälliger“ sind als die weniger signifikanten. Braucht man daher in einer
”
Anwendung nur Ja/Nein-Entscheidungen (zufällige Bits), so sollte man dafür nicht das am wenigsten signifikante Bit von in verwenden (indem man etwa in auf gerade oder ungerade testet),
sondern die Entscheidung davon abhängig machen, ob ξn < 1/2 oder ξn ≥ 1/2 ist. Zur Erzeugung zufälliger Bits gibt es aber spezielle Algorithmen, die im nächsten Abschnitt besprochen
werden.
6.4. ERZEUGUNG VON ZUFALLSZAHLEN AM COMPUTER
6.4.4
225
Andere Generatoren
Schieberegister-Generatoren
Will man das Konzept des linearen Kongruenzgenerators verallgemeinern, so sind viele Ansätze
denkbar. Eine Möglichkeit wäre, statt der linearen Rekursion eine nichtlineare Funktion zu
verwenden; eine andere, statt der ein- eine mehrstufige lineare Rekursion zugrunde zu legen
in+1 = (a0 in + a1 in−1 + . . . + ak in−k + c) mod m,
(6.100)
wobei ak 6= 0 angenommen wird. Zum Starten eines solchen Generators muß man nicht nur
einen einzelnen Wert i0 , sondern die ganze Folge (i0 , i1 , . . ., ik ) vorgeben, und auch der aktuelle
Status des Generators ist jeweils durch einen analogen Satz von k + 1 Zahlen charakterisiert.
Mehrstufige lineare Rekursionen werden aber in der Praxis meist nur zur Erzeugung zufälliger Bits eingesetzt. In diesem Fall haben sie die Form eines multiplikativen Generators
bn = (a1 bn−1 + a2 bn−2 + . . . + ak bn−k ) mod 2,
(6.101)
wobei bn —in Analogie zu in —das n-te Bit der Folge ist und die bn , ebenso wie die festen Koeffizienten ai , nur die Werte 0 oder 1 annehmen können. Wenn es sich, wie durch die Schreibweise
angedeutet, um eine echte k-stufige Rekursion handelt, darf ak nicht verschwinden und muß
daher den Wert ak = 1 haben.
bn
bn−1
bn−2
bn−k
a1
a2
ak
Σ mod 2
Abbildung 6.9: Schieberegister-Generator mit Rückkopplung.
Abbildung 6.9 zeigt, warum dieser Algorithmus Schieberegister-Generator mit Rückkopplung
(Feedback Shift Register Generator) heißt und wie er in Hardware implementiert werden könnte:
Sowohl der momentane Status (bn−1 , . . ., bn−k ) des Generators als auch die Multiplikatoren
(a1 , . . ., ak ) werden je in einem Register von k Bits gespeichert. Bei jedem Aufruf des Generators
werden Status- und Multiplikatorregister bitweise miteinander verknüpft und die binäre Summe
der Produkte als neues Zufallsbit ausgegeben. Dieses Bit wird als neues höchstes Bit wieder in
das Statusregister eingespeist, wobei gleichzeitig alle älteren Bits (unter Verlust des ältesten)
um eine Stelle in Richtung niedrigerer Bits verschoben werden.
Da der Wert des neuen Bits bn durch das momentane Bitmuster des Statusregisters bestimmt
wird und es für dieses, als binärer Vektor der Länge k aufgefaßt, 2k − 1 verschiedene Zustände
226
KAPITEL 6. MONTE CARLO-VERFAHREN
gibt,8 kann ein Schieberegister-Generator maximal eine Zykluslänge von P = 2k − 1 haben. Die
maximale Periode wird dann erreicht, wenn das der Rekursion (6.101) zugeordnete Polynom
f (x) = 1 + a1 x + a2 x2 + . . . + ak xk
(6.102)
primitiv über K (2) , dem Restklassenkörper der ganzen Zahlen modulo 2, ist.
Ein Polynom f (x) vom Grad k mit Koeffizienten aus einem Körper K und f (0) 6= 0 heißt
primitiv, wenn es irreduzibel ist (sich nicht in nicht-triviale Polynome niedrigeren Grades faktorisieren läßt) und Ordnung 2k − 1 hat. Dabei ist die Ordnung des Polynoms die kleinste Zahl
`, für die x` − 1 durch f (x) teilbar ist. So ist z.B. das über K (2) nicht faktorisierbare Polynom
f (x) = 1 + x + x2 primitiv, denn es teilt x3 + 1 = (1 + x + x2 )(1 + x) und hat daher Ordnung
3 = 22 − 1. (Da 1 + 1 ≡ 0 gilt, sind die Ausdrücke x` + 1 und x` − 1 über K (2) gleichwertig.)
Trotz des nach Hardware klingenden Namens werden Schieberegister-Generatoren in der
Regel in Software implementiert. Um den Rechenaufwand möglichst gering zu halten, verwendet
man daher einerseits gern Polynome mit nur zwei (oder nur wenigen) nichtverschwindenden
Koeffizienten,
f (x) = 1 + xq + xp ,
(6.103)
wo q < p ist, und benützt andererseits, daß die Addition modulo 2 in der dadurch definierten
Rekursion
bn = (bn−q + bn−p ) mod 2
(6.104)
sich sehr effizient durch die XOR-Operation (exclusive or) ausdrücken läßt
bn = bn−q ⊕ bn−p .
(6.105)
Die Verzögerungen q und p können sehr lang sein (z.B. beim Generator R250“ q = 103,
”
p = 250, aber auch bis zu Größenordnungen von einigen 104 ), sodaß zur Speicherung des
Momentanzustands des Generators eine entsprechende Anzahl von Bits notwendig ist, die zu
Beginn natürlich auch geeignet initialisiert werden müssen.
Schieberegister-Generatoren werden nicht nur zur Simulation zufälliger Ja/Nein-Entscheidungen verwendet, man kann aufeinanderfolgende Bits nach dem Muster
ξn =
m
X
2−` bnq−`
(6.106)
`=1
auch zu Folgen gleichverteilter Zufallszahlen ξn ∈ [0, 1) mit m Binärstellen zusammenfassen.
Wie aus der Formel ablesbar ist, wird dabei der aus dem Generator kommende Bit-Strom
in Pakete von je q ≥ m Bits unterteilt, von denen immer die ersten (neuesten) m Bits als
Entwicklungskoeffizienten von ξn nach inversen Potenzen von 2 interpretiert werden, d.h. bnq−1
ist der Koeffizient von 1/2, bnq−2 der von 1/4 und bnq−m der von 1/2m . Wenn die Größe der
Pakete (die einander natürlich nicht überlappen dürfen) so gewählt wird, daß q und 2k − 1
relativ prim sind, dann hat ein solcher Generator maximale Periode.
8
Der Zustand (0, 0, . . ., 0), der auf den Fixpunkt bn ≡ 0 führen würde, muß wieder ausgeschlossen werden.
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 227
Lagged Fibonacci Generator
Ein dem Schieberegister-Generator mit nur zwei nichtverschwindenden Koeffizienten ganz ähnliches Konstruktionsprinzip liegt dem verzögerten“ Fibonacci-Generator zugrunde. Während
”
bei der bekannten Fibonacci-Folge
fn+1 = fn + fn−1
(6.107)
aufeinanderfolgende Zahlen stark korreliert sind, wird hier statt einer 2-stufigen eine p-stufige
Rekursion verwendet
in = (in−q ∗ in−p ) mod m.
(6.108)
Dabei sind die in jetzt Zufallszahlen aus dem Intervall [0, m−1], und es ist wieder angenommen,
daß für die Verzögerungen q < p gilt. Das Symbol ∗“ steht für eine der binären Operation wie
”
z.B. XOR.
Die Eigenschaften von Schieberegister- und Fibonacci-Generatoren sind noch weniger gut
untersucht als die von herkömmlichen linearen Kongruenzgeneratoren. Insbesondere wird die
Qualität der Zufallszahlen empfindlicher von der Art der Initialisierung beeinflußt.
6.5
Erzeugung von Zufallszahlen mit vorgegebener Verteilung
6.5.1
Gleichverteilung auf dem Intervall [0,1)
Wie schon erwähnt, stehen in praktisch allen Programmier- und Skriptsprachen sowie in vielen
Softwarepaketen Funktionen oder Prozeduren zur Verfügung, mit deren Hilfe man gleichverteilte
Zufallszahlen ξ aus dem Intervall [0, 1) abrufen kann. (Sollte die Qualität eines solchen ein”
gebauten“ Zufallszahlengenerators nicht ausreichen, kann immer noch auf einen gut geprüften
Generator aus einer Bibliothek zurückgegriffen werden.) Wir wollen in diesem Abschnitt nochmals die grundlegenden Eigenschaften dieser Zufallszahlen festhalten. Um zu betonen, daß es
sich um gleichverteilte Zufallszahlen aus dem Intervall [0, 1) handelt und sie von eventuell mit
ihrer Hilfe zu simulierenden anderen Zufallsvariablen x, y, . . . , zu unterscheiden, werden wir
sie sowohl hier als auch gelegentlich in späteren Abschnitten mit dem Symbol ξ (bzw. den
Symbolen ξ, η, . . . ) bezeichnen.
Die Wahrscheinlichkeitsdichte einer auf dem Intervall [0, 1) gleichverteilten Zufallsvariablen
ξ ist
f (ξ) =

 1 für
0 ≤ ξ < 1,
 0 sonst.
(6.109)
Die kumulative Verteilungsfunktion ist für 0 ≤ ξ < 1
Z
F (ξ) =
ξ
−∞
0
0
Z
dξ f (ξ ) =
0
ξ
dξ 0 = ξ,
(6.110)
228
KAPITEL 6. MONTE CARLO-VERFAHREN
also


0 für



F (ξ) =
ξ < 0,
ξ für 0 ≤ ξ < 1,



 1 für
(6.111)
ξ ≥ 1.
Mittelwert und Varianz dieser Verteilung berechnen sich nach
hξi =
Z
hξ i =
2
Z
1
dξ f (ξ) ξ =
0
Z
1
1
ξ 2 dξ ξ = = ,
2 0 2
Z
1
2
dξ f (ξ) ξ =
0
(6.112)
1
ξ 3 1
dξ ξ = = ,
3 0 3
2
(6.113)
und
hξ 2 i − hξi2 =
1
1 1
− =
3 4
12
(6.114)
zu
1
,
2
1
σ 2 = Var(ξ) =
.
12
µ = E(ξ) =
(6.115)
Soll eine Stichprobe einer Zufallsvariablen x erzeugt werden, die nicht gleichverteilt auf dem
Einheitsintervall ist, sondern eine andere Verteilung hat, so kann man dafür möglicherweise
eines der zahlreichen Verfahren (u.U. aus einer Softwarebibliothek) in Anspruch nehmen, die
es erlauben, Zufallsvariablen mit speziellen Verteilungen direkt zu simulieren. Wir wollen im
Gegensatz dazu aber in den weiteren Abschnitten von Kapitel 6 zeigen, wie man mit Hilfe der
praktisch immer zur Verfügung stehenden Standard-Zufallszahlen aus [0, 1) eine Zufallsvariable
mit allgemeiner vorgegebener Verteilung simulieren kann.
6.5.2
Diskrete Verteilungen
Ist ξ eine auf dem Intervall [0, 1) gleichverteilte Zufallsvariable und sind ξ1 und ξ2 zwei Zahlen
mit 0 ≤ ξ1 < 1 und 0 ≤ ξ2 < 1 sowie ξ1 ≤ ξ2 , so ist nach dem letzten Abschnitt die
Wahrscheinlichkeit dafür, daß der Wert von ξ in das Intervall [ξ1 , ξ2 ) fällt, gleich der Länge
dieses Intervalls. Es ist ja gemäß Gl. (6.111)
P (ξ1 < ξ ≤ ξ2 ) =
Z
ξ2
ξ1
dξ f (ξ) = F (ξ2 ) − F (ξ1 ) = ξ2 − ξ1 .
(6.116)
Will man also eine Stichprobe einer diskreten Zufallsvariablen x erzeugen, die die Werte X1 ,
X2 , . . . , mit den Wahrscheinlichkeiten
P (x = Xi ) = pi ,
X
i
pi = 1
(6.117)
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 229
annimmt, so kann man folgendermaßen vorgehen:
p1
ξ0 = 0
p2
ξ1
p3
ξ2
p4
ξ3
ξ4
1
Abbildung 6.10: Zerlegung des Einheitsintervalls bei der Simulation einer diskreten Zufallsvariablen x mit Wahrscheinlichkeitsverteilung P (x = Xi ) = pi .
Man zerlegt zunächst das Einheitsintervall derart in Teilintervalle [ξi−1 , ξi ), daß die Länge jedes
Teilstücks gleich pi ist, d.h.
ξ0 = 0,
ξ1 = p1 ,
ξ2 = p1 + p2 ,
..
.
ξ n = p 1 + p2 + . . . + p n ,
..
.
(6.118)
P
Da pi = 1 gilt, wird dadurch das ganze Intervall vollständig überdeckt (vgl. Abb. 6.10).
Sooft nun ein neuer Wert von x erzeugt werden soll, würfelt man eine gleichverteilte Zufallszahl
ξ ∈ [0, 1), sucht jenes Teilintervall, für das gilt
ξi−1 ≤ ξ < ξi
(6.119)
und setzt
x = Xi .
(6.120)
Aus dieser Vorgangsweise folgt unmittelbar, daß die Wahrscheinlichkeit, mit der der Wert Xi
auftritt, wie gewünscht, gleich ξi −ξi−1 = pi sein wird, denn genau mit dieser Wahrscheinlichkeit
fällt ja ξ in das Intervall [ξi−1 , ξi ).
Beispiel
Es soll eine Zufallsvariable x simuliert werden, die nur zwei Werte annehmen kann, und zwar
(
x=
X1
X2
mit Wahrscheinlichkeit p1 = p,
mit Wahrscheinlichkeit p2 = 1 − p.
(6.121)
Man würfelt dann eine gleichverteilte Zufallszahl ξ ∈ [0, 1) und setzt
(
x=
X1
X2
wenn 0 ≤ ξ < p,
wenn p ≤ ξ < 1.
(6.122)
230
KAPITEL 6. MONTE CARLO-VERFAHREN
Beispiel
Es soll ein zufälliger Index aus der Menge der Zahlen {1, 2, . . ., N } ausgewählt werden. Mit
anderen Worten, man möchte eine Zufallsvariable x simulieren, die mit Wahrscheinlichkeit
P (x = Xi ) = pi = 1/N einen der Werte X1 = 1, X2 = 2, . . . , XN = N annimmt. Da hier alle
pi gleich sind, muß nach dem allgemeinen Rezept, Gl. (6.118–6.120), das Einheitsintervall in N
gleich lange, durch die Stützpunkte ξi = i/N definierte Teilintervalle zerlegt, eine gleichverteilte
Zufallszahl ξ ∈ [0, 1) gewürfelt und dann ermittelt werden, in welchem der Teilintervalle ξ liegt.
Letzteres läuft darauf hinaus, jenen Index i zu finden, für den
ξi−1 =
i−1
i
≤ξ<
= ξi
N
N
(6.123)
bzw.
i ≤ Nξ + 1 < i + 1
(6.124)
gilt. Er muß allerdings nicht gesucht, sondern kann wesentlich effizienter rechnerisch bestimmt
werden, indem man einfach
x = i = bN ξc + 1
(6.125)
setzt, wobei b. . .c für die Funktion nächstkleinere ganze Zahl“ steht.
”
Die beiden Beispiele haben gezeigt, daß man den Wert einer diskreten Zufallsvariablen
entweder durch Tabellieren der ξi und Suchen, in welches Teilintervall ξ gefallen ist, oder durch
eine rechnerische Transformation von ξ in x ermitteln kann. Eine Transformation wird im
allgemeinen die elegantere und ökonomischere Methode sein, insbesondere wenn x abzählbar
unendlich viele Werte annehmen kann. Muß mit einer Tabelle gearbeitet werden, so ist es
vorteilhaft, die Werte Xi so umzuordnen, daß z.B. p1 ≥ p2 ≥ p3 ≥ . . . ≥ 0 gilt, weil dann die
meisten Treffer“ von ξ in den ersten wenigen, schnell zu überprüfenden Teilintervallen liegen,
”
bzw. generell ein möglichst effizientes Suchverfahren zu implementieren.
6.5.3
Die Transformationsmethode
Wie im diskreten Fall, ist auch im Fall einer Zufallsvariablen mit kontinuierlichem Wertebereich
die Transformationsmethode das eleganteste Verfahren, diese Variable mit Hilfe der StandardZufallszahlen aus dem Einheitsintervall zu simulieren. Wie die erforderliche Transformation
aussehen muß, ist unmittelbar einsichtig, wenn x eine auf dem Intervall [a, b) gleichverteilte
Zufallsvariable ist, denn die lineare Transformation
x = a + ξ(b − a)
(6.126)
leistet offenbar das Gewünschte: Sie bildet das Intervall [0, 1) auf [a, b) ab, und wenn ξ gleichverteilt auf [0, 1) ist, dann ist das klarerweise auch für x auf [a, b) der Fall.
Um zu sehen, wie man im allgemeinen Fall vorgehen muß, betrachten wir zunächst eine
kontiniuerliche Zufallsvariable x mit Wahrscheinlichkeitsdichte f (x) und kumulativer Verteilungsfunktion F (x), die einer streng monoton wachsenden oder abnehmenden (reellen) Transformation y = y(x) unterworfen wird, und fragen, wie Wahrscheinlichkeitsdichte g(y) und
kumulative Verteilungsfunktion G(y) der dadurch definierten Zufallsvariablen y aussehen.
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 231
Es sei x0 ein beliebiger, festgehaltener Wert und y0 = y(x0 ). Dann gilt, wenn y(x) streng
monoton wachsend ist,
G(y0 ) = P (y ≤ y0 ) = P (x ≤ x0 ) = F (x0 ),
(6.127)
bzw., da x0 beliebig war, allgemein
G(y) = F (x),
(6.128)
wo x und y durch die Transformation y = y(x) miteinander verknüpft sind. Durch Differenzieren
folgt daraus
dG dy
dF
=
,
dy dx
dx
dy
g(y)
= f (x),
dx
(6.129)
(6.130)
mit dy/dx > 0. Ist andererseits y = y(x) streng monoton abnehmend, dann ist G(y0 ) durch
G(y0 ) = P (y ≤ y0 ) = P (x ≥ x0 ) = 1 − P (x < x0 ) = 1 − F (x0 ),
(6.131)
bzw. allgemein durch
G(y) = 1 − F (x)
(6.132)
gegeben, woraus sich durch Differenzieren
dG dy
dF
= −
,
dy dx
dx
dy
g(y)
= − f (x),
dx
(6.133)
(6.134)
ergibt. Da nun dy/dx < 0 und daher − dy/dx = |dy/dx| ist, kann man beide Fälle in den
Formeln

 F (x)
y = y(x) streng monoton zunehmend,
G(y) = 
1 − F (x) y = y(x) streng monoton abnehmend,
dy −1
g(y) = f (x) ,
dx
(6.135)
zusammenfassen.
Die letzte Gleichung hätte sich auch direkt aus der Überlegung ergeben, daß man den Erwartungswert einer Funktion h(y), wenn man im Integral eine (z.B. streng monoton wachsende)
Variablentransformation y = y(x) vornimmt, einerseits als
hhi =
Z
Z
dy g(y) h(y) =
dx
dy
g[y(x)] h[y(x)],
dx
(6.136)
232
KAPITEL 6. MONTE CARLO-VERFAHREN
andererseits aber auch direkt als
hhi =
Z
dx f (x) h[y(x)]
(6.137)
schreiben kann. Wenn das für beliebige Funktionen h(y) gelten soll, muß offenbar g[y(x)] dy/dx =
f (x) gelten. Der Vorteil dieser Argumentation besteht darin, daß man sie unmittelbar auf den
mehrdimensionalen (multivariaten) Fall verallgemeinern kann: Wird ein Satz von Zufallsvariablen {x, y, . . .}, die durch eine Wahrscheinlichkeitsdichte f (x, y, . . .) beschrieben werden, in
einen anderen Satz von Zufallsvariablen {r, s, . . .} transformiert, dann hängt deren Wahrscheinlichkeitsdichte g(r, s, . . .) mit der ursprünglichen über
∂(r, s, . . .) −1
g(r, s, . . .) = f (x, y, . . .) ∂(x, y, . . .) (6.138)
zusammen, wo ∂(r, s, . . .)/∂(x, y, . . .) die Funktionaldeterminante der Transformation ist.
Die gerade abgeleiteten Beziehungen können, wenn wir wieder zum eindimensionalen (univariaten) Fall zurückkehren, von zwei verschiedenen Gesichtspunkten aus betrachtet werden:
1. Es sind eine Zufallsvariable x und eine Transformation y = y(x) gegeben. Dann ist y
wieder eine Zufallsvariable, und man kann fragen, wie die zugehörige Wahrscheinlichkeitsdichte g(y) aussieht. Die Antwort ist
dy −1
g(y) = f (x) ,
dx (6.139)
wobei f (x) die als bekannt vorausgesetzte Wahrscheinlichkeitsdichte von x ist.
2. Es seien eine Zufallsvariable x, beschrieben durch die Wahrscheinlichkeitsdichte f (x),
und eine weitere Zufallsvariable y, beschrieben durch die Wahrscheinlichkeitsdichte g(y),
vorgegeben. Angenommen, man ist auf irgendeine Weise in der Lage, Stichproben von x
zu erzeugen. Kann man das ausnützen, um auch Stichproben von y zu erzeugen (d.h. y zu
simulieren“)? Dies läßt sich durch eine Transformation y = y(x) bewerkstelligen, wobei
”
der Zusammenhang zwischen x und y durch die Auflösung einer der beiden Gleichungen
G(y) =

 F (x),
 1 − F (x),
(6.140)
gegeben ist. Dabei sind F (x) und G(y) die kumulativen Verteilungsfunktionen der Variablen x und y.
Die letztere Betrachtungsweise ist die Grundlage der Transformationsmethode.
In der Praxis handelt es sich bei x meist um die auf dem Intervall [0, 1) gleichverteilte
Zufallsvariable, da sie leicht mit Hilfe des standardmäßig am Computer zur Verfügung stehenden Zufallszahlengenerators simuliert werden kann. In diesem Fall ist nach Gl. (6.111) die
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 233
kumulative Verteilungsfunktion für 0 ≤ x ≤ 1 durch F (x) = x gegeben, und für die gesuchte
Transformation kann eine der Alternativen
G(y) =

 x,
(6.141)
 1 − x,
gewählt werden. Wenn x auf [0, 1) gleichverteilt ist, dann gilt das natürlich auch für die Variable
1 − x, d.h. die beiden Möglichkeiten sind im Prinzip gleichwertig.
1
G(y)
x
y
y(x)
Abbildung 6.11: Zur Konstruktion der Abbildung y = y(x) bei der Transformationsmethode.
Die Transformationsmethode ist zweifellos das einfachste Verfahren, eine Zufallsvariable y mit
vorgegebener Wahrscheinlichkeitsdichte g(y) zu simulieren. Praktische Voraussetzung ist allerdings, daß man beide kumulativen Verteilungsfunktionen F (x) und G(y) analytisch (oder
effizient numerisch) berechnen und die Gleichung G(y) = F (x) leicht nach y auflösen kann.
Abbildung 6.11 veranschaulicht graphisch, wie sich im Standardfall x gleichverteilt auf [0, 1)“
”
die Definition der Transformation y = y(x) durch Auflösen der Gleichung G(y) = x ergibt.
Wir werden in den folgenden Beispielen je einen Fall behandeln, in dem die Voraussetzung der
Auflösbarkeit dieser Beziehung gut bzw. (zunächst) nicht erfüllt ist.
6.5.4
Beispiele
Exponentialverteilung
Eine Zufallsvariable y, die kontinuierliche Werte auf der positiven reellen Halbachse annehmen
kann, heißt exponentialverteilt, wenn ihre Wahrscheinlichkeitsdichte durch

1 −y/λ


e
g(y) =  λ

0
für y ≥ 0,
sonst,
(6.142)
234
KAPITEL 6. MONTE CARLO-VERFAHREN
gegeben ist. Die zugehörige, korrekt normierte kumulative Verteilungsfunktion ist, wie man
durch Differenzieren leicht verifiziert,
G(y) =

 1 − e−y/λ
für y ≥ 0,
 0
sonst.
(6.143)
Der in diesen Funktionen auftretende Parameter λ bestimmt sowohl Mittelwert als auch Varianz
Z ∞
1 −y/λ
e
y=λ
dz e−z z = λ Γ(2) = λ,
λ
0
0
Z
Z ∞
Z ∞
1 −y/λ 2
2
2
2
dy e
dz e−z z 2 = λ2 Γ(3) = 2λ2 ,
hy i =
dy g(y) y =
y =λ
λ
0
0
hyi =
Z
Z
dy g(y) y =
∞
dy
σy2 = hy 2 i − hyi2 = λ2 ,
(6.144)
(6.145)
(6.146)
sowie alle höheren Momente von y.9
Die Exponentialverteilung findet sich nicht nur in vielen Teilgebieten der Physik (so sind
etwa die Lebensdauern von radioaktiven Kernen oder die freien Weglängen der Teilchen eines
verdünnten Gases exponentialverteilt), sondern sie beschreibt ganz allgemein in der Statistik
der sogenannten Poisson-Prozesse die Verteilung der Zeiten bis zum ersten Eintreten eines
seltenen“ Ereignisses, für das die Wahrscheinlichkeit, daß es in einem kurzen Zeitintervall
”
beobachtet wird, proportional zur Länge dieses Intervalls ist.
Um nach der Transformationsmethode eine Stichprobe aus dieser Verteilung zu erzeugen,
kann man z.B. den oberen Zweig von Gl. (6.141) benützen und auf der linken Seite die kumulative Verteilungsfunktion der Exponentialverteilung, G(y) = 1 − e−y/λ , auf der rechten aber
die der Gleichverteilung auf dem Einheitsintervall, F (ξ) = ξ, einsetzen und die entstehende
Beziehung
1 − e−y/λ = ξ
(6.147)
nach y auflösen
y = − λ ln(1 − ξ).
(6.148)
Transformiert man also die Zahlen des Standard-Zufallszahlengenerators auf [0, 1) nach dieser
Vorschrift, dann sollten die so erhaltenen y-Werte exponentialverteilt sein.
Es ist noch zu überprüfen, ob diese Transformation tatsächlich das Einheitsintervall auf die
positive reelle Halbachse abbildet: Der Ausdruck ln(1 − ξ) geht für ξ → 0 nach Null, für ξ → 1
aber gegen −∞, d.h. es gilt an den Enden des Intervalls wunschgemäß y(0) = 0 bzw. y(1) = ∞.
Daraus folgt auch, daß die Funktion y = y(ξ) streng monoton wachsend ist.
Statt des oberen Zweigs von Gl. (6.141) hätte man natürlich ebensogut den unteren benützen
und
G(y) = 1 − e−y/λ = 1 − ξ
9
Γ(z) ist die Gammafunktion mit Γ(n) = (n − 1)! für ganzzahliges n.
(6.149)
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 235
nach y auflösen können
y = − λ ln ξ
(6.150)
In diesem Fall ist die Transformation y = y(ξ) streng monoton abnehmend, und die Enden
des Einheitsintervalls werden auf y(0) = ∞ bzw. y(1) = 0 abgebildet. Im Prinzip sind beide
Varianten gleichwertig, die erste hat aber gegenüber der zweiten den Vorteil, daß für einen
korrekt implementierten Zufallszahlengenerator 0 ≤ ξ < 1 gelten und der Wert ξ = 1 niemals
auftreten sollte. Die Verwendung der Funktion ln(1 − ξ) ist daher aus numerischen Gründen
günstiger als ln ξ, da es sonst für ξ = 0 zu einem Overflow“ kommen kann.
”
Normalverteilung
Die Gauß- oder Normalverteilung ist nicht nur in der Statistik, wo sie u.a. den Grenzfall einer
Reihe anderer Verteilungen bildet, von überragender Bedeutung, sie nimmt auch in vielen Teilgebieten der Physik eine zentrale Stellung ein. So sind etwa die Geschwindigkeitskomponenten
eines klassischen einatomigen Gases (Maxwellverteilung!) oder die Fluktuationen thermodynamischer Gleichgewichtsgrößen normalverteilt, bzw. nimmt man bei der Auswertung fast jeglicher Art von Daten an, daß zufällige Meßfehler durch eine Gaußverteilung beschrieben werden
können.
Eine normalverteilte Zufallsvariable z kann alle Werte auf der reellen Achse mit Wahrscheinlichkeitsdichte
1
2
2
g(z) = √
e−(z−µ) /(2σ )
(6.151)
2πσ
annehmen. Diese funktionale Form wird oft mit N (µ, σ 2 ) bezeichnet, wobei µ und σ 2 für den
Mittelwert und die Varianz von z stehen. In der Praxis genügt es allerdings meist, den Spezialfall
1
2
g(y) = √ e−y /2 ,
2π
(6.152)
also einer N (0, 1)-verteilten Zufallsvariablen y mit hyi = 0 und Var(y) = 1, zu betrachten, da
man daraus durch lineare Transformation
z = µ+σy
(6.153)
jederzeit eine Variable z mit vorgegebenem µ 6= 0 und σ 2 6= 1 erzeugen kann.10
Die zu Gl. (6.152) gehörige kumulative Verteilungsfunktion ist
Z
G(y) =
=
1
dy 0 g(y 0 ) = √
−∞
2π
1
1
+√
2
2π
Z
y
dy 0 e−y
Z
02 /2
y
−∞
,
dy 0 e−y
02 /2
1
= √
2π
Z
Z y
0
−∞
+
dy 0 e−y
02 /2
0
(6.154)
0
Bei einer linearen Transformation z = a + b y ändern sich Mittelwert und Varianz wie hzi = a + hyi und
= b2 σy2 .
10
σz2
y
236
KAPITEL 6. MONTE CARLO-VERFAHREN
wobei benützt wurde, daß auf Grund der Symmetrie (und Normiertheit) der
√ Wahrscheinlichkeitsdichte G(0) = 1/2 sein muß. Durch die Variablentransformation t = y 0 / 2 wird daraus
√
1
1 Z y/ 2
2
G(y) = + √
dt e−t
2
π 0
(6.155)
und schließlich
G(y) =
mit
√
1 1
+ erf(y/ 2),
2 2
(6.156)
2 Zx
2
erf(x) = √
dt e−t
π 0
(6.157)
als Definition der Errorfunktion.
Wollte man also eine N (0, 1)-verteilte Variable y mit Hilfe der Transformationsmethode und
des Standard-Zufallszahlengenerators simulieren, so müßte man für jede Zahl ξ ∈ [0, 1), die der
Generator liefert, die Gleichung G(y) = ξ, d.h.
√
(6.158)
erf(y/ 2) = 2ξ − 1,
nach y auflösen. Nun gehört die Errorfunktion zwar ebenso zur Grundausstattung modernerer
Compiler wie trigonometrische Funktionen oder die Exponentialfunktion, es steht aber nur
selten auch die hier benötigte Umkehrfunktion zur Verfügung. Die Gleichung müßte daher
iterativ mit einem Nullstellenverfahren gelöst werden, was für die Praxis zu aufwendig ist und
in Widerspruch dazu steht, daß die Erzeugung von Zufallsvariablen möglichst effizient und
schnell sein sollte.
Obwohl die Transformationsmethode bei Anwendung auf die Normalverteilung zunächst an
der praktischen Auflösbarkeit der Transformationsgleichung zu scheitern scheint, läßt sich dieses Problem umgehen, wenn man vom uni- zum bivariaten Fall übergeht: Es seien nämlich x
und y zwei unabhängige, N (0, 1)-verteilte Zufallsvariablen, sodaß ihre gemeinsame Wahrscheinlichkeitsdichte als Produkt der Einzelverteilungen geschrieben werden kann
1
1
1 −(x2 +y2 )/2
2
2
f (x, y) = √ e−x /2 √ e−y /2 =
e
.
2π
2π
2π
(6.159)
Das Argument der letzten Exponentialfunktion legt nahe, statt x und y Polarkoordinaten r und
φ zu verwenden. Nach der allgemeinen Transformationsformel für Wahrscheinlichkeitsdichten,
Gl. (6.138), ist dann die gemeinsame Wahrscheinlichkeitsdichte von r und φ durch
∂(r, φ) −1
g(r, φ) = f (x, y) =
∂(x, y) 1 −r2 /2
e
r
2π
(6.160)
|{z} | {z }
g2 (φ) g1 (r)
gegeben, wobei die Funktionaldeterminante für die Transformation von kartesischen auf Polarkoordinaten |∂(x, y)/∂(r, φ)| = r ist. Die Tatsache, daß sich g(r, φ) in zwei jeweils nur von einem
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 237
der Argumente abhängige Ausdrücke faktorisieren läßt, zeigt, daß r und φ, als neue Zufallsvariablen aufgefaßt, ebenfalls statistisch unabhängig sind. Die eine der beiden Randverteilungen, g2 (φ), entspricht einer Gleichverteilung des Polarwinkels im Intervall [0, 2π), die andere,
g1 (r), einer χ2 -Verteilung (mit zwei Freiheitsgraden) des Radius auf der positiven reellen Halbachse. Wenn es also gelingt, Polarkoordinaten so zu erzeugen, daß die Radien χ2 -verteilt, die
Winkel gleichverteilt und r und φ unabhängig sind, dann liefert die Transformation auf kartesische Koordinaten Paare von ebenfalls unabhängigen, N (0, 1)-normalverteilten Zufallsvariablen
x und y.
Während die Erzeugung gleichverteilter Winkel unproblematisch ist, kann man zur Simulation der Radien nochmals auf die Transformationsmethode zurückgreifen. Die der Wahrscheinlichkeitsdichte g1 (r) entsprechende kumulative Verteilungsfunktion ist nämlich
Z
G1 (r) =
r
−∞
dr0 g1 (r0 ) =
= 1 − e−r
2 /2
Z
r
dr0 e−r
0
02 /2
r0 =
Z
0
r
dr0
d −r02 /2 −e
dr0
,
(6.161)
sodaß die Transformationsgleichung
G1 (r) = 1 − e−r
2 /2
=ξ
(6.162)
in diesem Fall leicht aufgelöst werden kann
q
r=
− 2 ln(1 − ξ).
(6.163)
Hier ist ξ wieder eine Zahl des Standard-Zufallszahlengenerators auf dem Intervall [0, 1). Jeder
Radius muß nun noch mit einem zufälligen Winkel kombiniert werden. Insgesamt ergibt sich
folgendes Rezept:
Box–Muller-Verfahren zur Erzeugung normalverteilter Zufallszahlen
Würfle je zwei unabhängige, gleichverteilte Zufallszahlen ξ, η ∈ [0, 1) und setze
q
r
φ
x
y
=
− 2 ln(1 − ξ),
= 2πη,
= r cos φ,
= r sin φ.
(6.164)
(6.165)
(6.166)
(6.167)
Die so erhaltenen (x, y)-Paare bilden eine Stichprobe zweier unabhängiger, normalverteilter Zufallsvariablen mit Mittelwert µ = 0 und Varianz σ 2 = 1.
Das Box–Muller-Verfahren liefert immer zwei normalverteilte Zufallszahlen auf einmal. Sollte
jeweils nur eine einzige Zufallszahl gebraucht werden, so kann man die zweite entweder verwerfen, oder man speichert sie als nächstes Element der Stichprobe, für das dann keine eigene
Berechnung stattfinden muß.
Es gibt neben der Box–Muller-Methode noch eine Reihe anderer Verfahren, um eine Stichprobe aus einer Gaußverteilung zu erzeugen. Ein einfaches, näherungsweises Verfahren baut auf
238
KAPITEL 6. MONTE CARLO-VERFAHREN
dem Zentralen Grenzwertsatz, Gl. (6.61–6.62), auf, der besagt, daß für einen Satz {ξ1 , ξ2 , . . ., ξn }
unabhängiger Zufallsvariablen mit identischer Wahrscheinlichkeitsverteilung die Größe
y=
1
√
σξ n
n
X
!
ξi − nhξi
(6.168)
i=1
im Limes n → ∞ normalverteilt ist mit Mittelwert hyi = 0 und Varianz σy2 = 1. Sind die ξi die
üblichen gleichverteilten Zufallszahlen aus dem Intervall [0, 1), für die hξi = 1/2 und σξ2 = 1/12
gilt, so vereinfacht sich im Spezialfall n = 12 wegen des Wegfalls des Vorfaktors dieser Ausdruck
zu
y=
12
X
ξi − 6.
(6.169)
i=1
Nimmt man an, daß die Aussage des Zentralen Grenzwertsatzes bei n = 12 schon Gültigkeit
hat, dann kann man also N (0, 1)-verteilte Zufallszahlen auf einfache Weise dadurch erzeugen,
daß man zwölfmal den Standard-Zufallszahlengenerator aufruft und von der Summe dieser Werte den Mittelwert abzieht. Dieses Verfahren ist zwar nur eine Approximation und verbraucht
pro normalverteilter mehrere gleichverteilte Zufallszahlen, kommt aber ohne kompliziertere Rechenoperationen aus und kann für einfache Fälle durchaus ausreichend sein.
Tabellierung
Sollte sich beim Versuch, die Transformationsmethode zu verwenden, herausstellen, daß man
nicht in der Lage ist, die Gleichung G(y) = ξ analytisch (oder effizient numerisch) nach y
aufzulösen, bleibt im univariaten Fall immer noch die Möglichkeit, die Abbildung y = y(ξ) zu
tabellieren und zwischen den in der Tabelle gespeicherten Werten zu interpolieren.
ξ
1
G(y)
ξi+1
ξi
y
yi yi+1
Abbildung 6.12: Auflösung der Transformationsgleichung G(y) = ξ mit Hilfe
einer Tabelle.
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 239
Wie in Abb. 6.12 angedeutet, kann man dabei z.B. so vorgehen, daß man das Einheitsintervall
auf der ξ-Achse in N gleich große Abschnitte unterteilt und für die Stützpunkte
ξi =
i
,
N
i = 0, . . ., N
(6.170)
jene Werte yi ermittelt, für die gilt
Z
G(yi ) =
yi
−∞
dy g(y) = ξi =
i
.
N
(6.171)
Diese Werte, die in die Tabelle eingetragen werden, müssen nur einmal bestimmt werden, und
es ist daher akzeptabel, wenn ihre Berechnung einen gewissen Aufwand darstellt.
Soll dann die Gleichung G(y) = ξ bei beliebigem ξ nach y aufgelöst werden, sucht man
zunächst das Teilintervall [ξi , ξi+1 ), in das ξ fällt. Der Index des unteren Randpunktes dieses
Intervalls ist durch die Bedingung
i+1
i
≤ ξ <
,
N
N
i ≤ N ξ < i + 1,
(6.172)
also bei äquidistanten Stützpunkten explizit durch
i = bN ξc
(6.173)
gegeben. Liegen die Stützpunkte hinreichend dicht, sodaß zwischen den Werten der Tabelle
linear interpoliert werden darf, bildet man nun
λ=
ξ − ξi
= Nξ − i
ξi+1 − ξi
(6.174)
und setzt
y = (1 − λ)yi + λyi+1 .
(6.175)
Es ist klar, daß die Interpolation, solange die Größe der Tabelle keine Rolle spielt, durch
Erhöhung der Anzahl der Stützpunkte beliebig genau gemacht werden kann. Eine Verallgemeinerung der Tabellierung auf den multivariaten (mehrdimensionalen) Fall ist jedoch aus genau
diesem Grund problematisch.
6.5.5
Die Rejection-Methode
Die Methode des Verwerfens“ (Acceptance/Rejection Method) ist ein sehr einfaches Verfah”
ren zur Erzeugung von Stichproben, das an weniger einschränkende Voraussetzungen gebunden
und daher wesentlich allgemeiner einsetzbar ist als die Transformationsmethode. Insbesondere
besteht kein formaler Unterschied zwischen der Behandlung ein- und mehrdimensionaler Verteilungen. Die größere Allgemeinheit wird allerdings um den Preis geringerer Effizienz erkauft, was
240
KAPITEL 6. MONTE CARLO-VERFAHREN
dazu führt, daß auch diese Methode in der Praxis nur für eine bestimmte Klasse von Problemen
geeignet ist.
f (x)
A
x
a
dx
b
Abbildung 6.13: Zusammenhang zwischen Wahrscheinlichkeiten und Flächeninhalten unterhalb einer im Intervall [a, b] konzentrierten, durch f (x) ≤ A beschränkten Wahrscheinlichkeitsdichte f (x).
Um die Idee des Verfahrens zunächst an einem einfachen Fall zu veranschaulichen, betrachten wir eine Zufallsvariable x, deren Wahrscheinlichkeitsdichte f (x) außerhalb eines endlichen
Intervalls [a, b] der reellen Achse verschwinden möge. Ist dann dx die Länge eines Teilintervalls
von [a, b], so ist gemäß den Eigenschaften von f (x) die Wahrscheinlichkeit, daß die Zufallsvariable einen Wert im Intervall dx um x annimmt, gleich der in Abb. 6.13 markierten Fläche
unter der Funktion f (x), also, wenn dx sehr klein ist, ungefähr gleich f (x) dx. Andererseits
ist, wiederum auf GrundRder Eigenschaften einer Wahrscheinlichkeitsdichte, die gesamte Fläche
unter der Funktion auf dx f (x) = 1 normiert. Man kann daher auch sagen, daß die Wahrscheinlichkeit, daß die Zufallsvariable in das Intervall dx um x fällt, einfach durch das Verhältnis
der markierten zur Gesamtfläche gegeben ist. Könnte man also eine große Anzahl von Koordinatenpaaren (x, y) so würfeln, daß sie das von der Funktion f (x) und der x-Achse eingeschlossene
Gebiet gleichmäßig ausfüllen, dann müßte die relative Anzahl der Punkte, die in den markierten
Streifen fallen, gerade f (x) dx sein.
Wir haben damit gezeigt, daß für Punkte (x, y), die auf der zwischen f (x) und der x-Achse
liegenden Fläche gleichverteilt sind, die Wahrscheinlichkeit, daß ihre x-Koordinate in einem
kleinen Intervall dx um x liegt, gleich f (x) dx ist. Mit anderen Worten, erzeugt man eine
Stichprobe von Punkten (x, y) mit diesen Eigenschaften und ignoriert deren y-Koordinaten, so
bildet die Menge der x-Koordinaten eine Stichprobe aus der Wahrscheinlichkeitsdichte f (x).
Die noch verbleibende Frage, wie man gleichverteilte Punkte unterhalb von f (x) erzeugt,
läßt sich einfach beantworten, wenn die Wahrscheinlichkeitsdichte nach oben beschränkt ist,
d.h. es eine Konstante A gibt, sodaß f (x) ≤ A für alle x ∈ [a, b]. In diesem Fall genügt
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 241
es nämlich, gleichverteilte Koordinaten innerhalb des Rechtecks [a, b] × [0, A] zu würfeln und
alle Punkte zu verwerfen, die oberhalb von f (x) liegen; die verbleibenden Punkte sind dann
gleichverteilt unterhalb von f (x) (s. Abb. 6.14).
y
accept
reject
A
f (x)
x
a
b
Abbildung 6.14: Akzeptieren und Verwerfen von Punkten bei der einfachen
Rejection-Methode.
Eine erste Version der Rejection-Methode kann daher lauten:
Rejection-Methode (einfache Variante)
Um eine Zufallsvariable x zu simulieren, deren Wahrscheinlichkeitsdichte f (x) nur
in einem Intervall [a, b] nicht verschwindet und dort durch f (x) ≤ A beschränkt
ist, würfelt man Paare von unabhängigen, gleichverteilten Zufallszahlen ξ, η ∈ [0, 1),
setzt
x = a + ξ(b − a),
y = η A,
und verwirft alle Punkte (x, y), für die y > f (x) ist. Die x-Koordinaten der verbleibenden (akzeptierten) Punkte bilden eine Stichprobe aus der Wahrscheinlichkeitsdichte f (x).
Die Vorgangsweise bei diesem Verfahren besteht also darin, daß man jedesmal, wenn ein
neuer Wert der Zufallsvariablen x erzeugt werden soll, zunächst eine gleichverteilte Zufallszahl
ξ ∈ [0, 1) würfelt und x = a+ξ(b−a) setzt. Dann würfelt man eine weitere Zufallszahl η ∈ [0, 1)
und prüft, ob ηA ≤ f (x) ist. Ist das nicht der Fall, muß mit Hilfe zweier neuer Zufallszahlen ξ
und η ein neuer x-Wert erzeugt und wieder auf ηA ≤ f (x) getestet werden. Das wird so lange
wiederholt, bis das erstemal y = ηA unterhalb von f (x) liegt. Der zugehörige x-Wert wird dann
als Resultat zurückgegeben. Dabei ist es wichtig, stets beide Werte x und y zu verwerfen, also
242
KAPITEL 6. MONTE CARLO-VERFAHREN
immer ein neues ξ und η zu verwenden. Wollte man nämlich x (d.h. ξ) festhalten und nur η
variieren, bis ηA ≤ f (x) ist, so würden die x-Werte nicht eine Stichprobe aus f (x) bilden,
sondern wären im Intervall gleichverteilt!
Die Sinnhaftigkeit der Rejection-Methode hängt u.a. davon ab, wie viele Punkte verworfen
werden müssen. Wie man leicht sieht, ist die Effizienz11 des Verfahrens, d.h. der Bruchteil der
akzeptierten Punkte, gleich dem Verhältnis der Flächen in Abb. 6.14
Z
dx f (x)
η=
A(b − a)
.
(6.176)
Wenn f (x), abgesehen von einigen lokalen Maxima, im Großteil des Intervalls nur eher kleine
Werte annimmt, kann die Rejection-Methode in der einfachen Variante also sehr unökonomisch
sein. Auch ist sie in dieser Form nicht unmittelbar einsetzbar, wenn das Intervall [a, b] nicht
endlich oder f (x) nicht nach oben beschränkt sein sollte. In solchen Fällen könnte zwar eine Variablentransformation (die z.B. ein halb-unendliches oder unendliches Intervall auf ein endliches
abbildet) Abhilfe schaffen, doch läßt sich leicht eine Verallgemeinerung des Verfahrens formulieren, die sowohl diese Einschränkungen vermeidet als auch gleichzeitig die Effizienz erhöhen
kann.
Es ist bisher
nämlich in die Überlegungen nicht eingegangen, daß die WahrscheinlichkeitsR
dichte auf dx f (x) = 1 normiert sein muß [insbesondere wird auch i.a. A(b − a) 6= 1 sein].
Wesentlich war nur, daß sowohl die Wahrscheinlichkeit, daß die Zufallsvariable einen Wert
im Intervall dx um x annimmt, als auch die Wahrscheinlichkeit, daß die x-Koordinate eines
gleichverteilt auf der unterhalb von f (x) liegenden Fläche gewürfelten Punktes (x, y) in diesem
Intervall liegt, durch
das Verhältnis der Fläche des in Abb. 6.13 markierten Streifens f (x) dx
R
zur Gesamtfläche dx f (x) gegeben ist. Dieses Verhältnis bleibt unverändert, wenn f (x) mit
einem beliebigen Faktor multipliziert wird.
Weiters wurde der Bereich zwischen f (x) und der x-Achse in ein rechteckiges Gebiet eingeschlossen, auf dem es leicht ist, gleichverteilte Punkte zu würfeln (und alle, die oberhalb von
f (x) liegen, zu verwerfen). Ebensogut kann man natürlich ein Gebiet wählen, das sich besser an
f (x) anschmiegt und auch nicht notwendigerweise auf ein endliches Intervall konzentriert sein
muß. Es muß nur wieder ein Weg gefunden werden, auf diesem Gebiet gleichverteilte Punkte
zu würfeln.
Es seien daher f (x) und g(x) Funktionen, die proportional zu den Wahrscheinlichkeitsdichten zweier Zufallsvariablen sind, mit der Eigenschaft, daß f (x) eine obere Schranke für g(x)
darstellt
f (x) ≥ g(x) ≥ 0.
(6.177)
Dabei entspricht f (x) einer Zufallsvariablen, die man (z.B. mit Hilfe der Transformationsmethode) simulieren kann,12 g(x) aber jener Zufallsvariablen, die man simulieren möchte. Man
11
Der Buchstabe η in Gl. (6.176) bedeutet keine Zufallszahl, sondern ist die übliche Bezeichnung für eine
Effizienz.
12
Die erste Variable ist also die Verallgemeinerung der Gleichverteilung auf dem Intervall [a, b], wie sie von
der einfachen Rejection-Methode angenommen wird, auf eine beliebige Wahrscheinlichkeitsdichte f (x).
6.5. ERZEUGUNG VON ZUFALLSZAHLEN MIT VORGEGEBENER VERTEILUNG 243
kann dann genauso vorgehen wie vorhin, d.h. man erzeugt gleichverteilte Punkte (x, y) im
Gebiet zwischen f (x) und der x-Achse und akzeptiert nur jene x-Werte, für die der zugehörige
y-Wert unterhalb von g(x) liegt (s. Abb. 6.15).
y
f (x)
accept
g(x)
reject
x
Abbildung 6.15: Akzeptieren und Verwerfen von Punkten bei der verbesserten
Rejection-Methode.
Das Rezept zur Erzeugung gleichverteilter Punkte unterhalb von f (x) ist ebenfalls jenem
der einfachen Rejection-Methode analog, nur muß man als x-Koordinate statt gleichverteilter
Werte aus dem Intervall [a, b] jetzt Werte aus der Wahrscheinlichkeitsdichte f (x) würfeln und
mit einer y-Koordinate der Form y = η f (x) kombinieren, wobei η wieder eine gleichverteilte
Zufallszahl aus dem Intervall [0, 1) ist. Die Wahrscheinlichkeit, daß der Punkt in einem kleinen
Rechteck um (x, y) mit den Kantenlängen dx und dy liegt, ist dann nämlich das Produkt
der Wahrscheinlichkeit f (x) dx, daß die erste Koordinate im Intervall dx um x liegt, und der
Wahrscheinlichkeit dy/f (x), daß die zweite Koordinate im Intervall dy um y liegt,
f (x) dx
dy
= dx dy,
f (x)
(6.178)
also über der ganzen Fläche konstant, d.h. die Punkte sind tatsächlich im zweidimensionalen
Sinn gleichverteilt.
Die Effizienz dieses verbesserten Verfahrens ist wieder durch das Verhältnis der Anzahl der
akzeptierten zur Anzahl der insgesamt erzeugten Punkte, also das Verhältnis der unter g(x)
bzw. f (x) liegenden Flächen bestimmt,
Z
η=Z
dx g(x)
,
dx f (x)
und umso günstiger, je ähnlicher der Verlauf von f (x) dem von g(x) ist.
Eine verbesserte Variante der Rejection-Methode lautet daher:
(6.179)
244
KAPITEL 6. MONTE CARLO-VERFAHREN
Rejection-Methode (verbesserte Version)
Es seien f (x) und g(x) proportional zu den normierten Wahrscheinlichkeitsdichten
fˆ(x) und ĝ(x) zweier Zufallsvariablen, sodaß f (x) eine obere Schranke für g(x) bildet
f (x) ≥ g(x) ≥ 0
Um die durch die Wahrscheinlichkeitsdichte ĝ(x) beschriebene Zufallsvariable zu
simulieren, würfelt man je eine Zufallszahl x aus der Wahrscheinlichkeitsdichte fˆ(x)
und eine unabhängige, gleichverteilte Zufallszahl η ∈ [0, 1), setzt
y = η f (x)
und verwirft alle Punkte (x, y), für die y > g(x) ist. Die x-Koordinaten der verbleibenden (akzeptierten) Punkte bilden eine Stichprobe aus der Wahrscheinlichkeitsdichte ĝ(x).
Beispiel
Um eine N (0, 1)-normalverteilte Zufallsvariable zu simulieren, kann man von der (unnormierten) Wahrscheinlichkeitsdichte
g(x) = e−x
2 /2
(6.180)
ausgehen und diese z.B. durch eine Exponentialverteilung mit der (ebenfalls unnormierten)
Wahrscheinlichkeitsdichte
f (x) = e1/2 e−|x|
(6.181)
als obere Schranke majorisieren“. Dabei wurde für f (x) = A e−b|x| angesetzt, verlangt, daß f (x)
”
g(x) im Punkt ±x0 berührt, und die Effizienz η nach den
q Parametern A und b maximiert. Für die
1/2
optimalen Werte A = e , b = 1 ist x0 = 1 und η = π/(2e) ≈ 0.76. Die (zu negativen Werten
symmetrisierte) Exponentialverteilung kann mit Hilfe der Transformationsmethode simuliert
werden.
6.6
6.6.1
Metropolis Monte Carlo
Random Walks und Markov-Ketten
Die Erzeugung von Stichproben aus einer vorgegebenen Verteilung ist eine der wichtigsten
Grundaufgaben aller Monte Carlo-Methoden. Die in den vorhergehenden Abschnitten vorgestellten Verfahren lassen sich jedoch nur in speziellen Fällen und meist nur auf ein- oder
niedrigdimensionale Probleme anwenden. Im Gegensatz dazu stellt das 1953 von einer Gruppe
von Autoren um Nick Metropolis vorgestellte—und daher Metropolis Monte Carlo genannte—
Verfahren gleichsam einen “Königsweg” dar, denn es ist mehr oder weniger universell einsetzbar
und insbesondere auch für hochdimensionale Probleme geeignet. Der Preis, den man für dieses
6.6. METROPOLIS MONTE CARLO
245
Patentrezept bezahlt, ist die Aufgabe der statistischen Unabhängigkeit der Stichprobe. Das
hat zur Folge, daß wesentlich größere Stichproben erzeugt werden müssen, um eine bestimmte statistische Qualität der Endresultate zu garantieren. Damit ist natürlich auch ein höherer
Rechenaufwand verbunden.
Um den Unterschied zu den bisher beschriebenen Verfahren zu illustrieren, betrachten wir
z.B. die in Abb. 6.16 angedeutete zweidimensionale Wahrscheinlichkeitsdichte f (x, y).
Abbildung 6.16: Beispiel einer zweidimensionalen Wahrscheinlichkeitsdichte
f (x, y). Stärkere Schwärzung entspricht höherer Wahrscheinlichkeit (qualitativ).
Um mit Hilfe der Transformations- oder Rejection-Methode eine Stichprobe aus f (x, y) zu
erzeugen, werden Punkte (ξi , ηi ) so im Grundgebiet gewürfelt, daß jeder Wurf unbeeinflußt
davon ist, wo die früheren Würfe gelandet sind, und die relative Anzahl der Stichprobenpunkte,
die in ein kleines Rechteck der Fläche dx dy um den Punkt (x, y) fallen, im Mittel gleich
f (x, y)dxdy ist. Der linke Teil von Abb. 6.17 zeigt, wie eine solche Stichprobe aussehen könnte.
Grundlage der Metropolis-Methode ist der Begriff eines Random Walks bzw. einer Irr”
fahrt“: Ausgehend von einem geeignet zu wählenden Startpunkt wird—in Analogie zur Brownschen Molekularbewegung—eine diskrete Trajektorie durch das Grundgebiet erzeugt, die sich
aus vielen kleinen zufälligen Schritten endlicher Länge zusammensetzt. Die Stichprobe besteht
dann aus der Menge oder einer Teilmenge (z.B. jeder zehnte Punkt) der erzeugten Punkte,
ist aber jetzt korreliert, da aufeinanderfolgende Punkte nahe benachbart und daher nicht statistisch unabhängig voneinander sind. Wenn man die Menge der erzeugten Punkte insgesamt
betrachtet, soll die Wahrscheinlichkeit dafür, daß ein Stichprobenpunkt (ξi , ηi ) in ein kleines
Rechteck der Fläche dx dy um (x, y) fällt, wieder f (x, y) dx dy sein. Durch das Konzept der
Schritte wird eine Art künstlicher Zeit (Monte Carlo-Zeit) eingeführt, die aber eine reine Zählzeit ist und keine unmittelbare reale Interpretation besitzt. Ein Beispiel eines solchen Random
246
KAPITEL 6. MONTE CARLO-VERFAHREN
Walks ist im rechten Bild von Abb. 6.17 gezeigt.
Abbildung 6.17: Linkes Bild: Unabhängige Stichprobe vom Umfang n = 1000
zweier Zufallsvariablen, die durch die in Abb. 6.16 gezeigte Wahrscheinlichkeitsdichte (x, y) charakterisiert sind. Rechtes Bild: Mit Hilfe eines Random Walks
aus n = 1000 Schritten erzeugte, korrelierte Stichprobe derselben Zufallsvariablen. Ausgangspunkt des Random Walks ist ein Ort nahe der linken unteren Ecke
des Grundgebietes.
Die statistische Beschreibung des Random Walks erfolgt mit Hilfe von Markov-Ketten:
Markov-Kette
Eine Folge von diskreten Zufallsvariablen x0 , x1 , x2 , . . . mit demselben Wertebereich
{X0 , X1 , X2 , . . .} heißt Markov-Kette, wenn gilt
P (xn = Xi(n) |xn−1 = Xi(n−1) , . . ., x0 = Xi(0) ) = P (xn = Xi(n) |xn−1 = Xi(n−1) ),
d.h. die bedingte Wahrscheinlichkeit, daß x zur Zeit n einen bestimmten Wert Xi(n)
annimmt, hängt nur vom Wert von x zur Zeit n − 1 ab, aber nicht explizit von den
Werten, die x zu weiter zurückliegenden Zeiten angenommen hat.
Wir haben bei dieser Definition angenommen, daß alle xn denselben Wertebereich haben, weil
man unter der Bezeichnung xn meist ein und dieselbe Variable versteht, die nur zu verschiedenen
(Monte Carlo) Zeiten betrachtet wird. Außerdem kann immer vorausgesetzt werden, daß der
Wertebereich diskret ist, da sich am Computer ohnehin nur endlich viele verschiedene Zahlen
darstellen lassen, selbst wenn der Wertebereich im Prinzip kontinuierlich wäre. Im letzteren
Fall würde man von einem Markov-Prozeß sprechen, falls auch die Zeit“ kontinuierlich ist,
”
von einem Markov-Prozeß mit kontinuerlicher Zeit.
Es besteht eine gewisse Analogie zwischen Markov-Ketten und der (numerischen) Lösung
von Bewegungsgleichungen der klassischen Mechanik, denn dort hängen z.B. bei Einschrittverfahren Ort und Impuls zur Zeit t + ∆t auch nur von Ort und Impuls zur Zeit t ab. Allerdings
6.6. METROPOLIS MONTE CARLO
247
sind neuer Ort und Impuls in der Mechanik eindeutig bestimmt und nicht nur mit Wahrscheinlichkeiten gegeben.
Bezeichnungsweisen
Da x oft für die Koordinaten oder Parameter eines physikalischen Systems steht, sagt man
für xn = Xi auch, das System befindet sich zur Zeit n im Zustand Xi“, oder kürzer, im
”
”
Zustand i“.
Die bedingten Wahrscheinlichkeiten P (xn = Xi(n) |xn−1 = Xi(n−1) ) heißen Übergangswahrscheinlichkeiten vom Zustand Xi(n−1) in den Zustand Xi(n) . Falls sie nicht von der Zeit abhängen,
spricht man von einer stationären Markov-Kette und verwendet eine der folgenden abgekürzten
Schreibweisen
P (xn = Xj |xn−1 = Xi ) = P (Xj |Xi ) = P (i→j) = pij .
(6.182)
Als absolute Wahrscheinlichkeit (im Gegensatz zu den Übergangswahrscheinlichkeiten) bezeichnet man die Wahrscheinlichkeit, daß sich das System zur Zeit n im Zustand Xi befindet
(n)
P (xn = Xi ) = P (n) (Xi ) = wi .
(6.183)
Da die Koeffizienten pij bedingte Wahrscheinlichkeiten sind, gilt
0 ≤ pij ≤ 1,
X
pij = 1,
(6.184)
j
denn daß der Zustand i in irgendeinen Zustand j übergeht, ist ein sicheres Ereignis. Für die
(n)
Absolutwahrscheinlichkeiten wi gilt natürlich ebenfalls
(n)
0 ≤ wi
X
(n)
wi
≤ 1,
= 1.
(6.185)
i
Als Realisierung der Markov-Kette bezeichnet man die Folge der Werte, die die xn , ausgehend von x0 , in einem bestimmten Fall annehmen. Dabei kann der Wert von x0 fix vorgegeben
(n)
sein oder aus einer Verteilung von Anfangswerten gewürfelt werden. Die pij und wi beschreiben dann die relativen Häufigkeiten, mit denen man bei einer Auswertung vieler Realisierungen
der Markov-Kette Übergänge vom Zustand i in den Zustand j bzw. das Auftreten des Zustands
i zum Zeitpunkt n beobachten würde. Eine Realisierung ist also ein konkreter Random Walk.
6.6.2
Mastergleichung und mikroskopische Reversibilität
Die Strategie der Metropolis Monte Carlo-Methode besteht darin, zeitunabhängige Übergangswahrscheinlichkeiten pij zu konstruieren, die die Eigenschaft haben, daß—nach einer Aufwärm”
(n)
phase“—die sich aus ihnen ergebenden Absolutwahrscheinlichkeiten wi von der Zeit unabhängig und gleich einem Satz von vorgegebenen Wahrscheinlichkeiten wi werden. Die Aufwärmphase ist notwendig, weil der gewählte Anfangszustand i.a. sehr verschieden von den im
248
KAPITEL 6. MONTE CARLO-VERFAHREN
späteren Verlauf des Random Walks auftretenden typischen“ Zuständen des Systems sein
”
kann. Die wi entsprechen bei der Simulation von Systemen mit einer diskreten Menge von
möglichen Zuständen direkt den Wahrscheinlichkeiten, mit denen diese Zustände angenommen
werden sollen. Im Fall eines Systems mit kontinuierlichen Zuständen hat man sich darunter die
geeignet normierten Wahrscheinlichkeitsdichten an jener endlichen Teilmenge von Zuständen
vorzustellen, auf die das System bei der Darstellung am Computer notwendigerweise reduziert
wird.
Gelingt diese Konstruktion, so wird, über einen hinreichend langen Random Walk betrachtet, das System den Zustand Xi mit der relativen Häufigkeit (Wahrscheinlichkeit) wi annehmen.
Das heißt, daß man tatsächlich eine Stichprobe aus der vorgegebenen Wahrscheinlichkeitsverteilung wi erzeugt hat.
Die grundlegende Frage ist zunächst, ob es bei dieser Methode überhaupt zu einer zeitunabhängigen Verteilung der Absolutwahrscheinlichkeiten kommen kann. Mit anderen Worten,
(n)
was ist die Bedingung für die Stationarität der wi ? Zu ihrer Beantwortung betrachtet man
die sogenannte Mastergleichung“. Das ist eine Bilanzgleichung für die zeitliche Änderung der
”
Absolutwahrscheinlichkeiten.
Zur Herleitung der Mastergleichung betrachten wir die Wahrscheinlichkeit, daß das System
zum Zeitpunkt n des Random Walks im Zustand i ist. Wir können diese Wahrscheinlichkeit
als Summe aller Wahrscheinlichkeiten schreiben, daß sich das System zum Zeitpunkt n − 1 in
irgendeinem Zustand j befunden hat und zum Zeitpunkt n im Zustand i befindet, denn das
sind lauter disjunkte Ereignisse
X
P (xn = Xi ) =
P (xn = Xi , xn−1 = Xj )
j
X
=
P (xn = Xi |xn−1 = Xj ) P (xn−1 = Xj ).
(6.186)
j
Dabei wurde in der zweiten Zeile die Definition von bedingten Wahrscheinlichkeiten, Gl. (6.2),
(n)
verwendet. Ausgedrückt durch die wi und pij , lautet die letzte Gleichung
(n)
wi
=
X
(n−1)
wj
pji ,
(6.187)
j
bzw., wenn man von der Summe den Fall j = i abspaltet und benützt, daß
P
daher pii = 1 − j(6=i) pij ist,
(n)
wi
X
=
(n−1)
pji + wi
(n−1)
pji + wi
wj
(n−1)
pii
(n−1)
−
P
j
pij = 1 und
j(6=i)
X
=
wj
j(6=i)
X
(n−1)
wi
pij .
(6.188)
j(6=i)
(n)
Damit ist die zeitliche Änderung“ von wi
”
(n)
wi
(n−1)
− wi
=
X
j(6=i)
(n−1)
wj
pji −
X
j(6=i)
(n−1)
wi
pij .
(6.189)
6.6. METROPOLIS MONTE CARLO
249
Aus dieser Gleichung kann man ablesen, daß von einem Zeitpunkt zum nächsten die Absolutwahrscheinlichkeit des Zustands i sich dadurch erhöht, daß das System zum früheren Zeitpunkt
in irgendeinem anderen Zustand j gewesen sein und ein Übergang von j nach i stattgefunden
haben könnte. Umgekehrt erniedrigt sie sich jedoch durch die Möglichkeit, daß das System zwar
zum alten Zeitpunkt schon im Zustand i gewesen sein, ihn aber in der Zwischenzeit durch einen
Übergang in einen Zustand j (mit j6=i) verlassen haben könnte. Ergänzt man in der letzten
(n−1)
Beziehung noch beide Summen um den Term wi
pii , so erhält man die Mastergleichung
(n)
wi
(n−1)
− wi
=
X
(n−1)
wj
j
pji −
X
(n−1)
wi
pij .
(6.190)
j
(n)
Falls die wi gegen eine zeitunabhängige Wahrscheinlichkeitsverteilung wi streben, muß für
letztere also gelten
0=
X
wj pji −
X
j
oder, wegen
X
wi pij ,
(6.191)
j
P
j
pij = 1,
wj pji = wi ,
(6.192)
j
d.h. wi ist ein linker Eigenvektor der Matrix pij zum Eigenwert λ = 1.
Die Stationaritätsbedingung, die man auch in der Form
X
(wj pji − wi pij ) = 0
(6.193)
j
schreiben kann, wird sich durch viele verschiedene Wahlen der pij erfüllen lassen. Eine einfache Möglichkeit, die auf jeden Fall die Gültigkeit der Gleichung garantiert, besteht darin, zu
verlangen, daß jeder Term in der Summe individuell verschwindet
wj pji = wi pij .
(6.194)
Diese Bedingung, die natürlich eine wesentlich schärfere Einschränkung als Gl. (6.193) darstellt,
nennt man mikroskopische Reversibilität oder Detailed Balance. Ihre anschauliche Bedeutung
wird klar, wenn man sie wieder in Form von Wahrscheinlichkeiten ausschreibt
P (xn = Xi |xn−1 = Xj )P (xn−1 = Xj ) = P (xn = Xj |xn−1 = Xi )P (xn−1 = Xi ),
P (xn = Xi , xn−1 = Xj ) = P (xn = Xj , xn−1 = Xi ).
(6.195)
Die Wahrscheinlichkeit, daß sich das System zum früheren Zeitpunkt im Zustand j und zum
späteren im Zustand i befindet, muß also genauso groß sein wie für den umgekehrten Fall.
250
KAPITEL 6. MONTE CARLO-VERFAHREN
Für die Metropolis Monte Carlo-Methode, mit der man erreichen will, daß die Zustände des
Systems im Verlauf der Simulation asymptotisch mit vorgegebenen, zeitunabhängigen Wahrscheinlichkeiten wi vorkommen, wird man daher die Übergangswahrscheinlichkeiten des Random Walks so wählen müssen, daß
pij
wj
=
.
pji
wi
(6.196)
In dieser Gleichung ist zwar die rechte Seite vorgegeben, die Übergangswahrscheinlichkeiten
auf der linken sind dadurch aber keineswegs eindeutig bestimmt. Es sind vielmehr wieder viele
Wahlen für die pij denkbar, die die Bedingung erfüllen würden. Eine naheliegende Möglichkeit
wäre, sie—unabhängig von i—gleich wj zu setzen
pij = wj .
(6.197)
Das ist jedoch kein praktikabler Ansatz, denn dazu müßte man in der Lage sein, direkt Stichproben aus der gegebenen Wahrscheinlichkeitsverteilung wi zu erzeugen. Das ist aber das eigentliche
Ziel des Metropolis Monte Carlo-Verfahrens.
Eine bemerkenswerte Eigenschaft von Gl. (6.196) ist, daß auf der rechten Seite nur das
P
Verhältnis von wj und wi auftritt. Es ist also gar nicht notwendig, die korrekt auf i wi = 1
normierten Wahrscheinlichkeiten zu kennen, sondern es genügt schon, Koeffizienten wi zur
Verfügung zu haben, die nur proportional zu diesen Wahrscheinlichkeiten sind. Dies ist besonders bei Anwendungen in der Statistischen Mechanik von Bedeutung, wo die Normierungsfaktoren der Wahrscheinlichkeitsdichten den Zustandssummen entsprechen, die i.a. unbekannt und
daher Gegenstand eigener Monte Carlo-Verfahren sind.
6.6.3
Trial Moves und Akzeptanztest
Beim Metropolis Monte Carlo-Verfahren wird versucht, die mikroskopische Reversibilität durch
eine Art Acceptance/Rejection-Methode zu erreichen, in deren Rahmen die Übergangswahrscheinlichkeiten nochmals aufgespalten werden: Jeder Schritt des Random Walks besteht aus
einem versuchten Zug“ (Trial Move), der entweder angenommen oder verworfen wird. Über
”
die Annahme des Zugs entscheidet dann ein vom Trial Move unabhängiger und erst nach dessen
Ausführung erfolgender Akzeptanztest. Fällt der Akzeptanztest positiv aus, bleibt der Random
Walker in seiner neuen Position; ist der Akzeptanztest negativ (d.h. wird der Zug abgelehnt), so
kehrt er in die Ausgangslage zurück und verbleibt dadurch einen weiteren Zeitschritt an seiner
alten Position.
Trial Move
Die Trial Moves erfolgen zufällig und werden—wie der Random Walk selbst—wieder durch
Übergangswahrscheinlichkeiten tij beschrieben. D.h. tij ist die bedingte Wahrscheinlichkeit
dafür, mit dem System einen Zug in den Zustand j zu versuchen, wenn es sich zur Zeit n
gerade im Zustand i befindet
tij = T (Xj |Xi ) = T (i→j).
(6.198)
6.6. METROPOLIS MONTE CARLO
251
Die tij werden meist als symmetrisch vorausgesetzt, sodaß die Wahrscheinlichkeit, vom Zustand
i einen Zug in den Zustand j zu versuchen, stets genauso groß sein soll wie dafür, einen Zug in
den Zustand i zu versuchen, wenn sich das System zur Zeit n im Zustand j befunden hätte
tij = tji .
(6.199)
In der Praxis, wo die Zufallsvariablen xn , die die Markov-Kette bilden, meist Koordinaten
(in einem allgemeinen Sinn) sind, wird die Symmetrie der tij in der Regel dadurch erreicht,
daß man die neue Position Xj zufällig gleichverteilt in einer kleinen Umgebung“ der alten
”
Position Xi wählt. Ist diese Umgebung nämlich immer gleich groß und wird die neue Position
darin gleichverteilt gewählt, so sind offenbar die Wahrscheinlichkeit, von der Position Xi aus
die Position Xj zu würfeln, und die Wahrscheinlichkeit, von der Position Xj aus die Position
Xi zu würfeln, gleich groß (s. Abb. 6.18).
Xj
Xi
Abbildung 6.18: Kleine Umgebungen zweier Zustände Xi und Xj . Wenn der neue
Zustand gleichverteilt innerhalb einer kleinen Umgebung des alten gewürfelt wird,
sind die Wahrscheinlichkeiten, von Xi aus beim Punkt Xj bzw. von Xj aus beim
Punkt Xi zu landen, gleich groß.
Akzeptanztest
Da die Richtung“ versuchter Züge und ihre tatsächliche Akzeptanz statistisch voneinander
”
unabhängig sein sollen, kann die gesamte Übergangswahrscheinlichkeit für einen Übergang vom
Zustand Xi in den Zustand Xj als Produkt angesetzt werden
pij = tij aij .
(6.200)
Hier ist also tij die Übergangswahrscheinlichkeit (bedingte Wahrscheinlichkeit) dafür, daß der
versuchte Zug, der bei Xi beginnt, gerade nach Xj führt, während aij die Wahrscheinlichkeit
bezeichnet, daß dieser Zug auch wirklich akzeptiert wird. (Letztere ist durch beide Indizes i
252
KAPITEL 6. MONTE CARLO-VERFAHREN
und j gekennzeichnet, weil sie i.a. sowohl vom End- als auch vom Ausgangszustand abhängen
wird.) Das Konzept einer Akzeptanzwahrscheinlichkeit hat zur Folge, daß der ins Auge gefaßte
Zug—als Ergebnis eines Tests—zwar mit Wahrscheinlichkeit aij angenommen, andererseits mit
Wahrscheinlichkeit 1 − aij aber auch verworfen werden kann. Im zweiten Fall ist der neue
Zustand gleich dem alten, d.h. der Random Walker hat einen Schritt der Länge Null gemacht
und ist an seinem Ort geblieben. Die Monte Carlo-Zeit wird aber trotzdem um eine Einheit
weitergezählt.
Nachdem der Ansatz der Übergangswahrscheinlichkeiten für Trial Moves ( kleine Umge”
bung“) meist nicht sehr problemspezifisch ist, ist offenbar die Wahl geeigneter Akzeptanzwahrscheinlichkeiten der entscheidende Punkt. Da insgesamt die mikroskopische Reversibilität,
pij
tij aij
wj
=
=
,
pji
tji aji
wi
(6.201)
gelten soll und bei symmetrischen Trial Moves im mittleren Ausdruck dieser Gleichung durch
tij = tji gekürzt werden kann, ergibt sich für die aij die Beziehung
aij
wj
=
.
aji
wi
(6.202)
Das ist im Prinzip dieselbe Gleichung wie schon für die pij , Gl. (6.196), sodaß auch hier die wi
nicht korrekt normiert sein müssen und wieder viele Wahlen von Akzeptanzwahrscheinlichkeiten
aij denkbar sind, die dieser Bedingung genügen. Zwei populäre Ansätze sind die sogenannte
asymmetrische“ und die symmetrische Vorschrift“.
”
”
Asymmetrische Vorschrift
Nach dieser Vorgangsweise, die von den Erfindern des Metropolis-Verfahrens in der Originalarbeit vorgeschlagen wurde, ist ein Zug von Xi nach Xj auf jeden Fall zu akzeptieren, wenn
wj ≥ wi ist; sollte wj < wi sein, wird der Zug nur mit Wahrscheinlichkeit wj /wi < 1 angenommen. In kompakter Schreibweise lautet das Rezept“ demnach
”
aij = min(wj /wi , 1).
Die aij sind allerdings keine Übergangswahrscheinlichkeiten, d.h. es gilt für sie nicht
sondern nur
aij + (1 − aij ) = 1,
(6.203)
P
j aij
= 1,
(6.204)
wobei die beiden Alternativen darin bestehen, daß der Zug entweder mit Wahrscheinlichkeit aij
akzeptiert oder mit Wahrscheinlichkeit 1 − aij abgelehnt wird.
Daß dieses Schema die mikroskopische Reversibilität erfüllt, ist leicht einzusehen, denn ist
wj ≥ wi , so gilt
aij = min(wj /wi , 1) = 1,
aji = min(wi /wj , 1) = wi /wj ,
(6.205)
6.6. METROPOLIS MONTE CARLO
253
und daher
aij
1
wj
=
=
.
aji
wi /wj
wi
Ist andererseits wj < wi , so folgt daraus
(6.206)
aij = min(wj /wi , 1) = wj /wi ,
(6.207)
aji = min(wi /wj , 1) = 1,
und somit ebenfalls
wj /wi
aij
wj
=
.
=
aji
1
wi
(6.208)
f (x)
x
x′ xi x′′
Abbildung 6.19: Eindimensionales Beispiel zur Akzeptanz von Trial Moves beim
Metropolis Monte Carlo-Verfahren mit der asymmetrischen Vorschrift.
Abbildung 6.19 illustriert die Wirkungsweise der asymmetrischen Vorschrift an Hand eines
eindimensionalen Beispiels, bei dem eine Stichprobe aus der angedeuteten Wahrscheinlichkeitsdichte f (x) erzeugt werden soll.13 Es ist die momentane Position xi im Random Walk eingezeichnet sowie eine Umgebung von xi (in diesem Fall ein kleines Intervall), in der zufällig der
nächste Schritt des Random Walks gewürfelt wird. Fällt die Wahl auf x0 , so wird der Zug auf
jeden Fall akzeptiert, denn es ist f (x0 ) > f (xi ), d.h. es geht wahrscheinlichkeitsmäßig bergauf“.
”
Ein Zug nach x00 hingegen wird nur mit Wahrscheinlichkeit f (x00 )/f (xi ) < 1 akzeptiert, weil der
neue Zustand weniger wahrscheinlich ist als der alte und der Random Walker daher eine Tendenz haben sollte, länger an der alten Position zu verharren (der alte Zustand ist ja wichtiger
als der neue und sollte im Verlauf des Random Walks öfter vorkommen). Züge, die in ein Gebiet
mit höherer Wahrscheinlichkeit führen, werden also immer akzeptiert; solche, die in Bereiche
mit niedrigerer Wahrscheinlichkeit führen, nur mit einer bestimmten Wahrscheinlichkeit.
13
Bei kontinuierlichen Problemen tritt die Wahrscheinlichkeitsdichte f (x), die man sich an den nur endlich vielen am Computer darstellbaren Koordinatenpositionen ausgewertet denken kann, an die Stelle der vorgegebenen
diskreten Wahrscheinlichkeitsverteilung wi .
254
KAPITEL 6. MONTE CARLO-VERFAHREN
Symmetrische Vorschrift
Die asymmetrische Vorschrift der Autorengruppe um Metropolis ist wohl die am häufigsten
verwendete Strategie zur Entscheidung über die Akzeptanz der Trial Moves. Daneben gibt es
aber auch die symmetrische Vorschrift, die durch
aij =
wj
wi + wj
(6.209)
definiert ist. Sie wird z.B. in der Statistischen Mechanik gern bei der Simulation von SpinSystemen verwendet. Ihr besonderes Merkmal ist, daß der neue Zustand niemals unbedingt
akzeptiert wird, auch dann nicht, wenn er größere Wahrscheinlichkeit hat als der alte.
Daß auch das symmetrische Rezept die mikroskopische Reversibilität erfüllt, ist ebenfalls
leicht einzusehen, denn es gilt
aij
wj /(wi + wj )
wj
=
=
.
(6.210)
aji
wi /(wj + wi )
wi
Verworfene Trial Moves
Ein wesentliches Merkmal der Metropolis Monte Carlo-Methode ist, daß auch abgelehnte Züge
als Schritte (der Länge Null) gelten. Es wäre daher falsch, solange Trial Moves zu erzeugen, bis
ein Zug akzeptiert wird, und dann erst die Zeit um eine Einheit weiterzuzählen. Vielmehr zählt
auch ein abgelehnter Zug als Schritt, bei dem der Random Walker gleichsam auf der Stelle tritt.
Um dies zu veranschaulichen, betrachten wir die Übergangswahrscheinlichkeit pii , d.h. die
bedingte Wahrscheinlichkeit dafür, daß das System im Zustand i verbleibt, wenn es sich urP
sprünglich schon im Zustand i befunden hat. Wegen j pij = 1 können wir pii auch schreiben
als
X
pii = 1 −
=
X
pij
j(6=i)
X
tij −
j
= tii +
X
j(6=i)
= tii +
tij aij
j(6=i)
X
tij −
X
tij aij
j(6=i)
tij (1 − aij ) ,
(6.211)
j(6=i)
P
wobei in der ersten Zeile für pij = tij aij eingesetzt und benützt wurde, daß 1 = j tij , also die
Trial-Übergangswahrscheinlichkeiten normiert sein sollen. Drücken wir dies noch in der Form
pii = tii aii + tii (1 − aii ) +
X
tij (1 − aij )
(6.212)
j(6=i)
aus, so können wir die drei Terme als die Wahrscheinlichkeiten für die folgenden Ereignisse
interpretieren:
6.6. METROPOLIS MONTE CARLO
255
- der Trial Move hat den Zustand i selbst ergeben, und der Zug wurde akzeptiert;
- der Trial Move hat den Zustand i ergeben, und der Zug wurde abgelehnt (was auf dasselbe
hinausläuft);
- der Trial Move hätte zu irgendeinem anderen Zustand j geführt, der Zug wurde aber
abgelehnt.
In jedem Fall hat ein Übergang i→i stattgefunden, der Zustand i kommt im Random Walk
noch einmal vor und muß daher auch noch einmal gezählt werden.
6.6.4
Implementation
Algorithmus
Wir können nun den Algorithmus zur Erzeugung einer Stichprobe mit Hilfe eines Random
Walks formulieren:
Metropolis Monte Carlo (mit asymmetrischer Vorschrift)
Um eine (korrelierte) Stichprobe {ξ0 , ξ1 , . . ., ξn , . . .} einer Zufallsvariablen x, die
durch die Wahrscheinlichkeitsdichte f (x) charakterisiert ist, zu simulieren, wählt
man als Anfangswert ein beliebiges“ ξ0 und erzeugt dann sukzessive ξn+1 aus ξn
”
durch die folgenden Schritte:
Trial Move
Wähle ein ξ 0 in einer kleinen Umgebung von ξn [im eindimensionalen Fall z.B.
als ξ 0 = ξn + (η1 − 1/2)∆, wo η1 eine gleichverteilte Zufallszahl aus [0, 1) und ∆
ein fester Parameter ist)] bzw. allgemein mit einer symmetrischen Übergangswahrscheinlichkeit T (x0 |x) = T (x|x0 ).
Akzeptanztest
Falls f (ξ 0 ) ≥ f (ξn ) ist, setze ξn+1 = ξ 0 (d.h. akzeptiere den Zug);
andernfalls würfle eine (weitere) gleichverteilte Zufallszahl η2 ∈ [0, 1) und setze
ξn+1 = ξ 0 , wenn η2 ≤ f (ξ 0 )/f (ξn ) (d.h. akzeptiere den Zug), bzw. setze
ξn+1 = ξn , wenn η2 > f (ξ 0 )/f (ξn ) (d.h. der Zug wird verworfen).
Die Größe der kleinen Umgebung“ beim Trial Move—im obigen eindimensionalen Fall z.B.
”
der Wert des Parameters ∆—bestimmt, welcher Prozentsatz der Züge angenommen wird: Kleine
Schritte, bei denen sich die Wahrscheinlichkeit wenig ändert, werden im allgemeinen häufiger
akzeptiert als große, während andererseits mit großen, die dafür öfter abgelehnt werden, das
Grundgebiet effizienter erkundet würde als mit kleinen. Es wird also eine gewisse mittlere
Schrittgröße zu optimalen Ergebnissen führen. In der Literatur findet man als Kriterium für
die Wahl der Umgebung oft die Faustregel, daß eine Akzeptanzrate von 30–50 % erreicht werden
sollte, doch kann das von Fall zu Fall verschieden sein.
Der Vergleich einer Zufallszahl η2 mit dem Verhältnis der Wahrscheinlichkeiten beim Akzeptanztest dient dazu, den Zug nur mit Wahrscheinlichkeit f (ξ 0 )/f (ξn ) < 1 zu akzeptieren,
256
KAPITEL 6. MONTE CARLO-VERFAHREN
wenn die Wahrscheinlichkeit für den neuen Zustand kleiner als im alten sein sollte. Besteht der
neue Zustand auch diesen Test nicht, wird er verworfen und der alte Zustand nochmals gezählt.
Anfangszustand
Jede Realisierung einer Markov-Kette muß mit einem konkreten Anfangszustand ξ0 begonnen werden. Da man oft keine Vorstellung hat, welche Zustände für das System typisch sind
[z.B. nicht verschwindend kleinen Werten der Wahrscheinlichkeitsdichte f (x) entsprechen], ist
die Wahl der Ausgangsposition des Random Walkers in einem gewissen Sinn willkürlich. Insbesondere könnte eine günstige Strategie auch sein, mehrere Random Walks von verschiedenen
Ausgangszuständen zu starten und die Ergebnisse zu mitteln.
Im allgemeinen kann man daher annehmen, daß der Anfangszustand ξ0 aus einer Wahr(0)
scheinlichkeitsverteilung wi stammt (die möglicherweise zu einer δ-Funktion entartet, wenn
man nur einen einzigen Anfangszustand betrachtet). Die Wahrscheinlichkeit, daß sich das
System nach dem ersten Schritt des Random Walks im Zustand j befindet, ist dann nach
Gl. (6.187)
(1)
wj =
X
(0)
wk pkj ,
(6.213)
k
und die Wahrscheinlichkeit, nach dem zweiten Schritt im Zustand i zu sein,
(2)
wi
=
X
(1)
wj pji
=
X
X
j
k
j
!
(0)
wk pkj
pji =
X
k
(0)
wk
X
!
pkj pji ,
(6.214)
j
usw. Der Klammerausdruck im letzten Term dieser Gleichung ist nichts anderes als das Produkt
der Übergangsmatrix P mit sich selbst. In Matrix–Vektorschreibweise entsteht also aus der
Anfangsverteilung w(0) im Lauf des Random Walks die Folge
w(0) ,
w(1)
= w(0) · P,
w(2)
= w(0) · P2 ,
..
.
w
(n)
w
= w
..
.
?
=
(0)
(6.215)
·P ,
n
lim [w(0) · Pn ],
n→∞
wobei das Element (i, j) der Matrix Pn (der n-ten Potenz von P) die Übergangswahrscheinlichkeit vom Zustand i in den Zustand j in n Schritten ist.
Ob diese Folge gegen eine (insbesondere die gewünschte) asymptotische Wahrscheinlichkeitsverteilung konvergiert, für die dann w = w · P gilt, hängt von weiteren Eigenschaften von
P ab.
6.6. METROPOLIS MONTE CARLO
257
Ergodizität
Eine wesentliche solche Eigenschaft ist die der Ergodizität. Dabei wird verlangt, daß für jedes
Paar von Zuständen i und j der Zustand j von i aus in endlich vielen Schritten erreichbar sein
soll. Mit anderen Worten, es soll für jedes i und j einen endlichen Index n geben, sodaß
(Pn )ij 6= 0
(6.216)
gilt.
f (x)
x
xi
xj
Abbildung 6.20: Zur Verletzung der Ergodizitätsbedingung. Erfolgt der Random
Walk in zu kleinen Schritten, kann das System in der Umgebung von xi oder xj
gefangen bleiben.
Diese Bedingung kann z.B. verletzt sein, wenn der Random Walk in Taschen“ des Grundge”
bietes gefangen bleibt, wie das in Abb. 6.20 für eine eindimensionale Wahrscheinlichkeitsdichte
veranschaulicht ist: Befindet sich das System im Zustand i und macht man zu kleine Schritte,
so kann der Zustand j von i aus unerreichbar sein, weil alle Wege von xi nach xj durch einen
Bereich führen, in dem f (x) extrem klein ist, und Züge in dieses Gebiet stets abgelehnt würden.
Die Folge wären systematische Fehler aller Stichprobenmittelwerte, da nur die Umgebung von
xi , nicht aber die von xj abgetastet wird. Um das Problem zu beheben, hätte man in diesem
Fall dafür zu sorgen, daß ab und zu hinreichend große Schritte gemacht werden, sodaß von einer
Tasche direkt in die andere gesprungen werden kann. Im multivariaten Fall kann die Existenz
und Lage solcher Taschen jedoch wesentlich undurchsichtiger sein.
Aufwärmphase
(0)
Wegen der Willkür bei der Wahl des Anfangszustandes (oder einer Verteilung wi von Anfangs(n)
zuständen) werden die Absolutwahrscheinlichkeiten wi zu Beginn des Random Walks mehr
oder weniger stark von der vorgegebenen Verteilung wi abweichen und sich dieser erst nach
258
KAPITEL 6. MONTE CARLO-VERFAHREN
einer gewissen Zeit annähern. Die bis dahin erzeugten Mitglieder der Stichprobe stammen noch
nicht aus der asymptotischen Wahrscheinlichkeitsverteilung und sind demnach als untypisch zu
betrachten. Um die Stichprobenmittelwerte nicht zu verfälschen, verwirft man daher zunächst
ein Anzahl M0 von Schritten und beginnt die Mittelung erst danach:
ξ0 , ξ1 , . . ., ξM0 verwerfen,
ḡ =
1
M
MX
0 +M
g(ξn ).
(6.217)
n=M0 +1
Man bezeichnet gern jenen Abschnitt des Random Walks, der verworfen wird, als Aufwärmphase
und den sich daran anschließenden brauchbaren“ (aus offensichtlichen Gründen) als Produk”
tionsphase. Wie lange die Aufwärmphase sein sollte (wie lange es dauert, bis die typischen“
”
Zustände des Systems erreicht sind), ist in der Praxis allerdings oft nicht leicht zu entscheiden.
Verdünnen
Aufeinanderfolgende Mitglieder einer Stichprobe sind bei Random Walks mit kleinen Schritten
stark korreliert, da sich von einem Schritt zum nächsten die Position des Random Walkers nur
geringfügig ändern kann. Naturgemäß ändert sich dann auch der Wert der zu mittelnden Funktion g(x) von einem Schritt zum nächsten nur wenig. Sollte die Auswertung dieser Funktion
aufwendig sein, so kann man, ohne die statistische Qualität der Ergebnisse zu beeinträchtigen,
Rechenzeit sparen, indem man die Stichprobe verdünnt“ und z.B. nur jeden zehnten, zwanzig”
sten oder hundertsten Schritt der Stichprobe auswertet. Eine solche Auswahl bildet wieder eine
Stichprobe aus der vorgegebenen Verteilung, ist jedoch i.a. wesentlich weniger stark korreliert.
Wie sich im nächsten Abschnitt zeigen wird, ist bei gegebenem Stichprobenumfang die Varianz
des Stichprobenmittelwerts proportional der Korrelationslänge der Daten. Eine um einen Faktor 10 verdünnte Stichprobe kann daher der vollen Stichprobe gleichwertig sein, wenn durch
das Weglassen von Daten die Korrelationslänge um denselben Faktor 10 reduziert wird.
6.6.5
Standardfehler des Stichprobenmittelwerts bei korrelierten
Stichproben
Wir haben in Abschnitt 6.3.2 die Wurzel aus der Varianz des Stichprobenmittelwerts als Maß für
die Unsicherheit von Monte Carlo-Methoden herangezogen und gefunden, daß für eine statistisch
unabhängige Stichprobe
Var(ḡ) =
1
Var(g)
M
(6.218)
gilt, wobei M der Umfang der Stichprobe und
Z
Var(g) =
dx f (x) [g(x) − hgi]2
(6.219)
ein möglicherweise unbekannter, aber fester und von der Stichprobe unabhängiger Wert ist.
6.6. METROPOLIS MONTE CARLO
259
Liegt eine statistisch nicht unabhängige, also korrelierte Stichprobe vor, so kann man wieder
den sich bei oftmaliger Wiederholung der Stichprobe ergebenden Erwartungswert des Stichprobenmittelwerts,14
ḡ =
M
1 X
g(ξi ),
M i=1
(6.220)
berechnen und findet wie im früheren Fall Erwartungstreue:
hḡi = hgi =
Z
dx f (x) g(x).
(6.221)
Die Varianz des Stichprobenmittelwerts ergibt sich jetzt jedoch zu
Var(ḡ) = hḡ 2 i − hḡi2
*
=
+
*
+*
M
M
M
1 X
1 X
1 X
g(ξi )
g(ξj ) −
g(ξi )
M i=1
M j=1
M i=1
+
M
1 X
g(ξj )
M j=1
M X
M h
i
1 X
=
hg(ξ
)
g(ξ
)i
−
hg(ξ
)i
hg(ξ
)i
.
i
j
i
j
M 2 i=1 j=1
(6.222)
Wird die Stichprobe mit Hilfe einer stationären Markov-Kette erzeugt, so wird der Ausdruck
in eckigen Klammern in der letzten Zeile nicht von i und j separat, sondern nur von der
Differenz zwischen den Zeitpunkten i und j abhängen. Wir können daher den zweiten Index
durch j = i + k ersetzen und k von 1 − i bis M − i laufen lassen
Var(ḡ) =
M M
−i h
i
X
1 X
hg(ξ
)
g(ξ
)i
−
hg(ξ
)i
hg(ξ
)i
.
i
i+k
i
i+k
M 2 i=1 k=1−i
(6.223)
Wenn M sehr groß ist, werden die meisten der Indizes i ebenfalls sehr groß sein, sodaß der
Index k der inneren Summe von betragsmäßig sehr großen negativen zu sehr großen positiven
Zahlen laufen wird. Unter der Annahme, daß für k → ±∞ die Stichprobenwerte ξi und ξi+k von
einander statistisch unabhängig werden und folglich die Kovarianz in den eckigen Klammern
asymptotisch verschwinden sollte, können wir daher die innere Summe von k = −∞ bis k = +∞
ausdehnen
M
∞ h
i
X
1 X
Var(ḡ) = 2
hg(ξi ) g(ξi+k )i − hg(ξi )i hg(ξi+k )i .
M i=1 k=−∞
(6.224)
Da—wieder wegen der Stationarität der Markov-Kette—diese Kovarianz nur von der Zeit”
differenz“ k, aber nicht vom absoluten Wert von i abhängen darf (sodaß alle Terme in der
äußeren Summe denselben Beitrag liefern), können wir uns auf einen einzigen (beliebigen) Index i beschränken und die Summe über i gegen einen der Faktoren M im Nenner des Vorfaktors
streichen
∞ h
i
1 X
hg(ξi ) g(ξi+k )i − hg(ξi )i hg(ξi+k )i .
(6.225)
Var(ḡ) =
M k=−∞
14
Eine eventuelle Aufwärmphase wird hier nicht explizit berücksichtigt.
260
KAPITEL 6. MONTE CARLO-VERFAHREN
Man definiert die normierte Autokorrelationsfunktion von g als den Korrelationskoeffizienten
von g(ξi ) und g(ξi+k ),
Cg (k) =
hg(ξi ) g(ξi+k )i − hg(ξi )i hg(ξi+k )i
.
hg 2 i − hgi2
(6.226)
Für eine stationäre Markov-Kette ist das eine gerade Funktion von k, die nicht explizit von i
abhängt, weshalb auch im Nenner das Produkt der Standardabweichungen von g(ξi ) und g(ξi+k )
gleich durch die (zeitunabhängige) Varianz von g ersetzt wurde. Ebenso könnte der zweite Term
im Zähler als hg(ξi )i hg(ξi+k )i = hgi2 geschrieben werden. Diese Funktion ist nach Konstruktion
für k = 0 auf Cg (0) = 1 normiert und verschwindet aus dem weiter oben genannten Grund
(statistische Unabhängigkeit) für k → ±∞. Ihre typische Gestalt ist in Abb. 6.21 angedeutet.
Cg (k)
1
k
Abbildung 6.21: Typischer Verlauf der normierten Autokorrelationsfunktion einer
mittels eines Random Walks erzeugten Zufallsvariablen g(ξ).
Der Vergleich der letzten beiden Gleichungen zeigt, daß wir die Varianz des Stichprobenmittelwerts auch als
Var(ḡ) =
∞
∞
h
i
1 X
1 X
Cg (k) hg 2 i − hgi2 =
Cg (k) Var(g)
M k=−∞
M k=−∞
(6.227)
ausdrücken können. Da Cg (k) eine gerade Funktion und Cg (0) = 1 ist, gilt ferner
"
#
∞
1 X
+
Cg (k) ,
Cg (k) = 2
2 k=1
k=−∞
∞
X
(6.228)
wobei der Ausdruck in eckigen Klammern wie das (mit Schrittweite ∆k = 1) nach der Trapezregel berechnete Integral der nur auf den ganzen Zahlen definierten Funktion Cg (k) von
6.6. METROPOLIS MONTE CARLO
261
k
= 0 bis k = ∞ aussieht. In Analogie mit dem Wert des Integrals einer Exponentialfunktion,
R∞
−t/τ
= τ , nennt man
0 dt e
τg =
∞
1 X
+
Cg (k)
2 k=1
(6.229)
die Korrelationslänge (oder Korrelationszeit) von g(ξ). Damit erhalten wir für die Varianz des
Stichprobenmittelwerts das endgültige Resultat
Var(ḡ) =
1
Var(g).
M/(2τg )
(6.230)
Der Unterschied zwischen einer unabhängigen Stichprobe und einer mit Hilfe eines Random Walks erzeugten, korrelierten Stichprobe vom selben Umfang besteht also darin, daß
die letztere—statistisch gesehen—um einen Faktor 2τg weniger wert“ ist. D.h. um dieselbe
”
Genauigkeit zu erzielen wie eine unabhängige Stichprobe, müßte die korrelierte Stichprobe um
einen Faktor 2τg umfangreicher sein, wobei τg die Korrelationslänge des Random Walks [genauer: der Funktion g(ξ)] ist.
Herunterladen