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.