Datorövning 4 Poissonregression



Relevanta dokument
Datorövning 4 Poissonregression

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

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Statistiska metoder för säkerhetsanalys

Laboration 2: Styrkefunktion samt Regression

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

3 Maximum Likelihoodestimering

1 Förberedelseuppgifter

Syftet med den här laborationen är att du skall bli mer förtrogen med det i praktiken kanske viktigaste området inom kursen nämligen

Exempel på tentamensuppgifter

Datorövning 6 Extremvärden och Peak over Threshold

bli bekant med summor av stokastiska variabler.

Föreläsning 12: Regression

Datorövning 1: Fördelningar

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

Datorövning 3 Bootstrap och Bayesiansk analys

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Laboration 4: Lineär regression

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

Föreläsning 8: Konfidensintervall

PROGRAMFÖRKLARING III

Datorövning 2 Betingad fördelning och Centrala gränsvärdessatsen

Prediktera. Statistik för modellval och prediktion. Trend? - Syrehalt beroende på kovariater. Sambands- och trendanalys

1. För tiden mellan två besök gäller. V(X i ) = 1 λ 2 = 25. X i Exp (λ) E(X i ) = 1 λ = 5s λ = 1 5

Gör uppgift 6.10 i arbetsmaterialet (ingår på övningen 16 maj). För 10 torskar har vi värden på variablerna Längd (cm) och Ålder (år).

Regressionsmodellering inom sjukförsäkring

förstå modellen enkel linjär regression och de antaganden man gör i den Laborationen är dessutom en direkt förberedelse inför Miniprojekt II.

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

Laboration 4: Hypotesprövning och styrkefunktion

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

Upprepade mätningar och tidsberoende analyser. Stefan Franzén Statistiker Registercentrum Västra Götaland

Enkel linjär regression: skattning, diagnostik, prediktion. Multipel regression: modellval, indikatorvariabler

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

MVE051/MSG Föreläsning 14

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs VT2014, lp3. Laboration 2. Fördelningar och simulering

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

Datorövning 1 Introduktion till Matlab Fördelningar

Residualanalys. Finansiell statistik, vt-05. Normalfördelade? Normalfördelade? För modellen

Lektionsanteckningar 11-12: Normalfördelningen

Datorövning 3 Bootstrap och Bayesiansk analys

Lösningar till tentamensskrivning för kursen Linjära statistiska modeller. 14 januari

Weibullanalys. Maximum-likelihoodskattning

Resultatet läggs in i ladok senast 13 juni 2014.

lära dig tolka ett av de vanligaste beroendemåtten mellan två variabler, korrelationskoefficienten.

Datorövning 1 Fördelningar

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet Per-Erik Isberg. Laboration 1. Simulering

Extremvärden att extrapolera utanför data och utanför teori/modell. Statistik för modellval och prediktion p.1/27

Föreläsning 7: Punktskattningar

Några extra övningsuppgifter i Statistisk teori

Datorövning 6 Extremvärden och Peaks over Threshold

F13 Regression och problemlösning

Grundläggande matematisk statistik

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Jesper Rydén. Matematiska institutionen, Uppsala universitet Tillämpad statistik 1MS026 vt 2014

TAMS65 - Föreläsning 11 Regressionsanalys fortsättning Modellval

EXEMPEL PÅ FRÅGESTÄLLNINGAR INOM STATISTIKTE- ORIN (INFERENSTEORIN):

Provmoment: Tentamen 6,5 hp Ladokkod: A144TG Tentamen ges för: TGMAI17h, Maskiningenjör - Produktutveckling. Tentamensdatum: 28 maj 2018 Tid: 9-13

Matematisk statistik kompletterande projekt, FMSF25 Övning om regression

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Statistik B Regressions- och tidsserieanalys Föreläsning 1

Föreläsning 13: Multipel Regression

LÖSNINGAR TILL. Matematisk statistik, Tentamen: kl FMS 086, Matematisk statistik för K och B, 7.5 hp

GMM och Estimationsfunktioner

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs HT2007. Laboration. Simulering

SF1901 Sannolikhetsteori och statistik I

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

Tentamen i Matematisk statistik Kurskod S0001M

Demonstration av laboration 2, SF1901

1 Bakgrund DATORÖVNING 3 MATEMATISK STATISTIK FÖR E FMSF Något om Radon och Radonmätningar. 1.2 Statistisk modell

Laboration 4 R-versionen

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

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 3: MULTIPEL REGRESSION.

KURSPROGRAM HT-18 MATEMATISK STATISTIK AK FÖR D, I OCH PI, FMSF45 & MASB03

Regressionsanalys av lägenhetspriser i Spånga

Del I. Uppgift 1 För händelserna A och B gäller att P (A) = 1/4, P (B A) = 1/3 och P (B A ) = 1/2. Beräkna P (A B). Svar:...

FMSF55: Matematisk statistik för C och M OH-bilder på föreläsning 9,

F19, (Multipel linjär regression forts) och F20, Chi-två test.

Föreläsning 12: Repetition

Lunds tekniska högskola Matematikcentrum Matematisk statistik. FMS035: Matematisk statistik för M Datorlaboration 5

Kapitel 12: TEST GÄLLANDE EN GRUPP KOEFFICIENTER - ANOVA

F18 MULTIPEL LINJÄR REGRESSION, FORTS. (NCT

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression LABORATION 5 MATEMATISK STATISTIK AK FÖR CDE, FMS012, VT08

732G71 Statistik B. Föreläsning 4. Bertil Wegmann. November 11, IDA, Linköpings universitet

KURSPROGRAM HT-10 MATEMATISK STATISTIK AK FÖR CDI, FMS 012

1. Lära sig plotta en beroende variabel mot en oberoende variabel. 2. Lära sig skatta en enkel linjär regressionsmodell

Industriell matematik och statistik, LMA /14

Tentamen för kursen. Linjära statistiska modeller. 22 augusti

Föreläsning 8. NDAB02 Statistik; teori och tillämpning i biologi

Statistisk försöksplanering

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

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

Föreläsning 7: Punktskattningar

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

Matematikcentrum 1(4) Matematisk Statistik Lunds Universitet MASB11 HT10. Laboration. Regressionsanalys (Sambandsanalys)

Matematisk statistik för D, I, Π och Fysiker

BIOSTATISTISK GRUNDKURS, MASB11 ÖVNING 6 ( ) OCH INFÖR ÖVNING 7 ( )

Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration, annars är det detta datum som gäller:

Resultatet anslås senast 10 juni på institutionens anslagstavla samt på kurshemsidan.

Autokorrelation och Durbin-Watson testet. Patrik Zetterberg. 17 december 2012

SF1901 Sannolikhetsteori och statistik I

Transkript:

Lunds tekniska högskola Matematikcentrum Matematisk statistik STATISTISKA METODER FÖR SÄKERHETSANALYS FMS065 Datorövning 4 Poissonregression När man hanterar två eller fler variabler är man ofta intresserad av funktionssambandet mellan variablerna. För räknedata (count data) är Poissonregression en vanligt förekommande modell och tillämpningar finns inom de flesta vetenskaper. Poissonregressionsmodellen finns också implementerad i flera statistiska datorpaket. I denna datorövning ska vi lära oss mer om: Poissonregressionsmodellen och hur man skatta modellparametrarna. Modellval, t.ex. hur många förklarande variabler man bör använda. 1 Förberedelseuppgifter 1. Läs igenom handledningen till datorövningen och kapitel 7.1 7.3 (speciellt 7.3.3). 2. Försök förklara skillnaden mellan linjär regression och poissonregression. 2 Trafikolycksdata Vägverket (numera Trafikverket) har det övergripande ansvaret för hela vägtransportnätet. En viktig fråga är trafiksäkerhet och man genämför kontinuerligt arbete för att förbättra trafiksäkerheten. Från deras hemsida http://www.trafikverket.se kan man få fram ett antal olika data om trafikolyckor. Vi ska i denna datorövning använda trafikolycksdata för åren 1950 2010. Data är hämtade från http://www.trafikverket.se/privat/trafiksakerhet/olycksstatistik/vag/nationell-statistik/arsdata-fran-1950/ och finns som excel-fil på kurshemsidan. Vi ska använda dessa data för att anpassa en poissonregressionsmodell till antalet personer som dödades i trafikolyckor, jfr example 7.16 i boken. Den skattade modellen används sedan för att prediktera det förväntade antalet dödade år 2020. Börja med att ladda ner arsdata_1950_2010.xls från kursens hemsida och spara den i din Matlabkatalog. Läs sedan in den i Matlab med: >> data = xlsread( arsdata_1950_2010.xls ); Variabeln data består nu av 9 kolumner (size(data)) men vi är bara intresserade av kolumnerna 1, 2, 5 och 6, dvs. år, antal dödade personer, antal bilar respektive mängd såld bensin. Vi lägger dessa i varsin vektor: >> year = data(:,1); >> killed = data(:,2); >> cars = data(:,5); >> petrol = data(:,6);

ii Rita upp antalet personer som dött vart år: >> plot(year,killed, * ) Uppgift: Rita också antalet döda mot antalet bilar och mot mängden bensin. Ser du några samband? Från figurerna kan man se att trenden med ökande antal döda bryts omkring år 1965. Och från 1970 börjar antalet minska. Varför ökande antalet döda under 1950 1965? Och varför började det sedan minska? Ledtråd: högertrafik (1967), säkerhetsbälte i framsätet i nya bilar (1969), obligatorisk användning av bilbälte i framsätet (1975). 3 Poissonregressionsmodellen Antag att vi har en serie räknedata, n i, i = 1,..., k, för någon händelse, dvs. antalet dödade i trafikolyckor under året. Dessa räknedata antas vara observationer från slumpvariablerna N i Po(Ñi), (kallas responseller beroende variabler) med väntevärden Ñi = Ñi(x i1,...,x ip ). Variablerna x i1,...,x ip kallas förklarande variabler 1 och antas mäta faktorer som har inverkan på räknevariablerna. Vi begränsar Ñi till att vara en log-linjär funktion 2, E(N i ) = Ñi = exp( 0 + 1x i1 +... + px ip ) (1) Då blir sannolikheten att N i = n: P(N i = n) = e Ñ i (Ñ i) n n! = e e 0 + 1 x i1 +...+ px ip 0+ 1x i1 +...+ px ip ) n (e, n = 0, 1, 2,... n! 3.1 Skattning av modellparametrarna 0,..., p För att förenkla notationen inför vi x i0 = 1 och kan nu skriva (1) som E(N i ) = Ñi = exp( jx ij ), p j=0 där N i Po(Ñi) för i = 1,..., k. Likelihoodfunktionen beräknas sedan som L( ) = k P(N i = n i ) = k e Ñ i Ñn i i n i!. där Ñi = Ñi( p) är en funktion av p = ( 0,..., p). ML-skattningarna p = ( 0,..., p ) är de värden på som maximerar likelihoodfunktionen L( ). Det är oftast enklare att maximera log-likelihoodfunktion l( ) = ln(n i!) + n i ln(ñi) 1 Det finns ett antal olika benämningar: oberoende variabler, prediktorvariabler, etc. 2 Ibland har modellen en extra term t i: Ñ i = t i exp( 0 + 1x i1 +... + px ip). Ñi

iii Genom att sätta förstaordningsderivatorna av log-likelihooden lika med noll får vi ett system av (p + 1) icke-linjära ekvationer i j, l( ) j = Ñi j ( n i 1) = Ñi (n i Ñi)x ij = 0, j = 0,..., p Oftast måste detta ekvationssystem lösas med någon numerisk metod, t.ex., Newton-Raphson-algoritmen, jfr. kapitel 7.3.3 i boken. Poissonregressionsmodellen tillhör en klass av modeller som kalla generaliserade linjära modeller. I en generaliserad linjär modell (GLM), är väntavärdet av responsvariabeln, Ñ, modellerat som en monoton (icke-linjär) transformation av de förklarande variablerna, Ñi = g( 0 + 1x 1 + 2x 2...). Inversen av transformationsfunktionen g kallas den kanoniska länk-funktionen. I Poissonregression är denna funktion log-funktionen eftersom ln Ñi = p j=1 jx ij. I andra GLM:er använda anndra länkfunktioner, sedoc glmfit för en lista av länkfunktionen som Matlab tillåter. Dessutom kan responsvariabeln ha flera olika fördelningar, t.ex. normal eller binomial. Vi ska också använda Matlabs funkton glmval med en logaritmisk länkfunktion för att göra prediktioner med den skattade modellen. 4 Poissonregression av trafikdata Vi ska nu pröva att anpassa en poissonregressionsmodell till antal dödade i trafikolyckor. Vi kunde se att det fanns ett brott i den ökande trenden av antal dödade runt åren 1965 1975, till stor del beroende på förbättringen i trafiksäkerhet genom bilbälten. Därför verkar det rimligt att anpassa vår modell till data med start 1975. Uppgift: Varför? >> year = data(26:end,1); % 26:end betyder rad 26 t.o.m. sista raden. >> killed = data(26:end,2); >> cars = data(26:end,5); >> petrol = data(26:end,6); Uppgift: Vilka är de förklarande variablerna? Vilken är responsvariabeln? Rita om figuren för det reducerade datamaterialet: >> plot(year,killed, * ) Vi börjar analysen med en förklarande variabel, year. Uppgift: Vad är det tänkt att variabeln year ska mäta?

iv >> X1 = [year-mean(year)]; % Vi drar bort medelvärdet för att få % numeriskt stabilare skattningar. >> n = killed; >> help glmfit % Matlabs rutin för GLM-regressionsmodeller. >> beta1 = glmfit(x1,n, poisson ); >> my_fit1 = glmval(beta1,x1, log ; % Prediktion där log(mu) är linjär. >> hold on % Rita i samma figur som data ovan. >> plot(year,my_fit1, b- ) Uppgift: Vad blev din skattning av? Att döma av figuren, är denna modell tillräcklig för att beskriva antalet personer som dödas i trafikolyckor? Trots att denna enkla modell fångar den övergripande trenden, kan anpassningen kanske förbättras genom att ta med fler variabler i modellen. Vi lägger alltså till antalet bilar till modellen: >> X2 = [year-mean(year), cars-mean(cars)]; >> beta2 = glmfit(x2,n, poisson ); >> my_fit2 = glmval(beta2,x2,log ); >> plot(year,my_fit2, g- ) Uppgift: Har dina skattningar 0 och 1 ändrats? Förbättrar antalet bilar anpassningen? Det verkar rimligt att också ta med mängden såld bensin eftersom den borde återspegla hur mycket bilarna kör 3. >> X3 = [year-mean(year), cars-mean(cars), petrol-mean(petrol)]; >> beta3 = glmfit(x3,n, poisson ); >> my_fit3 = glmval(beta3,x3, log ); >> plot(year,my_fit3, r- ) >> hold off Uppgift: Har dina skattningar av ändrats nu? Använd kommandotformat long för att visa fler decimaler. Vilken modell tycker du är bäst? (format short ställer tillbaka till färre decimaler igen.) 4.1 Modellval Deviance Det är inte alltid enkelt att avgöra, bara genom att titta på en figur, vilken modell man ska välja. Även om anpassningen blir bättre när man lägger till fler variabler så ökar också osäkerheten hos skattningarna. En metod att välja komplexitet hos modellen är att använda deviance och hypotestest. 3 Under antagande att medelbensinförbrukningen för en bil varit konstant över åren en 1970-års model av Volvo använde ungefär 10 l per 100 km, vilket är ungefär detsamma som för en 2000-års modell. Däremot har 2000 års modell mer än dubbelt så många hästkrafter.

v Låt p = { 0, 1,..., p } vara ML-skattningarna av modellparametrarna { 0, 1,..., p} i den fullständiga modellen med p förklarande variabler och låt q vara skattningarna i den reducerade modellen där vi bara använder q (q < p) av de förklarande variablerna. Då gäller, under länpliga villkor, att deviance DEV = 2 (l( p ) l(( q ))) = 2 n i (ln Ñip ln Ñiq) är ungefär Õ 2 (p q)-fördelad om den reducerade modellen är sann. Uppgift: Därmed kan vi testa om den reducerade modellen kan förkastas, till fördel för den fulla modellen. Hur? (användchi2inv för att få kvantilerna i en Õ 2 -fördelning) Deviance för den tredje modellen, jämfört med den andra modellen kan beräknas som: >> DEV32 = 2*sum(killed.*(log(my_fit3)-log(my_fit2))) Uppgift: Är förbättringen med modell 3 signifikant jämfört med modell 2? Uppgift: Upprepa testet för modell 2 mot modell 1 och dessutom med modell 3 mot modell 1 (tänk på frihetsgraderna!) Vilken modell är bäst? 5 Prediktion Vi vill nu använda vår modell för att prediktera det förväntade antalet dödade i trafiken år 2020. För att göra det måste vi först uppskatta antalet bilar och mängden såld bensin det året. Börja med att rita upp antalet bilar mot årtalet: >> figure(2) >> plot(year,cars, o ) >> hold on Vi använder en enkel linjär modell för antalet bilar, y i, år x i y i = 0 + 1 x i + i där felen, i N(0, ( ) 2 ), antas vara oberoende. Detta är den vanliga modellen vid linjär regression. I Matlab skattas parametrarna med funktionen regress som beräkna minsta-kvadrat-skattningarna. När i är normalfördelade är dessa skattningar identiska med maximul-likelihood-skattningarna. >> phat = regress(cars,[ones(size(year)) year]) % regress måste ha en % kolumn ettor också. >> newyear = 1975:2020; >> car_fit = phat(1)+phat(2)*newyear;

vi >> hold on >> plot(newyear,car_fit, r- ) >> hold off >> cars_2020 = phat(1)+phat(2)*2020 Undersök hur bra modellen är genom att titta på residualerna: >> res = cars-(phat(1)+phat(2)*year); >> figure(3), plot(year,res, o ) >> figure(4), normplot(res) Uppgift: Ser residualerna ur som de borde när vi vet hur modellfelen i ska bete sig? Det verkar som om vi missar lite konjunkturcykler men det struntar vi i nu. Vi vill bara ha en grov uppskattning av antalet bilar 2020. Nu ska vi uppskatta mängden såld bensin år 2020. >> figure(5) >> plot(year,petrol, * ) Uppgift: Ser det ut at passa med en rät linje? Eftersom bensinförbrukning inte är linjär anpassar vi en kvadratisk funktion till den istället: >> phat = regress(petrol,[ones(size(year)) year year.^2]) >> petrol_fit = phat(1)+phat(2)*newyear+phat(3)*newyear.^2; >> hold on >> plot(newyear,petrol_fit, r- ) >> hold off >> petrol_2020 = phat(1)+phat(2)*2020+phat(3)*2020^2 Uppgift: Verkar det vara en bra uppskattning? Nu kan vi prediktera det förväntade antalet dödade år 2020 med hjälp av (1): >> x = [1 2020-mean(year) cars_2020-mean(cars)] >> my_2020 = glmval(beta3,x, log ) Uppgift: Verkar prediktionen rimlig? Kan man använda modellen för prediktera antalet dödade år 2100?