Weiter zum Inhalt

Markov-Chain-Monte-Carlo (MCMC): Komplexe Wahrscheinlichkeitsverteilungen sampeln

Ein Leitfaden zu Markov-Chain-Monte-Carlo – wie es funktioniert, warum es genutzt wird, die gängigsten Algorithmen und wie du es in Python für bayes’sche Inferenz anwendest.
Aktualisiert 10. Juni 2026  · 15 Min. lesen

Manche Wahrscheinlichkeitsverteilungen sind einfach zu komplex, um direkt damit zu arbeiten.

Wenn du reale Daten modellierst, bricht die Mathematik oft zusammen, bevor etwas Nützliches herauskommt. Integrale wirken auf dem Papier machbar, werden aber unlösbar, sobald du ein paar latente Variablen hinzufügst. Das ist besonders in der Bayes-Inferenz üblich, wo die Posteriorverteilung deinen Prior mit den beobachteten Daten kombiniert – und am Ende etwas entsteht, das sich nicht mit einer einfachen Formel zusammenfassen lässt.

Die Grundidee von Markov-Chain-Monte-Carlo ist: Anstatt die Mathematik direkt zu lösen, erkundet MCMC die Verteilung per Simulation. Es zieht Stichproben, die ihre Form widerspiegeln, ohne sie je vollständig ausrechnen zu müssen.

In diesem Artikel zeige ich dir die Kernkonzepte hinter MCMC, gehe die gängigsten Algorithmen durch und erkläre, wie du das Ganze in Python einsetzt.

Brauchst du ein Python-Mathe-Update? Lies unsere Blogartikel Demystifying Mathematical Concepts for Deep Learning, um zu sehen, wie Mathe in Numpy angewendet wird.

Was ist Markov-Chain-Monte-Carlo?

Markov-Chain-Monte-Carlo (MCMC) ist eine Familie von Algorithmen, die Stichproben aus Wahrscheinlichkeitsverteilungen erzeugen – selbst wenn diese Verteilungen zu komplex sind, um direkt mit ihnen zu arbeiten.

Der Name besteht aus zwei Teilen. Die Markov-Kette steuert, wie der Algorithmus durch mögliche Zustände wandert. Jeder Schritt hängt nur vom aktuellen Zustand ab, nicht vom gesamten bisherigen Weg. Der Monte-Carlo-Teil bedeutet, dass du zufällige Stichproben nutzt, um gesuchte Größen zu schätzen.

Zusammen baut MCMC eine Kette zufälliger Stichproben auf, die im Zeitverlauf die Form deiner Zielverteilung widerspiegeln. Es ist in erster Linie eine Sampling-Technik. Du löst die Mathematik nicht exakt, sondern näherst sie per Simulation an.

Warum Markov-Chain-Monte-Carlo gebraucht wird

Das Problem mit realen Datenverteilungen ist, dass sie längst nicht so sauber sind wie im Lehrbuch.

In der Bayes-Inferenz willst du oft eine Posteriorverteilung berechnen – die aktualisierte Wahrscheinlichkeit deiner Modellparameter nach Beobachtung der Daten. Auf dem Papier wirkt die Formel simpel: Prior mal Likelihood und dann durch die marginale Likelihood teilen. Dieser letzte Term erfordert ein Integral über alle möglichen Parameterwerte. In hohen Dimensionen ist dieses Integral praktisch unberechenbar.

Und mit wachsendem Modell wird es nur schlimmer. Fügst du mehr Parameter oder latente Variablen hinzu, endet die exakte Berechnung in einer Sackgasse. Das begegnet dir in vielen gängigen Szenarien:

  • Bayes’sche hierarchische Modelle: Parameter hängen von anderen Parametern ab, es entstehen verschachtelte Verteilungen, die sich nicht sauber integrieren lassen
  • Hochdimensionale Posterioren: Die Anzahl der Parameter macht gitterbasierte Approximationen rechnerisch untragbar
  • Nicht-konjugierte Priors: Prior und Likelihood ergeben zusammen keine bekannte Verteilung

MCMC ist in solchen Fällen ein guter Ausweg. Anstatt die Verteilung zu berechnen, zieht es Stichproben daraus. Diese Stichproben enthalten alles, was du brauchst – ganz ohne das Integral zu lösen.

Die zwei Ideen hinter MCMC

MCMC kombiniert zwei Ideen, die für sich genommen simpel, zusammen aber sehr wirkungsvoll sind. Gehen wir sie kurz durch.

Markov-Ketten

Eine Markov-Kette ist eine Folge von Zuständen, bei der jeder Schritt nur vom aktuellen Zustand abhängt.

Wo du vorher warst, spielt keine Rolle. Nur der aktuelle Zustand bestimmt, wohin es als Nächstes geht. Diese „Gedächtnislosigkeit“ – formal die Markov-Eigenschaft – macht die Mathematik handhabbar und den Algorithmus praxistauglich.

Die Kette bewegt sich schrittweise durch die Zustände und konvergiert mit der richtigen Konstruktion schließlich zu einer stationären Verteilung – einem stabilen Muster, bei dem sich die Wahrscheinlichkeit für jeden Zustand nicht mehr ändert. Genau mit dieser stabilen Verteilung arbeitet MCMC.

Monte-Carlo-Methoden

Monte-Carlo-Methoden nutzen Zufallsstichproben, um Größen zu schätzen, die sich nicht direkt berechnen lassen.

Die Idee: Du ziehst genügend zufällige Stichproben aus einer Verteilung und schätzt dann Mittelwert, Varianz oder andere Eigenschaften rein aus diesen Stichproben. Je mehr Stichproben, desto näher liegen die Schätzungen am wahren Wert.

Für sich genommen erfordern Monte-Carlo-Methoden, dass du direkt aus der Verteilung ziehen kannst – genau das Problem, das wir lösen wollen. Markov-Ketten übernehmen diesen Part.

Wie Markov-Chain-Monte-Carlo funktioniert

MCMC ist eine Schleife mit einer einfachen Entscheidung bei jedem Schritt.

  1. Mit einem Anfangszustand starten: Wähle einen Startpunkt im Parameterraum, auch wenn es nur eine grobe Schätzung ist
  2. Einen neuen Zustand vorschlagen: Nutze einen Vorschlagsmechanismus, um den nächsten Schritt anzuregen
  3. Über Annahme entscheiden: Vergleiche den vorgeschlagenen mit dem aktuellen Zustand und akzeptiere oder verwerfe basierend auf deren Wahrscheinlichkeit unter der Zielverteilung
  4. Wiederholen: Führe diese Schleife tausendfach aus und sammle dabei Stichproben
  5. Stichproben nutzen: Schätze Mittelwerte, glaubwürdige Intervalle oder andere Zielgrößen aus den gesammelten Stichproben

Beim Annehmen/Verwerfen passiert die „Magie“.

Indem bessere Zustände häufiger als schlechtere akzeptiert werden, wandert die Kette in Bereiche hoher Wahrscheinlichkeit – ganz ohne die vollständige Verteilung auszurechnen.

Frühe Stichproben hängen vom Startpunkt ab und werden daher verworfen. Nach genügend Iterationen „vergisst“ die Kette ihren Start und die verbleibenden Stichproben spiegeln die wahre Form deiner Zielverteilung wider.

Zielverteilung und stationäre Verteilung

MCMC zielt darauf ab, Stichproben aus einer Zielverteilung zu generieren, aus der du nicht direkt sampeln kannst.

Die Zielverteilung ist das, worüber du lernen möchtest – meist eine Posteriorverteilung in der Bayes-Inferenz. Du kennst ihre Form bis auf eine Normierungskonstante, die du nicht direkt berechnen kannst. MCMC braucht sie nicht.

Jeder MCMC-Algorithmus ist so konstruiert, dass seine Markov-Kette eine stationäre Verteilung besitzt, die der Zielverteilung entspricht. Eine stationäre Verteilung ist die, in die die Kette nach genügend Schritten übergeht.

Lässt du die Kette laufen, produziert sie Stichproben, die wie Ziehungen aus deiner Zielverteilung aussehen. Das Integral wird elegant umgangen.

Beliebte Markov-Chain-Monte-Carlo-Algorithmen

In der Praxis triffst du auf eine Handvoll MCMC-Algorithmen. Sie folgen alle derselben Grundschleife, unterscheiden sich aber darin, wie sie neue Zustände vorschlagen und welche Informationen über die Zielverteilung sie nutzen.

Metropolis-Algorithmus

Der Metropolis-Algorithmus ist der einfachste MCMC-Algorithmus und der Ursprung der Methode.

In jedem Schritt schlägt er einen neuen Zustand vor, indem er dem aktuellen Zustand Rauschen hinzufügt. Hat der vorgeschlagene Zustand unter der Zielverteilung eine höhere Wahrscheinlichkeit, wird er immer akzeptiert. Ist sie geringer, wird er mit einer Wahrscheinlichkeit akzeptiert, die proportional zum Verhältnis der beiden Wahrscheinlichkeiten ist – sonst bleibt die Kette stehen.

Dieser Annahme/Verwerfungs-Mechanismus sorgt dafür, dass die Kette mehr Zeit in Bereichen hoher Wahrscheinlichkeit verbringt, ohne die vollständige Verteilung zu berechnen.

Metropolis nutzt eine symmetrische Vorschlagsverteilung, d. h. Schritte in jede Richtung sind gleich wahrscheinlich. Mit wachsenden Modellen stößt das Verfahren an Grenzen.

Metropolis-Hastings-Algorithmus

Der Metropolis-Hastings-(MH)-Algorithmus verallgemeinert Metropolis, indem er asymmetrische Vorschlagsverteilungen erlaubt.

MH passt die Annahmewahrscheinlichkeit daran an, dass manche Vorschläge wahrscheinlicher sind als andere. Du kannst den Vorschlag an die Form deiner Zielverteilung anlehnen, was zu besserer Exploration und schnellerer Konvergenz führt.

Die meisten modernen MCMC-Methoden sind Erweiterungen von MH oder beruhen auf denselben Prinzipien. Verstehst du Metropolis-Hastings, verstehst du das Fundament des Feldes.

Gibbs-Sampling

Gibbs-Sampling aktualisiert jeweils nur eine Variable statt einen neuen Zustand für alle Parameter gleichzeitig vorzuschlagen.

In jedem Schritt wird für jede Variable aus ihrer konditionalen Verteilung gezogen – also der Verteilung dieser Variable gegeben die aktuellen Werte aller anderen. Wenn du alle Variablen einmal durchlaufen hast, ist eine vollständige Iteration abgeschlossen.

Damit entfällt der Annahme/Verwerfungs-Schritt vollständig, da jede konditionale Ziehung immer akzeptiert wird. Praktisch, wenn die volle gemeinsame Verteilung schwer zu samplen ist, die Konditionalen aber handhabbar sind – typisch in bayes’schen Hierarchiemodellen.

Hamiltonian Monte Carlo

Hamiltonian Monte Carlo (HMC) war der erste Algorithmus, der moderne Bayes-Inferenz im großen Maßstab praktikabel machte.

Statt neue Zustände zufällig vorzuschlagen, nutzt HMC Gradienteninformationen der Zielverteilung, um weit entfernte, aber dennoch wahrscheinlich akzeptierte Zustände vorzuschlagen. So bewegt es sich viel effizienter durch den Parameterraum als Random-Walk-Methoden. Es gibt weniger abgelehnte Vorschläge und eine bessere Exploration hochdimensionaler Verteilungen.

Random-Walk-Methoden wie Metropolis skalieren schlecht, wenn die Anzahl der Parameter wächst. HMC hat dieses Problem nicht im selben Ausmaß.

HMC ist der Motor hinter Stan, einer der meistgenutzten probabilistischen Programmiersprachen. Der No-U-Turn Sampler (NUTS), eine adaptive Erweiterung von HMC, die in PyMC eingesetzt wird, nimmt dir das manuelle Tuning von Schrittweite und Schrittanzahl ab.

Markov-Chain-Monte-Carlo in der Bayes-Statistik

Wenn MCMC irgendwo den größten Einfluss hat, dann in der Bayes-Inferenz.

Die Bayes-Statistik dreht sich um die Posteriorverteilung – die aktualisierte Wahrscheinlichkeit deiner Modellparameter nach Sichtung der Daten. Ihre Berechnung bedeutet, Prior und Likelihood zu multiplizieren und zu normalisieren. Diese Normalisierung erfordert ein Integral, das selten lösbar ist.

MCMC eliminiert diesen Schritt komplett. Du bewertest nur den unnormalisierten Posterior an beliebigen Punkten und überlässt den Rest der Kette.

Ein einfaches Beispiel: Du schätzt die Verzerrung einer Münze. Du startest mit dem Prior, dass die Münze wahrscheinlich fair ist, und beobachtest eine Sequenz von Würfen. Für ein simples Münzmodell hat der Posterior eine geschlossene Form. Fügst du eine hierarchische Struktur hinzu, also die gleichzeitige Schätzung der Verzerrung über hundert Münzen, wird die Berechnung unmöglich.

Mit MCMC lässt du die Kette laufen, sammelst Posterior-Stichproben und berechnest daraus, was du brauchst.

Burn-in, Konvergenz und Mixing verstehen

Diese drei Konzepte verwirren viele, die neu mit MCMC arbeiten. Wenn du sie falsch angehst, bekommst du zwar Ergebnisse, weißt aber nicht, warum sie unzuverlässig sind.

Burn-in

Wenn eine Markov-Kette startet, hat sie keine Ahnung, wo die Bereiche hoher Wahrscheinlichkeit deiner Zielverteilung liegen.

Diese frühen Stichproben sind vom Startpunkt beeinflusst, nicht von der Zielverteilung. Burn-in bedeutet, sie zu verwerfen. Du lässt die Kette erst eine gewisse Zahl an Iterationen laufen, wirfst diese Stichproben weg und behältst nur das, was danach kommt – wenn die Kette einen guten Bereich gefunden hat.

Es gibt keine allgemeine Regel für die Länge des Burn-ins. Sie hängt von deinem Modell, dem Startpunkt und dem Mixing der Kette ab. In der Praxis diagnostizierst du das visuell mit Traceplots statt eine fixe Zahl vorab zu wählen.

Konvergenz

Konvergenz bedeutet, dass die Kette nicht mehr vom Startpunkt beeinflusst ist und nun Stichproben zieht, die die Zielverteilung widerspiegeln.

Eine nicht konvergierte Kette liefert verzerrte Stichproben. Der daraus berechnete Mittelwert entspricht nicht dem wahren Posterior-Mittel, sondern dem Bereich, in dem die Kette festhing.

Konvergenz prüfst du im Nachhinein über Diagnostiken. Mehrere Ketten von unterschiedlichen Startpunkten zu starten und zu prüfen, ob sie übereinstimmen, ist eine der zuverlässigsten Methoden, Ausfälle zu erkennen.

Mixing

Eine Kette, die konvergiert, aber schlecht mischt, bleibt trotzdem problematisch.

Mixing beschreibt, wie gut die Kette die Zielverteilung erkundet. Eine gut mixende Kette bewegt sich frei, besucht Hoch- und Niedrig-Wahrscheinlichkeitsregionen und erzeugt annähernd unabhängige Stichproben. Eine schlecht mixende Kette verharrt viele Iterationen in einer Region und produziert stark korrelierte Stichproben, die die gesamte Verteilung nicht repräsentieren.

Schlechtes Mixing erkennst du oft an einem Traceplot, der wie ein langsam mäandernder Fluss statt wie ein rauschiges, horizontales Band aussieht. Dann braucht dein Sampler Feintuning – eine bessere Vorschlagsverteilung oder gleich einen anderen Algorithmus.

Mixing-Vergleichsplot

Mixing-Vergleichsplot

MCMC-Ergebnisse bewerten

Ich zeige dir jetzt vier Möglichkeiten, MCMC zu bewerten, und wann du welche nutzt.

Traceplots

Ein Traceplot zeigt den in jeder Iteration gesampelten Wert eines Parameters. Das ist das Erste, was du dir nach dem MCMC-Lauf ansehen solltest.

Ein gesunder Traceplot sieht aus wie weißes Rauschen um einen stabilen Mittelwert. Du solltest keine Trends, langen Plateaus oder langsames Driften sehen. Wandert die Kette umher oder steckt viele Iterationen in einer Region fest, ist das ein Mixing-Problem und deine Stichproben sind unzuverlässig.

Traceplots visualisiert

Traceplots visualisiert

Autokorrelation

MCMC-Stichproben sind nie vollständig unabhängig. Jede Stichprobe wird von der vorherigen beeinflusst. Autokorrelation misst, wie stark Stichproben über Iterationen hinweg korreliert sind.

Hohe Autokorrelation bedeutet, dass deine Stichproben weniger Information tragen, als ihre Anzahl vermuten lässt. Zweitausend korrelierte Stichproben können derselben Informationsmenge wie zweihundert unabhängige entsprechen. Die meisten MCMC-Bibliotheken enthalten Autokorrelationsplots, damit du siehst, wie schnell die Korrelation mit wachsendem Abstand zwischen den Stichproben abfällt.

Autokorrelationsplots visualisiert

Autokorrelationsplots visualisiert

Effektive Stichprobengröße

Die effektive Stichprobengröße (ESS) übersetzt diese Autokorrelation in eine praktische Zahl: Wievielen unabhängigen Stichproben deine Kette entspricht.

Wenn du 5.000 Stichproben gezogen hast, die ESS aber 200 ist, arbeitest du mit der statistischen Power von 200 unabhängigen Ziehungen. Eine niedrige ESS bedeutet, dass du die Kette länger laufen lassen, den Sampler tunen – oder beides – solltest. In der Praxis peilen viele mindestens einige Hundert pro Parameter an, bevor sie den Schätzungen vertrauen.

Konvergenzdiagnostik

Wenn du mehrere Ketten laufen lässt, kannst du formal testen, ob sie zur selben Verteilung konvergiert sind. Die Gelman–Rubin-Diagnostik, berichtet als R-hat, vergleicht die Varianz innerhalb der Ketten mit der Varianz zwischen den Ketten.

Ein R-hat nahe 1,0 bedeutet, die Ketten stimmen überein – ein gutes Zeichen. Werte über 1,01 oder 1,05 (je nach Schwelle der Bibliothek) deuten darauf hin, dass die Ketten nicht konvergiert sind und du mehr Iterationen brauchst. Moderne Bibliotheken wie PyMC berechnen R-hat automatisch und warnen bei zu hohen Werten.

Markov-Chain-Monte-Carlo in Python

Python bietet mehrere Bibliotheken für MCMC – jeweils mit eigener Philosophie.

  • PyMC: Die zugänglichste Option für die meisten Data Scientists. Du definierst dein Modell in Python-Syntax, und PyMC übernimmt das Sampling unter der Haube mit NUTS (einer adaptiven Version von HMC). Die erste Wahl für bayes’sches Modellieren in Python.
  • CmdStanPy / PyStan: Python-Schnittstellen zu Stan, einer dedizierten probabilistischen Programmiersprache. Stan kompiliert dein Modell vor dem Lauf zu C++, was es schnell und gut geeignet für komplexe Hierarchiemodelle macht. Die Kehrseite ist eine steilere Lernkurve.
  • NumPy: Keine dedizierte MCMC-Bibliothek, aber du kannst Algorithmen wie Metropolis-Hastings selbst implementieren. Nützlich, um das Innenleben zu verstehen, bevor du zu höheren Abstraktionen wechselst.

Für die meisten praktischen Anwendungen startest du mit PyMC. Ich nutze das hier – wenn du mitmachen willst, installiere die Bibliothek zuerst:

pip install pymc

Um es einfach zu halten, bleibe ich bei einem leichten Beispiel: die Verzerrung einer Münze aus einer Folge von Würfen schätzen.

Schritt 1: Modell definieren

import pymc as pm
import numpy as np

# 1 = heads, 0 = tails
observed_flips = np.array([1, 0, 1, 1, 0, 1, 1, 1, 0, 1])

with pm.Model() as coin_model:
    # Prior: we believe the coin is probably fair
    bias = pm.Beta("bias", alpha=2, beta=2)

    # Likelihood: observed flips given the bias
    flips = pm.Bernoulli("flips", p=bias, observed=observed_flips)

Der pm.Beta-Prior kodiert die schwache Annahme, dass die Münze fair ist. Die pm.Bernoulli-Likelihood verknüpft das Modell mit den beobachteten Daten.

Schritt 2: Sampler starten

with coin_model:
    trace = pm.sample(2000, tune=1000, return_inferencedata=True)

Ausgabe beim Start des Samplers

Ausgabe beim Start des Samplers

tune legt die Anzahl der Burn-in-Schritte fest – diese Stichproben werden verworfen. sample zieht anschließend pro Kette 2000 Posterior-Stichproben nach dem Tuning.

Schritt 3: Posterior inspizieren

import arviz as az

az.plot_trace(trace, var_names=["bias"])
az.summary(trace, var_names=["bias"])

Traceplot des Modells und Zusammenfassung

Traceplot des Modells und Zusammenfassung

az.summary() liefert Posterior-Mittelwert, Standardabweichung und R-hat je Parameter. Ist R-hat nahe 1,0, sind die Ketten konvergiert. az.plot_trace() zeigt Trace und Posteriorverteilung je Parameter nebeneinander.

Für diesen Datensatz – 7 Kopf bei 10 Würfen – liegt der Posterior-Mittelwert bei 0,642 mit einer Standardabweichung von 0,124. Das spiegelt die Evidenz der Daten wider und bleibt zugleich nahe am Fair-Coin-Prior. R-hat ist 1,00 und die ESS liegt deutlich über 2000 – die Ketten sind konvergiert und die Stichproben verlässlich.

Häufige Fehler mit MCMC

MCMC ist leicht zu starten, aber auch leicht falsch zu nutzen. Das sind die häufigsten Stolperfallen.

  • Zu frühe Konvergenzannahme: Nur weil der Sampler ohne Fehler lief, heißt das nicht, dass er konvergiert ist. Prüfe immer R-hat und Traceplots, bevor du Ergebnissen vertraust. Eine Kette kann stabil aussehen und dennoch in einer Region des Parameterraums festhängen.
  • Burn-in ignorieren: Frühe Stichproben sind zum Startpunkt verzerrt, nicht zur Zielverteilung. Verwirf sie. Die meisten Bibliotheken erledigen das über den tune-Parameter, aber prüfe, dass du diese Stichproben nicht versehentlich in deine Analyse aufnimmst.
  • Schlechtes Mixing: Eine langsam wandernde Kette erzeugt stark korrelierte Stichproben, die weniger Information tragen, als die Anzahl vermuten lässt. Wenn dein Traceplot eher nach langsamem Driften als nach einem rauschigen Band aussieht, braucht deine Vorschlagsverteilung Tuning – oder du wechselst den Algorithmus. Der Umstieg von Metropolis auf NUTS behebt das oft sofort.
  • Zu wenige Stichproben: Eine niedrige effektive Stichprobengröße (ESS) macht Schätzungen unzuverlässig – selbst wenn die Kette technisch konvergiert ist. Ist deine ESS nur ein Bruchteil der Gesamtzüge, lass die Kette länger laufen oder verbessere das Mixing, bevor du Schlussfolgerungen ziehst.

MCMC vs. andere Sampling-Methoden

MCMC ist nicht die einzige Möglichkeit, eine Verteilung zu approximieren. So schneidet es im Vergleich ab.

  • Rejection Sampling zieht Vorschläge aus einer einfacheren Verteilung und akzeptiert sie je nach Übereinstimmung mit der Zielverteilung. Wenn es funktioniert, ist es exakt, aber in hohen Dimensionen brechen die Annahmeraten ein.
  • Importance Sampling gewichtet Stichproben aus einer Vorschlagsverteilung, um Erwartungen unter der Zielverteilung zu approximieren. Es ist schnell und in niedrigen Dimensionen gut, aber die Varianz der Gewichte explodiert mit der Dimensionalität. In der Praxis tragen wenige Stichproben fast das gesamte Gewicht – Schätzungen werden unzuverlässig.
  • Variationsinferenz (VI) passt eine einfachere Verteilung an, um die Zielverteilung durch Minimierung einer Divergenz zu approximieren. VI ist deutlich schneller als MCMC und skaliert auf große Datensätze, führt aber Approximationsfehler ein. Die angepasste Verteilung kann Posterior-Strukturen übersehen, die MCMC erfassen würde.

Kurzfassung:

MCMC im Vergleich zu Alternativen

MCMC im Vergleich zu Alternativen

MCMC ist die richtige Wahl, wenn Genauigkeit wichtiger ist als Geschwindigkeit. Musst du auf große Datensätze skalieren oder Inferenz in Echtzeit durchführen, lohnt sich Variationsinferenz trotz Genauigkeitseinbußen.

Fazit

MCMC wirkt von außen einschüchternd, ergibt aber Sinn, sobald du verstehst, was passiert: Es baut eine Stichprobenkette auf, die schrittweise die Form einer Verteilung widerspiegelt, die du nicht direkt berechnen kannst.

Es wird auch viel greifbarer, wenn du es in Teile zerlegst: Markov-Ketten und Monte-Carlo-Methoden.

Seine Rolle in der Bayes-Statistik kann man kaum überschätzen. Posteriorverteilungen, die sonst unerreichbar wären, werden lösbar, sobald du einen verlässlichen Sampler hast. Deshalb steht MCMC im Kern probabilistischer Programmbibliotheken wie PyMC und Stan.

Bevor du implementierst, sollte die Intuition sitzen. Verstehe, warum die Kette ein Burn-in braucht, was Mixing bedeutet und wie du einen Traceplot liest. Der Code selbst ist der einfache Teil – Python-Bibliotheken verstecken die Details hinter einfachen Funktionsaufrufen.

Wenn du in Machine Learning richtig durchstarten willst, melde dich für unseren Machine Learning Scientist in Python Lernpfad an. 85 Stunden Material machen dich bis 2026 jobready.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Senior Data Scientist mit Sitz in Kroatien. Top Tech Writer mit über 700 veröffentlichten Artikeln, die mehr als 10 Millionen Mal aufgerufen wurden. Buchautor von Machine Learning Automation with TPOT.

MCMC FAQs

What is Markov Chain Monte Carlo used for?

MCMC zieht Stichproben aus Wahrscheinlichkeitsverteilungen, die zu komplex sind, um direkt mit ihnen zu arbeiten. Am häufigsten wird es in der Bayes-Statistik eingesetzt, um Posteriorverteilungen ohne geschlossene Form zu schätzen. Du findest es auch in Physiksimulationen, der Computerbiologie und überall dort, wo exakte Inferenz nicht machbar ist.

How does MCMC differ from regular random sampling?

Reguläres Random Sampling setzt voraus, dass du direkt aus der Zielverteilung ziehen kannst. MCMC umgeht das, indem es eine Stichprobenkette aufbaut, die schrittweise zur Zielverteilung konvergiert. Du musst die Verteilung nicht vollständig kennen, sondern sie nur an beliebigen Punkten auswerten können. Der Nachteil: MCMC-Stichproben sind korreliert, weshalb du mehr davon brauchst, um verlässliche Schätzungen zu erhalten.

How do you know if an MCMC sampler has converged?

Die gängigste Prüfung ist die Gelman–Rubin-Diagnostik, berichtet als R-hat. Werte nahe 1,0 zeigen, dass die Ketten zur selben Verteilung konvergiert sind. Traceplots und die effektive Stichprobengröße (ESS) sind ebenfalls hilfreich. Ein gesunder Traceplot sieht aus wie zufälliges Rauschen um einen stabilen Mittelwert, und eine hohe ESS bedeutet, dass deine Stichproben genug Information tragen, um Schätzungen zu vertrauen.

What is the difference between Metropolis-Hastings and Hamiltonian Monte Carlo?

Metropolis-Hastings schlägt neue Zustände vor, indem es Rauschen zum aktuellen Punkt addiert – das kann langsam sein, wenn die Zielverteilung komplexe Geometrie hat. Hamiltonian Monte Carlo nutzt Gradienteninformationen, um weit entfernte, aber dennoch wahrscheinlich akzeptierte Zustände vorzuschlagen, was in hohen Dimensionen zu deutlich besserer Exploration führt. Für die meisten modernen Bayes-Workflows ist HMC – und die adaptive Variante NUTS – die bevorzugte Wahl.

When should you use variational inference instead of MCMC?

Wenn Geschwindigkeit und Skalierbarkeit wichtiger sind als Genauigkeit. MCMC liefert hochwertige Stichproben, skaliert aber schlecht auf große Datensätze und hochdimensionale Modelle. Variationsinferenz passt eine einfachere Verteilung an den Posterior an, ist viel schneller, führt aber Approximationsfehler ein, die MCMC vermeidet. Wenn du im großen Maßstab prototypisierst oder Inferenz in Echtzeit brauchst, ist Variationsinferenz den Trade-off wert.

Themen

Lerne mit DataCamp

Lernpfad

Reinforcement Learning in Python

12 Std.
Beherrsche die Grundlagen des Reinforcement Learning (RL), um Modelle zu erstellen, die sich in komplexen realen Umgebungen zurechtfinden und LLMs trainieren können.
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow