Viime kerralla Johdatus hierarkisiin malleihin Vaihtokelpoisuus Slide 1 Hierarkinen malli Esimerkki: sydäntautien hoidon tehokkuus Jos oletetaan, että sairaaloissa on eroja, kaikki potilaat eivät ole vaihtokelpoisia keskenään Hierarkinen malli - oletetaan sairaalat vaihtokelpoisiksi Slide 2 - oletetaan samassa sairaalassa hoidetut potilaat vaihtokelpoisiksi keskenään
Vaihtokelpoisuus Havainnot y 1,..., y n ovat vaihtokelpoisia yhteisjakaumassaan jos p(y 1,..., y n ) on invariantti indeksien (1,..., n) permutaatioille Parametrit θ 1,..., θ J ovat vaihtokelpoisia yhteisjakaumassaan jos p(θ 1,..., θ J ) on invariantti indeksien (1,..., J ) permutaatioille Slide 3 Vaihtokelpoisuuden yksinkertaisin muoto (ei ainoa) on riippumattomat näytteet priori- tai populaatiojakaumasta J p(θ φ) = p(θ j φ) j=1 Luento 7 Yleistä laskennasta mm. (luvut 10 ja 12) - karkea estimointi - posteriorimoodit - kuinka monta simulaationäytettä tarvitaan Slide 4 Monte Carlo (luku 11) - suora simulointi - hiladiskretointi - hylkäyspoiminta Markov-ketju Monte Carlo (luku 11) - Gibbs-poiminta - Metropolis- ja Metropolis-Hastings-algoritmit - simulaationäytteiden käyttö - konvergenssidiagnostiikka
Jakaumista Yhteisjakauman faktorointi erilaisiin osiin - ehdollinen posteriorijakauma - marginaalinen posteriorijakauma - esim. p(θ y) = p(γ, φ y) = p(γ φ, y)p(φ y) Normalisoidut ja normalisoimattomat jakaumat Slide 5 - usein laskennassa riittää normalisoimaton jakauma - q(θ y) on normalisoimaton tiheysjakauma jos q(θ y)/ p(θ y) on vakio joka rippuu vain y:stä - esim. p(y θ) p(θ) on normalisoimaton posteriorijakauma Log-tiheydet - yli- ja alivuotojen välttämiseksi laskenta usein suoritettava log-tiheyksillä - potenssiin korotus kannattaa tehdä mahdollisimman myöhään - esim. Metropolis-algoritmissa tiheyksien suhde lasketaan log-tiheyksien erotuksena Karkea estimointi Ennen tarkeampien laskennallisten menetelmien käyttöä on usein hyvä muodostaa karkea estimaatti - alkuarvaus monimutkaisemmalle algoritmille - monimutkaisemman algoritmin järkevyystarkastus - joillekin monimutkaisille malleille karkean estimaatin muodostaminen voi olla vaikeampaa kuin suoraan monimutkaisemman menetelmän käyttö Slide 6 Hierarkiset mallit - approksimoidaan hyperparametrit karkeasti Posteriorimoodit - etsitään yhteis- tai marginaalijakauman moodi(t) optimointialgoritmilla - muodostetaan normaali-, sekanormaali- tai vastaava approksimaatio - käytetään suoraan, ehdotusjakaumana tai alkuarvausten muodostamisessa - monimutkaisemmilla malleilla posteriorijakauma voi olla hvyin vino ja moodi ei kuvaa hyvin posteriorijakaumaa
Variaatiolaskenta* Valitaan parametrisoitu approksimaatio joka analyttisesti mielyttävää muotoa ja etsitään parametrit joiden avulla approksimaatio mahdollisimman hyvä - ensemble learning - mean field approach - muita Slide 7 Monte Carlo menetelmiin verrattuna sopivan approksimaation valitseminen uuteen ongelmaan työläämpää, mutta kun approksimaatio valittu ja validoitu, laskenta on paljon nopeampaa Soveltuvat erityisesti hyvin kun dataa hyvin paljon ja uuden datan saapuessa laskentanopeus kriittinen Voidaan käyttää yhdessä Monte Carlon kanssa Monte Carlo - historiaa* Käytetty jo ennen tietokoneita, esim. - Buffon (1700-luku) - De Forest, Darwin, Galton (1800-luku) - Pearson (1800-luku) - Gosset (eli Student, 1908) Slide 8 "Monte Carlo method" termiä ehdotti von Neumann, Ulam tai Metropolis 1940-luvun lopulla - von Neumann, Ulam ja Metropolis työskentelivät yhdessä atomipommi-projektissa - Metropolis ja Ulam, "The Monte Carlo Method", 1949 Bayes-menetelmien käyttäjille vasta 1990 luvulla riittävästi halpaa laskenta-aikaa - tätä ennen käyttö vähäistä, vaikka bayesilaisakin osallistui teorian ja menetelmien kehittämiseen
Monte Carlo Perusidea on poimia simulaationäytteitä jakaumasta - näitä näytteitä voidaan käsitellä aivan samalla tavalla kuin havaintoja yleensäkin Näytteiden avulla helppo - laskea odotusarvoja ja hajontoja Slide 9 - laskea kvantiileja - piirtää histogrammeja - marginalisoida - jne. Suora simulointi (direct simulation) Olette jo suoraa simulointia käyttäneet Perusoletus, että mahdollisuus tuottaa (pseudo)satunnaislukuja uniformijakaumasta - bayesilaisessa mallintamisessa hyvät pseudosatunnaislukugenerattorit oikein käytettynä riittäviä (esim. Matlabin generaattori on hyvä) Slide 10 Perusjakaumista voidaan poimia suoraan perusalgoritmeilla Yksiulotteista voidaan poimia inverse-cdf-menetelmällä Jakauma voidaan myös faktroida, jolloin poimitaan ensin marginaalijakaumasta ja sitten ehdollisista jakaumista
Simulointi perusjakaumista* Esim: Box-Muller -menetelmä: Jos U 1 ja U 2 ovat riippumattomia näytteitä jakaumasta U(0, 1), ja X 1 = 2 log(u 1 ) cos(2πu 2 ) X 2 = 2 log(u 1 ) sin(2πu 2 ) niin X 1 ja X 2 ovat riippumattomia näytteitä jakaumasta N(0, 1) Slide 11 - ei nopein vaihtoehto trigonometristen laskutoimitusten vuoksi - erilaisia vaihtoehtoja normaalijakaumalle reilu kymmenen - Matlabissa käytetään nopeaa Ziggurat-menetelmää Usein perusjakaumille valmiit funktiot - valitettavasti Matlabissa uniformia ja normaalia lukuunottamatta todella hitaat toteutukset hyvistä algoritmeista huolimatta Perusjakaumille algoritmeja kirjoissa - valitettavasti painovirheiden vuoksi tulokset aina tarkistettava Montako simulaationäytettä tarvitaan? Tuntemattoman suureen odotusarvo E(θ) 1 L l θ (l) jos L suuri ja θ (l) riippumattomia näytteitä, voidaan olettaa tämän odotusarvon olevan normaalijakautunut varianssilla σ 2 θ /L Slide 12 - tämä varianssi on riippumaton jakauman ulottuvuuksien määrästä - yhteenlaskettu varianssi on summa datasta johtuvasta epävarmuudesta ja Monte Carlosta johtuvasta epävarmuudesta σθ 2 + σ θ 2 /L = σ θ 2 (1 + 1/L) - jos L = 100, hajonta kasvaa kertoimella 1 + 1/L = 1.005 eli Monte Carlo -virhe on lähes olematon
Montako simulaationäytettä tarvitaan? Posterioritodennäköisyys p(θ A) 1 L I (θ (l) A) l Slide 13 missä I (θ (l) A) = 1 jos θ (l) A - I ( ) binomijakautuneita parametrilla p(θ A) - binomijakauman hajonta on p(1 p)/l - jos L = 100 ja p noin 0.5, p(1 p)/l = 0.05 eli saadaan 5%-yksikön tarkkuus - tarvitaan L = 2500 simulaationäytettä, jotta tarkkuus 1%-yksikkö Pienten todennäköisyyksien arvioimiseen tarvitaan paljon näytteitä - jotta p voidaan approksimoida hyvin, pitää riittävän monen näyteeen toteuttaa θ (l) A, joten oltava L 1/p Montako simulaationäytettä tarvitaan? Kvantiilit - kun halutaan q-kvantiili, valitaan a siten, että p(θ < a) = q eli Slide 14 1 I (θ (l) < a) q L l - jotta a voidaan approksimoida hyvin, pitää riittävän monen näyteeen toteuttaa θ (l) < a tai θ (l) > a, joten oltava L 1/q ja L 1 1/q
Montako simulaationäytettä tarvitaan?* Tapauskohtaisesti voidaan approksimoida hajonta Monte Carlon epävarmuus voidaan approksimoida tietenkin myös simuloimalla - käytetään approksimoivaa jakaumaa simulaationäytteille, jonka avulla voidaan poimia näytteitä yhteenvetolukujen jakaumista Slide 15 Esim. approksimoidaan diskreetillä-jakaumalla, jonka todennäköisyydet Dirichlet-jakautuneita - toimii myös jos yhteenvetojakauma ei-normaali - Rubin (1981) nimesi tämän Bayesian bootstrap:iksi Montako simulaationäytettä tarvitaan? Osittain analyyttisesti laskeminen - usein jakauma faktoroitu siten, että alin taso laskettavissa myös suljetussa muodossa annettuna hyperparametrit E(θ) 1 E(θ φ (l) ) L l Slide 16 missä φ (l) näytteitä hyperparametrien jakaumasta - erityisesti prediktiivisille jakaumille usein käytettävissä Valmennuskurssiesimerkki - todennäköisyys, että A-koulun efekti suurempi kuin 50 - pelkästään simuloimalla 10000:sta simulaationäytteestä vain 3 suurempia kuin 50 - Pr(θ 1 > 50 µ, τ, y) voidaan laskea analyytisesti (normaalijakauma), jolloin suhteelliseen hyvään tarkkuuteen riittää 200 simulaationäytettä
Hiladiskretointi Olette jo hiladiskretointia käyttäneet Diskretoidaan paramteriavaruus hilassa ja lasketaan diskreetin jakauman normalisointitermi Diskreetistä jakaumasta helppo poimia näytteitä Slide 17 Ulottuvuuksien kasvaessa hilassa olevien pisteiden määrä kasvaa exponentialisesti Hylkäyspoiminta (rejection sampling) Valitaan ehdotusjakauma g(θ) (proposal distribution) josta helppo simuloida näytteitä ja joka muistuttaa kiinnostavaa jakaumaa p(θ y) q(θ y) - molempien jakaumien on oltava aitoja (proper), mutta voivat olla normalisoimattomia - on oltava olemassa tunnettu vakio M siten, että kaikille θ pätee Slide 18 q(θ y) Mg(θ) 1 Algoritmi 1. poimi θ ehdotusjakaumasta g(θ) 2. hyväksy θ todennäköisyydellä q(θ y)/(mg(θ)) jos θ hylätään, palaa askeleeseen 1 - hyväksytyt θ:t ovat näytteitä jakaumasta p(θ y) Esim7_1.m
Hylkäyspoiminta (rejection sampling) Toimii jos ehdotusjakauma g on hyvä approksimaatio q:lle - jos ehdotusjakauma g on hyvin erilainen, hylkäysten määrä on suuri ja todellisia näytteitä saadaan hitaasti - keskimäärinen hylkäystodennäköisyys kertoo menetelmän toimivuuden Slide 19 Yksiulotteisille log-konkaaveille ja lähes log-konkaaveille jakaumille tehokkaita adaptiivisia ehdotusjakauman muodostusalgoritmeja Ulottuvuuksien määrän kasvaessa hyvän ehdotusjakauman valitseminen vaikeampaa - esim: q ja p molemmat normaalijakaumia σ q = 1.01σ p - jos N = 1000 pitää olla M 20000 - hyväksymistodennäköisyys on 1/M Painotuspoiminta (importance sampling) (s. 342)* Muistuttaa hylkäyspoimintaa, mutta painot voivat olla myös suurempia kuin 1 Perusmenetelmä ei tuota näytteitä kiinnostavasta jakaumasta vaan estimoi f (θ):n odotusarvon seuraavasti l E( f (θ)) w l f (θ (l) ) l w, missä w l q(θ (l) ) l g(θ (l) ) Slide 20 Esim7_2.m Luotettavuuden arviointi vaikeaa, jos ehdotusjakauman tiheys hyvin pieni alueilla, missä kiinnostavan jakauman tiheys ei ole hyvin pieni - painojen varianssista voidaan yrittää arvioida efektiivisten näytteiden määrä Painotuspoiminta uudelleen-poiminalla - p(θ y) approksimoidaan diskreetillä jakaumalla, joka saa arvoja pisteissä jotka poimittu ehdotujakaumasta g(θ) ja tiheysarvot ovat normalisoidut painot - tuottaa näytteitä kiinnostavasta jakaumasta
Markov-ketju Monte Carlo (MCMC) Markov-ketju - Markov-ketjujen ominaisuuksia käsitellään mm. Stokastiset prosessit -kurssilla - satunnaismuuttujien sarja θ 1, θ 2,..., jolle pätee kaikilla t:n arvoilla, että θ t :n jakauma riippuu vain θ t 1 :stä (ensimmäisen asteen) - aloituspiste θ 0 Slide 21 - siirtymäjakauma T t (θ t θ t 1 ) (voi riippua t:stä) - sopivasti valitun Markov-ketjun stationäärinen jakauma on p(θ y) - peräkkäiset simulaationäytteet eivät ole riippumattomia Kirjan perustelut MCMC-menetelmille hyvin pintapuolisia - tällä kurssilla oletetaan, että esitetyt menetelmät toimivat - jatkokurssilla voidaan tutkia tarkemmin miksi ne toimivat ja millä säännöillä voidaan yhdistellä ja muokata menetelmiä ja luoda uusia menetelmiä Gibbs-poiminta Tämän nimen antoivat Geman & Geman (1984) fysiikassa tunnetaan myös nimellä heat bath method Poimitaan näytteitä vuorotellen jokaisen parametrin täydellisestä ehdollisesta jakaumasta (full condtional distribution) annettuna kaikki muut parametrit Slide 22 missä θ t 1 j p(θ j θ t 1 j, y) on kaikki muut parametrit paitsi θ j sen hetkisillä arvoillaan θ t 1 j = (θ t 1,..., θ t j 1, θ t 1 j+1,..., θ t 1 d ) - yhden aika-askeleen t aikana päivitetään vuorotellen jokainen θ j
Gibbs-poiminta Esimerkki: yksi kaksiulotteinen havainto (y 1, y 2 ) - normaalijakaumamalli tuntemattomalla keskiarvolla ja tunnettulla kovarianssilla θ 1 y N y 1, 1 ρ ρ 1 θ 2 y 2 Slide 23 - ehdolliset jakaumat θ 1 θ 2, y N(y 1 + ρ(θ 2 y 2 ), 1 ρ 2 ) θ 2 θ 1, y N(y 2 + ρ(θ 1 y 1 ), 1 ρ 2 ) Matlab-demo Gibbs-poiminta Käytettäessä semikonjugaattisia prioreja (ja hyperprioreja) voidaan monille malleille laskea täydet ehdolliset jakaumat analyyttisesti ja voidaan poimia näytteitä suoraan - esim. hierarkinen normaalijakaumamalli - BUGS-ohjelma Slide 24 Jos joku ehdollinen jakauma ei helppoa muotoa, voidaan käyttää myös monia tehokkaita yleisalgoritmeja yksiulotteisesta jakaumasta poimimiseen Joskus päivitetään yhtäaikaa useampaa parametria annettuna muut paramterit (blocking)
Metropolis-algoritmi Metropolis-algoritmi ja sen yleistykset ovat kaikkien MCMC-algoritmien perusta Algoritmi Slide 25 1. alkupiste θ 0 2. t = 1, 2,... (a) poimi ehdotus θ ehdotusjakaumasta J t (θ θ t 1 ) ehdotusjakauman pitää olla symmetrinen, eli J t (θ a θ b ) = J t (θ b θ a ), kaikille θ a, θ b (b) laske suhde (c) aseta r = p(θ y) p(θ t 1 y) θ t θ todennäköisyydellä min(r, 1) = θ t 1 muuten - siirtymäjakauma on sekoitus pistemassaa pisteessä θ t = θ t 1 ja ehdotusjakaumaa J t (θ θ t 1 ) Metropolis-algoritmi Algoritmi Slide 26 1. alkupiste θ 0 2. t = 1, 2,... (a) poimi ehdotus θ ehdotusjakaumasta J t (θ θ t 1 ) ehdotusjakauman pitää olla symmetrinen, eli J t (θ a θ b ) = J t (θ b θ a ), kaikille θ a, θ b (b) laske suhde (c) aseta r = p(θ y) p(θ t 1 y) θ t θ todennäköisyydellä min(r, 1) = θ t 1 muuten - p(θ y):n sijasta kelpaa normalisoimaton q(θ y) - c-kohta suoritetaan arpomalla yksi luku jakaumasta U(0, 1) - ehdotuksen hylkääminen on myös yksi iteraatio (eli t kasvaa yhdellä)
Metropolis-algoritmi Esimerkki: yksi kaksiulotteinen havainto (y 1, y 2 ) - normaalijakaumamalli tuntemattomalla keskiarvolla ja tunnettulla kovarianssilla θ 1 y N y 1, 1 ρ ρ 1 θ 2 y 2 Slide 27 - ehdotusjakauma J t (θ θ t 1 ) = N(θ θ t 1, 0.8 2 ) Matlab-demo Metropolis-algoritmi Suhde stokastiseen optimointiin - simuloidussa jäähdytyksessä samankaltainen idea: hyppy todennäköisempään hyväksytään aina, mutta hyppy pienempään todennäköisyyteen hyväksytään jollakin todennäköisyydellä - simuloidussa jäähdytyksessä lämpötilan laskiessa yhä harvempi hyppy pienempään todennäköisyyteen hyväksytään Slide 28 - simuloidun jäähdytyksen tarkoitus löytää moodi Metropolis-algoritmilla näytteitä jakaumasta
Miksi Metropolis-algoritmi toimii 1. Todistettava, että simuloitu sarja on Markov-ketju, jolla yksikäsitteinen stationaarinen jakauma 2. Todistettava, että stationaarinen jakauma on haluttu kohdejakauma Slide 29 Miksi Metropolis-algoritmi toimii 1. Todistettava, että simuloitu sarja on Markov-ketju, jolla yksikäsitteinen stationaarinen jakauma; tämä voidaan todistaa osoittamalla että ketju toteuttaa seuraavat ominaisuudet - pelkistymätön (irreducible) - jaksoton (aperiodic) - ei transientti (not transient) Slide 30 näistä kaksi viimeistä pätevät satunnaiskävelylle mille tahansa aidolle jakaumalle triviaaleja poikkeuksia lukuunottamatta ja ensimmäinen pätee jos kaikista tiloista voidaan päästä kaikkiin muihin tiloihin positiivisella todennäköisyydellä
Miksi Metropolis-algoritmi toimii Slide 31 2. Todistettava, että stationaarinen jakauma on haluttu kohdejakauma - aloitetaan algoritmi hetkellä t 1 poimimalla θ t 1 kohdejakaumasta p(θ y) - valitaan kaksi pistettä θ a ja θ b jotka poimittu jakaumasta p(θ y) ja nimetty siten, että p(θ b y) p(θ a y) - todennäköisyystiheys siirtymälle θ a :sta θ b :hen p(θ t 1 = θ a, θ t = θ b ) = p(θ a y)j t (θ b θ a ) missä hyväksymistodennäköisyys on 1 valitun nimeämisen vuoksi - todennäköisyystiheys siirtymälle θ b :stä θ a :han ( ) p(θ t = θ a, θ t 1 p(θa y) = θ b ) = p(θ b y)j t (θ a θ b ) p(θ b y) = p(θ a y)j t (θ a θ b ) mikä on sama kuin siirtymälle θ a :sta θ b :hen, koska J t ( ) symmetrinen - koska yhteisjakauma symmetrinen, θ t :n ja θ t 1 :n marginaalijakaumat ovat sama ja siten p(θ y) on Markov-ketjun stationaarinen jakauma Metropolis-Hastings -algoritmi Metropolis-algoritmin yleistys epäsymmetriselle ehdotusjakaumalle - joskus Hastingsin nimi jätetään mainitsematta - epäsymmetrisyys otetaan huomioon hyppytodennäköisyyttä laskettaessa r = p(θ y)/j t (θ θ t 1 ) p(θ t 1 y)/j t (θ t 1 θ ) = p(θ y)j t (θ t 1 θ ) p(θ t 1 y)j t (θ θ t 1 ) Slide 32 - mahdollistaa tehokkaampia algoritmeja - todistus vastaavasti kuten edellä, mutta nimetään pisteet θ a ja θ b siten, että p(θ b y)j t (θ a θ b ) p(θ a y)j t (θ b θ a )
Metropolis-Hastings-Green -algoritmi* Yleisemmin nimellä Reversible jump Markov chain Monte Carlo (RJMCMC) Metropolis-Hastings -algoritmin yleistys kun parametriavarus voi vaihtua - trans-dimensional method - parametriavaruuden muuttuminen otetaan huomioon hyppytodennäköisyyttä laskettaessa Slide 33 - mahdollistaa epävarmuuden mallin rakenteesta Metropolis-algoritmi Ideaalinen ehdotusjakauma on kohdejakauma itse - J (θ θ) p(θ y) kaikille θ - hyväksymistodennäköisyys on 1 - simulaationäytteet riippumattomia - käytännössä ei tietenkään yleensä mahdollista Slide 34 Metropolis-algoritmin optimaalinen hylkäystaajuus on 55 77%, ulottuvuuksien määrästä riippuen Metropolis-algoritmissa voidaan päivittää parametreja yhtäaikaa, ryhmissä tai yksittäin (vrt. Gibbs-poiminta)
Gibbs-poiminta Gibbs-poiminta on Metropolis-algoritmin erikoistapaus - ehdotusjakaumana ehdollinen jakauma - hyväksymistodennäköisyys 1 (ks. kirja s. 293) Gibbs-poiminnassa ehdollisista jakaumista voidaan poimia esim. Metropolis-algoritmilla, jos ehdollinen jakauma ei helppoa muotoa Slide 35 Satunnaiskävely* Satunnaiskävelyn vuoksi keskimäärinen näytteiden määrä T, joka tarvitaan matkaan jakauman laidasta toiseen - Gibbs: T (σ marginal /σ conditional ) 2 esimerkissä T 3 - Metropolis: T (σ max /σ min ) 2 esimerkissä T 9 Slide 36 Satunnaiskävelyä voidaan vähentää - uudelleen parametrisoimalla - satunnaiskävelyä vähentävillä algoritmeilla
Päättely MCMC-näytteistä MCMC-ketjun alkupää ei käyttökelpoinen ennenkuin alkupiste unohtunut - jätetään ketjun alkupäästä näytteitä käyttämätä (burn-in) MCMC-näytteet eivät riippumattomia - Monte Carlo -estimaatit silti päteviä - Monte Carlo -estimaatin epävarmuuden arviointi vaikeampaa Slide 37 - tästä olikin jo esimerkissä - mahdollista arvioida efektiivinen näytteiden määrä ajamalla rinnakkaisia riippumattomia ketjuja käyttämällä aikasarja-analyysin menetelmiä Sisäänajo (burn-in) Yhden ketjun tapauksessa poista alkupäästä niin monta näytettä, että jäljelle jääneestä ketjusta mikä tahansa (riittävän pitkä) pätkä ei erotu muista Usean ketjun tapauksessa poista alkupäästä niin monta näytettä, että eri ketjut eivät erotu toisistaan Slide 38
Ohennus (thinning) Ei välttämätöntä Ohennuksessa talletetaan vain joka k:s MCMC-näyte - valitsemalla k riittävän isoksi jäljelle jääneet näytteet lähes riippumattomia - säästää muistia ja levytilaa - nopeuttaa simulaationäytteisiin perustuvaa päättelyä Slide 39 - helpottaa Monte Carlo -epävarmuuden arvioimista (jos k osattu arvioida oikein) Yksinkertainen tapa on tutkia autokorrelaatioita ja valita k siten, että ohennetun ketjun autokorrelaatio on nollaa suuremmille etäisyyksille (lähes) nolla - tästä enemmän ensi viikolla Useita ketjua eri alkuarvoilla Eri alkuarvoilla aloitettujen ketjujen pitäisi konvergoiduttua ei ketjuja (tai niihin perustuvia päättelyitä) voi erottaa toisistaan Matlab-esimerkki Verrataan yksittäisten ketjujen variansseja (within) ja ketjuen välistä varianssia (between) Slide 40 Jatkuu ensi viikolla...