Monte-Carlo-Simulation

Aus testwiki
Zur Navigation springen Zur Suche springen

Vorlage:Dieser Artikel

Die Kreiszahl Pi kann mit der Monte-Carlo-Methode angenähert bestimmt werden durch das Vierfache der Wahrscheinlichkeit, mit der ein innerhalb des Quadrats zufällig gewählter Punkt in den Kreisabschnitt fällt. Aufgrund des Gesetzes der großen Zahlen sinkt mit steigender Anzahl von Experimenten die Varianz des Ergebnisses. Für mehr Details siehe unten.

Monte-Carlo-Simulation (auch MC-Simulation oder Monte-Carlo-Studie) ist ein Verfahren aus der Stochastik bzw. Wahrscheinlichkeitstheorie, bei dem wiederholt Zufallsstichproben einer Verteilung mithilfe von Zufallsexperimenten gezogen werden.[1]

Ziel ist es, analytisch nicht oder nur aufwendig lösbare Probleme mithilfe der gezogenen Stichproben numerisch zu lösen. Als Grundlage für Monte-Carlo-Simulationen ist vor allem das Gesetz der großen Zahlen zu sehen. Die Zufallsexperimente können entweder – etwa durch Würfeln – real durchgeführt werden oder in Computerberechnungen mittels Monte-Carlo-Algorithmen. Bei Monte-Carlo-Algorithmen werden zur Simulation von zufälligen Ereignissen Zufallszahlen oder auch Pseudozufallszahlen benutzt.

Monte-Carlo-Simulationen weisen Ähnlichkeit zu probabilistischen zellulären Automaten auf.

Geschichte

Das 1733 von Georges-Louis Leclerc de Buffon vor der Pariser Akademie der Wissenschaften vorgestellte Nadelproblem[2], das mit Hilfe des Zufalls die näherungsweise Bestimmung der Kreiszahl Pi ermöglicht, war eine der ersten Anwendungen einer „Monte-Carlo-Simulation“.

In den 1930er Jahren hatte der Physiker Enrico Fermi die ersten Ideen zu „Monte-Carlo-Simulationen“ mittels elektronischer Rechenmaschinen.[3] Als Vorgänger und „Rechner“ galt bis dahin der mechanische Analogrechner FERMIAC.[4] Dies geschah zur Zeit des Zweiten Weltkriegs während der Arbeiten als Teil des Manhattan-Projekts, am Los Alamos Scientific Laboratory.[5] Es ging im Rahmen der Entwicklung der amerikanischen Atombombe, nebst anderen technischen Fragestellungen und Probleme, um den Neutronentransport in nuklearen Materialien. Dabei musste in den Anfängen auch die mathematische Methode der Simulation geheim gehalten werden.

Weitere Beiträge lieferten die u. g. Personen, darunter Stanisław Marcin Ulam[6] und John von Neumann. Beide beschäftigten sich mit den ersten elektronischen (noch Röhren-basierten, also ohne Halbleitertechnologie) Rechenmaschinen, darunter der ENIAC und das Nachfolgermodell der MANIAC I.

Nach der Anfangsphase der Erforschung gilt als grundlegende Veröffentlichung die Arbeit Equation of State Calculations by Fast Computing Machines von Nicholas Metropolis[7], Marshall N. Rosenbluth und dessen Ehefrau Arianna W. Rosenbluth, Edward Teller und dessen Ehefrau Augusta H. Teller, veröffentlicht 1953 im Journal of Chemical Physics.[8]

Ziel war die Berechnung der Zustandsgleichung eines zweidimensionalen Systems starrer Kugeln als Modelle einer Flüssigkeit. Simuliert wurde mit 224 Teilchen und periodischen Randbedingungen. Jede Simulation bestand aus bis zu 48 Zyklen, in denen jeweils jedes Teilchen einen Bewegungsschritt ausführte. Ein Zyklus benötigte drei Minuten auf dem MANIAC I. Verwendet wurde eine Sampling-Methode mit Wichtung über den Boltzmannfaktor, das Herzstück des MC-Verfahrens im Metropolis-Algorithmus, wobei die Idee nach Marshall Rosenbluth von Teller gekommen sein soll.[9][10] Nach Rosenbluth leisteten er und seine Frau die Hauptarbeit für den Artikel (Metropolis hätte hauptsächlich Computerzeit zur Verfügung gestellt) und sie waren die einzigen der Autoren, die das Verfahren in anschließenden Publikationen weiterverfolgten,[11][12] sie wandten sich aber selbst ebenfalls bald darauf anderen Forschungsthemen (Plasmaphysik) zu.

Name der Methode

Der Name Monte-Carlo wurde von Nicholas Metropolis geprägt und hängt wie folgt mit der Methode zusammen: Stan Ulam hatte einen Onkel, der sich zum Spielen immer Geld von Verwandten geliehen hatte, denn „er musste nach Monte Carlo gehen“.[13] Dies ist natürlich eine Anspielung auf die Spielbank Monte-Carlo im gleichnamigen Stadtteil des Stadtstaates Monaco.[14]

Hintergrund

Monte-Carlo-Simulationen sind besonders geeignet, um den Erwartungswert einer Funktion f zu berechnen.[15]

Im Fall diskrekter Zufallsvariablen also

EX[f(X)]=xΩP(x)f(x),

bzw. im Fall kontinuierlicher Zufallsvariablen

EX[f(X)]=xΩP(x)f(x)dnx,

wobei hochdimensionale Integrale (Monte-Carlo-Integration) auftreten, falls X ein hochdimensionaler Zufallsvektor ist.

  • P(x) soll im diskreten Fall die Wahrscheinlichkeit oder im kontinuierlichen Fall die Wahrscheinlichkeitsdichte sein (in der statistischen Mechanik häufig ein Boltzmanngewicht)
  • f(x) ist der Wert der Funktion f (bzw. Größe) bei Realisierung x.
  • Die Summation bzw. Integration verläuft über den Raum der möglichen Ergebnisse (Zustände) Ω (z. B. den Phasenraum der Teilchen in einem physikalischen System).

Kern der Monte-Carlo-Simulation ist die Schätzung des Erwartungswertes E^X[f(X)]anhand von Stichproben. Je nachdem, welcher Verteilung die Stichproben entstammen, kann der Schätzer des Erwartungswertes eine kleinere oder größere Varianz haben. Ist man an der praktischen Berechnung eines Mittelwertschätzers interessiert, so will man mit möglichst kleinem Stichprobenumfang einen Schätzer möglichst kleiner Varianz erlangen – dies kann durch Methoden der Varianzreduktion erreicht werden. Stichproben aus einer Wahrscheinlichkeitsverteilung können mit Markov-Chain-Monte-Carlo-Verfahren erzeugt werden.

Konvergenz

Die Konvergenz von Monte-Carlo-Simulationen kann mit der Gelman-Rubin-Statistik bewertet werden.

Anwendungen

Mit der Monte-Carlo-Methode können Probleme mit statistischem Verhalten simuliert werden.

Weitere Anwendungen der Monte-Carlo-Simulation sind folgende:

Berechnung von Integralen

Zur Bestimmung von (höherdimensionalen) Integralen wird in der einfachsten Form (Simple Sampling) folgender Sachverhalt ausgenutzt: Sei Ωn eine beliebig dimensionale Menge und f eine integrierbare Funktion.

Das Integral sei S(f):=xΩf(x)dnx=xΩVV1f(x)dnx. Wird nun 1V=:p(x) als Wahrscheinlichkeitsdichte eines im Volumen V gleichverteilten Zufallsvektors interpretiert, so ist

S(f)=xΩf(x)dnx=VxΩf(x)p(x)dnx=VEX[f(X)].

Schätzung

Der Schätzer des Integrals der Funktion ist somit: S^(f)=V1ni=1nf(xi), falls Xip (gleichverteilt) und approximiert den Wert S(f) mit steigender Zahl an Stichproben beliebig genau.

Für ein konkretes Beispiel siehe unten.

Eigenschaften

In der Praxis werden Monte-Carlo-Verfahren vor allem für die Berechnung hochdimensionaler Integrale verwendet. Hier sind klassische Integrationsalgorithmen stark vom Fluch der Dimensionalität betroffen und nicht mehr anwendbar. Allerdings sind speziell hochdimensionale Integranden meist stark lokalisiert.[18] In diesen Fällen erlauben insbesondere MCMC-Verfahren (siehe dort) die Erzeugung von Stichproben mit einer Verteilung, die eine effiziente Berechnung solcher hochdimensionaler Integrale erlaubt.

Resampling

Vorlage:Hauptartikel Untersuchung der Verteilungseigenschaften von Zufallsvariablen unbekannten Verteilungstyps,

Nachbildung von komplexen Prozessen

  • Produktionsprozesse in einem Fertigungsunternehmen, um Engpässe und Opportunitäten in der Produktion aufzudecken
  • Klimamodelle
  • Rekonstruktionsverfahren in der Nuklearmedizin.
  • Risikoaggregation zur Bestimmung des Gesamtrisikoumfangs eines Unternehmens im Risikomanagement[19]
  • Ableitung von Bewertungen in der Wertermittlung, z. B. bei der Unternehmensbewertung oder Immobilienwirtschaft.[20][21] Bepreisung komplexer Finanzkontrakte wie „exotische“ Optionen, bei denen keine analytische Formel für die Bewertung eines Finanzproduktes bekannt ist.
  • räumliche Verteilung des energieabhängigen Neutronenflusses in einem heterogenen Medium, etwa im Blanket eines Kernfusionsreaktors.
  • Supercomputer und MC Methoden werden u. a. für die Simulation der alternden Nuklearwaffen der USA benutzt.[22][23][24][25]
  • Wege eines einzelnen Regentropfens simulieren, der mit zufällig verteilten anderen Tropfen kollidiert. Nach der Simulation mehrerer konkreter Tropfen sind Aussagen über die durchschnittliche Tropfengröße möglich oder auch zu Temperatur und Tröpfchendichte, bei denen Schnee oder Hagel entstehen.
  • Verteilung der Kugeln auf die Fächer beim Galtonbrett.

Bayessche Statistik

Vorlage:Hauptartikel Durch Monte-Carlo-Simulationen können komplizierte Bayessche Modelle auf Daten angepasst werden (wie z. B. in Approximate Bayesian Computation) und mithilfe der Posterior predictive distribution zur Vorhersage benutzt werden.

Beispiele

Illustration zur Monte-Carlo-Bestimmung von Pi. Rote Punkte liegen innerhalb der Kreisfläche, blaue außerhalb.

Probabilistische Bestimmung der Zahl Pi

Vorlage:Siehe auch Man wählt hierzu zufällige Punkte in der Menge [1,+1]22 gleichverteilt aus und überprüft für jeden Punkt (x,y)[1,+1]2, ob dieser innerhalb des Einheitskreises liegt, ob also die Bedingung

x2+y21

erfüllt ist. Dies kann formal über die Indikatorfunktion getestet werden:

z=I(x2+y21)={1 falls x2+y210 sonst.

Ein Wert z ist die Realisierung einer Bernoulli-verteilten Zufallsvariablen ZBer(p), wobei der Bernoulli-Parameter p der Verteilung gerade durch das Flächenverhältnis gegeben ist, d. h.

p=Kreisfla¨cheQuadratfla¨che=r2π(2r)2=π4=P(Z=1).

Dabei ist r=1 und π bezeichnet die Kreiszahl.

Liegt eine Folge z1,,zn von Realisierungen von stochastisch unabhängigen und identisch verteilten Zufallsvariable Z1,,Zn vor, die jeweils Bernoulli-verteilt mit dem Bernoulli-Parameter p sind, so ist die relative Häufigkeit

p^=Anzahl der Punkte in KreisflächeAnzahl generierte Punkte im Quadrat=i=1nzin

der übliche Schätzwert für die Wahrscheinlichkeit p. Eine alternative Sichtweise ist, dass ein Schätzwert für den Erwartungswert E[Z]=P(Z=1)=p durch das arithmetische Mittel E^[Z]=1ni=1nzi gegeben ist.

Somit ist p^ ein Monte-Carlo-Schätzwert für π/4. Wegen π=4p ist π^=4p^ ein Monte-Carlo-Schätzwert für π.

Für die so erhaltene Schätzung π^ können Konfidenzintervalle mithilfe des Standardfehlers angegeben werden, welche die Unsicherheit der Schätzung ausdrücken.

Numerische Integration

Vorlage:Siehe auch

Numerische Integration mit Monte Carlo: Die Stützstellen werden zufällig gleichverteilt auf dem Integrationsintervall gewählt. Neue Stützstellen sind dunkelblau, die alten hellblau eingezeichnet. Der Wert des Integrals nähert sich 3,32 an.

Das obige Beispiel zur Bestimmung von Pi schätzt das Flächenintegral einer Viertelkreisfläche und verwendet dazu Bernoulli-verteilte Zufallsvariablen Z1,ZN.

Dasselbe Ergebnis kann auch durch die oben angegebene Integrationsformel mit gleichverteilten Zufallsvariablen X und Y erreichen.

Um wie oben vorgestellt Pi mithilfe von Simple Sampling zu berechnen, muss man Ω:=[1,1]2 und f=IKreis als Indikatorfunktion des Einheitskreises wählen:

Dann ist S(f)=VEX,Y[IKreis(X,Y)]=π die Fläche des Einheitskreises und der Schätzer S^(f)=VE^X,Y[IKreis(X,Y)]=V1Ni=1NIKreis(xi,yi), wobei das Volumen V=22=4 ist.

Bestimmung der Bogenlänge einer Kurve

Vorlage:Hauptartikel Die Crofton-Formel zur Bestimmung der Bogenlänge einer Kurve kann näherungsweise mit Monte-Carlo-Simulationen ausgewertet werden.

Miller-Rabin-Primzahltest

Ein Beispiel für eine Monte-Carlo-Simulation ist der Miller-Rabin-Test, bei dem probabilistisch bestimmt wird, ob eine natürliche Zahl prim ist oder nicht. Die Ausgabe des Tests lautet entweder „sicher zusammengesetzt“ oder „wahrscheinlich prim“. Die Wahrscheinlichkeit, dass eine zusammengesetzte Zahl als „wahrscheinlich prim“ klassifiziert wird, liegt pro Durchgang unter 25 % und kann durch mehrfache Ausführung weiter gesenkt werden. Der Miller-Rabin-Test liefert keine Aussage über die Faktoren einer zusammengesetzten Zahl, ist also kein Faktorisierungsverfahren.

Codes und Simulatoren (Auswahl)

Hinweis. Die Liste ist als unvollständig zu betrachten, bietet aber einige bekannte Beispiel an MCS. Es existieren ebenfalls kommerzielle Codes, oder Codes die für spezielle Prozesse entwickelt wurden, usw.

  • Geant4, kurz für Geometry and Tracking, ein vom CERN entwickeltes und veröffentlichtes Simulationsprogramm.
  • MCNP, kurz für Monte-Carlo N-Particle Transport Code, ist eine seit 1957 vom LANL entwickeltes reaktorphysikalisches Simulationsprogramm,[26] das in der Kerntechnik und Kernfusionstechnik häufig angewendet wird.[27]
  • OpenMC, ein Community-Projekt mit der Anwendung der MC-Methode auf Neutronen und Photonen-Transport.[28][29]
  • PYTHIA ist ein Simulationsprogramm für die Teilchenphysik und simuliert Kollisionen und dabei entstehende Teilchen.
  • Serpent, MC-Simulationsprogramm des VTT Technical Research Centre, Finnland[30]
  • SPICE ist ein Simulationsprogramm für analoge, digitale und gemischte elektronische Schaltungen. Mittels einer Monte-Carlo-Simulation bzw. Analyse ist es möglich, die Auswirkungen der Streuung der Bauteilewerte innerhalb der angegebenen Toleranz zu berechnen.

Siehe auch

Literatur

Vorlage:Siehe auch

Fachartikel

Referenzwerke

Fachbücher

Ältere Werke

Vorlage:Commonscat

Einzelnachweise

  1. Vorlage:Literatur
  2. Vorlage:Literatur
  3. Vorlage:Literatur
  4. Vorlage:Literatur
  5. Vorlage:Literatur
  6. Vorlage:Literatur
  7. Vorlage:Literatur
  8. Vorlage:Literatur
  9. Vorlage:Literatur
  10. Vorlage:Literatur
  11. Vorlage:Literatur
  12. Vorlage:Literatur
  13. Vorlage:Literatur
  14. H. L. Anderson: Metropolis, Monte Carlo and the MANIAC. (PDF, 829 kB) Los Alamos Science, Nr. 14, 1986, S. 96–108, 1986.
  15. Manchmal findet sich die Notation EX[f(X)]=f.
  16. Hoover, W. (2012). Computational Statistical Mechanics. Niederlande: Elsevier Science, Seite 80, https://books.google.de/books?id=7XSQYjZdRKMC&pg=PA80
  17. Evaluation of measurement data — Supplement 1 to the “Guide to the expression of uncertainty in measurement” — Propagation of distributions using a Monte Carlo method https://www.bipm.org/documents/20126/2071204/JCGM_101_2008_E.pdf/325dcaad-c15a-407c-1105-8b7f322d651c
  18. Vorlage:Cite book
  19. Gleißner; W.: Risikoanalyse, Risikoquantifizierung und Risikoaggregation, in: WiSt, 9/2017, S. 4–11
  20. Vorlage:Internetquelle
  21. Vorlage:Literatur
  22. Vorlage:Internetquelle
  23. Vorlage:Internetquelle
  24. Vorlage:Internetquelle
  25. Vorlage:Internetquelle
  26. Vorlage:Internetquelle
  27. In der bibliografischen Datenbank WorldCat sind über 10.000 Arbeiten verzeichnet, die dem Programm MCNP selbst oder Anwendungen des Programms gewidmet sind.
  28. Vorlage:Internetquelle
  29. Vorlage:Literatur
  30. Vorlage:Literatur

Vorlage:Normdaten