Skip to Main Content

In diesem Artikel wird erläutert, was die Monte-Carlo-Simulation ist, wie sie funktioniert und welches dafür gängige Anwendungen sind. Außerdem wird anhand von Beispielen auf die Vor- und Nachteile der Simulation sowie eingesetzte Tools eingegangen.

Was ist die Monte-Carlo-Simulation?

Die Monte-Carlo-Simulation besteht aus mehreren Algorithmen, um die probabilistischen Ergebnisse eines Prozesses vorherzusagen, wenn seine Eingaben zufällig variieren. Auch als Monte-Carlo-Methode, Monte-Carlo-Analyse oder Monte-Carlo-Experimente bezeichnet, handelt es sich bei diesen Algorithmen um eine Form der stochastischen Simulation.

Um die Verteilung der möglichen Ergebnisse zu verstehen, führen Monte-Carlo-Simulationen eine große Anzahl von Versuchen mit jeweils unterschiedliche Zufallseingaben durch. Die Simulationsergebnisse der einzelnen Versuche werden dann analysiert, um die Wahrscheinlichkeitsverteilung unsicherer Variablen zu bestimmen.

Das Konzept der Monte-Carlo-Simulation entstand aus dem Manhattan-Projekt und den darauf folgenden Programmen zur Entwicklung von Atomwaffen. Im Jahr 1946 beschäftigten sich Stanislaw Ulam und John von Neumann mit der Bestimmung der Wahrscheinlichkeitsverteilung der freigesetzten Energie, wenn ein Neutron mit einem Atomkern kollidiert. Ein Kollege schlug den Namen "Monte Carlo" vor, weil sein Onkel in der Spielbank Monte-Carlo in Monaco spielte und ihn die zufällige Auswahl von Eingabevariablen an die Zufälligkeit beim Roulette erinnerte.

Die meisten Prozesse sind deterministisch, da die Ausgaben für einen bestimmten Satz von Eingaben bekannt sind. Wenn Sie beispielsweise eine bekannte Wärmemenge zu einer bekannten Wassermenge bei einer bekannten Temperatur hinzufügen, können Sie berechnen, wie stark die Temperatur ansteigt. In einem komplexeren System mit zufälligen Eingaben, bei dem der Prozess selbst komplex ist, ist es jedoch schwierig, die Ergebnisse vorherzusagen. Im Ingenieurswesen sowie in der Wissenschaft, Mathematik und Ökonomie werden Monte-Carlo-Simulationen verwendet, um Zufälligkeit in Prognosen von Ergebnissen in solchen Systemen zu integrieren. 

Beispiel für Monte-Carlo-Simulation mit Microsoft Excel

Eine gute Möglichkeit, dieses leistungsstarke Simulationstool zu verstehen, ist ein einfaches Beispiel. Ein klassisches Problem ist die Vorhersage, wie oft beim Werfen von vier Münzen die Kopfseite gar nicht, einmal, zweimal, dreimal oder viermal oben ist.

Die Eingabevariable ist die Anzahl der Münzen und die Ausgabevariable, die wir vorhersagen möchten, ist die Wahrscheinlichkeit jeder Kombination von oben liegenden Kopfseiten. Eine einfache Monte-Carlo-Simulation in Excel verwendet die Funktion ZUFALLSZAHL(), um Kopf oder Zahl vorherzusagen. Dafür wird eine Zelle auf 1 (Kopf) gesetzt, wenn die Zufallszahl kleiner als 0,5 ist, und auf 0 (Zahl), wenn sie größer als 0,5 ist. Das Modell besteht aus einer Tabelle mit einer Spalte pro Münze, einer Zeile pro Versuch und einer Summenspalte zur Berechnung der Anzahl der Münzen, bei denen die Kopfseite oben war. Zur Berechnung der Wahrscheinlichkeiten ermittelt das Modell mit der Excel-Funktion ZÄHLENWENN(), wie häufig jeder Fall aufgetreten ist, und dividiert das Ergebnis durch die Anzahl der Versuche. 

monte carlo example excel four coin
monte carlo excel formula

Eine einfache Monte-Carlo-Simulation mit vier Münzen in Microsoft Excel. Die Ergebnisse werden oben im Bild, die verwendeten Formeln unten angezeigt. Jedes Mal, wenn die Tabelle aktualisiert wird, wird ein neues Ergebnis berechnet.

Wie man eine Monte-Carlo-Simulation durchführt

Monte-Carlo-Simulationen verwenden Algorithmen zur Lösung von Problemen anhand von Stichproben aus einer großen Reihe von Zufallseingaben. Wer dieses Tool verwendet, muss den zu simulierenden Prozess definieren, die Ein- und Ausgaben identifizieren, die Simulation ausführen und die Ergebnisse prüfen.

Konkrete Schritte:

1. Prozess verstehen

Beginnen Sie die Simulation, indem Sie den zu modellierenden Prozess definieren. Dies kann ein physikalisches Problem, eine Börse, das Wetter in einer bestimmten Region oder ein biologischer Prozess sein.

2. Unabhängige Variablen und ihre Verteilung definieren

Der nächste Schritt besteht darin, alle unabhängigen Variablen zu erfassen. Dies sind Eigenschaften des Prozesses, die mit Variablen dargestellt werden können. Dies sollten zudem Eigenschaften sein, bei deren Änderung sich auch das Verhalten des Prozesses ändert. Unabhängige Variablen werden auch als "Eingabevariablen", "Eingabewerte" oder einfach als "Eingaben" bezeichnet.

In diesem Schritt müssen die Prüfer auch die Mindest- und Höchstwerte für jede unabhängige Variable sowie die Verteilung oder Variabilität innerhalb dieses Wertebereichs definieren. Es gibt viele Arten von Verteilungen. Die gängigsten Verteilungen sind:

  • Gleichverteilung: Jeder Wert innerhalb des angegebenen Bereichs ist genauso wahrscheinlich wie jeder andere Wert und bildet eine Gleichverteilung, also eine gleichmäßige Verteilung.
  • Normalverteilung: In der Natur und im Finanzwesen neigen Werte dazu, ein Cluster um einen zentralen Mittelwert zu bilden, wobei die Wahrscheinlichkeit des Auftretens von Werten geringer ist, je weiter diese von diesem Mittelwert entfernt liegen. Dies wird als Normalverteilung bezeichnet. Viele Menschen bezeichnen eine solche Verteilung als Glockenkurve, weil sie als Diagramm dargestellt einer Glocke ähnelt.
  • Dreiecksverteilung: Wenn es wie im Projektmanagement nur begrenzte reale Daten gibt, verwenden Ingenieur*innen die Mindest- und Höchstwerte sowie die wahrscheinlichsten Werte, um eine Dreiecksverteilung anstelle einer Glockenkurve zu bilden. Der wahrscheinlichste Wert ist möglicherweise nicht der Mittelwert.
  • Binomialverteilung: Wenn ein Eingabewert für einen Prozess nur zwei mögliche Werte haben kann (0 oder 1, ja oder nein, wahr oder falsch, Kopf oder Zahl usw.) wird die Binomialverteilung verwendet.
  • Poisson-Verteilung: Eine Poisson-Verteilung erfasst Eingabeparameter, die zwei mögliche Werte annehmen können. Sie berücksichtigt jedoch die Häufigkeit eines bestimmten Werts im Zeitverlauf. Besuche in einem Geschäft wären ein gutes Beispiel dafür.
  • Empirische Verteilung: In komplexen Systemen darf die Verteilung einer bestimmten Eingabevariable keinem der gemeinsamen Merkmale folgen. Sind jedoch genügend Vergangenheitsdaten vorhanden, um die Verteilung darzustellen, kann eine empirische oder benutzerdefinierte Verteilung verwendet werden.

3. Abhängige Variablen definieren

Der dritte Schritt besteht darin, die abhängigen Variablen des Prozesses zu definieren. Dies sind messbare Eigenschaften, die sich gemeinsam mit den Eingabevariablen ändern. Abhängige Variablen sollten zudem für Personen relevante Kennzahlen sein. Das Minimieren oder Maximieren einer abhängigen Variable ist das typische Ziel einer Optimierungsstudie. Oder Teams nutzen die möglichen Ergebnisse, um Informationen für die Entscheidungsfindung zu erhalten. Abhängige Variablen werden auch als Ausgabevariablen, Ausgabewerte oder Ergebniswerte bezeichnet.

4. Simulation des Prozesses erstellen

Der wichtigste Schritt besteht darin, eine genaue Darstellung des Prozesses als Computeralgorithmus zu erstellen. Dies kann eine einfache Gleichung, eine Lookup-Tabelle oder eine komplexere Darstellung als numerisches Modell sein. Die Simulation sollte möglichst schnell und effizient ausgeführt werden.

5. Simulationen wiederholt mit einem zufälligen Satz von Eingabevariablen ausführen

Die Monte-Carlo-Simulation selbst umfasst die Ausführung einer großen Anzahl von Versuchen mit dem Simulationsmodell. Der Algorithmus verwendet den Wertebereich und die Verteilung für jede Eingabe, um Zufallswerte für jede Eingabevariable zu erstellen. Das Tool erfasst dann die unterschiedlichen Ergebnisse jedes Versuchs.

Der zu untersuchende Prozess bestimmt die Anzahl der erforderlichen Simulationen, um eine genaue Verteilung der Ausgabewerte zu erhalten. Einige Probleme erfordern 1.000 bis 10.000 Ausführungen. Für bestimmte Prozesse sind jedoch 100.000 oder mehr Versuche notwendig.

6. Ausgabevariablen analysieren

Wurden alle Ausgabewerte erfasst, müssen im nächsten Schritt statistische Methoden angewendet werden, um die Wahrscheinlichkeit jedes Ergebnisses zu schätzen. Hat die Ausgabevariable eine Normalverteilung, stellen die Werte für Mittelwert und Standardabweichung die Wahrscheinlichkeitsverteilung dar. In einfachen Fällen ist die Wahrscheinlichkeit eines bestimmten Wertes die Anzahl eines bestimmten Ergebnisses geteilt durch die Anzahl der Versuche.

Für komplexere Systeme und Anwendungen, insbesondere für das Training von Machine-Learning-Modellen, verwenden Wissenschaftler*innen die Bayesianische Analyse.

Typische Anwendungen für Monte-Carlo-Simulation in verschiedenen Branchen

Monte-Carlo-Simulationen werden für probabilistische Modellierungen in einer Vielzahl von Branchen verwendet. Hier ist eine Liste der häufigsten Anwendungen:

Technik

Ingenieur*innen verwenden Monte-Carlo-Methoden in allen Anwendungen, da sie häufig komplexe Systeme ohne Vergangenheitsdaten oder einfache, deterministische Modelle entwerfen müssen. Neben solchen Entwürfen wird die Monte-Carlo-Simulation beim Projektmanagement für Sensitivitätsanalysen und das Risikomanagement bei der Projektplanung eingesetzt. Die häufigste Verwendung findet in numerischen Simulationen für komplizierte Systeme statt, um das statistische Verhalten eines Produkts und die Beziehung zwischen Eingabe- und Ausgabevariablen zu verstehen. Eines der besten Beispiele ist der Neutronentransport, bei dem Ingenieur*innen berechnen, wie Neutronen die strukturellen Komponenten eines Kernreaktors passieren und mit diesen interagieren.

Öl, Gas und Bergbau

Die Gewinnung natürlicher Ressourcen aus der Erde beinhaltet die Vorhersage der wirtschaftlichen Tragfähigkeit eines Projekts unter zahlreichen Unbekannten. Hier werden die Monte-Carlo-Simulationen eingesetzt, um die Größe der Reservoirs, die Porosität, die Qualität der Ressourcen, die sie extrahieren, und sogar den Preis dieser Rohstoffe in der Zukunft vorherzusagen. Eine der häufigsten Anwendungen ist die Modellierung der Geologie in einem potenziellen Ölfeld unter Verwendung probabilistischer Verteilungen für die Zusammensetzung, Porosität und Dicke verschiedener Gesteinsschichten, zusätzlich zur Verteilung des Öls für jede dieser Kombinationen. Mit einer Monte-Carlo-Simulation wird dann die Verteilung der potenziellen Ölkonzentrationen ermittelt. Statt die genaue Ölmenge an einem bestimmten Standort vorherzusagen, wird die wahrscheinliche Verteilung des Öls berechnet.

Finanzmärkte

Nur wenige Dinge auf der Welt sind komplexer und willkürlicher als die Finanzmärkte. Ökonomen und Finanzanalysten verwenden Monte-Carlo-Methoden, um Aktienkurse, Volatilität, Zinssätze, Verbraucherpreise und andere wichtige wirtschaftliche Variablen vorherzusagen. Rohstoffhändler nutzen die Monte-Carlo-Methode zur Einschätzung der Preisentwicklung von Rohstoffen für die Dauer, die sich diese in ihrem Besitz befinden. Dabei wird die Preissensibilität für verschiedene marktbeeinflussende Veränderungen modelliert und anhand einer zufälligen Auswahl von Ereignissen im Zeitverlauf eine mögliche Preisverteilung für jeden Tag ermittelt. Das Ergebnis ist ein Value-At-Risk (VAR) für ihr Portfolio.

Physik, Chemie und Biotechnologie

Die Monte-Carlo-Methode wurde ursprünglich für die Kernphysik entwickelt und ist ein wichtiger Bestandteil der Modellierung von Strahlung in Systemen wie Reaktoren, Strahlentherapie und Detektoren. Chemiker*innen verwenden die Methode als Grundlage für Computerchemie und statistische Mechanik bei der Modellierung chemischer Reaktionen oder der Entwicklung neuer Moleküle, da die von ihnen untersuchten Mechanismen nicht analytisch berechnet werden können. Gleiches gilt für die Biotechnologie, wo Wissenschaftler*innen damit die Ergebnisse von Arzneimittelstudien interpretieren, die Ansprechraten von Patient*innen bewerten und neue Medikamente entwickeln.

Die Monte-Carlo-Simulation kommt häufig in der Arzneimittelforschung für molekulare Docking-Simulationen zum Einsatz. Chemiker*innen wollen ein kleines Molekül (einen Schlüssel) finden, das in ein Protein passt (ein Schloss). Wenn das Molekül in das Protein passt, kann es unerwünschte chemische Reaktionen unterdrücken. Statt jede Form und Rotation für das kleine Molekül zu modellieren, findet eine zufällige Verteilung beider Moleküle die niedrigsten Energiekombinationen, auf die sich die Wissenschaftler*innen dann konzentrieren können. 

Vor- und Nachteile der Monte-Carlo-Methode

Aufgrund ihrer Vorteile kommen Monte-Carlo-Simulationen bei vielen Anwendungen zum Einsatz. Aber der Ansatz hat auch einige Nachteile, die berücksichtigt werden sollten, bevor die Methode auf ein reales Problem angewendet wird.

Hier ist eine Liste der häufigsten Vor- und Nachteile:

Vorteile

  • Modelliert komplexe Probleme
  • Generiert probabilistische Ergebnisse
  • Stellt Informationen zur Sensibilität für Eingabevariablen bereit, die angeben, wie stark eine Änderung dieser Variablen den Wert einer Ausgabevariable beeinflusst
  • Erfasst die Eingabeverteilung

Nachteile:

  • Erfordert erhebliche Rechenressourcen für komplexe Systeme mit vielen Eingabe- und Ausgabevariablen und einem rechnerisch komplexen numerischen Modell
  • Reagiert stark auf die Qualität der Eingabedaten
  • Vermittelt ein falsches Gefühl von Präzision, da es viele statistische Informationen liefern kann, wobei die berechneten Verteilungen nur so gut wie die Eingabeparameter und die Genauigkeit des Modells sind
  • Arbeitsintensiver Prozess, da der Zeitaufwand für die Erstellung und Überprüfung eines genauen Modells erforderlich ist

Tools für die Monte-Carlo-Simulation

Für Monte-Carlo-Simulationen werden im Allgemeinen drei Arten von Tools verwendet: mathematische Software, benutzerdefinierte Programme und Simulationssoftware.

Jedes davon hat eigene Vorteile und Problematiken, die im Folgenden beschrieben werden.

Mathematische Software

Softwaretools wie Microsoft Excel, Google Sheets, Mathematica und MATLAB sind leistungsstark zur Berechnung und Verarbeitung statistischer Verteilungen von Eingabe- und Ausgabevariablen. Tabellenkalkulationstools verfügen nicht über spezielle Monte-Carlo-Funktionen, sodass Benutzer*innen Simulationen von Grund auf erstellen müssen. Mathematische Tools, insbesondere solche mit leistungsstarken Statistikmodulen, erleichtern die Erstellung von Zufallsvariablen, automatisieren Testläufe und führen probabilistische Analysen der Ergebnisse durch. Die größte Herausforderung für mathematische Tools besteht darin, ein genaues Prozessmodell zu erstellen.

Benutzerdefinierte Programme

Benutzerdefinierte Programme sind gut, wenn Subroutinen in einer Programmiersprache den Prozess darstellen können. Bibliotheken sind in den meisten Programmiersprachen vorhanden, um Aufgaben wie das Erstellen der Eingabeverteilungen für die Zufallsvariablen und die Verarbeitung der daraus resultierenden abhängigen Variablen zu unterstützen. Der Nachteil dieses Ansatzes besteht darin, dass Benutzer*innen für jede Anwendung ein benutzerdefiniertes Programm erstellen müssen, einschließlich des Modells für den zu untersuchenden Prozess. Programmierplattformen wie Python erleichtern dies zwar, aber auch damit kann es einige Zeit dauern, die Simulation einzurichten und zu starten.

Simulationssoftware

Das leistungsfähigste Tool-Set – und das gängigste für Anwendungen in der Praxis – ist Simulationssoftware. Diese Programme modellieren den zu untersuchenden Prozess und enthalten häufig integrierte Tools, die die Einrichtung von Monte-Carlo-Simulationen vereinfachen und die Ausführung von Testfällen automatisieren.

Ein gutes Beispiel dafür ist die Ansys Optics Suite: Ansys Zemax OpticStudio ist eine Software für das optische Systemdesign und die Analyse von Monte-Carlo-Simulationen für optische Systeme, während die Software Ansys Lumerical für das hochstochastische Verhalten in der Photonik vorgesehen ist. Mit beiden Tools können Benutzer*innen parametrische Modelle erstellen, die Monte-Carlo-Simulation unterstützen. 

optimization interface lumerical

Optimierungsoberfläche für Ansys Lumerical Software

Das Gleiche gilt für die wichtigsten Simulationssoftware-Tools von Ansys: Ansys Mechanical, eine Software für die strukturelle Finite-Elemente-Analyse, Ansys LS-DYNA, eine LS-Opt-Software zur Struktursimulation nichtlinearer Dynamiken, Ansys Fluent, eine Fluidsimulationssoftware,  Ansys Maxwell Advanced Electromagnetic Field Solver und Ansys HFSS, eine elektromagnetische Hochfrequenz-Simulationssoftware. Jedes dieser Tools ist für die Simulation einer bestimmten Teilmenge der Physik vorgesehen. Dennoch unterstützen sie alle die Parametrierung von Eingabe- und Ausgabevariablen, bieten Monte-Carlo-Simulationstools und unterstützen die statistische Nachverarbeitung.

Wenn die integrierten Tools für eine bestimmte Simulationsplattform nicht ausreichen, können Benutzer*innen sie mit Optimierungstools wie Ansys optiSLang, einer Software für die Prozessintegration und Designoptimierung, integrieren. Dieses universelle Tool für die Optimierung und Prozessintegration hat inhärente Stärken für Monte-Carlo-Simulationsläufe und lässt sich sowohl in Ansys, Teil von Synopsys, als auch in andere Simulationstools als Ansys integrieren und bietet so eine einzige, automatisierte Plattform. Außerdem nutzt es eine robuste Python-Schnittstelle, die das Programm mit anderen Software- oder Python-Routinen verbindet. 

monte carlo tolerance zemax

Die Monte-Carlo-Toleranzschnittstelle für Ansys Zemax OpticStudio, eine Software zur Auslegung und Analyse optischer Systeme

Künstliche Intelligenz (KI)

Wissenschaftler*innen und Mathematiker*innen verwenden Monte-Carlo-Simulationen schon seit einiger Zeit für viele verschiedene KI-Anwendungen. Hier einige Beispiele:

  • maschinelles Lernen mit Training und Optimierung, Bayesianische Analyse und Konfidenzbeurteilung
  • Monte-Carlo-Baumsuche für umfassende Entscheidungsfindungen
  • Reinforcement Learning
  • Training neuronaler Netze
  • Verfeinern großer Sprachmodelle (LLMs)

Die cloudfähige KI-Plattform Ansys SimAI für die Simulation ist ein gutes Beispiel für ein modernes KI-Tool, das mithilfe der Monte-Carlo-Simulation Trainingsdaten für Modelle generiert.

Zugehörige Ressourcen

Optische und radiometrische Simulation für biomedizinische Anwendungen

In diesem Webinar werden Konzepte zur Berechnung der Lichtausbreitung in biologischen Geweben und zur Bestimmung von Streu- und Absorptionsspektren biologischer Gewebe vorgestellt.

Ansys HFSS + SynMatrix AI: verlustarme planare Filter

In dieser Präsentation erfahren Sie, inwiefern Planar-Filter in HF- und Mikrowellensystemen heute unverzichtbar sind und kompakte, kostengünstige und mit der Leiterplattentechnologie kompatible Hochfrequenzlösungen ermöglichen.

Verwendung von Algorithmen für maschinelles Lernen als Teil von Workflows zur Zuverlässigkeitsanalyse für die digitale Validierung von Fahrerassistenzsystemen

Diese Präsentation behandelt die Herausforderungen der digitalen Validierung mithilfe von Ansätzen zur Zuverlässigkeitsanalyse und stellt Workflows für Zuverlässigkeitsalgorithmen und maschinelles Lernen vor.