I den här datorövningen ser vi hur R kan utnyttjas för att kontrollera modellantaganden och beräkna konfidensintervall.

Relevanta dokument
F9 Konfidensintervall

Mer om konfidensintervall + repetition

F10 Problemlösning och mer om konfidensintervall

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

FÖRELÄSNING 7:

Lektionsanteckningar 11-12: Normalfördelningen

F8 Skattningar. Måns Thulin. Uppsala universitet Statistik för ingenjörer 14/ /17

Diskussionsproblem för Statistik för ingenjörer

Thomas Önskog 28/

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

9. Konfidensintervall vid normalfördelning

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

Demonstration av laboration 2, SF1901

TMS136. Föreläsning 10

Föreläsning 7. Statistikens grunder.

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

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

Formel- och tabellsamling i matematisk statistik

Föreläsningsanteckningar till kapitel 8, del 2

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

Kap 6: Normalfördelningen. Normalfördelningen Normalfördelningen som approximation till binomialfördelningen

TMS136. Föreläsning 7

FÖRELÄSNING 8:

F13 Regression och problemlösning

Introduktion till statistik för statsvetare

Samplingfördelningar 1

Föreläsning 12: Regression

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

Sannolikhet och statistik med Matlab. Måns Eriksson

F3 Introduktion Stickprov

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

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

TMS136. Föreläsning 13

Institutionen för teknikvetenskap och matematik, S0001M LABORATION 2

TMS136. Föreläsning 4

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

10. Konfidensintervall vid två oberoende stickprov

Föreläsning 5. Funktioner av slumpvariabler. Ett centralt resultat.

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

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

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

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:...

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

Introduktion. Konfidensintervall. Parade observationer Sammanfattning Minitab. Oberoende stickprov. Konfidensintervall. Minitab

F11 Två stickprov. Måns Thulin. Uppsala universitet Statistik för ingenjörer 26/ /11

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

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

0 om x < 0, F X (x) = c x. 1 om x 2.

Grundläggande matematisk statistik

DATORÖVNING 2: STATISTISK INFERENS.

MVE051/MSG Föreläsning 7

Två parametrar: µ (väntevärdet) och σ (standardavvikelsen) µ bestämmer normalfördelningens läge

en observerad punktskattning av µ, ett tal. x = µ obs = 49.5.

TMS136. Föreläsning 11

Repetitionsföreläsning

Matematisk statistik 9.5 hp, HT-16 Föreläsning 11: Konfidensintervall

LINKÖPINGS UNIVERSITET TENTA 92MA31, 92MA37, 93MA31, 93MA37 / STN 2 9GMA05 / STN 1

Föreläsning 9, Matematisk statistik 7.5 hp för E Konfidensintervall

Avd. Matematisk statistik

Matematisk statistik KTH. Formelsamling i matematisk statistik

Matematisk statistik KTH. Formel- och tabellsamling i matematisk statistik

Föreläsning 8: Konfidensintervall

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

FORMELSAMLING MATEMATISK STATISTIK FÖR W; FMSF75 UPPDATERAD Sannolikhetsteori. Beskrivning av data. Läges-, spridnings- och beroendemått

SF1901 Sannolikhetsteori och statistik I

Datorövning 1: Fördelningar

Tentamen i matematisk statistik (92MA31, STN2) kl 08 12

Tentamen i Matematisk statistik Kurskod S0001M

Föreläsning 4. Kapitel 5, sid Stickprovsteori

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

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

TAMS65 - Föreläsning 2 Parameterskattningar - olika metoder

bli bekant med summor av stokastiska variabler.

Föreläsning 12: Linjär regression

Tentamen i statistik (delkurs C) på kursen MAR103: Marina Undersökningar - redskap och metoder.

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

Summor av slumpvariabler

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

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

Föreläsning 12, FMSF45 Hypotesprövning

Kapitel 4 Sannolikhetsfördelningar Sid Föreläsningsunderlagen är baserade på underlag skrivna av Karl Wahlin

Laboration 3: Parameterskattning och Fördelningsanpassning

Uppgift a b c d e Vet inte Poäng

Tentamen i Matematisk statistik Kurskod S0001M

Laboration med Minitab

EXEMPEL PÅ FRÅGESTÄLLNINGAR INOM STATISTIK- TEORIN (INFERENSTEORIN):

TAMS65 - Föreläsning 2 Parameterskattningar - olika metoder

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:

27,5 27,6 24,8 29,2 27,7 26,6 26,2 28,0 (Pa s)

Föreläsning 11, FMSF45 Konfidensintervall

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

SF1901 Sannolikhetsteori och statistik I

SF1901: Sannolikhetslära och statistik

Avd. Matematisk statistik

Föreläsning 4. NDAB01 Statistik; teori och tillämpning i biologi

Statistik 1 för biologer, logopeder och psykologer

SF1901 Sannolikhetsteori och statistik I

Föreläsning 11, Matematisk statistik Π + E

Vi har en ursprungspopulation/-fördelning med medelvärde µ.

Grundläggande matematisk statistik

Transkript:

UPPSALA UNIVERSITET Matematiska institutionen Måns Thulin Statistik för ingenjörer 1MS008 VT 2011 DATORÖVNING 2: SKATTNINGAR OCH KONFIDENSINTERVALL 1 Inledning I den här datorövningen ser vi hur R kan utnyttjas för att kontrollera modellantaganden och beräkna konfidensintervall. 2 Att kontrollera modellantaganden För att kunna genomföra djupare statistisk analys av data så måste vi göra modellantaganden. Vi ska här titta på metoder för att grafiskt undersöka antagandet att data kommer från en normalfördelad slumpvariabel. Vi såg på föreläsningen att histogram och sannolikhetspapper kan används för att undersöka normalfördelningsantagandet. För data från en normalfördelning bör histogrammet likna normalfördelningens klockformade täthetsfunktion och på sannolikhetspappret så bör punkterna ligga längs linjen framförallt vid linjens mitt. Vi börjar med att titta på histogram och sannolikhetspapper för simulerade data från normalfördelningen: par(mfrow=c(1,2)) # Gör att man får två figurer i samma grafikfönster y<-rnorm(50,0,1) # Generar 50 N(0,1)-fördelade observationer hist(y,freq=false) # Ritar histogram curve(dnorm(x,mean(y),sd(y)),col=2,add=true) # Lägger till täthetsfunktion qqnorm(y);qqline(y) # Ritar sannolikhetspapper Övning. Prova att köra koden ovan några gånger för att se hur figurerna varierar. Jämför sedan med motsvarande figurer för simulerade data från exponentialfördelningen: par(mfrow=c(1,2)) # Gör att man får två figurer i samma grafikfönster y<-rexp(50,1) # Generar 50 Exp(1)-fördelade observationer hist(y,freq=false) # Ritar histogram curve(dnorm(x,mean(y),sd(y)),col=2,add=true) # Lägger till täthetsfunktion qqnorm(y);qqline(y) # Ritar sannolikhetspapper Alternativt kan lådagram användas för att undersöka fördelningsantagandet. För normalfördelningen så bör lådagrammet vara symmetriskt, medan det för exponentialfördelningen bör ha längre morrhår uppåt än nedåt: 1

# Lådagram för simulerade N(1,1) och Exp(1)-data: boxplot(rnorm(50,1,1),rexp(50,1),names=c("n(1,1)","exp(1)")) 2.1 Centrala gränsvärdessatsen Centrala gränsvärdessatsen säger att summan av n stycken slumpvariabler är approximativt normalfördelad om n är tillräckligt stort. Vi ska nu använda våra verktyg för att se om data är normalfördelade för att undersöka om satsen stämmer genom att titta på summor av exponentialfördelade slumpvariabler. Nedanstående kod ritar histogram för 1000 observationer av olika summor av exponentialfördelade simulerade slumpvariabler. Kör koden och öppna sedan grafikfönstret i fullskärm. expsum<-function(n,b) summa<-0 for(i in 1:n) summa<-summa+rexp(b) return((summa-n)/sqrt(n)) par(mfrow=c(3,4)) for(i in seq(1,60,5)) y<-expsum(i,1000) hist(y,freq=false,main=paste("summan av",i,"exp(1)-variabler")) curve(dnorm(x,0,1),col=2,add=true) Påminner histogrammet mer om normalfördelningens täthetsfunktion för summor av fler slumpvariabler? Vi kan även rita sannolikhetspapper för summor av exponentialfördelade slumpvariabler: par(mfrow=c(3,4)) for(i in seq(1,60,5)) y<-expsum(i,100) qqnorm(y,main=paste("summan av",i,"exp(1)-variabler")) qqline(y) Ligger punkterna mer längs linjen ju fler slumpvariabler man summerar? 3 Konfidensintervall 3.1 Ett stickprov (passningstider) Vi ska här anknyta till exempel 7.1 i läroboken där 8 observerade passningstider för mobiltelefoner analyserades. Mata in data för hand och lagra i en vektor kallad x: 2

x <- c(210,214,195,190,218,202,207,197) Samma förutsättningar om normalfördelning etc. görs som i boken. Övning. Använd verktygen från avsnittet ovan för att undersöka om det verkar rimligt att data kommer från en normalfördelning (men kom ihåg att det antagandet alltid är svårt att undersöka för små stickprovsstorlekar). Vi ska nu med hjälp av några få kommandon i R skapa ett 95% konfidensintervall för den genomsnittliga vikten. Vi har ingen kunskap om fördelningens standardavvikelse och räknar därför med okänd standardavvikelse. Från teorin (s. 67-68 i boken) vet vi att intervallet då ges av [ x ± t α/2 (n 1) Det finns två sätt att angripa detta på numeriskt: 1. Skriv in intervallet ovan manuellt 2. Använd en färdig rutin (vid namn t.test) För den första metoden, skriv s ] n mv <- mean(x) stad <- sd(x) n <- 8 tkvantil <- qt(0.975,n-1) mv - tkvantil*stad/sqrt(n) # Nedre intervallgräns mv + tkvantil*stad/sqrt(n) # Övre intervallgräns (Jämför med svaret i exempel 7.2!) Som du säkert insett ger funktionen qt med lämpliga inargument kvantiler till t- fördelningen. Observera att 1 α/2 = 0.975 då α = 0.05; R använder alltså 1 α/2 istället för α/2 som inparameter i kvantilfunktionen. På liknande sätt kan kvantiler för andra vanliga fördelningar erhållas. För normalfördelningens kvantiler används funktionen qnorm. Övning. Skriv t.ex. in följande och jämför de värden du får med den vanliga tabellen på sidan 82: qnorm(0.975) qnorm(0.95) För den andra metoden anropas helt enkelt rutinen t.test och man får då ut, bokstavligen i ett enda slag, förutom själva konfidensintervallet en mängd ytterligare information. Kommando: t.test(x) Är man en van användare av R och kan sin statistik används med fördel metod 2. Är man nybörjare och vill veta vad man gör kan metod 1 vara säkrare. Du noterade väl att de gav samma svar? Konfidensgraden 0.95 är förinställd vid anropet av t.test, men kan ändras. Se hjälptexten?t.test för detaljer, speciellt parametern conf.level. 3

3.2 Två stickprov Rutinen t.test kan användas även för att beräkna konfidensintervall för skillnader i väntevärden mellan två stickprov. Här finns, som vi sett i teorin, två angreppssätt: två oberoende stickprov respektive stickprov i par. 3.2.1 Två oberoende stickprov Tryckhållfastheten för två olika betongblandningar, av typen M20 respektive M25 ska jämföras. Vi läser in data i R: M20<-c(35.50, 27.80, 35.80, 30.10, 27.60, 32.45, 30.20, 26.85, 31.10, 19.20, 25.86, 31.20, 25.60, 31.15, 35.80, 27.50, 28.73, 23.20, 18.95, 24.50, 22.45, 29.80, 35.65, 30.80, 24.01, 25.25, 27.55, 30.15, 24.50, 22.60) M25<-c(31.20, 35.86, 31.00, 39.01, 35.60, 38.00, 29.68, 27.26, 30.88, 35.50, 28.88, 38.50, 27.60, 26.00, 37.10, 30.80, 34.45, 38.00, 33.51, 35.80, 31.20, 36.52, 29.82, 37.80, 35.01, 36.60, 32.25, 31.50, 28.65, 27.55) Övning. Räkna ut medelvärde för respektive datamaterial och rita lådagram med boxplot för att undersöka om det verkar finnas någon skillnad mellan väntevärdet (µ M20 respektive µ M25 ) för tryckhållfastheten för de två blandningarna. Ett 99 % konfidensintervall för differensen µ M25 µ M20 ges av t.test(m25,m20,conf.level=0.99) 3.2.2 Stickprov i par Som illustration använder vi R för exempel 7.6 (dragstyrka hos metallstänger). Här är det fråga om modellen stickprov i par, vilket måste anges för R med inparametern paired=true: xfore <- c(370,360,380,395,375); xefter <- c(400,396,412,420,410); t.test(xefter,xfore,paired=true) Jämför med beräkningarna i boken. 3.3 *Konfidensintervall för p i Bin(n, p) I avsnitt 7.3 i boken beskrivs hur man genom normalapproximation kan konstruera konfidensintervall för parametern p i Bin(n, p)-fördelningen. Konfidensintervallet [ 1 1 ] ˆp λ α/2 n ˆp(1 ˆp), ˆp + λ α/2 n ˆp(1 ˆp) har approximativt konfidensgrad 1 α. Konfidensgraden säger oss hur stor andelen försök som resulterar i konfidensintervall som innehåller det sanna värdet på p är om vi genomför ett stort antal försök. Om approximationen är bra så borde andelen ligga nära 1 α. 4

Vi ska här studera den faktiska konfidensgraden för konfidensintervall för p genom simulering. Koden nedan gör att funktionen binkonf(x,n) ger konfidensintervallet för en binomialfördelad observation x och antalet försök n. binkonf<-function(x,n) p.hatt<-x/n konf.int<-c(p.hatt-1.96*sqrt(1/n*p.hatt*(1-p.hatt)), p.hatt+1.96*sqrt(1/n*p.hatt*(1-p.hatt))) return(konf.int) Övning. För att testa funktionen jämför vi med exempel 7.4 på s. 69 i boken. Där är x = 12 och n = 200. Prova att skriva binkonf(12,200) och kontrollera att det ger samma konfidensintervall som i boken. Du kan sedan provköra funktionen för simulerade data genom att köra koden nedan några gånger. Prova gärna att ändra värdet på n och p och se hur många gånger som värdet på p ligger i konfidensintervallet. n<-10; p<-0.5 x<-rbinom(1,n,p) # Ger en Bin(n,p)-fördelad observation. binkonf(x,n) Slutligen kan du köra nedanstående kod några gånger för att kolla hur stor andel av de 10000 simulerade konfidensintervallen som innehåller det korrekta värdet på p: n<-10; p<-0.5 antal<-0 # Variabel för simuleringen for(i in 1:10000) x<-rbinom(1,n,p) # Ger en Bin(n,p)-fördelad observation. konf<-binkonf(x,n) # Kolla om p ligger i konfidensintervallet: if(konf[1]<=p && konf[2]>=p)antal<-antal+1 # Skriv resultatet på skärmen: cat(paste("andel konfidensintervall som innehåller p:",antal/10000,"\n")) För vilka värden på n och p ligger andelen nära 0.95? Övning. Använd koden för att undersöka tumregeln approximationen är bra om n p (1 p) 5! 4 *Skattningar är slumpvariabler Att en skattning är en slumpvariabel innebär att vi kan studera den precis som andra slumpvariabler och beräkna exempelvis dess väntevärde och standardavvikelse. På så vis kan vi teoretiskt jämföra olika skattningar för att avgöra vilken som är bäst. För det mesta vill vi att skattningen ska vara väntevärdesriktig (så att den i genomsnitt ger 5

det rätta värdet) och att dess standardavvikelse skall vara så liten som möjligt (så att skattningen förhoppningsvis inte avviker så mycket från det sanna parametervärdet). För många skattningar kan man relativt enkelt räkna ut väntevärde och standardavvikelse. Exempelvis gäller det att om X 1,..., X n är oberoende N(µ, σ 2 )-fördelade slumpvariabler så är stickprovsmedelvärdet X N(µ, σ 2 /n) - denna används som bekant för att skatta väntevärdet µ. Stickprovsmedelvärdet är inte den enda tänkbara skattningen av µ. En normalfördelad slumpvariabel med väntevärde µ har även median µ, så en tänkbar estimator är stickprovsmedianen ˆX. Fördelningen för X är, liksom väntevärde och standardavvikelse, betydligt svårare att räkna ut än motsvarande egenskaper för stickprovsmedelvärdet. Här kommer R till vår undsättning! Antag att vi har 10 observationer från N(µ, 1)-fördelningen. Vi vill veta om den bästa skattningen är stickprovsmedelvärdet X eller stickprovsmedianen X. Vi vet från teoretiska uträkningar att E( X) = µ och att V ( X) = 1/10. Genom att simulera ett antal observationer av X kan vi skatta E( X) och V ( X). Vi vet inte hur väntevärdet och variansen för X beror på µ, men vi kan prova att stoppa in olika värden på µ för att se om skattningen är väntevärdesriktig och om variansen ändras då µ ändras. Vi provar att sätta µ lika med 0, 1 och 5 och att simulera 1000 stickprov för varje väntevärde. Vi räknar ut medianen i varje stickprov och gör därmed 1000 simuleringar vardera av X för de olika värdena på µ. Vi använder sedan dessa för att skatta E( X) och V ( X) i de olika fallen. med0<-med1<-med5<-na # Variabler för simuleringen for(i in 1:1000) med0[i]<-median(rnorm(10,0,1)) med1[i]<-median(rnorm(10,1,1)) med5[i]<-median(rnorm(10,5,1)) # Skriv resultatet på skärmen: cat(paste(" my=0:\ne(medianen) =",mean(med0),"\nv(medianen) =",var(med0),"\n", "my=1:\ne(medianen) =",mean(med1),"\nv(medianen) =",var(med1),"\n", "my=5:\n--- E(medianen) =",mean(med5),"\nv(medianen) =",var(med5),"\n")) Ligger väntevärdet nära µ? Beror variansen för medianen på värdet på µ? Är variansen mindre än V ( X) = 1/10? Vilken av skattningarna tycker du att man ska använda? 6