Der Metropolis-Hastings Algorithmus Michael Höhle Department of Statistics University of Munich Numerical Methods for Bayesian Inference WiSe2006/07 Course 30 October 2006 NumBay2006 – MCMC Metropolis-Hastings Markov-Chain Monte-Carlo Verfahren Übersicht 1 Einführung in Markov-Chain Monte-Carlo Verfahren 2 Kurze Wiederholung von Markov-Ketten 3 Der Metropolis-Hastings Algorithmus im diskreten Fall 4 Der generelle Metropolis-Hastings Algorithmus NumBay2006 – MCMC Metropolis-Hastings Markov-Kette (I) Sei X = (X0 , X1 , X2 , . . .) 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(Xt = s|X0 = x0 , X1 = x1 , . . . , Xt−1 = xt−1 ) = P(Xt = s|Xt−1 = xt−1 ) für alle t ≥ 1 und ∀s, x0 , x1 , x2 , . . . , xt−1 ∈ S. Hinweis: Die Theorie wird nur für diskrete Zustandsräume betrachtet. NumBay2006 – MCMC Metropolis-Hastings Markov-Kette (II) (t) pij = P(Xt+1 = j|Xt = i) nennt man auch die ein-Schritt Übergangswahrscheinlichkeit Falls keine der ein-Schritt Übergangswahrscheinlichkeiten sich (t) mit t ändert, nennt man X homogen und pij = pij Die |S| × |S| Matrix P = [pij ] wird auch die Übergangsmatrix (oder Transitionsmatrix) genannt NumBay2006 – MCMC Metropolis-Hastings Klassifikation von Zuständen (I) Betrachtet wird die sogenannte Rekurrenzzeit (Rückkehrzeit) eines i ∈ S Tii = min(t ≥ 1 : Xt = i|X0 = i) Ein Zustand i heißt rekurrent, falls die Kette mit Wahrscheinlichkeit 1 wieder in den Zustand zurückkehrt, d.h. P(Tii < ∞) = 1 Falls die erwartete Rekurrenzzeit endlich ist, E (Tii ) < ∞ nennt man den Zustand nicht-leer (sonst leer). NumBay2006 – MCMC Metropolis-Hastings Klassifikation von Zuständen (III) Eine Markov-Kette heißt irreduzibel, falls ∀i, j : ∃m : 1 ≤ m < ∞ : P(Xm = i|X0 = j) > 0 Die Periode eines Zustandes i ist d(i) = g. c. d.{n ≥ 1 : P(Xn = i|X0 = i) > 0}. Eine Markov-Kette X heißt aperiodisch, falls jeder Zustand von X die Periode 1 hat. NumBay2006 – MCMC Metropolis-Hastings 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 (Tii ) NumBay2006 – MCMC i ∈ S. Metropolis-Hastings Detailed Balance (I) Es ist oft leichter stationarität einer Dichte mit der sogenannten detailed-balance Bedingung zu zeigen. Angenommen X = {Xn : 0 ≤ n ≤ N} ist eine irreduzible Markov-Kette, sodass Xn die stationäre Verteilung π für alle n hat. X heißt reversibel, falls die Übergangsmatrix von X und der Rückwärtskette Yn = XN−n gleich sind, d.h. πi pij = πj pji , ∀i, j ∈ S. Dies nennt man auch die detailed-balance Bedingung. NumBay2006 – MCMC Metropolis-Hastings 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: NumBay2006 – MCMC Metropolis-Hastings 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 Pij (n) = πj n→∞ n→∞ für alle i, j ∈ S. Daher gilt µ(0) Pn → π für alle µ(0) . NumBay2006 – MCMC Metropolis-Hastings 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). NumBay2006 – MCMC Metropolis-Hastings 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 x0 = i, i ∈ S. Simuliere eine Realisationen der Länge n aus der Markov-Kette X mit Übergangsmatrix P, d.h. x1 , x2 , . . . , xn . Approximativ gilt, dass Xi ∼ π, für i = m, . . . , n, wobei m < n der sogenannte Burn-In ist. Achtung: Die Samples sind jetzt abhängig! NumBay2006 – MCMC Metropolis-Hastings Der Metropolis-Hastings Algorithmus im diskreten Fall Didaktisches Beispiel – Details in der Vorlesung Siehe auch discrete-mh.R. NumBay2006 – MCMC Metropolis-Hastings Metropolis-Hastings (I) Eine generelle Formulierung des Metropolis-Hastings 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 Metropolis-Hastings Algorithmus ist in der Bayes-Inferenz interessant, denn es ist nur notwendig die gewünschte Zieldichte bis hin zur Proportionalität zu kennen. NumBay2006 – MCMC Metropolis-Hastings Notation Angenommen der Zustand zum Zeitpunkt t ist ein m-dimensionaler Vektor Xt = x = (x1 , . . . , xm ) Die Notation x−i wird für den Vektor benutzt, der aus allen Komponenten außer i besteht, d.h x−i = (x1 , . . . , xi−1 , xi+1 , . . . , xm ). Gegeben x sei qi (yi |x) eine bedingte Dichte, die so genannte Proposal-Verteilung für den i’ten Komponenten Abkürzung q(y|x) = qi (yi |x) NumBay2006 – MCMC Metropolis-Hastings Metropolis-Hastings (II) Algorithmus 1 : Metropolis-Hastings Update-Schritt Input : Markov-Kette mit aktuellem Zustand Xt = x = (x1 , . . . , xm ) und i ∈ {1, . . . , m} die Komponente, in x, die aufdatiert werden soll. 1 (Proposal-Schritt) Vorschlag für den i’ten Komponenten: yi ∼ qi (·|x) 2 Vorschlag für den neuen Zustand: y = (yi , y−i ), mit y−i = x−i . (Akzeptanzschritt) Xt+1 = y mit Wahrscheinlichkeit π(yi |y−i )qi (xi |y) π(y)q(x|y) α(x, y) = min 1, = min 1, π(x)q(y|x) π(xi |x−i )qi (yi |x) anderenfalls Xt+1 = x. NumBay2006 – MCMC Metropolis-Hastings Metropolis-Hastings (III) Man unterscheidet insbesondere zwei wichtige Klassen bei der Wahl von qi (yi |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 qi (y|x) = qi (|x − y|) und qi eine Dichte ist, die symmetrisch um 0 ist, dann, nennt man y ein random walk proposal. Hier vereinfacht sich die Akzeptanzw’keit zu π(y) α = min 1, π(x) Beispiele, wenn x = x ein Skalar: y ∼ N (x, σ 2 ), y ∼ U(x − d, x + d) NumBay2006 – MCMC Metropolis-Hastings Metropolis-Hastings (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 Metropolis-Hastings 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 xi kann auch eine ganze Gruppe von Komponenten xA = {xi : i ∈ A} simultan aufdatiert werden. NumBay2006 – MCMC Metropolis-Hastings