Der Metropolis-Hastings Algorithmus

Werbung
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
Herunterladen