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