Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen...

43
Monte Carlo Markov-ketens Mark Plomp 17 juli 2011 Bachelorscriptie Begeleider: dr. Bas Kleijn A B C D 2/3 1/3 1/4 1/2 1 1 KdV Instituut voor wiskunde Faculteit der Natuurwetenschappen, Wiskunde en Informatica Universiteit van Amsterdam

Transcript of Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen...

Page 1: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Monte Carlo Markov-ketens

Mark Plomp

17 juli 2011

Bachelorscriptie

Begeleider: dr. Bas Kleijn

A

B

C D

2/3

1/3

1/41/2

1

1

KdV Instituut voor wiskunde

Faculteit der Natuurwetenschappen, Wiskunde en Informatica

Universiteit van Amsterdam

Page 2: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

SamenvattingIn deze scriptie bekijken we Monte Carlo simulatie. Dat is hetsimuleren van kansexperimenten met behulp van de computer.Dit doen we om een nauwkeurige benadering te krijgen van ant-woorden op analytisch moeilijk oplosbare problemen. In het al-gemeen kijken we naar problemen waarvan het antwoord in devorm van een verwachting op te schrijven is.We bekijken eerst de klassieke theorie van de Monte Carlo simu-latie. Omdat we met de klassieke theorie een groot aantal pro-blemen niet op kunnen lossen, bespreken we daarna stochastischeprocessen met geheugenloosheid als speciale eigenschap. Dit soortprocessen noemen we Markov-processen en kunnen we beschrijvenmet Markov-ketens.Als we de theorie van de Monte Carlo simulatie en de theo-rie van de Markov-ketens namelijk samenbrengen krijgen we eenkrachtige theorie; die van de Monte Carlo Markov-ketens. Dezestelt ons in staat om een goede benadering te krijgen van elkeverwachting die we willen uitrekenen. Er zijn meerdere manierenom Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en hetMetropolis-Hastings.We sluiten de scriptie af door te kijken hoe we met Monte CarloMarkov-ketens een probleem in de Bayesiaanse statistiek kunnenoplossen.

GegevensTitel: Monte Carlo Markov-ketensAuteur: Mark Plomp, [email protected], 5828570Begeleider: dr. Bas KleijnTweede beoordelaar: dr. Bert van EsEinddatum: 17 juli 2011

Korteweg de Vries Instituut voor WiskundeUniversiteit van AmsterdamScience Park 904, 1098 XH Amsterdamhttp://www.science.uva.nl/math

Page 3: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Inhoudsopgave

1 Inleiding 21.1 Inversie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Verwerpingsmethode . . . . . . . . . . . . . . . . . . . . . . . 7

2 Markov-ketens 102.1 Discrete Markov-ketens . . . . . . . . . . . . . . . . . . . . . . 102.2 Recurrentie en irreducibiliteit . . . . . . . . . . . . . . . . . . 132.3 Convergentie van Markov-ketens . . . . . . . . . . . . . . . . . 17

3 Monte Carlo Markov-ketens 213.1 inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.1 Preliminaria . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Gibbs sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Bezoekschema’s . . . . . . . . . . . . . . . . . . . . . . 243.3 Metropolis-Hastings algoritme . . . . . . . . . . . . . . . . . . 273.4 Bayesiaanse statistiek . . . . . . . . . . . . . . . . . . . . . . . 30

Populaire samenvatting 34

Appendix 36

1

Page 4: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Hoofdstuk 1

Inleiding

Monte Carlo simulatie is een methode die gebruikt wordt om door middelvan computer algoritmes statistische experimenten te simuleren. De metho-de is ontwikkeld om de eigenschappen van processen met een stochastischecomponent te kunnen bestuderen zonder de, vaak ingewikkelde, stochastischeexperimenten uit te hoeven voeren. De ontwikkeling is vanaf halverwege dejaren 40 gedaan door Stanislaw Ulam en John von Neumann [1]. Ze bedacht-en de methode toen ze bezig waren met onderzoek naar bescherming tegenstraling. Daarvoor moesten ze problemen oplossen die te maken hadden metde diffusie van neutronen. Vanwege de stochastische componenten van deproblemen konden ze deze niet oplossen met analytische berekeningen.

Tegenwoordig worden Monte Carlo methoden overal gebruikt. Zijworden gebruikt in de wetenschap, bijvoorbeeld bij wiskunde, natuurkundeen scheikunde, in het bedrijfsleven om bijvoorbeeld wachtrijsystemen te si-muleren, maar ook in de entertainment industrie voor bijvoorbeeld computer-spelletjes. In dit rijtje moeten we loterijen en casino’s ook niet vergeten. Demethode heeft zijn naam ook te danken aan het feit dat er in Monte Carloveel casino’s zijn, waar natuurlijk veel kansspelen worden gedaan.

De problemen die we met Monte Carlo simulatie willen oplossen,zijn problemen waarvan we de oplossing in de vorm van een verwachtingEX, voor een zekere stochast X, kunnen schrijven. Als we dan trekkingendoen van stochastisch onafhankelijke identiek verdeelde stochasten X1, ..., Xn

met dezelfde verdeling als X, dan geeft de wet van de grote aantallen ons dat

1

n

n∑i=1

Xib.z.−→ EX1 als n→∞.

De Monte Carlo simulatiemethode stelt ons in staat om deze trekkingen vani.i.d. stochastenX1, ..., Xn te kunnen doen en stelt ons instaat een benadering

2

Page 5: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

van het antwoord op ons probleem te geven. Hoe goed deze benadering is,wordt gegeven door de centrale limietstelling. Als onze i.i.d. stochastenX1, ..., Xn een eindige variantie σ2 hebben dan geldt dat

√n( 1

n

n∑i=1

Xi − EX1

) N(0, σ2).

Dit houdt grofweg in dat de fout als 1/√n naar nul toe gaat.

Ulam en von Neumann waren niet de eerste die dit soort statistischeexperimenten gebruikten ter benadering van wiskundige grootheden. Al in1733 bedacht de franse wiskundige Comte de Buffon een statistisch experi-ment om π te benaderen.

Buffon schatte π door een naald meerdere malen op een vlak metevenwijdige lijnen te gooien en vervolgens het aantal keer dat de naald eenlijn kruist te tellen. We gaan nu kijken hoe deze methode werkt en waaromhet een schattingsmethode voor π oplevert.

Neem L als de lengte van de naald en d als de afstand tussen de even-wijdige lijnen. Als we de naald op het vlak hebben laten vallen dan noterenwe met x de afstand tussen het midden van de naald en de dichtsbijzijndelijn en we noteren met θ de hoek die de naald maakt ten opzichte van delijnen.

θ

x

L/2*Sin(θ)

Figuur 1.1: De naald met afstanden en hoek

We weten dat moet gelden dat 0 ≤ X ≤ d/2 en 0 ≤ θ ≤ π/2. Hieruit kunnenwe afleiden dat de naald een lijn snijdt dan en slechts dan als

x ≤ L

2sin(θ).

3

Page 6: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Als we X en θ opvatten als onafhankelijke uniform verdeelde stochasten opde intervallen [0, d/2] en [0, π/2] dan kunnen we de kans dat de naald de lijnkruist berekenen met behulp van de oppervlakte onder de lijn y = L/2 sin(θ).Er geldt dat

P(naald kruist een lijn) =oppervlakte onder de lijn

oppervlakte van (0, π/2)× (0, d/2)

=

∫ π/20

L/2 sin(θ) dxπ2d2

=2L

πd

Als we nu d = 2L nemen, is de kans op het raken van een lijn 1/π.Zoals eerder al opgemerkt is, kunnen we π schatten door de naald op

stochastisch onafhankelijke manier N keer te laten vallen en dan het aantalkeer dat de naald een lijn raakt te tellen. Laat X1, ..., XN de stochasten zijndie aangeven of de naald de lijn raakt of niet. X1, ..., XN zijn onafhankelijkAlt(1/π) verdeelde stochasten. Als we het aantal keer dat een lijn wordtgeraakt noteren met HN =

∑Ni=1Xi dan zal HN/N volgens de wet van de

grote aantallen convergeren naar 1/π.

HN

N=

1

N

N∑i=1

Xib.z.−→ EX1 =

1

πals N →∞.

Zoals eerder al besproken is geeft de centrale limietstelling ons grofweg datde fout van de schatting als 1/

√N naar nul gaat.

Voor Ulam en von Neumann was het niet mogelijk statistische expe-rimenten daadwerkelijk uit te voeren. Ze waren gedwongen de experimentente simuleren. Dit konden ze doen door gebruik te maken van wiskundigemodellen. Het enige wat ze daarvoor moesten doen, was het genereren van’willekeurige’ getallen in grote aantallen. Dit was niet mogelijk geweest zon-der de ontwikkeling van de elektronische computer in die tijd. Deze gaf zede mogelijkheid een groot aantal getallen te genereren.

Zoals aan het begin al gezegd is, worden computers tegenwoordignog steeds gebruikt om grote hoeveelheden data in statistische experimentente simuleren. We gaan de rest van dit inleidende hoofdstuk bekijken hoecomputers gebruikt worden om Monte Carlo simulaties uit te voeren.

1.1 Inversie

Aan de basis van Monte Carlo simulatie staat een programma dat willekeurigegetallen genereert, dit noemen we een random number generator of toe-

4

Page 7: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

valsgenerator. Meestal genereert zo’n programma getallen in het interval[0, 1] die statistisch niet te onderscheiden zijn van onafhankelijke uniform[0, 1]verdeelde stochasten. Hoe zo’n programma precies werkt staat uitgelegd inde Appendix A.1.

Als we dan een programma hebben waarmee we trekkingen kunnensimuleren voor een uniform[0, 1] verdeelde stochast, kunnen we ons afvragenhoe we andere kansverdelingen kunnen simuleren. Een van de methodeswaarmee dit kan, heet inversie.

Laat een zekere stochast een discrete verdeling P hebben op r1, ..., rnmet bijbehorende kansen p1, ..., pn. We verdelen het interval [0, 1] in dis-juncte intervallen I1, ..., In waarbij de lengt van Ii gelijk is aan pi voor allei ∈ 1, ..., n. Als de toevalsgenerator dan een realistie u geeft van eenuniform[0, 1] verdeelde stochast U en u ∈ Ij, geef dan X = rj als uitkomst.

Zie Figuur 1.2 om te zien hoe dit een verband heeft met de inversevan de distributiefuntie.

Figuur 1.2: Distributiefunctie van een discrete verdeling met trekking d.m.v.inversie.

Als we nu een stochast X willen simuleren die continue strikt stijgende dis-tributiefunctie F heeft en u is een realistie van een uniform[0, 1] verdeeldestochast U , dan nemen we X = F−1(u) als de realisatie van onze stochast.Zie Figuur 1.3 voor een grafische weergave van de inversiemethode voor hetstrikt stijgende continue geval.

Als we de inverse van F definieren als F−1(u) = infx |F (x) ≥ udan kunnen bewijzen dat inversie klopt voor alle cumulatieve distributiefunc-ties.

5

Page 8: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Stelling 1.1. Als X ∼ F , U ∼ U [0, 1] en we hanteren de bovenstaandedefinitie van de inverse dan

F−1(U)D= X.

Bewijs Omdat F een monotoon stijgende functie is, bestaat het infimum enkunnen we met behulp van de definitie concluderen dat F (F−1(u)) ≥ u en datF−1(F (x)) = infy |F (y) ≥ F (x) ≤ x. Hieruit volgt dat (u, x) |F−1(u) ≤x = (u, x) |u ≤ F (x). Waarmee we kunnen zien dat

P(X ≤ x) = P(F−1(U) ≤ x) = P(U ≤ F (x)) = F (x).

Uit de bovenstaande stellingen kunnen we concluderen dat inversie een goedemethode is voor het simuleren van een stochast met een makkelijke bereken-bare inverse. Niet elke stochast heeft echter een inverse die makkelijk teberekenen is. Een voorbeeld hiervan is de normale verdeling, want de dis-tributiefunctie daarvan is gedefinieerd als een integraal die niet kan wordenuitgedrukt in termen van een primitieve, laat staan, kan worden geınverteerd.

Figuur 1.3: Een continue strikt stijgende distributiefunctie met trekkingd.m.v. inversie.

6

Page 9: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

1.2 Verwerpingsmethode

We kijken nu naar een andere manier om getallen uit een distributie tetrekken. Deze methode heet de verwerpingsmethode. Ten opzichte van in-versie heeft deze methode als voordeel dat we niet de inverse van de distri-butiefuncie hoeven te kennen om de methode toe te kunnen passen.

Stel dat we een willekeurig getal willen trekken uit een distributie Fmet dichtheid f en we kunnen getallen genereren uit een distributie G metdichtheid g. Gegeven een zogenaamde acceptatiefuntie h : R → [0, 1] werktde verwerpingsmethode door middel van het volgende algorithme:

1. Genereer een getal Y uit G;

2. Geef met kans h(Y ) X = Y als uitkomst, ga anders weer terug naar 1.

Indien we X uit F willen trekken, moeten we h kiezen volgens Stelling 1.3.

Stelling 1.2. De uitkomst X van het verwerpingsalgoritme heeft een dichtheidproportioneel aan gh.

Bewijs De stelling volgt uit

P(Y ≤ x, Y wordt geaccepteerd)

= E[1(−∞,x](Y )1[Y wordt geaccepteerd]]

= EE[1(−∞,x](Y )1[Y wordt geaccepteerd] |Y ]

= E[1(−∞,x](Y )E(1[Y wordt geaccepteerd] |Y )]

= E[1(−∞,x](Y )P(Y wordt geaccepteerd |Y )].

De laatste verwachting kunnen we nu schrijven als

E[1(−∞,x](Y )P(Y wordt geaccepteerd |Y )]

=

∫ ∞−∞

1(−∞,x](y)h(y) dPG(y)

=

∫ x

−∞h(y)g(y) dy.

Dit impliceert dat

P(Y wordt geaccepteerd ) =

∫ ∞−∞

h(y)g(y) dy

7

Page 10: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

En dat

P(X ≤ x) = P(Y ≤ x |Y wordt geaccepteerd )

=

∫ x−∞h(y)g(y) dy∫∞−∞h(y)g(y) dy

.

Uit deze stelling volgt dat f/g een kandidaat voor h is. Merk op dat PG(g =0)= 0, waardoor f/g dus goed gedefinieerd is op R. We moeten wel zorgendat h een funtie met waarden in [0, 1] is. Stel dat f/g ≤ M b.o. vooreen zekere M . Als we dan h = f/(Mg) gebruiken, zal X een dichtheidproportioneel aan f/M hebben. Aangezien f een dichtheid is en M eenconstante, moet gelden dat X dichtheid f heeft. Verder zien we dat deacceptatiekans dan 1/M is. Het algoritme is dus het meest efficient als Mklein is, omdat de acceptatiekans dan hoger is.

Om de afwijzingsmethode wat duidelijker te maken bekijken we nueen voorbeeld waarbij we willekeurige getallen uit een uniforme verdelingkunnen trekken en waarbij we uit een andere distributie F getallen willentrekken. In dit voorbeeld weten we dat f begrensd wordt door M en eenbegrensde drager [A,B] heeft. Als we nu kijken naar het algoritme dat hoortbij de verwerpingsmethode dan hebben we

1. Genereer een getal U1 uniform uit [A,B];

2. Genereer een getal U2 uniform uit [0,M ] en als U2 < f(U1) geef danX = U1 als antwoord, ga anders terug naar stap 1.

Zie Figuur 1.4 voor een grafische weergave van de bovenstaande procedure.

Figuur 1.4: Een voorbeeld van de verwerpingsmethode.

8

Page 11: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Wat we in dit voorbeeld eigenlijk doen is het uniform trekken van een punt(U1, U2) uit [A,B] × [0,M ]. Als dit punt onder de grafiek van f ligt danaccepteren we U1 als trekking uit distributie F .

Aan het begin van dit inleidende hoofdstuk hebben we gesteld datwe problemen willen oplossen waarvan we het antwoord als een verwachtingEX kunnen schrijven, voor een zekere stochast X ∼ F . Om een benaderingvan het antwoord te krijgen wilden we i.i.d. stochasten X1, ..., Xn ∼ F n

simuleren.We hebben nu twee methoden gezien waarop we deze i.i.d. stochas-

ten kunnen simuleren. De vraag dient zich nu aan of we met deze methodenalle mogelijke verdelingen kunnen simuleren. Dit is niet het geval. Ze gevenbijvoorbeeld geen algemene manier om verdeling op uitkomstenruimtes vandimensie ≥ 2 te simuleren.

Om onszelf in staat te stellen dit wel te doen, moeten we de theorievan de Monte Carlo simulatie uitbreiden. In het volgende hoofdstuk beginnenwe hiermee door zogenaamde Markov-ketens te introduceren. De theorie vande Markov-ketens in combinatie met die van de Monte Carlo simulatie geeftons dan uiteindelijk een manier om elke willekeurige verdeling te simuleren.

9

Page 12: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Hoofdstuk 2

Markov-ketens

In hoofdstuk 3 passen we Monte Carlo simulatie toe met een sampling schemadat door een Markov-keten gegenereerd wordt. Hiertoe gaan we eerst bestud-eren wat Markov-ketens zijn en wat voor speciale eigenschappen ze bezitten.Dit doen we door middel van een aantal definities, stellingen en een paarvoorbeelden. Het belangrijkste resultaat van dit hoofdstuk is de convergen-tie naar een evenwichtdistributie van een Markov-keten, stelling 2.18. Eengroot deel van dit hoofdstuk zal daarom in het teken staan van de definities,lemma’s en stellingen die nodig zijn om tot dit resultaat te komen. Omwillevan de lengte en leesbaarheid van het hoofdstuk zullen we niet alle stellingenbewijzen. Zie [3] hoofdstuk 1 voor de ontbrekende bewijzen.

2.1 Discrete Markov-ketens

Als we het over een Markov-keten hebben dan hebben we het over eenstochastisch proces dat springt tussen verschillende toestanden en de ’Markoveigenschap’ bezit. De Markov eigenschap houdt in dat het proces ’geheugen-loos’ is. Dat wil zeggen dat alleen de huidige toestand invloed heeft op deverdeling van de volgende toestand van het proces, en niet alle voorgaandetoestanden.

Als voorbeeld gaan we bij het spel ’slangen en ladders’ kijken naareen pion van een van de spelers. We kunnen dan een proces (Xn)n≥0 be-schrijven waarin Xi de plaats aangeeft van de pion in beurt i voor een zekerei ≥ 0.

Definitie 2.1. Laat I een (af)telbare verzameling zijn. Elke i ∈ I noemenwe een toestand en I heet de toestandenruimte.

10

Page 13: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Figuur 2.1: Spelbord met pion.

Het speelbord met de hokjes erop is een toestandenruimte voor ons voorbeeld.In het spel gooien we elke beurt met een dobbelsteen om te bepalen waarde pion heen springt. We kunnen dus zeggen dat hij op stochastische wijzeover het bord springt. We zoeken een manier om te praten over de kansdat de pion op een bepaald hokje staat of in het algemeen de kans dat eenMarkov-keten in een bepaalde toestand i ∈ I verkeert. Hiervoor definierenwe allereerst de begrippen maat en distributie.

Definitie 2.2. Laat I een aftelbare verzameling zijn. We noemen λ =(λi | i ∈ I) een maat op I als 0 ≤ λi ≤ ∞ voor alle i ∈ I. Als daar-naast

∑i∈I λi = 1 dan noemen we λ een distributie. Als we nu zeggen dat λ

een distributie is voor een stochast X : Ω→ I dan bedoelen we daarmee dat

P(X = i) = λi

Voor ierdere A ∈ 2I legt definitie 2.2 λ(A) =∑

i∈A λi vast endefinieert dus een σ-eindige maat op I.

Definitie 2.3. We noemen een matrix P = (pij | i, j ∈ I) stochastisch alselke rij (pij | j ∈ I) een distributie is.

11

Page 14: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

We kunnen een stochastische matrix P gebruiken om aan te gevenwat de kans pij is voor onze pion om van plaats i op het bord naar plaats jte springen. Met de bovenstaande definties kunnen we nu formeel definierenwat een Markov-keten is.

Definitie 2.4. We zeggen dat (Xn)n≥0 een Markov-keten is met begindis-tributie λ en transitiematrix P als

1. X0 distributie λ heeft

2. voor n ≥ 0, gegeven Xn = i, Xn+1 distributie (pij | j ∈ I) heeft enonafhankelijk is van X0, X1, ..., Xn−1

Notatie: Als (Xn)n≥0 aan de bovenstaande voorwaarden voldoet, zeggen wedat (Xn)n≥0 Markov(λ, P ) is.

Wat de bovenstaande definitie zegt over ons spel is dat de plek waarde pion de volgende beurt komt te staan alleen afhankelijk is van de huidigepositie. De plekken waar de pion hiervoor stond hebben hier geen invloedop. We kunnen (1.) en (2.) uit de bovenstaande definitie ook noteren als

1. P(X0 = i) = λi voor alle i ∈ I

2. P(Xn+1 = in+1 |xn = in) = pinin+1 voor alle n ≥ 0.

Door de geheugenloosheid van Markov-ketens is het ook makkelijk om ze weerte geven. We kunnen een Markov-keten weergeven als een gerichte, gewogengraaf. Hierbij zijn de knopen van de graaf de verschillende toestanden engeven de gewichten van de pijlen de overgangskansen aan. In dit soort grafengeven we overgangen van toestanden naar zichzelf niet weer. Hoewel er posi-tieve kans kan bestaan dat de Markov-keten in dezelfde toestand blijft.

A

B

C D

2/3

1/3

1/41/2

1

1

Figuur 2.2: Een Markov-keten als graaf weergegeven

12

Page 15: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Voor de volgende stelling hebben we de Kronecker delta δi nodig, deze isgedefinieerd als

δij =

1 als i = j

0 als i 6= j

We kunnen δ dus zien als een matrix, de identiteit op Rn als I = 1, 2, ..., d.De i-de kolom is dan de hierboven beschreven vector δi.

Stelling 2.5. Laat (Xn)n≥0 Markov(λ, P ) zijn. Voorwaardelijk op Xm = i,voor een zekere i ∈ I, geldt dat (Xm+n)n≥0 Markov(δi, P ) is en onafhankelijkvan X0, X1, ..., Xm. Dit noemen we de Markov eigenschap.

Deze stelling benadrukt nog een keer de geheugenloosheid van Markov-ketens.Zij volgt meteen uit de manier waarop we Markov-ketens hierboven hebbengedefinieerd en dan in het bijzonder uit punt 2 van de definitie.

2.2 Recurrentie en irreducibiliteit

Nu kunnen we ons afvragen wat de kans is dat we in n stappen in een zekerestaat i ∈ I zijn.

Stel dat we in een zekere staat i ∈ I zijn op tijdstip n, dan weten wedat P(Xn+1 = j |Xn = i) = pij. Nu kunnen kijken naar wat de kans is datP(Xn+2 = j |Xn = i). Deze kans is af te leiden met behulp van de Markoveigenschap:

P(Xn+2 = j |Xn = i)

=∑k∈I

P(Xn+2 = j |Xn+1 = k,Xn = i)P(Xn+1 = k |Xn = i)

=∑k∈I

pikpkj = (P 2)ij.

Waarbij we hebben opgemerkt dat de som gelijk is aan het ij-de elementvan P 2 vanwege de definitie van (gegeneraliseerde) matrixvermenigvuldiging.Dat deze som altijd goed gedefinieerd is voor niet-eindige toestandenruimtesI volgt uit het feit dat P stochastisch is. Dan geldt dat∑

k∈I

pikpkj ≤∑k∈I

pik = 1.

Hieruit kunnen we concluderen dat de som convergeert en eindig is. Voorhet gemak zullen we vanaf nu p

(n)ij = (P n)ij schrijven voor het ij-de ele -

ment van P n. Definieer daarnaast P 0 als de identiteitsmatrix. Als (Xn)n≥0

13

Page 16: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Markov(λ, P ) is en λi > 0 dan schrijven we Pi(A) voor de conditionelekans P(A |X0 = i). Vanwege de Markov eigenschap op tijdstip m = 0 is(Xn)n≥0 Markov(δi, P ) onder Pi. De volgende stelling geeft ons de n-stapsovergangskansen.

Stelling 2.6. Laat (Xn)n≥0 Markov(λ, P ) zijn. Dan geldt voor alle m,n ≥ 0

1. P(Xn = j) = (λP n)j

2. Pi(Xn = j) = P(Xm+n = j |Xm = i) = p(n)ij .

Een van de voorwaarden van stelling 2.18, is dat de Markov-ketenirreducibel is. Wat dit precies inhoudt zal duidelijk worden gemaakt metbehulp van de onderstaande definities en stelling.

Definitie 2.7. We zeggen voor i, j ∈ I dat i leidt tot j als

Pi(Xn = j voor een zekere n ≥ 0) > 0.

We noteren dit met i→ j.We zeggen dat i communiceert met j als i → j en j → i. We noteren ditmet i↔ j.

Stelling 2.8. Voor i, j ∈ I, i 6= j zijn de volgende uitspraken equivalent:

1. i→ j

2. pi0i1pi1i2 ...pin−1in > 0 voor zekere i0, i1, ...in ∈ I waarbij i0 = i en in = j

3. p(n)ij > 0 voor zekere n ≥ 0

Bewijs Om de equivalentie te bewijzen tussen 1 en 3 merken we op dat

p(n)ij ≤ Pi(Xn = j voor een zekere n ≥ 0) ≤

∞∑n=0

p(n)ij .

Voorts geeft stelling 2.6 dat

p(n)ij =

∑i1,...,in

pii1pi1i2 ...pin−1j.

Hiermee is ook de equivalentie tussen 2 en 3 bewezen.

14

Page 17: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Met behulp van de bovenstaande stelling kunnen we zien dat ↔ een equiva-lentierelatie is op I. Hiervoor moeten we↔ controleren op reflexiviteit, sym-metrie en transitiviteit. Vanwegen het n = 0 geval uit de definitie geldt dati→ i, dus ook dat i↔ i. De symmetrie volgt ook rechtstreeks uit de definitievoor ↔. Als laatste kunnen we de transitiviteit afleiden met behulp van delaatste stelling. Laat i→ j, j → k dan volgt uit (2.) dat pii1pi1i2 ...pin−1j > 0en pjin+1pin+1in+2 ...pim−1k > 0 dus dan pi0i1pi1i2 ...pin−1inpjin+1pin+1in+2 ...pim−1k >0. Dat is dan weer equivalent met i → k. Dus ↔ is een equivalentierelatie.Equivalentieklassen voor de relatie ↔ worden ’communicerende klassen’ ge-noemd.

Definitie 2.9. Een keten met transitiematrix P heet irreducibel als I eengrote communicerende klasse is.

Een voorbeeld van een Markov-keten die niet irreducibel (en dus reducibel)is, is de Markov-keten uit Figuur3.3. Daarbij zijn de communicerende klassenA,B en C,D. Hier onder staat een voorbeeld van een irreducibeleMarkov-keten.

A

B

C

1 1

1/2

1/2

Figuur 2.3: Een irreducibele Markov-keten

We hebben eerder al vastgesteld dat voor een Markov-keten de Mar-kov eigenschap geldt voor vastgestelde tijden m ≥ 0. Het is echter mogelijkom een sterkere versie van deze stelling te bewijzen.

Definitie 2.10. Een stochast T : Ω → 0, 1, ... ∪ ∞ wordt een stoptijdgenoemd als T = n alleen afhangt van X0, X1, ..., Xn voor n = 0, 1, 2, ....

Als we nu weer gaan kijken naar het spel slangen en ladders dan kunnen wesnel een paar stoptijden voor onze pion vinden. Bijvoorbeeld, neem T deeerste keer dat de pion het laatste vakje van het spelbord haalt. Het gevaldat T = n hangt dan alleen maar af van T = n = Xn = 9. Anderestoptijden zijn bijvoorbeeld de vierde keer dat de pion via een slang gaat ofde zevende keer dat de pion een ladder beklimt.

15

Page 18: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Stelling 2.11. Laat (Xn)n≥0 Markov(λ, P ) zijn en T een stoptijd van(Xn)n≥0. Op voorwaarde dat T < ∞ en XT = i, geldt dat (XT+n)n≥0

Markov(δi, P ) is en onafhankelijk van X0, X1, ...XT . Dit noemen we desterke Markov eigenschap.

Bewijs Als B een gebeurtenis is die wordt bepaald door X0, X1, ..., XT danwordt B ∩ T = m bepaald door X0, X1, ..., Xm. Als we nu de Markoveigenschap op tijdstip m toepassen dan krijgen we

P(XT = j0, XT+1 = j1, ..., XT+n = jn ∩B ∩ T = m ∩ XT = i)= Pi(XT = j0, XT+1 = j1, ..., XT+n = jn)P(B ∩ T = m ∩ XT = i).

Dit konden we doen door de conditie T = m te gebruiken om m door T tevervangen. Als we nu sommeren over m = 0, 1, 2, ... en delen doorP(T <∞, XT = i) krijgen we

P(XT = j0, XT+1 = j1, ..., XT+n = jn ∩B |T <∞, XT = i)

= Pi(XT = j0, XT+1 = j1, ..., XT+n = jn)P(B |T <∞, XT = i).

Een stoptijd die vaak gebruikt wordt en voor het bewijs van de convergentiestelling ook van belang is, is het ’eerste passage moment van i’, gedefinieerdals

Ti = infn ≥ 1 |Xn = i.Deze stoptijd komt van pas als we het aantal passages van een toestand vanonze Markov-keten bekijken.

Definitie 2.12. Een toestand i ∈ I heet recurrent als

Pi(Xn = i voor oneindig veel n) = 1.

Een toestand i ∈ I heet transient als

Pi(Xn = i voor oneindig veel n) = 0.

Stelling 2.13. Stel dat P irreducibel en recurrent is. Dan geldt voor allei ∈ I

P(Tj <∞) = 1

In lijn met hoe we Pi gedefinieerd hebben voorafgaand aan stelling 2.6 definierenwe Ei als

Ei(Ti) =∞∑n=0

nPi(Ti = n).

16

Page 19: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Definitie 2.14. Als de verwachte terugkeertijd

mi = Ei(Ti)

kleiner dan ∞ is dan noemen we i positief recurrent.

2.3 Convergentie van Markov-ketens

We willen uiteindelijk kunnen bewijzen dat een Markov-keten, onder geschiktevoorwaarden, naar een bepaalde evenwichtsdistributie convergeert. Hiervoorhebben we invariante distributies nodig. Deze zullen straks de gewensteevenwichtsdistributies blijken te zijn.

Definitie 2.15. λ is een invariante maat als geldt dat

λP = λ.

Als verder ook nog geldt dat∑

i∈I λi = 1 dan heet λ een invariante distribu-tie.

Stelling 2.16. Laat P irreducibel zijn. Dan zijn de volgende drie uitsprakenequivalent.

1. Elke toestand is positief recurrent

2. Een toestand i is positief recurrent

3. P heeft een invariante distributie π die voldoet aan mi = 1/πi voor allei ∈ I.

Het laatste begrip dat we nodig hebben om de convergentie naar deevenwichtsdistributie te kunnen bewijzen is aperiodiciteit.

Definitie 2.17. Een toestand i ∈ I heet aperiodiek als er een N ∈ N iszodanig dat voor alle n ≥ N p

(n)ii > 0.

Een voorbeeld van een aperiodieke Markov-keten is die uit Figuur2.3. Hieronder een voorbeeld van een periodieke Markov keten. Als webeginnen in een willekeurige staat van deze Markov-keten dan kunnen wealleen in een even aantal stappen terug komen. De overgangskans p

(n)ii is dus

0 voor alle oneven n.

17

Page 20: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

A B

CD

1

1/32/3

1

1

Figuur 2.4: Een aperiodieke Markov-keten

Stelling 2.18. Convergentie naar een evenwichtsdistributieLaat P irreducibel en aperiodiek zijn. Neem daarnaast aan dat P een in-variante distributie π heeft. Laat verder λ een willekeurige distributie zijn enneem ook aan dat (Xn)n≥0 Markov(λ, P ) is. Dan geldt dat

P(Xn = j)→ πj als n→∞, voor alle j ∈ I

en in het bijzonder dat

p(n)ij → πj als n→∞, voor alle j ∈ I.

Bewijs De stelling wordt in drie stappen bewezen. Laat (Yn)n≥0 Markov(π,P )zijn, onafhankelijk van (Xn)n≥0. Nu kiezen we een referentietoestand b ∈Ien definieren we

T = infn ≥ 1 |Xn = Yn = bStap 1 We gaan nu eerst aantonen dat P(T <∞) = 1.Vanwege de onafhankelijkheid van (Xn)n≥0 t.o.v. (Yn)n≥0 is het proces Wn =(Yn, Xn) een Markov-keten op I × I met overgangskansen

p(i,k)(j,l) = pijpkl

en begindistributieµ(i,k) = λiπk.

Omdat P aperiodiek is hebben we voor alle i, j, k, l dat

p(n)(i,k)(j,l) = p

(n)ij p

(n)kl > 0

voor alle n die groot genoeg zijn. Dus hieruit kunnen we volgens stelling2.8 tevens concluderen dat P irreducibel is. Daarnaast volgt de invariantedistributie van P uit die van P ,

π(i,k) = πiπk

18

Page 21: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

omdat (Xn)n≥0 en (Yn)n≥0 onafhankelijk zijn. Hierdoor volgt uit stelling 2.16dat P positief recurrent is. Aangezien T het eerste passage moment van (b, b)van Wn is moet dus gelden dat P(T <∞) = 1 volgens stelling 2.13.Stap 2 We gaan nu aantonen dat (Zn)n≥0 Markov(λ, P ) is voor

Zn =

Xn als n < T

Yn als n ≥ T

Als we nu de sterke Markov eigenschap toepassen op (Wn)n≥0 op tijdstip Tdan is (XT+n, YT+n)n≥0 Markov(δ(b,b), P ) en onafhankelijk van (X0, Y0),(X1, Y1),...,(XT , YT ).Vanwege symmetrie kunnen we (XT+n, YT+n)n≥0 vervangen door (YT+n,XT+n)n≥0

wat dus ook Markov(δ(b,b), P ) is. Oftewel, W ′n = (Zn, Z

′n) is Markov(µ,P )

als hierbij

Z ′n =

Yn als n < T

Xn als n ≥ T.

Hieruit volgt i.h.b. dat (Zn)n≥0 Markov(λ, P ) is.Stap 3 We hebben nu dus:

P(Zn = j) = P(Xn = j enn ≤ T ) + P(Yn = j enn ≥ T )

Dus hieruit kunnen we afleiden dat

|P(Zn = j)− πj| = |P(Zn = j)− P(Yn = j)|= |P(Xn = j enn < T )− P(Yn = j enn < T )|≤ P(n < T ).

En we weten dat P(n < T )→ 0 als n→∞.

We weten al dat π invariant is als geldt dat πP = π. Als afsluiting van dithoofstuk geef ik nog een voldoende voorwaarde waaronder π een invariantedistributie is. Deze methode wordt in het volgende hoofstuk meerdere malengebruikt.

Definitie 2.19. Een stochastische I × I matrix P en een distributie π vanlengte I zijn in detailed balance als geldt dat

πipij = πjpji voor alle i, j ∈ I

Stelling 2.20. Als P en π in detailed balance zijn dan is π een invariantedistributie voor P .

19

Page 22: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Bewijs Er moet aangetoond worden dat geldt dat πP = π. Hieraan wordtvoldaan aangezien

(πP )i =∑j∈I

πjpji =∑j∈I

πipij = πi∑j∈I

pij = πi.

We hebben bij de tweede gelijkheid de detailed balance vergelijking toegepast.

Het is in het algemeen niet waar dat als π een invariante distributieis voor een stochastische matrix P , dat p en π dan in detailed balance zijn.

Als voorbeeld hiervan bekijken we nogmaals de irreducibele aperi-odieke Markov-keten uit Figuur 2.3. Hiervoor is de bijbehorende overgangs-matrix

P =

0 1 00 0 112

12

0

.

Hiervoor is π = (1/5, 2/5, 2/5) een invariante distributie. Detailed balancegeldt echter niet want

π1p12 = 1× 1

56= 0× 2

5= π2p21.

20

Page 23: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Hoofdstuk 3

Monte Carlo Markov-ketens

Stel we hebben een zekere verdeling Π op een toestandenruimte X en wewillen deze verdeling simuleren of de verwachting voor f : X → R benaderen.Wat we zoeken is een benadering voor

π(f) = E[f(X)] =

∫Xf(x)π(x) dx. (3.1)

gebaseerd op trekkingen uit Π. Als π een eenvoudige vorm heeft dan kunnenwe deze integraal analytisch uitrekenen. Het komt echter vaak voor dat Xeen hoog-dimensionale ruimte is, of dat π niet in gesloten vorm voor handenis. Dan is het direct uitrekenen van deze integraal onhaalbaar.

3.1 inleiding

De Monte Carlo methode pakt dit probleem aan door trekkingen van stochastischonafhankelijke identiek verdeelde kansvariabelen X1, X2, ..., Xn∼Πn. De re-alisatie wordt dan gebruikt om π(f) te schatten met de schatter

π(f) =1

n

n∑i=1

f(Xi),

die convergeert naar 3.1 volgens de wet van de grote aantallen. We hebben inde inleiding besproken hoe dit in zijn werk gaat voor standaard (of klassieke)Monte Carlo simulatie. Het kan echter zelfs zo zijn dat Π te gecompliceerdis om directe simulatie toe te kunnen passen.

In dat soort situaties kunnen Monte Carlo Markov-ketens uitkomstbieden. Wat we dan willen doen, is het maken van een Markov-keten opX met limietdistributie π. Om ons van convergentie te verzekeren eisen

21

Page 24: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

we daarnaast ook dat onze keten irreducibel en aperiodiek is. Startend ineen punt genereren we dan X1, X2, ... door de keten stappen te laten doen.Vervolgens nemen we aan dat, voor een zekere grote N ∈ N, XN volgens delimietdistributie verdeeld is. We nemen dan Y1 = XN als eerste trekking enstarten de keten opnieuw om Y2, Y3, ..., Yn te simuleren. Omdat de stappendie een Markov-keten doet onderling onafhankelijk zijn en XN volgens Πverdeeld is, kunnen we veronderstellen dat Y1, Y2, ..., Yn een onafhankelijkidentiek verdeelde steekproef uit Π vormt. Dit hoofdstuk zal belichten hoewe zulke Markov-ketens kunnen construeren. Hierbij is met name gebruikgemaakt van de theorie zoals die gepresenteerd is in [4].

3.1.1 Preliminaria

In het vorige hoofdstuk hebben we Markov-ketens gedefinieerd op aftel-bare toestandenruimtes en stellingen bewezen voor Markov-ketens op dezeruimtes. In de praktijk van Monte Carlo Markov-ketens komen we echterproblemen tegen op overaftelbare toestandenruimtes X . X kan bijvoorbeeldeen open bol in Rd zijn. We moeten ons dan realiseren dat we in feite alleeneen (willekeurig nauwkeurige) discrete benadering van het probleem kun-nen aanpakken. Dit hoeft geen probleem te vormen, aangezien we meestalslechts een antwoord met bepaalde nauwkeurigheid op ons probleem willen.We willen bijvoorbeeld een antwoord op tien decimalen nauwkeurig. Alsik het vanaf nu over een overaftelbare toestandenruimte heb dan bedoel ikdaarmee de discrete benadering van deze ruimte.

Laat X ⊆ Rd zijn en schrijf x = (x1, x2, ..., xd) voor x ∈ X . Laat daarnaast πeen dichtheid op X zijn. We nemen vanaf nu voor het gemak aan dat er in Xalleen punten x zitten waarvoor π(x) > 0. We zijn toch niet geınteresseerdin punten x waarvoor π(x) = 0, aangezien we hier bijna-zeker nooit terechtzullen komen als we trekkingen uit Π doen.

Als X = (X1, X2, ..., Xd) ∼ Πn, dus P(X = x) = π(x) voor allex ∈ X , dan noteren we de marginale dichtheid van de componenten Xi vanX met πXi

. dus voor i ∈ 1, 2, ..., d geldt

πXi(xi) = P(Xi = xi) =

∑y∈X ,yi=xi

P(X = y).

Definitie 3.1. Als T ⊆ 1, 2, ..., d en v = (v1, v2, ..., vd) dan noteren wemet vT de vector met componenten vi voor i ∈ T . v−T is dan de vector metcomponenten vi voor i /∈ T . Als T = i dan noteren we vT = vi en v−T = v−i.

22

Page 25: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

De marginale dichtheden voor XT en X−T voor een zekere T ⊆1, 2, ..., d noteren we met πXT

resp. πX−Ten zijn op dezelfde manier

gedefinieerd als πXi.

Om de ′π′-notatie compleet te maken schrijven we voor de condi-tionele kans op xT gegeven X−T = x−T ,

πXT |X−T =x−T(xT ) = P(XT = xT |X−T = x−T ).

Deze notatie wordt gebruikt in de volgende twee secties, waar we Markov-ketens construeren die slechts enkele componenten van de vector X per stapveranderen.

3.2 Gibbs sampler

Laat net als hiervoor X ⊆ Rd zijn en π een bekende dichtheid op X .We construeren nu een proces (Xn)n≥0 als volgt: We nemen een

T ⊆ 1, 2, ..., d. Als dan Xn = xn voor een zekere xn ∈ X , dan definierenwe de kansvector Xn+1 = (Xn+1,1, Xn+1,2, ..., Xn+1,d) door Xn+1,−T = xn,−Tmet kans een te stellen en Xn+1,T te trekken in overeenstemming met deconditionele verdeling ΠXT |X−T =x−T

(xn+1,T ). Dit proces (Xn)n≥0 vormt eenMarkov-keten met overgangskansen

pxixj =

πXT |X−T =x−T

(xj,T ) als xi,−T = xj,−T

0 als xi,−T 6= xj,−T(3.2)

voor alle xi, xj ∈ X . Merk op dat op deze manier Xn+1,T onafhankelijk isvan Xn,T . Het geconstrueerde proces, opgevat als sampling procedure, wordtde Gibbs sampler genoemd.

Stelling 3.2. π is een invariante distributie voor de hierboven gedefinieerdeketen.

Bewijs Om dit aan te tonen laat ik zien dat π in detailed balance is met debij (Xn)n≥0 horende transitiematrix P . Neem xi, xj ∈ X . Als xi,−T 6= xj,−Tdan geldt dat pij = pji = 0, dus dan wordt er voldaan aan de detailed balancevergelijking. Laat nu xi,−T = xj,−T dan geldt

π(xi)pij = π(xi)πXT |X−T =x−T(xj,T )

= πXT |X−T =x−T(xi,T )πX−T

(xi,−T )πXT |X−T =x−T(xj,T )

= πXT |X−T =x−T(xi,T )πX−T

(xj,−T )πXT |X−T =x−T(xj,T )

= πXT |X−T =x−T(xi,T )π(xj)

= π(xj)pji.

23

Page 26: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Vanwege de manier waarop we de overgangskansen hebben gedefineerd in3.2 is de Markov-keten overigens wel aperiodiek. Als we namelijk Xn = xnhebben en we gaan nu een stap doen in de Markov-keten, dan is pxnxn > 0,want als pxnxn = 0 dan hadden we xn bij de vorige stap niet kunnen bereiken.

Hoewel π een invariante distributie is van deze Markov-keten, kunnenwe niet garanderen dat de keten convergeert naar π. De keten is namelijkniet irreducibel. Als we een vector behorende tot X0 gevonden hebben, doorgebruik te maken van een zekere begindistributie, dan zal voor alle n ∈ NXn,−T hetzelfde blijven.

Om onze Markov-keten toch te laten convergeren zullen we verschil-lende verzamelingen T ⊆ 1, ..., d moeten kiezen bij elke stap van onzeMarkov-keten. Een specifieke keuze van deelverzamelingen T noemen we eenbezoekschema.

Een bijzonder geval van deze Gibbs sampler is het geval waarin steedsT = i geldt voor een zekere i ∈ 1, ..., d. Dan maakt de Markov-keten duscomponentsgewijs stappen door X . We kijken zometeen naar bezoekschema’sin het algemeen.

Merk op dat de Gibbs sampler alleen bruikbaar is in situaties waarinde marginale of conditionele distributies van π gemakkelijk met standaardMonte Carlo methoden te simuleren zijn.

Als de Gibbs sampler kan worden toegepast dan krijgt deze in hetalgemeen de voorkeur boven andere Monte Carlo Markov-keten methoden,zoals het Metropolis-Hastings algoritme dat we in de volgende paragraafbekijken. Dat komt doordat we bij elke stap uit de marginale verdelingvan Π trekkingen doen. Als we een irreducibele aperiodieke Markov-ketenbehorende bij de Gibbs sampler hebben, verwachten we dat de verdeling van(Xn)n≥0 relatief snel naar Π zal convergeren.

3.2.1 Bezoekschema’s

Om te zorgen dat de Markov-keten convergeert naar π, moeten we een be-zoekschema vaststellen. Hierboven heb ik al het schema genoemd waarbijde Markov-keten componentsgewijs stappen maakt door X . Nu gaan we al-gemene schema’s bespreken en methodes om deze schema’s te maken, metbijzondere aandacht voor irreducibiliteit.

Deterministische schema’s

Het eerste type bezoekschema dat ik bekijk, zijn de deterministische. In ditgeval zijn de verschillende verzamelingen T ⊆ 1, ..., d, die bij elke stapgebruikt worden, van tevoren vastgesteld.

24

Page 27: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

We kiezen dan verzamelingen T1, ..., Tk als een cykel. Dat houdtin dat we vervolgens de Gibbs sampler opeenvolgend stappen in de bij Ti,i = 1, ..., k behorende Markov-keten laten maken en daarna weer bij T1 latenbeginnen.

De Markov-keten die we nu voor de Gibbs sampler bekijken, is deketen (Yn)n≥0 die telkens aan het einde van een cykel registreert waar in Xwe zijn. De bijbehorende transitiematrix van (Yn)n≥0 is dan

P = PT1PT2 ...PTk ,

waarbij PTi de transitiematrix is die bij de Markov-keten van Ti hoort.Alleen als geldt dat ∪i=1,...,kTi = 1, ..., d, kan onze Markov-keten

(Yn)n≥0 irreducibel zijn, omdat de Markov-keten zich anders niet in allerichtingen kan verplaatsen. (Let op dat deze eis nog niet voor alle toe-standenruimtes X garandeert dat de resulterende Markov-keten irreducibelis.)

Stelling 3.3. π is een invariante distributie voor (Yn)n≥0.

Bewijs Dit gaan we afleiden door gebruik te maken van het feit dat π eeninvariante distributie is voor de bij T horende Markov-keten voor alle T ⊆1, ..., d. Dan geldt per definitie dat

πPT = π.

Dus

πP = πPT1 ...PTk = πPT2 ...PTk = ... = π.

Als (Yn)n≥0 nu irreducibel en aperiodiek is kan Stelling 2.18 worden toegepast.

Kansschema’s

We kunnen de verschillende T ⊆ 1, ..., d ook bij elke stap willekeurig kiezen.Laat S = T |T ⊆ 1, ..., d de verzameling van alle deelverzamelingenvan 1, ..., d zijn. We kunnen dan bij elke stap in onze Markov-keten een’willekeurige’ verzameling T kiezen door een dichtheid q op S te definieren.(Dus als qT = q(T ) dan moet gelden dat

∑T∈S qT = 1.) Bij elke stap van de

keten trekken we eerst met behulp van q een verzameling T ∈ S, genoteerdmet S, en vervolgens gebruiken we de bij T behorende Markov-keten om eenstap te zetten. De resulterende keten (Yn)n≥0 kan weer irreducibel zijn, op

25

Page 28: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

voorwaarde dat geldt dat ∪T∈S,qT>0T = 1, ...d. Dan kan de keten namelijkmet positieve kans stappen alle kanten op maken. (Ook hier garandeert dezevoorwaarden de irreducibiliteit nog niet.)

De overgangskansen pxnxn+1 van deze Markov-keten zijn,

pxnxn+1 = P(Xn+1 = xn+1 |Xn = xn) =P(Xn+1 = xn+1, Xn = xn)

P(Xn = xn)

=∑T∈S

P(Xn+1 = xn+1, Xn = xn, S = T )

P(Xn = xn)

=∑T∈S

P(S = T )P(Xn+1 = xn+1, Xn = xn, S = T )

P(Xn = xn)P(S = T ).

Als we nu gebruiken dat S onafhankelijk is van Xn dan krijgen we

pxnxn+1 =∑T∈S

P(S = T )P(Xn+1 = xn+1, Xn = xn, S = T )

P(Xn = xn, S = T )

=∑T∈S

qTP(Xn+1 = xn+1 |Xn = xn, S = T )

=∑T∈S

qTpTxnxn+1

.

Waarbij pTxnxn+1de overgangskansen van de Markov-keten van T aanduidt.

Stelling 3.4. π is een invariante distributie van (Yn)n≥0.

Bewijs We gaan dit weer bewijzen door gebruik te maken van de detailedbalance vergelijking.

π(xn)pxnxn+1 =∑T∈S

qTπ(xn+1)pTxnxn+1

=∑T∈S

qTπ(xn)pTxn+1xn

= π(xn+1)pxn+1xn ,

waarbij ik gebruik heb gemaakt van het feit dat de detailed balance verge-lijking geldt voor de bij T behorende Markov-keten.

Als (Yn)n≥0 nu ook irreducibel is kan Stelling 2.18 worden toegepast.

26

Page 29: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

3.3 Metropolis-Hastings algoritme

Het tweede algoritme dat we bekijken is het Metropolis-Hastings algoritme.N.C. Metropolis kwam samen met een aantal andere natuurkundigen in 1953met de eerste versie van dit algoritme [6]. Ze hadden het algoritme gemaaktom de Boltzmann distributie te kunnen simuleren. Dit is een distributie dieonder andere wordt gebruikt om de toestanden van deeltjes in een gas tebeschrijven. Later, in 1970, is het algoritme door W.K Hastings gegenerali-seerd [7]. Wat het algoritme en de generalisering precies inhouden bekijkenwe in deze paragraaf door eerst het Metropolis algoritme te bekijken en ver-volgens te bekijken wat Hastings hieraan heeft toegevoegd.

Net als hiervoor is het doel een i.i.d. steekproef te benaderen uit eenverdeling Π met bekende dichtheid π op een toestandenruimte X ⊂ Rd.

Het Metropolis-Hastings algoritme maakt op een simpele maar in-genieuse manier gebruik van de rejectiemethode om te garanderen dat π delimietdistributie is van de bij dit algoritme behorende Markov-keten.

Voor het Metropolis algoritme kiezen we een Markov-keten (Xn)n≥0

op X , waarvan we eisen dat de overgangskansen symmetrisch zijn, i.e.

qxixj = qxjxi voor alle xi, xj ∈ X ,

en verder eisen we aperiodiciteit en irreducibiliteit.Deze eisen zijn niet voldoende om te verzekeren dat π een invariante

distributie is van deze Markov-keten. Daarom passen we het proces (Xn)n≥0

aan zodat het een Markov-proces (Yn)n≥0 genereert met invariante distributieπ.

Als op een gegeven moment n geldt dat Yn = xn voor een zekerexn ∈ X dan laten we de keten (Xn)n≥0 een stap doen. Stel dan dat Xn+1 =xn+1, dan accepteren we Yn+1 = xn+1 met kans

axnxn+1 = min

1,π(xn+1)

π(xn)

.

Anders wordt Yn+1 = xn aangenomen. Merk hierbij op dat dichtheid π alleenvoor komt in de vorm π(xi)/π(xj). We hoeven dus alleen deze verhoudingenvan π te kennen. In de volgende paragraaf zullen we zien dat dit erg goedvan pas kan komen.

Zoals eerder genoemd, is het Hastings algoritme een generalisatie van hetMetropolis algoritme. Door de strenge eisen die gesteld worden aan de over-gangskansen in het Metropolis algoritme kan de convergentie van de Markov-keten erg traag verlopen. Bij voorkeur geven we de Markov-keten zo veel

27

Page 30: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

mogelijk eigenschappen mee waarvan we weten dat π ze ook heeft. Als wedat doen verloopt de convergentie in het algemeen veel sneller. De general-isatie van Hastings geeft extra vrijheid bij het kiezen van de overgangskansenvan de Markov-keten, maar benut tegelijkertijd wel de voordelen van de re-jectiemethode.

Voor de aanvankelijk gekozen Markov-keten (Xn)n≥0 moet in hetHastings algoritme gelden dat

qxnxn+1 > 0 ⇐⇒ qxn+1xn > 0 voor alle xn, xn+1 ∈ X .

De bijbehorende acceptatiekans van xn+1 is

axnxn+1 = min

1,π(xn+1)qxnxn+1

π(xn)qxn+1xn

.

Uit de manier waarop we (Yn)n≥0 ten opzichte van (Xn)n≥0 hebben gedefinieerdvolgt ook bijna meteen dat (Yn)n≥0 aperiodiek en irreducibel is.

De irreducibiliteit volgt uit het feit dat alle toestanden waarnaar wepositieve overganskans hadden nog steeds positieve overgangskans hebben.Stel dat we in x ∈ X zitten en bij het proces (Xn)n≥0 hebben we een posi-tieve kans om naar y ∈ X te springen. Als dan geldt dat π(x) ≤ π(y)dan is π(y)/π(x) ≥ 1, dus blijft de overgangskans hetzelfde. Als dan geldtdat π(x) ≥ π(y) dan is 0 < π(y)/π(x) < 1, aangezien we in onze toes-tandenruimte X alleen punten x hebben zitten waarvoor π(x) > 0. De over-gangskans is dan ook nog steeds groter dan 0. Aangezien (Yn)n≥0 irreducibelis, moet (Yn)n≥0 dat dus ook zijn.

De aperiodiciteit van (Yn)n≥0 volgt uit het feit dat (Xn)n≥0 aperi-odiek is en het argument dat we zojuist ook voor de irreducibiliteit hebbengebruikt: positieve overgangskansen blijven positief, zodat de aperiodiciteitvan (Xn)n≥0 die van (Yn)n≥0 impliceert.

Stelling 3.5. π is invariant voor (Yn)n≥0

Bewijs Om de stelling te bewijzen maken we weer gebruik van de detailedbalance vergelijking. Als pxnxn+1 de overganskans is voor xn, xn+1 ∈ X horendbij (Yn)n≥0 dan geldt

π(xn)pxnxn+1 = π(xn)qxnxn+1axnxn+1

= π(xn)qxnxn+1 min

1,π(xn+1)qxn+1xn

π(xn)qxnxn+1

= minπ(xn)qxnxn+1 , π(xn+1)qxn+1xn= π(xn+1)qxn+1xnaxn+1xn

= π(xn+1)pxn+1xn .

28

Page 31: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

We kunnen nu weer stelling 2.18 toepassen.De simpele opzet van het algoritme zorgt ervoor dat het Metropolis-

Hastings algoritme zeer makkelijk toe te passen is. Het is namelijk heelmakkelijk om een Markov-keten (Xn)n≥0 te construeren die aan de eerdergenoemde eisen voldoet.

Stel dat X ⊂ R2. De discrete benadering van X kunnen we zienals een rooster van toestanden. In Figuur 3.1 is een voorbeeld te zien vaneen punt op dit rooster en de overgangskansen behorend bij dit punt. Alsalle punten op dit rooster op een zelfde manier de overgangskansen krijgentoegewezen dan voldoet de bijbehorende Markov-keten (Xn)n≥0 aan de eisendie hierboven hebben vastgelegd.

A

B

C

D

D

1/5

1/5

1/5

1/5

Figuur 3.1: Een punt A op een rooster met overgangskansen naar de naar-burige punten

Er hangt echter ook een prijskaartje aan het gemak waarmee hetalgoritme toepasbaar is. De Markov-keten behorende bij de Gibbs samplerconvergeert in het algemeen veel sneller naar π dan die van het Metropolis-Hastings algoritme. Dat komt doordat bij het Metropolis-Hastings algo-ritme de verdeling van (Xn)n≥0 niets te maken hoeft te hebben met Π. Ditin tegenstelling tot de Gibbs sampler, waarbij de overgangskansen wordengedefinieerd door de marginale verdelingen van Π.

29

Page 32: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

3.4 Bayesiaanse statistiek

In deze paragraaf hebben we het over de mogelijheid om Monte Carlo Markov-ketens toe te passen ter benadering van de zogenaamde posterior verdel-ing in de Bayesiaanse statistiek. We kijken naar een model van kansmatenP = Pθ | θ ∈ Θ waarbij we Θ de parameterruimte noemen. De parameter-ruimte Θ kan van hoge dimensie zijn.In tegenstelling tot de frequentistischestatistiek heeft de Bayesiaanse statisticus van tevoren een zekere mening overΘ, deze geeft hij weer met een verdeling op Θ

Definitie 3.6. De verdeling op Θ noemen we de prior en noteren we met πϑwaarbij ϑ de kansvariabele is behorende bij θ ∈ Θ.

Als de Bayesiaanse statisticus vevolgens een nieuwe verzameling datax1, ..., xn tot zijn beschikking krijgt dan zal hij zijn mening aanpassen op basisvan het model P en de prior.

We kunnen zeggen dat het geheel van data en parameters een zekereverdeling heeft en opvatten als een stochastische vector (X1, ...Xn, ϑ) ∼ Π.

Een element P(n)θ van het model wordt gezien als de verdeling van

X1, ...Xn gegeven ϑ, i.e. de conditionele verdeling van (X1, ..., Xn)|ϑ = θ. Inovereenstemming met wat we eerder gedaan hebben noteren we deze verdel-ing met P

(n)θ = ΠX(n)|ϑ=θ

Wat de Bayesiaanse statisticus wil, is de conditionele verdeling vanϑ|(X1, ..., Xn) = (x1, ..., xn) uitrekenen.

Definitie 3.7. De conditionele verdeling van ϑ gegeven X1, ..., Xn noemenwe de posterior en wordt genoteerd met Πϑ|X(n)=x(n)

Op basis van deze zgn. posterior verdeling trekt de Bayesiaanse statisticuszijn inferentiele conclusies. De posterior kunnen we uitrekenen met behulpvan de regel van Bayes:

πϑ|X(n)=x(n)(θ) =

πX(n)|ϑ=θ(x(n))πϑ(θ)

πX(n)(x(n))

=πX(n)|ϑ=θ(x(n))πϑ(θ)∫

ΘπX(n)|ϑ=θ(x(n)) dΠϑ(θ)

.

Het is in het algemeen onhaalbaar om de bovenstaande integraal uit te reke-nen als Θ een hoog of zelfs oneindig dimensionale ruimte is. Om dan toch deposterior te benaderen pssen we een Monte Carlo Markov-keten toe. Wemaken een Markov-keten die naar de prior πϑ convergeert en vervolgenssimuleren we met behulp van deze Markov-keten waarden θ1, ..., θm ∈ Θ.We schatten de integraal dan met

πX(n)(x(n)) =

1

m

m∑i=1

πX(n)|ϑ=θi(x(n)).

30

Page 33: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Zo krijgen we een benadering van de posterior van de vorm

πϑ|X(n)=x(n)(θ) =

πX(n)|ϑ=θ(x(n))πϑ(θ)

πX(n)(x(n))

Het doel is echter om de posterior distributie te benaderen, duszouden we liever meteen waarden uit de posterior simuleren.

Tot nu toe hebben we steeds aangenomen dat we de verdeling die wewillen sampelen helemaal kennen. Dit is hier niet het geval voor de posterioraangezien we de uitkomst van de integraal niet kennen. Toch kunnen we deposterior direct simuleren.

We kennen de posterior tot op een constante(1/∫

ΘπX(n)|ϑ=θ(x(n)) dΠϑ(θ)). Dit betekent dat we de onderlinge verhouding

van de posterior tussen verschillende θi, θj ∈ Θ kennen, want

πϑ|X(n)=x(n)(θj)

πϑ|X(n)=x(n)(θi)

=πX(n)|ϑ=θj(x(n))πϑ(θj)∫ΘπX(n)|ϑ=θ(x(n)) dΠϑ(θ)

∫ΘπX(n)|ϑ=θ(x(n)) dΠϑ(θ)

πX(n)|ϑ=θi(x(n))πϑ(θi)

=πX(n)|ϑ=θj(x(n))πϑ(θj)

πX(n)|ϑ=θi(x(n))πϑ(θi)

en zowel de prior als het model zijn bekend. Zoals we in paragraaf 3.3.hebben opgemerkt, is dit voldoende om het Metropolis-Hastings algoritmetoe te kunnen passen! De posterior komt namelijk alleen voor in de acceptatiediscipline

aθiθj = min

1,πϑ|X(n)=x(n)

(θj)πϑ(θj)qθiθjπϑ|X(n)=x(n)

(θi)πϑ(θi)qθjθi

,

waarbij qθiθj de overgangskans is voor de bij het algoritme behorende Markov-keten.

Als afsluiting kijken we naar een Bayesiaans voorbeeld. Voor eennumerieke beargumentatie van de resultaten die ik in dit voorbeeld geef, zieAppendix A.2. In dit voorbeeld hebben we een model P = N (θ, 1) | θ ∈ Ren een prior ϑ ∼ Π = N (1, 1). Daarnaast hebben we een experiment vani.i.d. stochasten X1, ..., Xn ∼ N (0, 1). Het doel is om met behulp van hetMetropolis-Hastings algoritme de posterior benaderen. We nemen X = R envoor y ∈ R definieren we de verdeling van de overgangskansen als q(y, .) ∼N (y, (0.5)2). Als we nu kijken naar de acceptatie dicipline ayz dan zien we

31

Page 34: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

dat

πϑ|X(n)=x(n)(θj)πϑ(θj)qθiθj

πϑ|X(n)=x(n)(θi)πϑ(θi)qθjθi

=e−

12

(z−1)2∏n

i=11

σ√

2πe−

12

(Xi−z

0.5)2

e−12

(y−1)2∏n

i=11

σ√

2πe−

12

(Xi−y

0.5)2

= e−12

((z−1)2−(y−1)2)

n∏i=1

e−18

((Xi−z)2−(Xi−z)2)

= e−12

((z−1)2−(y−1)2)e18

(2(z−y)∑n

i=1Xi+(ny2−nz2))

= e−12

((z−1)2−(y−1)2)en8

(2(z−y)Xn+(y2−z2)).

Uit deze uitdrukking kunnen we een aantal dingen afleiden. Stel dat onzeMarkov-keten in een punt y ∈ R zit dat ver weg ligt van zowel de verwacht-ing van de prior (1) als de verwachting van de data X1, ..., Xn (0), bijvoor-beeld y=10. Dan geldt voor alle n ∈ N dat het verwerpingsalgoritme eenvoorgestelde stap richting deze verwachtingen met kans 1 accepteert en eenstap de andere richting op met een kans kleiner dan 1 accepteert. Er zal eendrift in de richting van de verwachtingen waarneembaar zijn.

We kijken nu wat er gebeurt als n → ∞. Volgens de wet van degrote aantallen krijgen we dan dat Xn → 0, en zien we dat

limn→∞

e−12

((z−1)2−(y−1)2)en8

(2(z−y)Xn+(y2−z2))

= limn→∞

e−12

((z−1)2−(y−1)2)en8

(y2−z2)

= limn→∞

en(y2−z2).

In dit limietgeval zien we dat als |z| < |y| dan wordt de stap met kans 1geaccepteerd en als |z| > |y| dan wordt de stap met kans 0 geaccepteerd.Hieruit kunnen we afleiden dat als we onze Markov-keten lang genoeg latenlopen hij altijd in 0 terecht zal komen. De posterior zal een ontaarde verdelingin het punt 0 zijn.

We kunnen aan de hand van dit voorbeeld ook zien wat voor in-vloed het gebruik van een Markov-keten kan hebben. De ’burn-in’ periodeis het aantal stappen N dat we onze Markov-keten (Yn)n≥0 laten doen omvervolgens YN als trekking uit de posterior te accepteren. Als we de ’burn-in’periode te laag kiezen dan krijgen we totaal verkeerde resultaten. Als webijvoorbeeld in het bovenstaande limietgeval de Markov-keten in y=10 latenstarten en dan een burn-in periode van 10 kiezen, dan is de kans erg grootdat we resultaten krijgen die helemaal niet in de buurt van 0 liggen. Het isdaarom erg belangrijk dat we voor onze Markov-keten een goed aantal stap-pen kiezen. Als we echter een extreem groot aantal stappen kiezen, zal de

32

Page 35: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

computer er heel lang over doen om alle berekeningen uit te voeren. Om deMonte Carlo Markov-keten methode praktisch bruikbaar te houden, moetenwe op zoek naar de optimale balans tussen een zo groot mogelijke burn-inperiode en een zo kort mogelijk rekentijd van de computer.

33

Page 36: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Populaire samenvatting

In deze scriptie bespreken we Monte Carlo simulatie. Dat is het simulerenvan kansexperimenten met behulp van de computer. Een voorbeeld hiervanis het simuleren van een roulettewiel, zoals je die vaak in casino’s ziet. Inplaats van daadwerkelijk een balletje in het wiel te gooien en te wachtentotdat het op vakje stil komt te liggen, laten we de computer doen alsof weer een balletje ingooien. De computer geeft dan als antwoord een hokje,bijvoorbeeld 15 zwart, woor ons ’virtuele’ balletje terecht is gekomen.

Figuur 3.2: Een roulettewiel.

Er zijn verschillende technieken waamee een computer dergelijke sim-ulaties uit kan voeren. Twee klassieke methoden zijn de verwerpingsmethodeen inversie, waarvan de naam afgeleid is van het gebruik van de inverse vaneen cumulatieve distributie functie.

Deze klassieke methoden zijn echter niet goed genoeg om verschil-lende complexe kansexperimenten te simuleren. Om deze kansexperimententoch te kunnen simuleren, moeten we gebruik maken van zogenaamde Markov-ketens.

Markov-ketens beschrijven stochastische processen die tussen ver-schillende ’toestanden’ springen en die ’geheugenloos’ zijn. Dat wil zeggen

34

Page 37: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

dat alleen de huidige toestand invloed heeft op de volgende toestand van hetproces. We kunnen een Markov-keten weergeven als een gerichte gewogengraaf. Hierbij zijn de knopen van de graaf de verschillende toestanden engeven de gewichten van de pijlen de overgangskansen aan.

A

B

C D

2/3

1/3

1/41/2

1

1

Figuur 3.3: Een Markov-keten als graaf weergegeven.

De reden dat we naar Markov-ketens kijken als toevoeging aan deklassieke Monte Carlo simulatie, is dat Markov-ketens onder bepaalde voor-waarden convergeren naar een zogenaamde invariante distributie. Deze voor-waarden zijn aperiodiciteit en irreducibiliteit. Convergentie naar een invari-ante distributie wil zeggen dat als het proces, behorende bij een Markov-keten, een groot aantal stappen heeft gedaan, de kans dat hij in een bepaaldetoestand zit hetzelfde blijft voor elke stap daarna.

Als laatste kijken we naar de eerder genoemde complexe kansex-perimenten die we uit willen voeren. De manier waarop we ze nu kunnenuitvoeren, is door het laten lopen van een proces behorende bij een Markov-keten waarvan de verdeling convergeert naar een invariante distributie diebij ons kansexperiment hoort. Er zijn verschillende methoden om te zor-gen dat we een Markov-keten met de juiste invariante distributie kunnenmaken. Twee van die methoden worden beschreven door de Gibbs sampleren het Metropolis-Hastings algoritme. Deze algoritmen kunnen bijvoorbeeldgebruikt worden om in de Bayesiaanse statistiek de zogenaamde posterior tebenaderen als het te ingewikkeld is om deze analytisch uit te rekenen.

35

Page 38: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Appendix

A.1 Random number generator

Aan de basis van Monte Carlo simulatie staat een programma dat een onaf-hankelijke steekproef genereert. Meestal genereert zo’n programma getallenin het interval [0, 1] die statistisch gezien niet te onderscheiden zijn van onaf-hankelijke uniform(0, 1) verdeelde stochasten. Dit is echter verre van triviaal:om te garanderen dat zo’n programma dit goed doet moet het aan een aantalvoorwaarden voldoen.

Definitie 3.8. Een random number generator (RNG) of toevalsgenerator iseen programma dat getallen genereert en voldoet aan de volgende voorwaar-den. Hij moet

1. snel zijn;

2. herhaalbaar zijn;

3. wiskundig analyseerbaar zijn;

4. een lange periode hebben als hij een periode heeft

5. willekeurig genoeg zijn voor de beoogde toepassing

De lijst eisen in de bovenstaande definitie bestaat voornamelijk omtwee redenen. De eerste reden is dat een RNG veel getallen moet kun-nen genereren die allemaal willekeurig zijn of lijken. De tweede reden isdat we in staat willen zijn het programma te controleren op de gewenstewiskundige eigenschappen zoals bijvoorbeeld de distributie eigenschappenvan de gegenereerde getallen.

Methoden die men geprobeert heeft om getallen te genereren zijn:gebruik maken van elektronische schakelingen die witte ruis produceren ofgebruik maken van een geigerteller. Deze methoden hebben echter niet alleenhet nadeel dat er specialistische apparatuur voor nodig is.Ze zijn meestal ooktraag, niet herhaalbaar en hebben vaak de neiging om ’biased’ te worden.

36

Page 39: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Tegenwoordig zijn bijna alle RNG’s die computers gebruiken algoritmischegeneratoren. Deze zijn van de vorm

uitkomst = f(seeds, parameters).

Hierbij zijn parameters vantevoren vastgelegde waarden en zijn ’seeds’ degetallen die telkens, aan het begin van het te gebruiken algoritme, wordeningevoerd. Deze getallen kunnen afgeleid worden van externe bronnen, bij-voorbeeld door gebruik te maken van de tijd of ze kunnen intern wordenafgeleid, bijvoorbeeld door een getal van een opgeslagen lijst getallen te ne-men. Als er meerdere getallen moeten worden gesimuleerd dan is de seedvoor het eerste getal meestal een externe en wordt het gegenereerde getalsteeds gebruikt als seed voor het volgende getal.

De meest gebruikte generator is de zogenaamde lineaire congruentiegenerator. Deze is van de vorm

f(x) = (ax+ c) mod m voor zekere a, c,m ∈ N0

Hierbij zijn a, c,m de parameters en is een geheel getal x de seed. f(x) is hetgegenereerde getal en de seed voor het volgende getal dat gegenereerd wordt.

Als voorbeeld kunnen we a = 2, c = 5 en m = 7 als parametersnemen. Het is dan snel te zien dat het algoritme voor deze parametersniet goed willekeurige nummers genereert. Als we als begin seed 2 nemendan krijgen we namelijk steeds als uitkomst van het algoritme (2 ∗ 2 + 5)mod 7 = 2 en dat geeft geen reeks willekeurige getallen.

Aangezien we modulo aan het rekenen zijn zal onze reeks getallenuiteindelijk altijd in een periodieke lus komen. Ideaal gezien zou de lineairecongruentie generator dan een periode van lengtem hebben, want dan wordende gegenereerde getallen echt uniform gedistribueert over 0, ...,m − 1. Devolgende stelling geeft ons onder weke voorwaarden dit mogelijk is.

Stelling 3.9. De lineaire conguentiegenerator f(x) = (ax+ c) mod m heeftperiode m d.e.s.d.a.

1. c relatief priem is ten opzichte van m;

2. a− 1 een veelvoud van p is voor elk priemgetal p dat m deelt;

3. a− 1 een veelvoud van 4 is als 4 m deelt.

Voor het bewijs zie [8].Een voorbeeld van een lineaire congruentie generator die hieraan

voldoet is f(x) = ((4`+ 1)x+ 1) mod m voor alle ` ∈ N.

37

Page 40: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Het is snel te zien dat zo’n RNG aan alle voorwaarden voldoet diewe in de definitie gezet hebben. Door de vorm van het algoritme is hetsnel, herhaalbaar en analyseerbaar. Als daarnaast aan de voorwaarden vande bovenstaande stelling is voldaan, is de verdeling van de uitkomsten mooiuniform. Alsm ook nog groot gekozen is, dan is de periode ook lang. Ervaringleert echter wel dat de keuze van de parameters vaak belangrijk is om deuitkomsten zo willekeurig mogelijk te laten lijken.

Als we in het bovenstaande voorbeeld ` = 1 nemen en een kleineseed dan krijgen we eerst een rij oplopende getallen. Als de seed 1 is dankrijgen we bijvoorbeeld 6, 31, 781, 3906, ... en dat lijkt natuurlijk niet op eenwillekeurige rij getallen tussen de 0 en 232.

Als we een goede lineaire congruentie generator gevonden hebbendan kunnen we als laatste de gegenereerde getallen delen door m om getallenin [0, 1] te krijgen.

Om te testen of een bepaalde RNG daadwerkelijk data produceertdie lijkt op realisaties van een uniform[0, 1] verdeelde stochast, bestaan erzogenaamde ’goodness of fit’ toetsen. Een voorbeeld hiervan is de Chi-kwadraatstoets. Dit type toets vergelijkt een steekproef van door de RNGgegenereerde data met de verwachtte uitkomst als de RNG echt realisatiesvan een uniform[0, 1] verdeelde stochast geeft en berekent de kans op dit ver-schil. Op basis van een zekere onzekerheidsdrempel kan vervolgens beslotenworden of de RNG bruikbaar is.

Merk als laatste op dat een algoritmische generator dus niet echt allegetallen tussen 0 en 1 kan genereren. Het blijft dus een discrete benaderingvan een uniform(0, 1) verdeelde stochast.

A.2 Bayesiaanse simulatie

Aan het eind paragraaf 3.4 hebben we een voorbeeld besproken, waarbijwe met behulp van het Metropolis-Hastings algoritme de posterior gingenbenaderen. Daarbij zijn toen een aantal opmerkingen gemaakt over hoe deuitkomst van deze simulatie kan varieren. We bespraken enerzijds hoe deuitkomst beinvloed wordt als de omvang van de steekproefdata groter wordt.Anderzijds bespraken we hoe de uitkomst beıvloed wordt door het aantalstappen dat we de Markov-keten laten maken, de zogenaamde burn-in tijd.In dit gedeelte van de appendix bekijken we een aantal simulaties die metMatlab gedaan zijn. De resultaten van de simulaties dienen als ondersteuningvan de opmerkingen in paragraaf 3.4.

Allereerst staat hieronder de Matlab code die gebruikt is om de si-mulaties uit te voeren:

38

Page 41: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

1 x=normrnd(0,1,1,10); % Trekkingen uit de normale verdeling2 n=1000; % Het aantal realisaties van de prior3 N= 10000; % De burn−in periode4 mx=mean(x);5 t=zeros(n,1);6 for i=1:n;7 y=10; % De beginpositie van de Markov−keten8 for j=0:N;9 z=normrnd(y,0.25);

10 u=rand(1);11 if ...

u≤exp(1/2*((y−1)ˆ2−(z−1)ˆ2))*exp(n/8*(2*(z−y)*mx+yˆ2−zˆ2));12 y=z;13 end14 end15 t(i)=y;16 end

Hieronder staat Figuur 3.4 met daarin vier histogrammen. Dezegeven een benadering van de posterior bij verschillende grootten van desteekproef. In alle vier de gevallen is het aantal trekkingen gelijk aan 1000en is de burn-in tijd vast gesteld op 2000 stappen. Het is te zien dat alsde hoeveelheid data grote wordt dat de benadering van de posterior steedsdichter rond 0 komt te liggen en dat de gepiektheid ook iets groter wordt.

Figuur 3.4: Vier histogrammen met verschillende steekproefgrootten: Links-boven 1, rechtsboven 1000, linksonder 100.000 en rechtsonder 1.000.000

Als laatste bekijken we simulaties met verschillende burn-in perioden. InFiguur 3.5 hieronder geven de histogrammen de gegenereerde benadering

39

Page 42: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

van de posterior weer. Hierbij is gekozen voor een startpunt y = 10, 1000trekkingen en de steekproefgrootte is 10. Bij de lage burn-in tijd is nogduidelijk het residuele effect van het starten in y = 10 waar te nemen, terwijlhiervan bij het andere histogram weinig van te zien is.

Figuur 3.5: Twee histogrammen met verschillende burn-in perioden: Links100 en rechts 10000

40

Page 43: Monte Carlo Markov-ketens - UvA · 2020. 9. 3. · om Monte Carlo Markov-ketens toe te kunnen passen. We be-spreken hiervan de twee methodes: de Gibbs sampler en het Metropolis-Hastings.

Bibliografie

[1] N. Metropolis, The beginning of the Monte Carlo method, 125-130, LosAlamos Science, 1987.

[2] R.W. Shonkwiler; G. Mendivil, Explorations in Mote Carlo Methods,Springer, 2009.

[3] J.R. Norris, Markov Chains, Cambridge University Press, 1997.

[4] B. van Es, Monte Carlo Markov Chain Simulation, Universiteit van Am-sterdam, 2011.

[5] G.O. Roberts, General state space Markov chains and MCMC algorithms,Probability Surveys, 1, 20-71, 2004

[6] N. Metropolis; A.W. Rosenbluth; M.N. Rosenbluth; A.H. Teller; E.Teller,Equations of State Calculations by Fast Computing Machines, Journal ofChemical Physics, 21, 1087-1092, 1953.

[7] W.K. Hastings, Monte Carlo Sampling Methods Using Markov Chainsand Their Applications, Biometrika, 57, 97-109, 1970.

[8] D.E. Knuth The Art Of Computer Programming: Volume 2, AddisonWesley Longman, 1997.

41