Markov Chain Monte Carlo Methoden

Werbung
Markov Chain Monte Carlo Methoden
Denition 1.
Eine Markov Chain Monte Carlo (MCMC)Methode zur Simulation einer Wahr-
scheinlichkeitsverteilung mit Dichte
teilung mit Dichte
f
f
produziert eine ergodische MarkovKette, welche die Ver-
als stationäre Verteilung aufweist.
Grundlegendes über MarkovKetten
Im Folgenden bezeichne
Denition 2.
• K(x, · )
(X , B(X ))
einen messbaren Raum.
Ein Übergangskern ist eine Abbildung
B(X ) ∀x ∈ X
ist ein Wahrscheinlichkeitsmaÿ auf
• K( · , B)
ist messbar
K : (X × B(X )) → R,
für die
und
∀B ∈ B(X )
gilt.
Denition 3.
Ein stochastischer Prozess in diskreter Zeit
(Xn ) : X0 , . . . , Xn , . . .
heiÿt Markov
Kette (MC), falls
Z
P (Xk+1 ∈ B|x0 , . . . , xk ) = P (Xk+1 ∈ B|xk ) =
K(xk , dx)
B
für
k∈N
mit einem Übergangskern
Nachfolgend wird
X
gilt.
als abzählbar angenommen.
Erste Eintrittszeit in
(Xn )
K
x ∈ X : T x = min {n > 0|Xn = x} , f (x, y) = Px (T y < ∞) x, y ∈ X
heiÿt zeithomogen, falls
P (Xk+1 ∈ B|xk ) = P (X1 ∈ B|x0 ) ∀k ∈ N .
Ein Zustand
x∈X
heiÿt rekurrent, falls
f (x, x) = 1.
Eine MarkovKette heiÿt rekurrent, falls
jeder Zustand rekurrent ist und ansonsten transient.
Eine MarkovKette heiÿt irreduzibel , falls jeder Zustand
y von jedem Zustand x aus erreichbar ist.
Satz 1.
MC irreduzibel: ein Zustand rekurrent
Satz 2.
Ist eine MarkovKette irreduzibel und rekurrent, dann existiert ein eindeutig bestimmtes
invariantes Maÿ
Korollar 1.
µ ≡ µK.
Ist
µ
⇔
MC rekurrent
endlich, heiÿt die MarkovKette positivrekurrent.
MC irreduzibel und positivrekurrent, dann gilt:
ET x < ∞ , µ(x) = (ET x )
Korollar 2.
MC irreduzibel und besitzt endl. µ
⇒
−1
.
positivrekurrent
dx = ggt{n|Kn (x, x) > 0}
heiÿt aperiodisch, wenn dx = 1 ∀x ∈ X .
Periode:
MC
Satz 3
(Konvergenz ins Gleichgewicht)
.
MarkovKette mit stationärer Verteilung
Ist
µ,
(Xn )
eine irreduzible, positivrekurrente aperiodische
so gilt für jede beliebige Startverteilung
µ0 Kn → µ
für
µ0
von
X0 :
n→∞.
Prinzip von MCMCAlgorithmen:
Für beliebige Startverteilungen wird eine ergodische MarkovKette generiert mit so gewähltem
Übergangskern, dass Konvergenz gegen invariante Verteilung (Zielverteilung) statt ndet.
wobei
f
stationäre Dichte und burninPhase
R
h(x)f (x)dx durch (1/T )
i = 0, . . . , n0 , ausgenommen
Anwendungsbeispiel: näherungsweise Berechnung von
1
Pn0 +T
i=n0
h(Xi ),
Der MetropolisHastingsAlgorithmus
Im Folgenden soll von der Zielverteilung mit Dichte
Gegeben
X
(t)
=x
f
ein Sample simuliert werden.
(t)
1. Generiere
Yt ∼ q(y|x(t) )
(proposal distribution
q)
2. AcceptanceRejection
(
X (t+1) =
Yt mit Wahrscheinlichkeit ρ(x(t) , Yt )
x(t) mit Wahrscheinlichkeit 1 − ρ(x(t) , Yt ) ,
wobei
f (y) q(x|y)
ρ(x, y) = min 1,
.
f (x) q(y|x)
Damit erfüllt die MHMC die detailed balanceBedingung
K(x, y)f (x) = K(y, x)f (x) ∀ x, y ,
da der Übergangskern durch
Z
K(x, y) = ρ(x, y)q(y|x) + 1 −
ρ(x, y)q(y|x)dy δx (y)
gegeben ist.
Satz 4.
f
Erfüllt eine MarkovKette obige detailed balanceEigenschaft, so ist sie irreduzibel und
Dichte der invarianten Verteilung.
Notwendige Voraussetzung für die Konvergenz gegen die stationäre Verteilung mit Dichte
[
supp
f
ist
q( · |x) ⊃ supp f .
x∈suppf
Satz 5 (Konvergenz von MetropolisHastings).
(X (t) ) f irreduzibel,
Ist die MetropolisHastingsMarkovKette
dann gilt
Z
T
1X
(t)
lim
h(X ) = h(x)f (x)dx ∀h ∈ L1 (f ), f −
T →∞ T
t=1
Ist
(X (t) )
f. ü.
.
aperiodisch gilt auÿerdem
Z
n
lim K (x, · )µ(dx) − f n→∞
=0
TV
für jede Startverteilung
µ.
Der MetropolisHastingsAlgorithmus erzeugt eine irreduzible MC, falls
q(y|x) > 0 ∀(x, y) ∈ suppf × suppf .
Aperiodizität gilt, falls
P f (X (t) )q(Yt |X (t) ) ≤ f (Yt )q(X (t) |Yt ) < 1 .
Zur Anwendung von MH sollte
und von
f
sollte
f (y)/q(y|x)
q leicht zu simulieren sein, z. Bsp. explizit bekannt oder symmetrisch
bis auf Konstante bekannt sein.
2
>
+
+
+
+
+
+
>
>
>
>
>
>
>
>
MH1<−function ( n , x0 , sigma )
{x=rep ( 0 , n )
x [ 1 ] = x0
for ( i i n 2 : n )
{y=rnorm ( 1 , x [ i − 1] , sigma )
i f ( runif (1)<=exp ( − 0.5 ∗ ( y^2−x [ i − 1 ] ^ 2 ) ) ) x [ i ]=y else x [ i ]=x [ i − 1]}
x}
x<−MH1( 1 0 0 0 , 0 , 1 )
par ( mfrow=c ( 3 , 1 ) )
plot ( 1 : 1 0 0 , x [ 1 : 1 0 0 ] , main=" F i r s t 100 Runs" )
lines (1:100 , x [ 1 : 1 0 0 ] )
plot ( 1 : 1 0 0 0 , x [ 1 : 1 0 0 0 ] , main=" A l l Runs" )
lines (1:1000 , x [ 1 : 1 0 0 0 ] )
plot ( 9 0 1 : 1 0 0 0 , x [ 9 0 1 : 1 0 0 0 ] , main=" Last 100 Runs" )
lines (901:1000 , x [901:1000])
Anwendung auf das LogitModell
Am 28. Januar 1986 explodierte die Raumfähre Challenger mit sieben Astronauten an Bord nach
dem Start aufgrund von Materialermüdungserscheinungen an Dichtungsringen, den sogenannten
O-Ringen, an den Raketentriebwerken. Zum Startzeitpunkt herrschte eine ungewöhnlich niedrige
Auÿentemperatur von
31◦
◦
F (ca. 0
C). Nachfolgend soll der Zusammenhang zwischen der Tempe-
ratur und der Überbeanspruchung der Dichtungsringe analysiert werden. In der Tabelle sind die
Temperaturen (in Fahrenheit) sowie das Auftreten bzw. Nicht-Auftreten eines Materialproblems
der Dichtungsringe für die 23 ShuttleFlüge vor dem ChallengerUnglück aufgelistet. Ein gängiges (und hier sinnvolles) Modell zur Beschreibung der Abhängigkeit einer binären Zufallsvariablen
von bestimmten Faktoren liefert die logistische Regression (LogitModell). Sei nun
3
Y
die binäre
Bernoulli-verteilte Zufallsvariable mit Paramter
Defektes beschreibt, und
X
X
Y
X
Y
66
0
67
0
70
1
53
1
69
0
67
0
68
0
75
0
67
0
70
0
72
0
81
0
73
0
76
0
70
0
79
0
57
1
75
0
63
1
76
0
70
1
58
1
78
0
p(X), welche das Auftreten oder Ausbleiben eines
eine reellwertige Zufallsvariable, die die Temperatur beschreibt. Im
LogitModell besteht der folgende Zusammenhang:
P(Y = 1|X) = p(X) =
Die LogitFunktion
exp (α + Xβ)
.
1 + exp (α + Xβ)
logit(p) = log (p/(1 − p)) = α + Xβ
hängt also linear von
Wir verwenden nun eines BayesAnsatz zur Schätzung der Pararmeter
obachtungen
Yi ∼ Ber(p(Xi )) , i = 1, . . . , 23.
23
Y
L(α, β|y) =
P (Yi = yi |xi ) =
i=1
α
und
X
β
ab.
anhand der Be-
Die LikelihoodFunktion ist gegeben durch:
1−yi
Y exp (α + βxi ) yi 1
.
1 + exp (α + βxi )
1 + exp (α + βxi )
i
Als AprioriVerteilung wählen wir
π(α, β) = πα (α|β)πβ (β) =
womit
log(α) ∼ Exp(b)
und
β
1 α −exp (α)/b
dαdβ ,
e e
b
uniform verteilt ist. Auÿerdem ist gesichert, dass die Aposteriori
L(α, β|y)π(α, β) ist, wohldeniert ist. Da Eα = log b − γ
für b als Schätzer b̂ = exp (α̂) + γ gewählt.
Verteilung, die proportional zu
EulerKonstanten
γ
gilt, wird
mit der
Um von der Zielverteilung (Aposteriori) zu samplen wird nun ein MetropolisHastingsAlgorithmus
implementiert mit der proposalVerteilung:
q(α, β) = πα (α|b̂)φ(β) ,
wobei
φ
Dichte einer
die MC in
(t)
(α , β
(t)
)
N(β̂, σ̂β2 )Verteilung
ist. Im AcceptanceRejectionSchritt wird, wenn sich
bendet, mit AkzeptanzWahrscheinlichkeit
!
L(α̃, β̃|y)φ(β (t) )
,1
L(α(t) , β (t) |y)φ(β̃)
ρ(α(t) , β (t) , α̃, β̃) = min
4
(α̃, β̃)
der von der proposalVerteilung generierte Wert
angenommen.
Der nachfolgende RCode implementiert den MetropolisHastingsAlgorithmus für das Logit
Modell. Die MLEs werden mit Hilfe der Funktion
summary(glm(y~x,family=binomial(link="logit")))
berechnet und direkt durch die entsprechenden Koezienten aufgerufen. Zur graschen Veranschaulichung werden auÿerdem Simulationsschritte zusammengefasst und die Mittelwerte der Parameter dargestellt.
>
>
+
>
>
>
>
>
>
>
>
>
+
+
+
+
+
+
+
+
>
>
>
>
+
>
>
>
+
>
>
>
+
>
>
+
>
>
>
>
>
>
>
+
>
>
+
y<−c ( 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 )
x<−c ( 5 3 , 5 7 , 5 8 , 6 3 , 6 6 , 6 7 , 6 7 , 6 7 , 6 8 , 6 9 , 7 0 , 7 0 , 7 0 , 7 0 , 7 2 , 7 3 , 7 5 ,
75 ,76 ,76 ,78 ,79 ,81)
n<−length ( y ) ;
nsim<−10000
a e s t<−array ( 0 , dim=c ( nsim , 1 ) ) ; b e s t<−array ( 0 , dim=c ( nsim , 1 ) ) ;
l o g l i k e <− function ( a , b ) { sum ( y ∗ ( a+b ∗ x)− log (1+ exp ( a+b ∗ x ) ) ) }
mod=summary ( glm ( y~x , family=binomial ( link=" l o g i t " ) ) )
d p r o p o s a l<−function ( b ) dnorm ( b , mod$ c o e f f [ 2 , 1 ] , mod$ c o e f f [ 2 , 2 ] , log=TRUE)
a e s t [ 1 ]<−mod$ c o e f f [ 1 , 2 ] ; b e s t [ 1 ]<−mod$ c o e f f [ 2 , 1 ]
Lbeta<−mod$ c o e f f [ 1 , 1 ] + . 5 7 7 2 1 6
for ( j i n 2 : nsim ) {
a p r o p o s a l<−Lbeta+log ( rexp ( 1 ) ) ; b p r o p o s a l<−rnorm ( 1 , mod$ c o e f f [ 2 , 1 ] ,
mod$ c o e f f [ 2 , 2 ] )
t e s t<−min ( exp ( l o g l i k e ( a p r o p o s a l , b p r o p o s a l )− l o g l i k e ( a e s t [ j − 1] , b e s t [ j − 1])+
d p r o p o s a l ( b e s t [ j − 1]) − d p r o p o s a l ( b p r o p o s a l ) ) , 1 ) ;
rho<−( runif (1) < t e s t ) ;
a e s t [ j ]<−a p r o p o s a l ∗ rho+a e s t [ j − 1] ∗ (1 − rho ) ;
b e s t [ j ]<−b p r o p o s a l ∗ rho+b e s t [ j − 1] ∗ (1 − rho ) ;
}
m<−250
step<−round ( nsim /m)
am<− a e s t [ 1 ] ; bm<−b e s t [ 1 ] ; xm<− 1 ;
for ( i i n 1 :m) {am<−c (am, a e s t [ i ∗ step ] ) ; bm<−c (bm, b e s t [ i ∗ step ] ) ;
xm<−c (xm, i ∗ step ) }
par ( mfrow=c ( 1 , 3 ) )
Temp=65;
hist ( exp ( a e s t+Temp∗ b e s t ) / (1+ exp ( a e s t+Temp∗ b e s t ) ) , x l a b=" A u s f a l l w s . " ,
f r e q=FALSE, col=" g r e e n " , main="T=65" )
par ( new=F)
Temp=55;
hist ( exp ( a e s t+Temp∗ b e s t ) / (1+ exp ( a e s t+Temp∗ b e s t ) ) , x l a b=" A u s f a l l w s . " ,
f r e q=FALSE, col=" r e d " , main="T=55" )
Temp=45;
hist ( exp ( a e s t+Temp∗ b e s t ) / (1+ exp ( a e s t+Temp∗ b e s t ) ) , x l a b=" A u s f a l l w s . " ,
f r e q=FALSE, col=" r e d " , main="T=45" )
par ( mfrow=c ( 2 , 2 ) )
hist ( a e s t , x l a b=" I n t e r c e p t " , f r e q=FALSE, col=" g r e e n " , b r e a k s =50 , main="" )
par ( new=F)
hist ( b e s t , x l a b=" S l o p e " , f r e q=FALSE, col=" g r e e n " , b r e a k s =50 , main="" )
par ( new=F)
den<−c ( 1 : (m+1))
amean<−cumsum(am) / den ; plot (xm, amean , type=" l " , col=" r e d " ,
x l a b=expression ( a l p h a ) , y l a b="MW a l p h a " )
par ( new=F)
bmean<−cumsum(bm) / den ; plot (xm, bmean , type=" l " , col=" r e d " ,
x l a b=expression ( beta ) , y l a b="MW b e t a " )
5
Die Analyse der logistsichen Regression ergibt, dass bei der niedrigen Temperatur von
31◦
F ein
Materialproblem an den ORingen sehr wahrscheinlich war (vgl. Histogramme). Der Verlauf der
Werte MW beta
zeigt deutlich, dass vor der Konvergenz gegen die stationäre Verteilung eine so
genannte burninPhase auftritt.
Der GibbsSampler
X = (X1 , . . . , Xp )T ein Rp wertiger Zufallsvektor. Weder von der gemeinsamen
Verteilung mit Dichte f noch von den univariaten Marginaldichten f1 , . . . , fp kann direkt simuliert
Im Folgenden sei
6
werden. Jedoch kann von den bedingten Verteilungen
Xi |x1 , . . . , xi−1 , xi+1 , . . . , xp ∼ fi (xi |x1 , . . . , xi−1 , xi+1 , . . . , xp )
gesamplet werden.
Gegeben
(t)
x(t) = (x(t)
1 , . . . , xp )
1. Generiere
(t+1)
X1
2.
(t+1)
X2
(t)
∼ f1 (x1 |x2 , . . . , x(t)
p ) ,
(t+1)
∼ f2 (x2 |x1
(t)
, x3 , . . . , x(t)
p ) ,
.
.
.
.
.
.
p.
(t+1)
Xp(t+1) = fp (xp |x1
(t+1)
, . . . , xp−1 )
Der GibbsSampler funktioniert wie eine Zusammensetzung von
p MetropolisHastingsAlgorithmen
mit Akzeptanzwahrscheinlichkeiten 1. Die proposalVerteilung ist dabei
qi (x̃|x(t) ) = δ(x1 ,...,xi−1 ,xi+1 ,...,xp ) (x̃1 , . . . , x̃i−1 , x̃i+1 , . . . , x̃p )fi (x̃i |x1 , . . . , xi−1 , xi+1 , . . . , x(t)
p )
(t)
Satz 6 (Konvergenz des GibbsSamplers).
Kette
(X (t) )
ergodisch, ist
f
(t)
(t)
Ist die vom GibbsSampler erzeugte Markov
die Dichte der stationären Verteilung.
Ist der Überganskern absolut stetig bezüglich des dominierenden Maÿes, dann ist die MC irreduzibel.
Ist der Übergangskern absolut stetig bezüglich
PT
h1 (X (t) )
lim PTt=1
(t)
T →∞
t=1 h2 X
Ist
(X (t) )
µ,
dann gilt:
R
h1 (x)df (x)
∀h1 , h2 ∈ L1 (f ),
=R
h2 (x)df (x)
µ:
Z
n
lim
K (x, · )µ(dx) − f n→∞ Z
h2 df (x) 6= 0, f −
mit
f. ü.
.
aperiodisch gilt für jede Startverteilung
=0.
TV
Angenommen wir wollen von einer bivariaten Normalverteilung samplen:
T
(X, Y ) ∼ N
0
0
,
σ12
ρσ1 σ2
ρσ1 σ2
σ22
.
Die bedingten univariaten Verteilungen sind gegeben durch:
P (X|Y = y) ∼ N (σ1 /σ2 )ρy , (1 − ρ2 )σ12
P (Y |X = x) ∼ N (σ2 /σ1 )ρx , (1 − ρ2 )σ22
.
Der folgende RCode implementiert einen GibbsSampler, der mit den bedingten Verteilungen
eine MarkovKette mit stationärer bivariater Normalverteilung erzeugt. Selbstverständlich ist dies
ein Beispiel, in dem wir auch direkt von der Zielverteilung samplen können und das nur zur
Anschauung dient.
7
>
+
+
+
+
+
+
+
+
+
>
>
>
>
>
>
g i b b s b i v g a u s s<−function ( n , rho , sigma_1 , sigma_2 )
{mat <− matrix ( ncol = 2 , nrow = n )
x <− 0
y <− 0
mat [ 1 , ] <− c ( x , y )
for ( i i n 2 : n ) {
x <− rnorm ( 1 , ( sigma_1 / sigma_2 ) ∗ rho ∗ y , sigma_1 ∗ sqrt ( 1 − rho ^ 2 ) )
y <− rnorm ( 1 , ( sigma_2 / sigma_1 ) ∗ rho ∗ x , sigma_2 ∗ sqrt ( 1 − rho ^ 2 ) )
mat [ i , ] <− c ( x , y ) }
mat}
bvn<− g i b b s b i v g a u s s ( 1 0 0 0 0 , 0 . 5 , 1 , 2 )
par ( mfrow=c ( 2 , 2 ) )
plot ( ts ( bvn [ , 1 ] ) )
plot ( ts ( bvn [ , 2 ] ) )
hist ( bvn [ , 1 ] , 4 0 )
hist ( bvn [ , 2 ] , 4 0 )
Literatur
Robert, C. P. and G. Casella (2004). Monte Carlo Statistical Methods. Berlin: Springer.
8
Herunterladen