Der Algorithmus Michael Höhle Department of Statistics University of Munich Numerical Methods for Bayesian Inference WiSe2006/07 Course 30 October 2006
Markov-Chain Monte-Carlo Verfahren Übersicht 1 Einführung in Markov-Chain Monte-Carlo Verfahren 2 Kurze Wiederholung von Markov-Ketten 3 Der Algorithmus im diskreten Fall 4 Der generelle Algorithmus
Markov-Kette (I) Sei X = (X 0, X 1, X 2,...) eine Folge von diskreten Zufallsvariablen, die alle Ausprägungen in einer abzählbaren Menge S haben S heißt Zustandsraum und s S ein Zustand. Definition einer Markov-Kette X heißt Markov-Kette, falls P(X t = s X 0 = x 0, X 1 = x 1,..., X t 1 = x t 1 ) = für alle t 1 und s, x 0, x 1, x 2,..., x t 1 S. P(X t = s X t 1 = x t 1 ) Hinweis: Die Theorie wird nur für diskrete Zustandsräume betrachtet.
Markov-Kette (II) = P(X t+1 = j X t = i) nennt man auch die ein-schritt Übergangswahrscheinlichkeit p (t) ij Falls keine der ein-schritt Übergangswahrscheinlichkeiten sich mit t ändert, nennt man X homogen und p (t) ij = p ij Die S S Matrix P = [p ij ] wird auch die Übergangsmatrix (oder Transitionsmatrix) genannt
Klassifikation von Zuständen (I) Betrachtet wird die sogenannte Rekurrenzzeit (Rückkehrzeit) eines i S T ii = min(t 1 : X t = i X 0 = i) Ein Zustand i heißt rekurrent, falls die Kette mit Wahrscheinlichkeit 1 wieder in den Zustand zurückkehrt, d.h. P(T ii < ) = 1 Falls die erwartete Rekurrenzzeit endlich ist, E(T ii ) < nennt man den Zustand nicht-leer (sonst leer).
Klassifikation von Zuständen (III) Eine Markov-Kette heißt irreduzibel, falls i, j : m : 1 m < : P(X m = i X 0 = j) > 0 Die Periode eines Zustandes i ist d(i) = g. c. d.{n 1 : P(X n = i X 0 = i) > 0}. Eine Markov-Kette X heißt aperiodisch, falls jeder Zustand von X die Periode 1 hat.
Stationäre Verteilung Jede diskrete Verteilung π = (π 1,..., π S ), sodass πp = π heißt stationäre Verteilung für P. Theorem: Eine irreduzible Markov-Kette X hat eine stationäre Verteilung alle Zustände sind nicht-leer rekurrent Hat eine irreduzible Markov-Kette X eine stationäre Verteilung ist π eindeutig und π i = 1 E(T ii ), i S.
Detailed Balance (I) Es ist oft leichter stationarität einer Dichte mit der sogenannten detailed-balance Bedingung zu zeigen. Angenommen X = {X n : 0 n N} ist eine irreduzible Markov-Kette, sodass X n die stationäre Verteilung π für alle n hat. X heißt reversibel, falls die Übergangsmatrix von X und der Rückwärtskette Y n = X N n gleich sind, d.h. π i p ij = π j p ji, i, j S. Dies nennt man auch die detailed-balance Bedingung.
Detailed Balance (II) Theorem Sei X irreduzibel und angenommen es existiert ein π, dass die detailed-balance Bedingung erfüllt. Dann ist π die stationäre Verteilung der Kette. Beweis:
Das Grenzwerttheorem (I) Eine irreduzible und aperiodische Markov-Kette konvergiert gegen ihre stationäre Verteilung π lim P(X (t+n) = j X (t) = i) = lim P ij(n) = π j n n für alle i, j S. Daher gilt µ (0) P n π für alle µ (0).
Das Grenzwerttheorem (II) Beispiel: 0.1 0.6 0.3 P = 0.8 0.1 0.1 0.5 0.4 0.1 Folgende Formel kann zur Berechnung von π benutzt werden: π = 1 (I P + Q) 1, wobei 1 ein Vektor aus Einsen ist, I die Identitätsmatrix und Q = [1]. Somit π = (0.4375, 0.3750, 0.1875). Sei µ (0) = (1, 0, 0). Z.B. ist µ (10) = (0.4409, 0.3727, 0.1864).
Die Idee von MCMC (grob gesehen) Ziel: Erzeugung von Zufallszahlen aus der diskreten Verteilung π. Voraussetzung: Irreduzible und aperiodische Markov-Kette mit Übergangsmatrix P dessen stationäre Verteilung π ist. Wähle beliebigen Startwert x 0 = i, i S. Simuliere eine Realisationen der Länge n aus der Markov-Kette X mit Übergangsmatrix P, d.h. x 1, x 2,..., x n. Approximativ gilt, dass X i π, für i = m,..., n, wobei m < n der sogenannte Burn-In ist. Achtung: Die Samples sind jetzt abhängig!
Der Algorithmus im diskreten Fall Didaktisches Beispiel Details in der Vorlesung Siehe auch discrete-mh.r.
(I) Eine generelle Formulierung des Algorithmus, die auch stetige und mehrdimensionale Parameterräume abdeckt Man möchte eine Markov-Kette konstruieren, die die (mehrdimensionalen) Dichte/Wahrscheinlichkeitsfunktion π(x) als stationäre Verteilung hat und gegen π konvergiert. Der Algorithmus ist in der Bayes-Inferenz interessant, denn es ist nur notwendig die gewünschte Zieldichte bis hin zur Proportionalität zu kennen.
Notation Angenommen der Zustand zum Zeitpunkt t ist ein m-dimensionaler Vektor X t = x = (x 1,..., x m ) Die Notation x i wird für den Vektor benutzt, der aus allen Komponenten außer i besteht, d.h x i = (x 1,..., x i 1, x i+1,..., x m ). Gegeben x sei q i (y i x) eine bedingte Dichte, die so genannte Proposal-Verteilung für den i ten Komponenten Abkürzung q(y x) = q i (y i x)
(II) Algorithmus 1 : Update-Schritt Input : Markov-Kette mit aktuellem Zustand X t = x = (x 1,..., x m ) und i {1,..., m} die Komponente, in x, die aufdatiert werden soll. 1 (Proposal-Schritt) Vorschlag für den i ten Komponenten: y i q i ( x) Vorschlag für den neuen Zustand: y = (y i, y i ), mit y i = x i. 2 (Akzeptanzschritt) X t+1 = y mit Wahrscheinlichkeit { α(x, y) = min 1, π(y)q(x y) } { = min 1, π(y } i y i )q i (x i y) π(x)q(y x) π(x i x i )q i (y i x) anderenfalls X t+1 = x.
(III) Man unterscheidet insbesondere zwei wichtige Klassen bei der Wahl von q i (y i x): 1 Falls q(y x) nicht von x abhängt. d.h. q(y x) = q(y), nennt man y ein independence proposal. 2 Falls q i (y x) = q i ( x y ) und q i eine Dichte ist, die symmetrisch um 0 ist, dann, nennt man y ein random walk proposal. Hier vereinfacht sich die Akzeptanzw keit zu { α = min 1, π(y) } π(x) Beispiele, wenn x = x ein Skalar: y N (x, σ 2 ), y U(x d, x + d)
(IV) Ein trivialer Spezialfall ergibt sich, wenn q(y x) = π(x), d.h. man schlägt Zufallszahlen aus der Ziel-Verteilung vor. Dann ergibt sich α = 1 und tatsächlich werden alle Zufallszahlen auch akzeptiert. Für multivariate X wird x typisch komponentenweise in einer festen Reihenfolge aufdatiert, z.b. wird zuerst ein Schritt für die 1. Komponente vorgenommen. Dieser Zustand wird dann benutzt um einen MH-Schritt für die 2. Komponente vorzunehmen, usw. Eine Alternative ist es auch i U{1,..., m} zufällig zu wählen. Anstelle von einem x i kann auch eine ganze Gruppe von Komponenten x A = {x i : i A} simultan aufdatiert werden.