Introduktion till Markovkedjor Mattias Arvidsson
Örebro universitet Institutionen för naturvetenskap och teknik Matematik C, 76 90 högskolepoäng Introduktion till Markovkedjor Mattias Arvidsson December 2011 Handledare: Holger Schellwat Examinator: Niklas Eriksen Självständigt arbete, 15 hp Matematik, C nivå, 76 90 hp
Sammanfattning Uppsatsen är skriven med målet att introducera läsaren till de grundläggande egenskaperna hos diskreta och ändliga Markovkedjor. Innehållet är främst baserat på källorna [6] och [7]. I kapitel 1, avsnitt 1.1 introduceras Markovkedjor och deras grundläggande egenskaper och tolkningar, avsnitt 1.2 utvidgar de matematiska verktygen nödvändiga för att bevisa teorin kring Markovkedjor och avsnitt 1.3 presenterar uppsatsens teoretiska tyngdpunkt genom satser och exempel. Uppsatsen avslutas med kapitel 2 där en tillämpning av Markovkedjor presenteras, kapitlet är mer informellt upplagt jämfört med kapitel 1 och syftar till att genom datorsimuleringar visa läsaren hur en Markovkedja kan användas.
Innehåll 1 Markovkedjor 5 1.1 Introduktion till Markovkedjor................. 5 1.2 En fixpunktssats för affina avbildningar............ 10 1.3 Irreducibla och reguljära Markovkedjor............. 13 2 Metropolis Hastings algoritmen 19 2.1 Inledning............................. 19 2.2 M H algoritmen för diskreta fördelningar........... 21 2.3 M H algoritmen för kontinuerliga fördelningar......... 23
Kapitel 1 Markovkedjor 1.1 Introduktion till Markovkedjor Vi har ett antal tillstånd, S = (s 0,s 1,...,s r ), där en process börjar vid något tillstånd och successivt går från ett tillstånd till nästa. Varje övergång från ett tillstånd till nästa kallas ett steg. Om kedjan är i tillståndet s i går den till tillståndet s j med sannolikhet p ij, vilket kallas en övergångssannolikhet. Mängden av alla tillstånd, utfallsrummet Ω, definieras av användaren. Om vi exempelvis är intresserade av vädret kan vi tänka oss att tillstånden s i antar utfallen regnigt (R), molnigt (M) eller klart (K), vi får den diskreta utfallsrummet s i {R,M,K}. Om vi då under en femdagarsperiod registrerar R,R,R,M och K får vi S = (R,R,R,M,K). Det bör nämnas att vi som standard definierar en vektor som en radvektor x = ( x 1 x n ). 1.1.1 Definition (Markovegenskapen). En Markovkedja är en stokastisk process på S med egenskapen P(s i+1 s i ) = P(s i+1 s i,s i 1,...,s 0 ) för alla s k S, vilket innebär att sannolikheten p ij enbart beror på s i. Den stokastiska processen beror alltså enbart på föregående utfall. Nedan ges definitionerna av stokastiska matriser och fördelningsvektorer som används genom uppsatsen. 1.1.2 Definition. En kvadratisk matris, P = [p ij ] n n, där elementen i varje radvektor är övergångssannolikheter som kan summeras till ett, j p ij = 1 för alla i, och 0 p ij för alla i,j, kallas en stokastisk matris för en Markovkedja. En radvektor, x, definierad som en radvektor i P, kallas en fördelningsvektor. En fördelningsvektor tillhör mängden K där { } n K = x = (x 1 x n ) R n : x i 0 för alla i och x i = 1. i=1 5
1.1.3 Definition. För en matris A = [a ij ] gäller A > 0 om a ij > 0 för alla i,j. 1.1.4 Lemma. För två matriser A = [a ij ] och B = [b kl ] sådana att A,B > 0, och matrisprodukten AB existerar gäller C := AB > 0. Bevis. För varje element i C gäller r a irb rl, där a ir > 0 och b rl > 0 ger att varje a ir b rl > 0. Vi får r a irb rl > 0. Nedan visas att produkten av två stokastiska matriser är en stokastisk matris, vi börjar med ett exempel för att illustrera den generella metoden. 1.1.5 Exempel. Låt A och B vara stokastiska matriser enligt a 11 a 12 a 13 b 11 b 12 b 13 A = a 21 a 22 a 23,B = b 21 b 22 b 23. a 31 a 32 a 33 b 31 b 32 b 33 Första radvektorn av AB är x 1 = ( a 11 b 11 + a 12 b 21 + a 13 b 31 a 11 b 12 + a 12 b 22 + a 13 b 32 a 11 b 13 + a 12 b 23 + a 13 b 33 ). Vi visar att x 1 uppfyller definition 1.1.2:s krav på en fördelningsvektor. 0 a ij 1 och 0 b ij 1 för alla i,j medför 0 a ij b ij 1 för alla i,j. Vi har nu kvar att visa att elementen i x 1 kan summeras till ett. a 11 b 11 + a 12 b 21 + a 13 b 31 + a 11 b 12 + a 12 b 22 + a 13 b 32 + a 11 b 13 + a 12 b 23 + a 13 b 33 = a 11 (b 11 + b 12 + b 13 ) + a 12 (b 21 + b 22 + b 23 ) + a 13 (b 31 + b 32 + b 33 ) = a 11 1 + a 12 1 + a 13 1 = 1. Detta gäller för alla radvektorer, x i, i matrisen AB. 1.1.6 Sats. Låt A = [a ij ] n n och B = [b kl ] n n vara stokastiska matriser. Då är matrisprodukten C := AB = [c ij ] n n en stokastisk matris. Bevis. 0 a ij 1 och 0 b kl 1 medför 0 a ij b kl 1 för alla i,j,k,l. För varje radvektor i matrisen C gäller c i = ( r a irb r1... r a ) irb rn. Summan av elementen i c i är r j a irb rj = r a ir j b rj = 1 1 = 1 för alla i. Genom sats 1.1.6 kan lemma 1.1.7 bevisas. 1.1.7 Lemma. Låt P > 0 vara en stokastisk matris. Då är P n > 0 en stokastisk matris för alla n N +. Bevis. Enligt sats 1.1.6 är P 2 en stokastisk matris och enligt lemma 1.1.4 gäller P 2 > 0. Låt P k > 0 för ett godtyckligt k N + vara en stokastisk matris. Då är P k P = P k+1 en stokastisk matris sådan att P k+1 > 0. Vi visar att produkten av en fördelningsvektor och en stokastisk matris är en fördelningsvektor. 6
1.1.8 Sats. Låt x vara en fördelningsvektor och låt P vara en stokastisk matris. Då gäller xp = x (1) där x (1) är en fördelningsvektor, dvs. för avbildningen T : R n R n är x T(x) := xp linjär och T(x) K. Bevis. Låt x K och definiera avbildning T sådan att T(x) = ( n i=1 p i1x i n i=1 p i2x i n i=1 p inx i ) = xp. T är en linjär transformation då T(x + y) = (x + y)p = xp + yp = T(x) + T(y) och T(λx) = (λx)p = λ(xp) = λt(x) för x,y K. Vi visar att T(x) = x (1) K. 0 p ij för alla i,j och 0 x i för alla i ger 0 n i=1 p ijx i för alla j. Summan av alla j enheter i T(x) är n n j=1 i=1 p ijx i = n i=1 x n i j=1 p ij = 1 1 = 1. Nedan följer ett första exempel på en stokastisk matris. Det här exemplet återkommer genom större delen av uppsatsen. 1.1.9 Exempel. Övergångssannolikheterna utgör enheterna i en stokastisk matris P. Stokastiska matriser kan enkelt beskrivas genom ett exempel för väderprognoser. Säg att vädret för en dag kan vara regnigt (R), molnigt (M) eller klart (K). Sannolikheten att vädret från en dag till en annan går från R till R är 1/2, från R till M är 1/4, från R till K är 1/4, från M till R är 1/2, från M till M är 0, från M till K är 1/2, från K till R är 1/4, från K till M är 1/4 och från K till K är 1/2. I matrisform blir det P = R M K R,5,25,25 M,5 0,5. K,25,25,5 Sannolikheten att det exempelvis regnar två dagar från nu om det regnar i dag är p (2) 11 = p(regnar om två dagar valfritt väder imorgon, regnar idag) = p(regnar imorgon regnar idag) p(regnar om två dagar regnar imorgon) + p(molnigt imorgon regnar idag) p(regnar om två dagar molnigt imorgon) + p(klart imorgon regnar idag) p(regnar om två dagar klart imorgon) = 0,5 0,5 + 0,25 0,5 + 0,25 0,25 0,438. Det är skalär-produkten av matrisen P:s första rad och första kolumn. 1.1.10 Sats. Låt P vara en stokastisk matris för en Markovkedja och låt n N +. Den ij:te enheten p (n) ij i matrisen P n ger sannolikheten att Markovkedjan, om den startar i tillstånd s i, är i tillstånd s j efter n steg. 7
Bevis. Låt P = [p ij ] n n vara en stokastisk matris. Varje element, p ij, är sannolikheten att gå från ett tillstånd till ett annat i ett steg, vilket skrivs som p (1) ij. Enligt sats 1.1.6 är P 2 en stokastisk matris med radvektorer r i och kolumnvektorer c i. Varje element i P 2 är skalär-produkten av matrisen P med sig själv enligt P 2 = r 1 c 1 r 1 c n..... r n c 1 r n c n Vilket är sannolikheten, p (2) ij, att gå från ett tillstånd till ett annat i två steg. Låt p (k) ij vara sannolikheten att gå från tillstånd s i till tillstånd s j i k steg för ett godtyckligt k N +. Sannolikheten att gå från ett tillstånd till ett annat i två steg från P k är p (k+1) ij vilket ges av matrisen P k+1. Genom induktion får vi att den ij:te enheten p (n) ij i matrisen P n ger sannolikheten att Markovkedjan, om den startar i tillstånd s i, är i tillstånd s j efter n steg. De sex första potenserna av den stokastiska matrisen för vår väderprognos är, med tre decimalers noggrannhet och utan ledande nollor, följande. R M K R M K R,500,250,250 R,438,188,375 P 1 = M,500,000,500, P 2 = M,375,250,375, K,250,250,500 K,375,188,438 R M K R M K R,406,203,391 R,402,199,398 P 3 = M,406,188,406, P 4 = M,398,203,398, K,391,203,406 K,398,199,402 R M K R M K R,400,200,399 R,400,200,400 P 5 = M,400,199,400, P 6 = M,400,200,400. K,399,200,400 K,400,200,400. För n större än sex är den stokastiska matrisen identisk med P 6 för tre decimalers noggrannhet. Om det är regnigt idag (s 0 = R) vad är då sannolikheten att Markovkedjan är i tillståndet regnigt (s 2 = R) om två dagar? Enligt den andra potensen av den stokastiska matrisen, P 2, är sannolikheten = 0,438, vilket är sannolikheten att Markovkedjan är i tillståndet regnigt efter två steg om vi börjar i tillståndet regnigt (som tidigare beräknades med betingade sannolikheter). p (2) 11 1.1.11 Sats. Låt P vara en stokastisk matris för en Markovkedja och låt x vara en fördelningsvektor som representerar startfördelningen. Då är sannolikheten att Markovkedjan är i tillstånd s i efter n steg det i:te elementet i 8
vektorn x (n) = xp n. Bevis. Sannolikheten att Markovkedjan är i tillstånd s i efter ett steg är det i:te elementet i vektorn xp. Enligt sats 1.1.10 ger P n att sannolikheten att Markovkedjan, om den startar i tillstånd s i, är i tillstånd s j efter n steg. Vi får att sannolikheten att en Markovkedja i tillstånd s i är i tillstånd s j efter n steg är det i:te elementet i vektorn x (n) = xp n. Om vi som tidigare antar att vädret är regnigt idag kan x sättas till x = ( 1 0 0 ) Vi får x (1) = xp = ( 1 0 0 ),500,250,250,500,000,500 = (,5,25,25 ),250,250,500 x (2) = x (1) P = (,5,25,25 ),500,250,250,500,000,500 = (,438,188,375 ).,250,250,500 Vilket är ekvivalent med x (2) = xp 2 = ( 1 0 0 ),438,188,375,375,250,375 = (,438,188,375 ).,375,188,438 Som tidigare är sannolikheten att Markovkedjan är i tillstånd regnigt efter två steg 0,438. 9
1.2 En fixpunktssats för affina avbildningar Här ges den teori som behövs i avsnitt 1.3. Vi börjar med att definiera en fixpunkt. 1.2.1 Definition. En vektor x kallas en fixpunkt till en funktion T om T(x) = x. 1.2.2 Definition. Mängden K är konvex om för alla t [0,1] och för alla x,y K gäller det att tx + (1 t)y K. Genom definition 1.2.2 kan lemma 1.2.3 bevisas. 1.2.3 Lemma. Låt n N + och låt mängden K vara en konvex mängd. För x 1,...,x n K gäller det att 1 n (x 1 + + x n ) K. Bevis. Beviset utförs genom induktion. Låt k N +. 1. Induktionsantagande: x 1,...,x k K 1 k (x 1 + + x k ) K 2. Induktionspåstående: x 1,...,x k+1 K 1 k+1 (x 1 + + x k+1 ) K Vi skriver om induktionspåståendet. y := 1 k+1 (x 1+ +x k+1 ) = 1 1 k+1 (x 1 + +x k ) = 1 k+1 x k+1 + 1 1 1+ 1 k (x 1 + +x k ). Vi ska visa att y K, k sätt z := 1 k (x 1 + + x k ). Genom induktionsantagandet fås att z ligger i K. Vi får y = 1 k+1 x k+1 + 1 1 z. Då 1+ 1 k+1 [0,1] och 1 [0,1] samt 1+ 1 k k = 1 om k N + får vi enligt definition 1.2.2 att y K. 1 k+1 + 1 1+ 1 k k+1 x k+1+ 1.2.4 Definition. Låt K vara en konvex mängd. En affin avbildning T : K K är en avbildning för x 1,x 2 K med egenskapen T(r 1 x 1 + r 2 x 2 ) = r 1 T(x 1 ) + r 2 T(x 2 ) där 2 i=1 r i = 1 och r i 0. Genom definition 1.2.4 kan sats 1.2.5 bevisas. 1.2.5 Sats. Om T : K K är en affin avbildning följer det att för alla x 1,...,x n K och för alla r 1,...,r n R där r i 0 och n i=1 r i = 1 gäller det att T( n i=1 r ix i ) = n i=1 r it(x i ) K för n N +. Bevis. Beviset utförs genom induktion med utgångspunkt från beviset av sats 16.2 i [9]. Låt k N +. 1. Induktionsantagande: k i=1 r i = 1 T( k i=1 r ix i ) = k i=1 r it(x i ) 2. Induktionspåstående: k+1 i=1 r i = 1 T( k+1 i=1 r i x i) = k+1 i=1 r i T(x i) 10
Beviset delas upp i två fall: r 1 1 och r 1 = 1, för att undvika division med 0. Fallet då r 1 = 1 är trivialt, för fall r 1 1 får vi följande om vi bryter ut r k+1 x k+1 term2 term1 { T(r 1x 1 +... + r k+1 x { }} { [ }} ]{ k+1) = T r k+1 x k+1 + (1 r k+1 ) r 1 r k x 1 r 2 +... + x k+1 1 r k k+1 ([ ]) = r k+1 T(x k+1) + (1 r k+1 )T r 1 r k x 1 r 2 +... + x k+1 1 r k k+1 enligt definition 1.2.4. Vi kollar om r i = 1 för båda termerna. 1. r k+1 + (1 r k+1 ) = 1 2. r 1 1 r k+1 = + + r k 1 r k+1 = r 1 + +r k 1 r k+1 [ r 1 + r 2 + r k+1 = 1 r 1 + r k = 1 r k+1 ] = 1 r k+1 1 r k+1 ([ ]) Av induktionsantagandet följer det att (1 r k+1 )T r 1 x 1 r 2 +... + r k x k+1 1 r k = k+1 ( ) (1 r k+1 ) r 1 T(x 2 ) +... + r k T(x k ) = r 1 T(x 2) + + r k T(x k) 1 r k+1 1 r k+1 vilket sammanslaget med första termen ger T(r 1 x 1+r 2 x 2+...+r k+1 x k+1) = r 1 T(x 2) + r 2 T(x 2) + + r k+1 T(x k+1). 1.2.6 Lemma. Låt K vara en konvex mängd och låt T : K K vara en linjär avbildning. Då är T en affin avbildning. Bevis. Sätt x 1,x 2 K och r 1, r 2 R med r 1 + r 2 = 1. Då gäller T(r 1 x 1 + r 2 x 2 ) = T(r 1 x 1 ) + T(r 2 x 2 ) = r 1 T(x 1 ) + r 2 T(x 2 ), så T är affin enligt definition 1.2.4 med tillägget att r i 0. Följande sats presenteras utan bevis. Den intresserade läsaren hänvisas till [1]. 1.2.7 Sats (Bolzano-Weierstrass). En begränsad talföljd i R innehåller alltid en konvergent delföljd. Genom sats 1.2.7 kan sats 1.2.8 bevisas. Beviset är avsett för vektorer i R n. Notera även att en delmängd i R n är kompakt om den är sluten och begränsad. = 1 11
1.2.8 Sats (Markov-Kakutani). Låt T vara en kontinuerlig affin avbildning av den icke-tomma, kompakta, konvexa mängden K till sig själv. Då har T en fixpunkt. Bevis. Låt z K och definiera T : K K. Vi har T(z) K vilket ger z,t(z), T(T(z)),...,T N (z) K för alla N N. Vi söker en fixpunkt, x, sådan att {T k (x) : k N} = {x} T(x) = x. Definiera genomsnittet N 1 k=0 T k (z). Enligt lemma 1.2.3 får av N transformationer enligt x N = 1 N vi x N K. Då mängden K är kompakt är den sluten och en begränsad delmängd i R n. Enligt Bolzano-Weierstrass sats existerar det en konvergent delföljd x Np av x N K som konvergerar mot ett x K sådana att xnp x 0, p, då är x en fixpunkt. Det visas genom följande, m.h.a. sats 1.2.5. x Np T(x Np ) = 1 N p = 1 N p N p 1 T k (z) T 1 N p 1 T k (z) N p k=0 k=0 N p 1 N p T k (z) T k (z) k=0 k=1 = 1 N p z T Np (z) 0, p Där z T N p (z) diam(k) är ändlig då K är begränsad. Det gäller även att T(x Np ) T(x) 0, p då T är kontinuerlig. Vi får x T(x) = lim p x Np T(x Np ) = 0 vilket ger att det existerar ett x sådant att T(x) = x. 12
1.3 Irreducibla och reguljära Markovkedjor 1.3.1 Definition. En Markovkedja kallas irreducibel om det är möjligt att gå från varje tillstånd till varje tillstånd. 1.3.2 Definition. En Markovkedja kallas reguljär om någon potens av den stokastiska matrisen enbart har positiva element. Dvs. P k > 0 för något k N +. Varje reguljär kedja är irreducibel men en irreducibel kedja behöver inte vara reguljär. I den stokastiska matrisen P för vår väderprognos finns talet noll men exempelvis P 2 innehåller enbart positiva element och från definition 1.3.2 är den stokastiska matrisen därför reguljär. Skillnaden mellan irreducibla och reguljära Markovkedjor kan visas genom följande exempel. ( 1 2 ) 1 0 1 1.3.3 Exempel. Låt en stokastisk matris vara sådan att P =. 2 1 0 ( ) 0 1 För udda potenser får vi P 2n+1 = och för jämna potenser får 1 0 ( ) 1 0 vi P 2n =. Om vi börjar i tillstånd 1 har vi Markovkedjan S = 0 1 (1,2,1,2,...), det är alltså möjligt att gå från varje tillstånd till varje tillstånd så Markovkedjan är irreducibel men ingen potens av P är sådan att P k > 0 så Markovkedjan är inte reguljär. Sats 1.3.4 och 1.3.5 bevisas med utgångspunkt från [5] och [6]. Resultatet av sats 1.3.4 används i beviset för sats 1.3.5. 1.3.4 Sats. Låt P > 0 vara en stokastisk matris. Låt ε vara det minsta elementet i P. Låt x T vara en kolumnvektor med största element M 0 och minsta element m 0. Låt Px T vara en kolumnvektor med största element M 1 och minsta element m 1. Då gäller M 1 M 0, m 1 m 0 och M 1 m 1 (1 2ε)(M 0 m 0 ). Bevis. Låt y T vara vektorn x T med alla element ersatta av M 0 förutom det minsta m 0 element. Då gäller y T x T. Varje element i Py T är som störst om ε multipliceras med m 0, dvs. det största elementet, M 1 i Py T måste vara begränsat av M 1 εm 0 + (1 ε)m 0. Analogt erhålls en undre gräns för det minsta möjliga värdet (x T ersätts av y T med alla element ersatta av m 0 förutom det största M 0 elementet och ε multipliceras med M 0 ) m 1 εm 0 + (1 ε)m 0. 13
Vi får M 1 m 1 εm 0 + (1 ε)m 0 (εm 0 + (1 ε)m 0 ) = (1 2ε)(M 0 m 0 ). Genom sats 1.3.4 kan sats 1.3.5 bevisas. 1.3.5 Sats. Låt P = [p ij ] n n vara en reguljär stokastisk matris för en Markovkedja. Då gäller W = lim n P n, där W är en matris med alla radvektorer w lika och positiva. Vi säger att P konvergerar mot matrisen W. Bevis. En matris med alla radvektorer lika har identiska tal i varje kolumn. Vi bevisar existensen av W genom detta antagande. Låt 0 < ε 1 2 0 (1 2ε) < 1 vara den stokastiska matrisens minsta element (då P minst är av ordning 2 kan ε som störst vara 1/2). Låt x T vara en kolumnvektor med största värde M 0 och minsta värde m 0. Låt M n respektive m n vara maximum respektive minimum elementen av vektorn P n x T. Låt M n 1 respektive m n 1 vara maximum respektive minimum elementen av vektorn P n 1 x T. Från sats 1.3.4 fås M n m n (1 2ε)(M n 1 m n 1 ) för n 1. Dessutom gäller det att M 0 M 1... M n och att m 0 m 1... m n. Vi kan göra omskrivningen M n m n (1 2ε) n (M 0 m 0 ) 0, n. Alltså går P n x T mot en kolumnvektor med alla element lika. Det ger att radvektorerna w i W är lika. Det kan visas genom att sätta x T = e T, vi får We T = w T. Vi utvidgar beviset till reguljära matriser där ε 0. Enligt definition 1.3.2 existerar det ett P k sådant att ε > 0, resten av beviset är analogt för P k, P 2k,...,P nk. Nedan följer ett alternativt bevis för fallet då kolumnvektorerna i P k inte har alla element lika för något k utom i det fall då P konvergerat mot W. Vi börjar med att bevisa ett lemma för viktade medelvärden. Varje fördelningsvektor uppfyller kraven på vikterna i ett viktat medelvärde. 1.3.6 Lemma. Låt x = w 1 x 1 + + w n x n där 0 < w i < 1 för alla i, i w i = 1 och det existerar minst ett x i sådant att x i x j för alla i j. Då gäller min i x i < x < max i x i. 14
Bevis. Vi får x = n i x iw i < n i x maxw i = x n max i w i = x max då 0 < w i < 1 och i w i = 1. Vi får max i x i > x. Analogt fås att min i x i < x. För att beskriva metoden i det alternativa beviset börjar vi med ett exempel. 1.3.7 Exempel. Låt (P > 0) Mat(3,3) vara en stokastisk matris sådan att p 11 p 12 p 13 P = p 21 p 22 p 23. p 31 p 32 p 33 Vi får P 2 = p 11 p 11 + p 12 p 21 + p 13 p 31 p 11 p 12 + p 12 p 22 + p 13 p 32 p 11 p 13 + p 12 p 23 + p 13 p 33 p 21 p 11 + p 22 p 21 + p 23 p 31 p 21 p 12 + p 22 p 22 + p 23 p 32 p 21 p 13 + p 22 p 23 + p 23 p 33. p 31 p 11 + p 32 p 21 + p 33 p 31 p 31 p 12 + p 32 p 22 + p 33 p 32 p 31 p 13 + p 32 p 23 + p 33 p 33 Enligt lemma 1.3.6 för en godtycklig kolumnvektor i P 2 (välj j godtyckligt) gäller följande. min i p ij < p 11 p 1j + p 12 p 2j + p 13 p 3j < max i p ij min i p ij < p 21 p 1j + p 22 p 2j + p 23 p 3j < max i p ij min i p ij < p 31 p 1j + p 32 p 2j + p 33 p 3j < max i p ij För ett godtyckligt element i P 2 (välj i godtyckligt) gäller max i {p ij } min i {p ij } = ε 1 > max{p i1 p 1j + p i2 p 2j + p i3 p 3j } min{p i1 p 1j + p i2 p 2j + p i3 p 3j } = ε 2. Om vi fortsätter resonemanget till P 3,...,P n får vi att ε 1 > ε 2 >... > ε n 0 då n. Differensen mellan två element i en godtycklig kolumn i P n går alltså mot noll när n går mot oändligheten. Vi får matrisen W = lim n P n = w 1 w 2 w 3 w 1 w 2 w 3, w 1 w 2 w 3 där w = ( w 1 w 2 w 3 ) är en fördelningsvektor. Nedan ges det alternativa beviset. Bevis. Vi visar att en godtycklig kolumnvektor i W har alla element lika. Låt P > 0 vara en stokastisk matris sådan att p 11 p 1n P =...... p n1 p nn Enligt sats 1.1.6 är P 2 en stokastisk matris. Vi får n k=1 P 2 p 1kp k1 n k=1 p 1kp kn =...... n k=1 p nkp k1 n k=1 p nkp kn 15
Enligt lemma 1.3.6 för ett godtyckligt element i P 2 gäller max i {p ij } min i {p ij } = ǫ 1 > max i { k=1 p ikp kj } min i { k=1 p ikp kj } = ǫ 2 för alla j. Analogt fås att ǫ 1 > ǫ 2 >... > ǫ n = [max i {p ij } = min i {p ij }] = 0 då n. Alltså går differensen mellan det största och det minsta talet i varje kolumn i P n mot noll. I fallet då P innehåller något p ij = 0 existerar det enligt definition 1.3.2 ett P k sådant att alla p ij > 0, resten av beviset är analogt för P k, P 2k,...,P nk. I den stokastiska matrisen P för vår väderprognos har vi att för tre decimalers noggrannhet W = lim n P n = R M K R,400,200,400 M,400,200,400. K,400,200,400 Sats 1.3.8 är en fundamental sats för reguljära Markovkedjor och tyngdpunkten av den här uppsatsen. I beviset används mycket av den teori vi upp till nu presenterat. Beviset utförs med utgångspunkt från [7] och [5]. 1.3.8 Sats. Låt P vara en reguljär stokastisk matris, låt W = lim P n n där w är den gemensamma radvektorn av W. Då gäller wp = w och en godtycklig radvektor v uppfyller vp = v om och endast om v är en multipel av w, dvs. vektorn w är unik för matrisen P och kallas en fixerad radvektor. Bevis. K är enligt definition 1.2.2 konvex. Låt x K och definera avbildningen T : K K enligt T(x) = ( n i=1 p i1x i n i=1 p i2x i n i=1 p inx i ) = xp som enligt sats 1.1.8 är linjär. Enligt sats 1.2.8 har T en fixpunkt w sådan att T(w) = w wp = w. Låt v vara en godtycklig vektor sådan att vp = v. Då gäller vp n = v vw = v. Låt r vara summan av elementen i vektorn v, då gäller vw = ( i v iw 1 i v ) ( ) iw n = r w1 w n = rw. Vi får v = rw, alltså är v en multipel av w. För den stokastiska matrisen P för vår väderprognos har vi att W = R M K R,400,200,400 M,400,200,400. K,400,200,400 16
Alltså är vår fixerade radvektor för P, w = (,4,2,4 ). Vi kan kontrollera att w uppfyller villkoret i sats 1.3.8. wp = (,4,2,4 ),5,25,25,5 0,5 = (,4,2,4 ),25,25,5 1.3.9 Sats. Låt P vara en stokastisk matris för en reguljär Markovkedja med den fixerade radvektorn w. Då gäller det för en godtycklig fördelningsvektor x, xp n w då n. Bevis. Vi använder samma argumentation som i beviset för sats 1.3.8. Låt x = ( ) x 1 x n vara en godtycklig fördelningsvektor. Enligt sats 1.3.8 gäller P n W då n, där W är en stokastisk matris sådan att Vi visar att xw = w. xw = ( i x iw 1 W = w 1 w n..... w 1 w n. i x iw n ) = ( w1 w n ) = w. Vi kan alltså välja en godtycklig fördelningsvektor, säg x = (,2 0,8 ), och för W specificerad som innan får vi för vår väderprognos xw = (,2 0,8 ),400,200,400,400,200,400 = (,4,2,4 ).,400,200,400 Som ett sista exempel kan vi visa att w kan erhållas enligt sats 1.3.8. ( ),5,25,25 w1 w 2 w 3,5 0,5 = ( ) w 1 w 2 w 3.,25,25,5 Vi får det linjära ekvationssystemet,5w 1 +,5w 2 +,25w 3 = w 1,25w 1 +,25w 3 = w 2,25w 1 +,5w 2 +,5w 3 = w 3. Sätt w 1 = 1 (w 1 kan väljas godtyckligt, det är enbart proportionerna mellan w 1, w 2 och w 3 som är intressanta). Vi får,5 +,5w 2 +,25w 3 = 1,25 +,25w 3 = w 2,25 +,5w 2 +,5w 3 = w 3, 17
vilket har lösningen w = ( 1,5 1 ) som ersatt med en proportionell fördelningsvektor är w = (,4,2,4 ). Slutligen bör det nämnas att w är vänster egenvektor med motsvarande egenvärde λ = 1 till den stokastiska matrisen P. Vi kan visa det genom att sätta wp = wλi wp wλi = 0 w(p λi) = 0. För sats 1.3.9 utgörs egenrummet till egenvärde 1 av vektorerna som uppfyller {x : xw = x} som enligt beviset för sats 1.3.9 enbart är vektorn w, så egenrummet är endimensionellt. 18
Kapitel 2 Metropolis Hastings algoritmen 2.1 Inledning Vi bekantar oss nu med en tillämpning av Markovkedjor. Under 1900-talet har statistiker utvecklat metoder för att dra urval ur fördelningar som enbart är möjliga att beräkna upp till en funktion proportionell mot den sökta. Flera algoritmer som approximerar en sökt fördelning har tagits fram; vi belyser Metropolis Hastings (M H) algoritmen. Vi skiljer på notationen för diskreta och kontinuerliga fördelningar. Teorin rörande M H algoritmen är identisk för båda fallen, skillnaden visar sig i deras tillämpningar. Vi börjar med att definiera en stokastisk variabel. 2.1.1 Definition. En stokastisk variabel, X, är en funktion som avbildar ett utfallsrum Ω på R. Till varje stokastisk variabel associerar vi i det diskreta fallet en sannolikhetsfunktion och i det kontinuerliga fallet en täthetsfunktion. 2.1.2 Definition. En stokastisk variabel kallas diskret om den kan anta ett ändligt antal olika värden. Funktionen P(X = x) = p X (x) kallas sannolikhetsfunktionen för den stokastiska variabeln X om den uppfyller p X (x) 0 för alla x och x p X(x) = 1. 2.1.3 Definition. En stokastisk variabel kallas kontinuerlig om det existerar en funktion f X (x) sådan att P(X A) = f X (x)dx för alla A R. Funktionen f X (x) kallas täthetsfunktionen för den stokastiska variabeln X om den uppfyller f X (x) 0 för alla x och R f X(x)dx = 1. A 19
I det diskreta fallet beskrevs sannolikheten att gå från ett tillstånd x till nästa tillstånd y av en stokastisk matris, P(x,y), av ändlig ordning med ett diskret utfallsrum. När vi talar om kontinuerliga funktioner ges övergångssannolikheten från x till y av P(x,y) = P(Y A X = x), som för varje x är en sannolikhetsfunktion dvs. P(x,y) 0 och R P(x,y)dy = 1. Vi betecknar en förslagsfördelning som den stokastiska matrisen Q(x,y) i det diskreta fallet och som täthetsfunktionen f Y (y) i det kontinuerliga fallet. En acceptanssannolikhet betecknas som funktionen α(x,y). M H algoritmen beskrivs som ett matematisk verktyg och uppställningen blir därför mer informell än tidigare, teorin som presenteras och deras tillämpningar är baserade på [8], [3] och [4]. 20
2.2 M H algoritmen för diskreta fördelningar Anta att vi vill simulera en sannolikhetsfunktion p X (x). Välj en reguljär stokastisk matris som förslagsfördelning, Q(x,y). M H algoritmen ger en Markovkedja som konvergerar mot fördelningen av X enligt { q(x,y)α(x,y) om x y P(x,y) = q(x,y), u x q(x,u)α(x,u) om x = y för acceptanssannolikheten α(x,y) = min ( 1, p ) X(y)q(y,x). p X (x)q(x,y) Algoritmen kan beskrivas genom exempel 2.2.1. 2.2.1 Exempel. Vi vill simulera en sannolikhetsfunktion p X (x) = ( 1/6 2/6 3/6 ) med den stokastiska matrisen för vår väderprognos i kapitel 1, Q(x,y) = R M K R 1/2 1/4 1/4 M 1/2 0 1/2, K 1/4 1/4 1/2 som förslagsfördelning. Vi har tidigare definierat utfallsrummet som Ω = {R,M,K}. Vi får acceptanssannolikheten ( ) ( 1 min 1, p X(M)q(M,R) p X (R)q(R,M) min ( ) ( A(x,y) = min 1, p X(R)q(R,M) p X (M)q(M,R) 1 min ( ) ( ) min 1, p X(R)q(R,K) p X (K)q(K,R) min 1, p X(M)q(M,K) p X (K)q(K,M) 1 ( ) ( ) 1 min 1, 2/6 1/2 1/6 1/4 min 1, 3/6 1/4 ( ) ( 1/6 1/4) = min 1, 1/6 1/4 2/6 1/2 1 min 1, 3/6 1/4 ( 2/6 1/2 ) ( ) min 1, 1/6 1/4 3/6 1/4 min 1, 2/6 1/2 3/6 1/4 1 1 1 1 = 1/4 1 3/4. 1/3 1 1 1, p X(K)q(K,R) p X (R)q(M,K) 1, p X(K)q(K,M) p X (M)q(M,K) M H algoritmen ger följande stokastiska matris 1 (1 1/4 + 1 1/4) 1 1/4 1 1/4 P(x,y) = 1/4 1/2 1 (1/4 1/2 + 3/4 1/2) 3/4 1/2 1/3 1/4 1 1/4 1 (1/3 1/4 + 1 1/4) 1/2 1/4 1/4 = 1/8 1/2 3/8. 1/12 1/4 2/3 21 ) )
Vi kan enkelt se att p X (x)p = p X (x) och att 1/6 2/6 3/6 lim P n = 1/6 2/6 3/6. n 1/6 2/6 3/6 Från exempel 2.2.1 ser vi att det finns en risk för division med noll för vissa val av p X (x) och q(x,y). 22
2.3 M H algoritmen för kontinuerliga fördelningar Anta att vi vill simulera en täthetsfunktion f X (x). Välj en förslagsfördelning f Y (y) där värdemängden av Y är definitionsmängden av f X (x). M H algoritmen ger en Markovkedja som konvergerar mot fördelningen av X enligt P(Y i,y i+1 ) = för acceptanssannolikheten { fy (Y i )α(y i,y i+1 ) om Y i Y i+1 f Y (Y i ) + Y i+1 Y i f Y (Y i )(1 α(y i,y i+1 )) om Y i = Y i+1, α(y i,y i+1 ) = min ( 1, f ) X(Y i+1 )f Y (Y i ). f X (Y i )f Y (Y i+1 ) Acceptanssannolikheten har för M H algoritmen egenskapen att för en täthetsfunktion som kan beräknas upp till en konstant, f X (x) = Kg X (x) där R g X(x)dx = 1 kommer K strykas i α(y i,y i+1 ) (vi säger att täthetsfunktionen inte behöver vara normerad). Algoritmen kan beskrivas genom följande steg. 1. Vi börjar i tillstånd s i = y i 2. Dra ett tal ur Y, vi får y i+1 3. Med sannolikhet α(y i, y i+1 ) [0,1] acceptera y i+1 : s i+1 = y i+1 4. Annars stanna i nuvarande tillstånd s i+1 = y i 5. Upprepa från steg 1 n antal gånger 2.3.1 Exempel. Vi kan illustrera algoritmen med följande exempel. Säg att vi vill simulera en X χ 2 (3) fördelning på intervallet [0,10]. Vi får f X (x) = Kx 3/2 1 e x/2 där K = 2 3/2 Γ(3/2). Låt den stokastiska variabeln Y vara likformigt fördelad enligt Y U(0,10). Täthetsfunktionen för den likformiga fördelningen stryks i α(y i,y i+1 ). I simuleringsprogrammet R skriver vi med utgångspunkt från [8] en algoritm som gör följande. 1. Dra en startpunkt ur Y. Vi får y 0 = 7,627578, vilket ger S = (7,627578) 2. Dra ett tal ur Y, vi får y 1 = 1,151297 ( ) 3. Med sannolikhet α(y 0,y 1 ) = min 1, f X(y 1 )f Y (y 0 ) f X (y 0 )f Y (y 1 ) vi får: acceptera 1,151297, 23
Figur 2.1: Exempel på stegen i en Markovkedja genererad av en M-H algoritm, referens [2]. ( ) α(7,627578; 1,151297) = min 1, K1,1512973/2 1 e 1,151297/2 K7,627578 3/2 1 e 7,627578/2 ( ) = min 1, 1,1512973/2 1 e 1,151297/2 7,627578 3/2 1 e 7,627578/2 = min(1; 9,901635) = 1 4. Vi accepterar 1,151297 med 100% sannolikhet, vilket ger S = (7,627578; 1,151297) 5. Upprepa proceduren n antal gånger. Resultatet blir att S konvergerar mot fördelningen av X då n Resultatet av mymcmc2(10 2 ) ges i figur 2.2. Vid ett större antal iterationer ger S, genom P(x,y), dragningar ur en χ 2 (3) fördelning. Programkoden redovisas nedan. 24
Histogram of X[ seq(nsim * 0.25, nsim)] Histogram of X[ seq(nsim * 0.5, nsim)] Frequency 0 10 20 30 40 50 60 Frequency 0 20 40 60 80 100 0 2 4 6 8 10 X[ seq(nsim * 0.25, nsim)] 0 2 4 6 8 10 X[ seq(nsim * 0.5, nsim)] Histogram of X[ seq(nsim * 0.75, nsim)] Histogram of X Frequency 0 50 100 150 Frequency 0 50 100 150 200 0 2 4 6 8 10 X[ seq(nsim * 0.75, nsim)] 0 2 4 6 8 10 X Figur 2.2: Histogram av simuleringen för 10 2 0.25, 10 2 0.5, 10 2 0.75 och 10 2 iterationer, röd linje är den sanna fördelningen. mymcmc2 <- function(nsim = 10^4){ X <- rep(runif(n = 1, min = 0, max = 1),nsim) # initialize the chain Z <- dchisq(seq(0, 10, length.out = nsim), df = 3) for (i in 2:nsim){ Y <- runif(n = 1, min = 0, max = 10) rho <- min(1,dchisq(y, df = 3)*dunif(X[i-1], min = 0, max = 10)/ (dchisq(x[i-1], df = 3)*dunif(Y, min = 0, max = 10))) X[i] <- X[i-1] + (Y-X[i-1])*(runif(n = 1, min = 0, max = 1)<rho) } attach(mtcars) par(mfrow=c(2,2)) hist(x[-seq(nsim*.25, nsim)]) par(new=true) plot(z, yaxt= n,xaxt= n, ann=false,col="red") hist(x[-seq(nsim*.5, nsim)]) par(new=true) plot(z, yaxt= n,xaxt= n, ann=false,col="red") 25
hist(x[-seq(nsim*.75, nsim)]) par(new=true) plot(z, yaxt= n,xaxt= n, ann=false,col="red") hist(x) par(new=true) plot(z, yaxt= n,xaxt= n, ann=false,col="red") return() } 26
Litteraturförteckning [1] D.A. Brannan. A first course in mathematical analysis. Cambridge Univ Pr, 2006. [2] I. Cosma. Markov chains and monte carlo methods. A.I.M.S, 2010. [3] P. Diaconis. The markov chain monte carlo revolution. Bull. Amer. Math. Soc.(NS), 46(2):179 205, 2009. [4] R. Grey. Advanced statistical computing. Department of Biostatistics and Computational Biology, Harvard, 2002. [5] C.M. Grinstead and J.L. Snell. Introduction to probability. Amer Mathematical Society, 1997. [6] J.G. Kemeny and J.L. Snell. Finite markov chains. Springer, 1960. [7] G. Maltese. A simple proof of the fundamental theorem of finite markov chains. The American mathematical monthly, 93(8):629 630, 1986. [8] C.P. Robert and G. Casella. Introducing Monte Carlo Methods with R. Springer Verlag, 2010. [9] S. Roman. Advanced linear algebra, volume 135. Springer, 1992. 27