Laboration 3: Hierarkiska binomialmodeller i R

Relevanta dokument
Lycka till!

Exempel på tentamensuppgifter

b) antalet timmar Lukas måste arbeta för att sannolikheten att han ska hinna med alla 112 datorerna ska bli minst (3 p)

Föreläsning 11: Mer om jämförelser och inferens

1. En kortlek består av 52 kort, med fyra färger och 13 valörer i varje färg.

Matematisk statistik KTH. Formelsamling i matematisk statistik

SF1901: SANNOLIKHETSTEORI OCH STATISTIKTEORI KONSTEN ATT DRA INTERVALLSKATTNING. STATISTIK SLUTSATSER. Tatjana Pavlenko.

Statistiska metoder för säkerhetsanalys

Inledning till statistikteorin. Skattningar och konfidensintervall för μ och σ

Lektionsanteckningar 11-12: Normalfördelningen

Föreläsningsanteckningar till kapitel 8, del 2

4 Diskret stokastisk variabel

Matematisk statistik för B, K, N, BME och Kemister

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 14 18

SF1911: Statistik för bioteknik

Tentamen MVE301 Sannolikhet, statistik och risk

Matematisk statistik TMS064/TMS063 Tentamen

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Uppgift 1 a) En kontinuerlig stokastisk variabel X har fördelningsfunktion

Matematisk statistik KTH. Formel- och tabellsamling i matematisk statistik

Tentamen i Matematisk statistik Kurskod S0001M

Första sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade

SF1922/SF1923: SANNOLIKHETSTEORI OCH INTERVALLSKATTNING. STATISTIK. Tatjana Pavlenko. 24 april 2018

9. Konfidensintervall vid normalfördelning

MVE051/MSG Föreläsning 7

Tentamen MVE300 Sannolikhet, statistik och risk

Repetitionsföreläsning

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Avd. Matematisk statistik

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall)

Tentamen MVE302 Sannolikhet och statistik

bli bekant med summor av stokastiska variabler.

SF1922/SF1923: SANNOLIKHETSTEORI OCH DISKRETA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 23 mars, 2018

Demonstration av laboration 2, SF1901

Kapitel 4. Kontinuerliga slumpvariabler och deras sannolikhetsfördelningar. Sannolikhetslära och inferens II

Stokastiska processer med diskret tid

0 om x < 0, F X (x) = x. 3 om 0 x 1, 1 om x > 1.

F9 SAMPLINGFÖRDELNINGAR (NCT

SF1901: Medelfel, felfortplantning

Avd. Matematisk statistik

DATORÖVNING 2 MATEMATISK STATISTIK FÖR D, I, PI OCH FYSIKER; FMSF45 & MASB03. bli bekant med summor av stokastiska variabler.

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

TMS136. Föreläsning 10

Thomas Önskog 28/

Stokastiska processer och simulering I 24 maj

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Tentamen i Matematisk statistik Kurskod S0001M

Avd. Matematisk statistik

Kap 3: Diskreta fördelningar

Tentamen MVE301 Sannolikhet, statistik och risk

8 Inferens om väntevärdet (och variansen) av en fördelning

TAMS79: Föreläsning 10 Markovkedjor

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall) Jan Grandell & Timo Koski

Lufttorkat trä Ugnstorkat trä

Tentamen MVE301 Sannolikhet, statistik och risk

Föreläsning 12: Linjär regression

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd

TAMS17/TEN1 STATISTISK TEORI FK TENTAMEN ONSDAG 10/ KL

Tentamen MVE301 Sannolikhet, statistik och risk

Tentamen i Matematisk statistik Kurskod S0001M

Faderns blodgrupp Sannolikheten att barnet skall få blodgrupp A0 A0 1/2 AA 1 AB 1/2 Övriga 0

SF1901 Sannolikhetsteori och statistik I

Tentamen MVE301 Sannolikhet, statistik och risk

Tryckfel i K. Vännman, Matematisk Statistik, upplaga 2:13

Matematisk statistik allmän kurs, MASA01:B, HT-14 Laborationer

Tentamen i TMA321 Matematisk Statistik, Chalmers Tekniska Högskola.

Föreläsning 4: Konfidensintervall (forts.)

Matematisk statistik TMS063 Tentamen

ESS011: Matematisk statistik och signalbehandling Tid: 14:00-18:00, Datum:

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 08-12

Preliminärt lösningsförslag - omtentamen i Finansiell statistik,

FÖRELÄSNING 8:

1 Stora talens lag. Laboration 2 Matematisk statistik allmän kurs, MASA01:A, HT Teori. 1.2 Uppgifter

AMatematiska institutionen avd matematisk statistik

(b) Bestäm sannolikheten att minst tre tåg är försenade under högst tre dagar en given vecka.

Föreläsning 7. Statistikens grunder.

SF1901: Sannolikhetslära och statistik

Avd. Matematisk statistik

SF1901: Sannolikhetslära och statistik

Våra vanligaste fördelningar

Tenta i Statistisk analys, 15 december 2004

Tentamen i Matematisk statistik Kurskod S0001M

Avd. Matematisk statistik

träna på att använda olika grafiska metoder för att undersöka vilka fördelningar ett datamaterial kan komma från

f(x) = 2 x2, 1 < x < 2.

LINKÖPINGS UNIVERSITET EXAM TAMS 27 / TEN 2

FÖRELÄSNING 7:

Matematisk statistik för B, K, N, BME och Kemister

Föreläsning 8, Matematisk statistik 7.5 hp för E Punktskattningar

Uppgift 1. f(x) = 2x om 0 x 1

Tentamen i Matematisk statistik Kurskod S0001M

Del I. Uppgift 1 Låt X och Y vara stokastiska variabler med följande simultana sannolikhetsfunktion: p X,Y ( 2, 1) = 1

Oberoende stokastiska variabler

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Institutionen för teknikvetenskap och matematik, S0001M LABORATION 2

Matematisk statistik 9 hp, HT-16 Föreläsning 10: Punktskattningar

FACIT: Tentamen L9MA30, LGMA30

Transkript:

STOCKHOLMS UNIVERSITET 2 mars 2006 Matematiska institutionen Avd. för matematisk statistik Mikael Andersson Laboration 3: Hierarkiska binomialmodeller i R Även i denna laboration skall ni jobba med hierarkiska modeller, fast med binomialfördelade observationer i stället för normalfördelade som i Laboration 2. Dessutom skall ni använda två olika (men snarlika) modeller och göra en jämförelse mellan dem.. Mycket av tankegångarna från Laboration 2 kommer igen här, men det blir förstås andra uttryck för stickprovs-, à priori- och hoppfördelningar. Teoretisk bakgrund Detta avsnitt bygger på avsnitt 5.3 i kursboken. Låt oss anta att vi har betingat oberoende och binomialfördelade observationer givet parametern θ från J olika grupper enligt y j θ j Bin(n j, θ j ) j =, 2,..., J Vi antar vidare att parametrarna θ, θ 2,..., θ J också är betingat oberoende givet hyperparametrarna α och β och följer en betafördelning enligt θ j α, β Beta(α, β) j =, 2,..., J Slutligen ansätter vi den icke-informativa à priorifördelningen p(α, β) (α + β) 5/2 Enligt Bayes formel kan nu à posteriorifördelningen skrivas J p(θ, α, β y) p(α, β)p(θ α, β)p(y θ) p(α, β) p(θ j α, β)p(y j θ j ) j=

(α + β) 5/2 (α + β) 5/2 J Γ(α + β) j= Γ(α)Γ(β) θα j ( θ j ) β θ y j j ( θ j ) n j y j ( ) J Γ(α + β) J θ α+y j j ( θ j ) β+n j y j Γ(α)Γ(β) j= Vid numerisk beräkning av à posteriorifördelningen kan funktionen prod i R, som ger produkten av en vektor, vara användbar. 2 Metropolis-Hastingsalgoritm för den hierarkiska binomialmodellen Vi går även i den här laborationen direkt på konstruktionen av en funktion i R som simulerar en Markovkedja med à posteriorifördelningen ovan som stationär fördelning. Tankegången är liknande den i Laboration 2, nämligen att vi skall simulera nya värden för samtliga parametrar θ, θ 2,..., θ J en i taget. Däremot visar det sig olämpligt att simulera hyperparametrarna α och β var för sig eftersom deras sammanlagda fördelning är starkt osymmetrisk. Vi kommer till det senare. Börja som vanligt med att starta en textredigerare och skriv in MHalg3 <- function(m,n,y,theta0,alfa0,beta0,d,d2,d3){ Precis som i Laboration 2 kommer m att representera antal simulerade steg i kedjan, medan n är en vektor bestående av totalantalen n, n 2,..., n J i de olika grupperna. De simulerade värdena θ t j kommer att lagras i den m J-dimensionella matrisen theta på precis samma sätt som i Laboration 2, medan α t och β t lagras i vektorerna alfa och beta. Börja som tidigare med att skapa de tomma vektorerna theta <- array(dim=c(m+,j)) alfa <- c() beta <- c() och låta de första värdena för parametrarna vara lika med startvärdena enligt theta[,] <- theta0 alfa[] <- alfa0 beta[] <- beta0 och bestäm antal grupper med J <- length(y) Själva uppdateringarna av parametervärdena kommer nu att följa nästan exakt samma struktur som i Laboration 2 utom att uttrycken för acceptanskvoten r kommer att bli annorlunda, på grund av att vi använder oss av en annorlunda à posteriorifördelning, och 2

andra hoppfördelningar, på grund av att parametrarna har andra egenskaper. Vi kan därför använda oss av en stor for-sats för att hålla reda på stegen i kedjan och en mindre for-sats för de komponentvisa uppdateringarna av θ j -parametrarna. I den mindre for-satsen kan vi använda den temporära vektorn thetat på precis samma sätt som förut. När det gäller hoppfördelningen för varje θ j så skall vi däremot konstruera den på ett nytt sätt. Eftersom alla θ j ligger mellan 0 och så är det olämpligt att använda en likformig eller normalfördelad hoppfördelning direkt utan vi skall utgå från logoddset θ j φ j = log θ j i stället, som ju är obegränsat både nedåt och uppåt. Uppdateringen θj därför att följa mönstret a. Beräkna φ t j b. Simulera φ = φ t + Y. = log(θj t /( θj t )). c. Beräkna θ j = exp(φ j)/( + exp(φ j)). av θ t j kommer där Y är ett normalfördelat slumptal med väntevärde 0 och standardavvikelse d. Detta leder också till att hoppfördelningen för θ j blir asymmetrisk enligt j ) J t (θj θj t ) = J t (φ j φ t Med andra ord kan acceptanskvoten skrivas dφ j dθ j = J t(φ j φ t j ) θj ( θj ) r = p( θ, α t, β t y)θ j ( θ j ) p( θ t, α t, β t y)θj t ( θj t ) där θ t motsvarar den temporära vektorn thetat och θ den temporära vektorn med j:te komponenten utbytt mot kandidatvärdet θ j. Vid konstruktion av hoppfördelningar för hyperparametrarna α och β visar det sig vara bättre att betrakta parametriseringen η = log(α) log(β) γ = log(α + β) i stället. Vi skall inte fördjupa oss här i varför just denna parametrisering fungerar. Intresserade hänvisas till avsnitt 5.3 i boken. Vi skall nu generera nya kandidatvärden för α och β samtidigt enligt följande steg: a. Beräkna η t = log(α t ) log(β t ). b. Beräkna γ t = log(α t + β t ). 3

c. Simulera η = η t + Z. d. Simulera γ = γ t + V. e. Beräkna α = e η +γ /(e η + ). f. Beräkna β = e γ /(e η + ). där Z är ett normalfördelat slumptal med väntevärde 0 och standardavvikelse d 2 och V ett normalfördelat slumptal med väntevärde 0 och standardavvikelse d 3. Vi får nu följande samband mellan hoppfördelningarna i de två parametriseringarna enligt η η J t (α, β α t, β t ) = J t (η, γ η t, γ t α β ) γ γ α β = J t (η, γ η t, γ t α ) β (α + β) (α + β) Detta innebär att acceptanskvoten kan skrivas r = = J t (η, γ η t, γ t )α β p(θ t, α, β y)α β p(θ t, α t, β t y)α t β t När det gäller beräkning av denna acceptanskvot kan man tyvärr få en del numeriska problem, vilket beror på gammafunktionen Γ. För stora värden på α och β så kommer dessa termer, i värsta fall, att överskrida datorns kapacitet att hantera stora tal. För heltal gäller att Γ(k) = (k )! vilket exempelvis innebär att Γ(00) 0 56. Nu är visserligen R ganska duktig på att hantera stora tal, men det finns en gräns som ligger runt 0 300. Detta motsvarar ett argument runt 70, vilket inte är ett orimligt värde för hyperparametrarna α och β. Lösningen på dilemmat är funktionen lgamma i R som ger den naturliga logaritmen av gammafunktionen, det vill säga log(γ(x)). För att få exempelvis kvoten måste man i R skriva Γ(α t ) Γ(α ) exp(lgamma(alfa[t])-lgamma(alfa_star)) om man har lagrat det simulerade värdet α i variabeln alfa star. Sedan kan man hantera motsvarande kvoter av gammafördelningar som dyker upp på liknande sätt. Glöm inte att acceptera både α och β samtidigt om kvoten r understiger det likformiga slumptalet. 4

3 Dataanalys I november 995 gjordes en stor undersökning av tonåringars attityder till vissa typiska normbrott såsom skolk, snatteri, fusk på prov och alkoholkonsumtion. Studien gjordes på samtliga elever i åttonde klass i Örebro kommun, som fick fylla i en enkät under en lektionstimme. Bland annat ställdes frågan om man hade druckit sig berusad någon gång. Antalet elever som svarade ja på den frågan tillsammans med totala antalet elever uppdelat på skolor och kön blev följande: Pojkar Flickor Skola Ja Totalt Ja Totalt 20 52 4 6 2 3 4 25 3 0 53 2 46 4 4 54 9 55 5 5 4 3 49 6 9 40 34 7 7 36 9 32 8 23 47 8 55 9 2 53 2 64 0 5 6 23 49 4 28 6 28 2 8 9 2 25 3 38 6 24 Eftersom olika skolor har olika upptagningsområden, där de socio-ekonomiska förutsättningarna kan skilja sig åt, kan det vara rimligt att ansätta en hierarkisk modell för dessa data. Exempelvis kan man tänka sig att vissa skolor ligger i områden som domineras av hyreslägenheter medan andra skolor ligger i mer utpräglade villaområden och att elever från dessa områden kan ha olika attityder till alkoholkonsumtion. Dessutom har vi ingen information om detta, varför det är rimligt att betrakta sannolikheterna för berusning i olika skolor som stokastiska. Som ett första steg skall ni nu analysera data separat för pojkar och flickor. Mata alltså först in data för pojkarna i vektorerna y p och n p och simulera parametervärden med hjälp av MHalg3. Inte heller här behöver ni beräkna skalreduktion eller effektivt antal simuleringar för att hitta optimala hopplängder. Det visar sig att d = 0.7 och d 2 = d 3 = 0.25 ger effektiva algoritmer. Simulera kedjan ett stort antal steg, kasta bort första hälften och lagra resultaten i variablerna theta p, alfa p och beta p. Upprepa simuleringen för flickornas data i vektorerna y f och n f och lagra resultaten i variablerna theta f, alfa f och beta f. (I den här analysen har vi ganska många parametrar, vilket kan göra simuleringen långsam.) 5

Sammanfatta resultaten genom att beräkna medelvärden och sannolikhetsintervall för parametrarna. Hyperparametrarna α och β är inte så intuitiva så där kan det vara mer illustrativt att studera väntevärde och standardavvikelse för θ j, det vill säga µ = E[θ j ] = α α + β σ = Var[θ j ] = αβ (α + β) 2 (α + β + ) En hypotes som forskarna som gjorde undersökningen ville testa är om det finns någon skillnad mellan pojkar och flickor avseende alkoholkonsumtion. Om det inte finns någon skillnad är det heller ingen mening med att dela upp data i pojkar och flickor. Det innebär, under denna hypotes, att vi kan låta y j vara totala antalet elever som någon gång har druckit sig berusad och n j totala antalet elever i skola j och göra om analysen på dessa data. I R är det enkelt att addera vektorer enligt > y_t <- y_p+t_f > n_t <- n_p+n_f Lagra sedan dessa resultat i variablerna theta t, alfa t och beta t och sammanfatta dem på samma sätt som ovan. 4 Modellval För att avgöra vilken av dessa modeller som beskriver data bäst skall vi använda oss av deviance-måttet D(y, θ) = 2 log p(y θ) I det här fallet kan vi ju skriva stickprovsfördelningen vilket ger p(y θ) J j= θ y j j ( θ j ) n j y j J D(y, θ) = 2 (y j log(θ j ) + (n j y j ) log( θ j )) j= (Egentligen är detta inte exakt deviance på grund av att vi bortser från binomialtermen i uttrycket ovan, men eftersom vi enbart är intresserade av att jämföra deviance för olika modeller spelar detta ingen roll.) Enligt avsnitt 6.7 i boken är både den minimala deviance och den genomsnittliga deviance Dˆθ(y) = D(y, ˆθ) D avg (y) = E[D(y, θ) y] intressanta. För analysen ovan på enbart pojkar kan Dˆθ(y) beräknas i R enligt 6

> Dt_p <- -2*sum(y_p*log(mean(theta_p))+(n_p-y_p)*log(-mean(theta_p))) För att få D avg (y) måste vi först beräkna D(y, θ t ) för varje steg i simuleringen, exempelvis genom en for-sats enligt > for(t in :N){ D[t] <- -2*sum(y_p*log(theta_p[t,])+(n_p-y_p)*log(-theta_p[t,]))} > Da_p <- mean(d) där N står för antalet steg i simuleringen som ni har sparat. Byt sedan ut y p, n p och theta p mot motsvarande vektorer för flickor och beräkna på samma sätt Dt f och Da f. Totala deviance för hela modellen får vi genom att summera > Dt <- Dt_p+Dt_f > Da <- Da_p+Da_f Beräkning av motsvarande kvantiteter för andra modellen (Dt2 p, Dt2 f, Dt2 och så vidare) görs på exakt samma sätt utom att både theta p och theta f byts ut mot theta t. (OBS! Behåll y p, n p, y f och n f.) Beräkna även effektivt antal parametrar p () D och DIC (Deviance Information Criterion) för båda modellerna. 4. Redovisning = D avg (y) Dˆθ(y) DIC = 2 D avg (y) Dˆθ(y) Laborationen skall redovisas skriftligt med en utskrift av filen MHalg3.m, medelvärden och 95 %-iga sannolikhetsintervall, beräkningar av olika deviancemått samt slutsatser av analyserna inklusive val av modell. Det går även bra att skicka redovisningen via e-post till mikaela@math.su.se i pdf- eller postscript-format. 7