Lunds universitet Matematikcentrum Matematisk statistik Matematisk statistik allmän kurs, MASA01:B, HT-14 Laborationer Information om laborationerna I andra halvan av MASA01 kursen ingår två laborationer. programspråket R och görs i grupper av 2-4 personer. Laborationerna grundar sig på Redovisning av varje labb sker i form av en skriftlig rapport som skall lämnas in på övningen den efterföljande veckan. Rapporten skall vara skriven så att den går att läsa självständigt utan att man behöver använda sig av laborationshandledningen. Alla grafer skall vara försedda med beskrivande namn på axlarna. Vidare skall all programkod vara rik på kommentarer och inkluderad i rapporten (antingen löpande i texten eller i bilagor i slutet). Rapporten till denna laboration skall lämnas in den 28 November i början av övningen. Problem som är markerade med asterisk (*) är problem som helt eller delvis kan lösas utan R. Ifall ni har frågor eller något är oklart så är ni välkommna att fråga mig. Mareile Große Ruse, mareile@maths.lth.se, MH:325
1 ÄR HOLLÄNDARE LÄNGRE ÄN ITALIENSKOR? Laboration 3 Laborationens syfte är att ge en fördjupad förståelse för de tre centrala statistiska metoder: skattning, konfidensintervall och statistiska test. 1 Är holländare längre än italienskor? I den första delen av laborationen ägnar vi oss åt skattningen av parametrar och konfidensintervall. 1.1 Introduktion till Lisas studie I somras var Lisa och hennes vän Emma på en lång resa genom Europa. De insåg att en typisk holländsk man verkade vara längre än en typisk italiensk man. Nu vill de utföra en studie om detta. Lisa reste till Amsterdam och valde slumpmässigt ett stickprov på n = 100 holländska män och mätte dem. Samtidigt var Emma i Rom och gjorde precis samma sak: hon valde slumpmässigt n = 100 italienska män och skrev ner deras längder. Alla värden som Lisa och Emma fick finns i filen studielisa.csv. Ladda ner filen från kursens hemsida och spara den på din dator. I R kan man läsa in datan från en csv fil med hjälp av funktionen read.table(). Använd R s hjälpfunktion help(read.table) om du vill veta mer. Vi läsa in datan (och sparar den i variablen data) genom att skriva data <- read.table("c:/.../studielisa.csv", header = TRUE, sep = ",") Här får du anpassa sökvägen C:/.../studieLisa.csv till datafilens plats. (Om du inte vet filens sökväg så högerklicka på filen studielisa.cvs och välja egenskaper, där hittar du den riktiga sökvägen.) Nu vill vi reda ut vad data är för datatyp. Därför kör vi str(data) och får: > str(data) data.frame : 100 obs. of 2 variables: $ nederländerna: num 188 183 185 183 188... $ italien : num 169 174 173 173 169... Detta betyder att data har datatyp data.frame och innehåller två variabler, nederländerna och italien. Båda variabler har längden n = 100. För att få en bättre förståelse av data tittar vi på de första, säg 10, raderna av data: 2
1 ÄR HOLLÄNDARE LÄNGRE ÄN ITALIENSKOR? > data[1:10, ] nederländerna italien 1 187.7 169.1 2 182.7 174.3 3 184.6 172.6 4 182.9 172.8 5 188.0 169.0 6 183.5 172.3 7 182.0 168.9 8 179.2 171.2 9 179.9 166.5 10 184.1 168.6 I kolonnen nederländerna finns alla längder som Lisa mätte, dvs längderna av alla n holländarna. Längderna av de n italienska personerna finns i kolonn italien. För att förenkla analysen sparar vi värdena i två separata variabler, ned och ital: ned <- data$nederländerna ital <- data$italien 1.2 Formell beskrivning av experimentet För att kunna genomföra en statistisk analys behövs en formell beskrivning av experimentet. Låt X vara längden av en holländsk man och Y längden av en italiensk man. Vi antar att X N (µ N, 25), Y N (µ I, 25) där µ N, µ I är okända (bokstaven N motsvarar nederländerna och I motsvarar italien). Lisas och Emmas experiment kan då beskrivas genom 2n oberoende mätningar X 1,... X n,y 1,..., Y n, där X i motsvarar längden av den ite holländare och Y i är längden av den i:te italienaren. X 1,..., X n har samma fördelning som X och Y 1,..., Y n har samma fördelning som Y. De realiserade värdena x 1,..., x n (resp. y 1,..., y n ) finns i vektorn ned (resp. i vektorn ital). Emmas och Lisas gissning är En typisk italiensk man är mindre än en typisk manlig holländare I denna laboration ska vi använda oss av statistiska metoder för att undersöka deras hypotes. 3
1 ÄR HOLLÄNDARE LÄNGRE ÄN ITALIENSKOR? 1.3 Uppgifter Problem* 1.1 Låt θ := µ N µ I beteckna den okända skillnaden mellan medellängderna µ N och µ I. Ange lämpliga hypoteser H 0 och H 1 för Emmas och Lisas studie. Uttryck hypoteserna med hjälp av väntevärdesdifferensen θ. Problem* 1.2 Ange Maximum Likelihood (ML) skattaren ˆµ N av µ N och ML skattaren ˆµ I av µ I. Vad har ˆµ N och ˆµ I för fördelningar? Ovan antar vi att X,Y är normalfördelade med samma varians (σ 2 = 25) och okänt väntevärde µ N resp. µ I. Problem 1.3 Är antagandena V(X) = 25 och V(Y ) = 25 rimliga? Lisa och Emma antog en normalfördeling för deras stickprov. Vi vill granska detta. I den första laborationerna jämförde vi ett normaliserat histogram med täthetsfunktionen av en (lämplig) normalfördelning. Här ska vi använda oss av R-funktionen density som skattar täthetsfunktionen av ett stickprov. Vi börjar med skattningen ˆf ned av täthetsfunktionen f ned (dvs av täthetsfunktionen av slumpvariablen X). Kör fned_hat <- density(ned) och därefter kör str(fned_hat). Du får det följande: > str(fned_hat) List of 7 $ x : num [1:512] 166 166 166 166 166... $ y : num [1:512] 2.76e-05 3.12e-05 3.52e-05 3.96e-05 4.45e-05... $ bw : num 1.67 $ n : int 100 $ call : language density.default(x = ned) $ data.name: chr "ned" $ has.na : logi FALSE - attr(*, "class")= chr "density" Variablen fnet_hat är av typ list och innehåller 7 element. Det första elementet är en vektor x, som består av alla x-värden där f ned har skattats. I vektorn y (den andra i listen) finns de tillhörande skattade funktionsvärdena y = ˆf ned (x). Övriga element är inte viktiga för oss och vi vill inte ta hänsyn till dem. Kom ihåg att vi erhåller elementet mitt_element av listen min_list genom min_list$mitt_element För att plotta ˆf ned kör vi därför plot(fned_hat$x, fned_hat$y, type = "l") 4
2 VAD BETYDER ÖVERTECKNINGSSANNOLIKHETEN AV ETT KONFIDENSINTERVALL EGENTLIGEN? Problem 1.4 Rita upp den skattade täthetsfunktionen ˆf ned och lägg till täthetsfunktionen av en normalfördelning N (µ, σ 2 ). Glöm inte att använda olika färger och tillägg gärna en legend. Tänk på att välja lämpliga väntevärde µ och varians σ 2 till normalfördelningen. Gör samma sak för stickprovet ital. Verkar det rimligt att anta en normalfördelning i båda fall? Problem* 1.5 En lämplig skattare av θ = µ N µ I är ˆθ = ˆµ N ˆµ I. Lisa påstår att ˆθ N (µ N µ I, 1 n50). Har hon rätt? Förklara. Problem 1.6 Ange ett ensidigt 95% konfidensintervall I θ = [low θ, ) för θ och beräkna detta med R. Tipps: Du får α-kvantiler r α av en standardnormalfördelning genom att använda qnorm(α, mean = 0, sd = 1) Gör en statistisk slutsats med ledning av ditt intervall: Kan man förkasta hypotesen att holländare är kortare än italienskarna? (Tänk på konfidensmetoden i hypotesprövningen.) 2 Vad betyder överteckningssannolikheten av ett konfidensintervall egentligen? I denna delen av laborationen undersöka vi begreppet överteckningssannolikheten av ett 95% konfidensintervall. Ovan beräknade vi ett 95% konfidensintervall I θ för parametern θ. Då finns precis två möjliga scenario. Antigen ligger θ i I θ, eller inte. Därför är det olämpligt att säga "Sannolikheten att θ ligger i I θ är 0.95 ". Talet 95% betyder följande: Om Lisa och Emma upprepar deras studie flera gånger och varje gång beräknar de I θ, så innehåller I θ den riktiga parametern θ i ungefär 95% av alla försök. Vi kommer nu att analysera detta med hjälp av en simulering. Vi genererar 1000 studier med n = 100 datapunkter från N (µ N, 25) och 100 datapunkter från N (µ I, 25), där vi väljer µ N = 182 och µ I = 171. Det korrekta värdet av θ blir då 182 171 = 11. Varje gång beräknar vi konfidensintervallet I θ. I slutet räknar vi i hur många gånger intervallet I θ innehåller det korrekta värdet θ = 11. (Förvissa dig om att du förstår koden nedan och komplettera den.) 5
2 VAD BETYDER ÖVERTECKNINGSSANNOLIKHETEN AV ETT KONFIDENSINTERVALL EGENTLIGEN? B <- 1000 n <- 100 mu_ned <- 182 mu_ital <- 171 theta <- mu_ned - mu_ital sigma2 <- 25 count <- 0 for(i in 1:B){ ned <- rnorm(n, mu_ned, sqrt(sigma2)) ital <- rnorm(n, mu_ital, sqrt(sigma2)) theta_hat <- mean(ned) - mean(ital) sd_theta <-... # (fyll in det riktiga, du behöver standardavvikelsen # av theta_hat för konfidensintervalls undre gräns) I_theta_low <-...# (beräkna undre gränsen av konfidensintervallet) } # Ligger theta i intervallet? count <- count + as.numeric(i_theta_low <= theta) count/b # proportionen av antalet intervallet innehåller theta Obsevera att detta inte går att göra för verkliga data. Vi kan konstruera 1000 konfidensintervall pga av att vi har simulerade data. I verkligheten har vi ett enda studie, som vi ska analysera. 6