Matematikcentrum (7) Matematisk Statistik Lunds Universitet Per-Erik Isberg Laboration Simulering HT 006
Introduktion Syftet med laborationen är dels att vi skall bekanta oss med lite av de olika funktioner som finns i SPSS vad det gäller simulering och dels att öka förståelsen för vissa grundläggande områden inom sannolikhetsteorin t ex slumpmässiga urval, slumpvariabel, sannolikhetsfördelning och summor av slumpvariabler (Centrala gränsvärdessatsen). Den första delen av laborationen är en introduktion och behöver inte redovisas. Däremot skall den andra delen (Inlämningsuppgifter) redovisas i en skriftlig rapport som skall vara inlämnad senast fredagen den december 006. Simulering i SPSS Simulering i SPSS görs genom att man använder speciella färdiga funktioner under menyalternativet Transform>Compute. Om man t ex vill ha ett antal slumptal från en normalfördelning med medelvärdet 0 och standardavvikelsen 5 ser det ut så här: Här bildas alltså en ny variabel som får namnet NORMAL och den innehåller lika många slumptal från normalfördelningen som det finns observationer (rader) i datamaterialet. Exempel på fördelningar som finns i SPSS är (RV=Random Variable) : Fördelning Funktion Exempel Binomial RV.BINOM(n,p) RV.BINOM(,0.5) Poisson RV.POISSON(mean) RV.BINOM() Normal RV.NORMAL(mean,stddev) RV.NORMAL(0,5) Likformig (Uniform) RV.UNIFORM(min,max) RV.UNIFORM(,0) Exponential RV.EXP(scale) RV.EXP() mean = medelvärdet i fördelningen stddev = standardavvikelsen i fördelningen scale = / medelvärdet (i exponentialfördelningen)
3 Börja nu med att lägga in värdet (eller vilket värde som helst) på den tionde raden i den första kolumnen i ditt datamaterial. Detta gör man för att SPSS alltid skapar ett slumptal för varje rad i datamaterialet. Vi kommer alltså nu automatiskt att få slumptal.. Bilda en ny kolumn med hjälp av Transform>Compute. Den skall heta NORMAL och innehålla slumptal från en normalfördelning med medelvärdet och standardavvikelsen. Bilda sedan en andra kolumn som heter UNI och innehåller slumptal från en likformig fördelning mellan och 0. Ledning: RV.NORMAL(,) och RV.UNIFORM(,0) Observera att slumptalen kan ses som stickprov om observationer från två kända populationer. Kontrollera nu med hjälp av Graph>Histogram hur väl stickproven överensstämmer med populationerna. Teoretiskt ser populationerna ut så här: 5 5 5 0 Normal (,) Uniform (,0) Hur väl stämmer stickproven överens med populationerna? Upprepa nu för stickprovsstorlek n=50 observationer. Bör överensstämmelsen bli bättre eller sämre?. På kursens hemsida http://www.maths.lth.se/matstat/kurser/mas5/, under rubriken Kursmaterial Datafiler, hittar du hjälpfilen OBS.SAV. Hämta hem denna fil till din dator. Den innehåller 00 rader och en variabel som heter OBS. Skapa nu tre stickprov om n=00 observationer från följande fördelningar: Normal(,) Uniform(,0) Exponential med medelvärdet (RV.EXP()) Kontrollera med histogram hur fördelningarna ser ut. Kryssa för Display normal curve.
4 Om man vill kontrollera hur pass nära ett stickprov är en viss teoretisk fördelning kan man använda olika grafiska metoder. En sådan metod är en s k Q-Q plot (Q=Quantile). I en Q-Q plot jämför man de verkliga värdena i stickprovet med det man kunde förvänta sig från en viss teoretisk fördelning. Om de observerade värdena överensstämmer med de förväntade så kommer punkterna i en Q-Q plot att ligga längs en rät linje. Jämför nu de tre stickproven ovan med vad vi kunde förvänta oss från en normalfördelning. Menyalternativet du skall ge är Graphs>Q-Q plot och det skall då se ut så här: Tryck på OK, I resultatet finns två figurer för varje variabel. Den intressanta är den som kallas Normal Q-Q plot. Dina figurer bör se ut ungefär så här: 8 Normal Q-Q Plot of NORMAL 30 Normal Q-Q Plot of UNI 6 4 0 Expected Normal Value 8 6 4 Expected Normal Value 0 4 6 8 4 6 8 0 0 30 Observed Value Observed Value Normal Q-Q Plot of EXP,5,0,5,0 Expected Normal Value,5 0,0 -,5 -,0 -,5 - - 0 3 4 5 Observed Value Vi ser alltså att olika avvikelser från normalfördelning resulterar i olika kurvutseende.
5 3. I de tidigare uppgifterna har vi simulerat vad som händer om vi tar stickprov av olika storlekar från olika kända fördelningar. Vi skall nu gå vidare och undersöka vad som händer om vi bildar olika storheter i stickprovet. Vilka egenskaper får då dessa storheter? Vi börjar med att undersöka vilken fördelningen summan av två observationer från en normalfördelning (,) har. Börja med att gå in under Transform>Compute och definiera en ny variabel NORM som RV.NORMAL(,). Tryck sedan på knappen Paste innan du ger OK. Då öppnas följande s k syntaxfönster. Detta är ett exempel på den programkod som SPSS alltid genererar när vi utför en operation. Om man vill utföra samma operation många gånger kan det vara praktiskt att utnyttja SPSS programkod (syntax). Kopiera de två raderna i syntaxfönstret så att vi upprepar raderna ännu en gång. Byt namnet norm till norm i den andra omgången så att det ser ut så här: När vi kör dessa kommandon kommer det att bildas två nya variabler som heter NORM och NORM och som innehåller 00 slumptal var. Programkoden körs genom att man ger menysekvensen Run>All. De två kolumnerna med slumptal finns nu i datamaterialet. Om man vill kan man också spara syntaxfönstret för dokumentation eller senare användning (File>Save As / File>Open>Syntax). Bilda nu summan av de två kolumnerna NORM och NORM. Undersök vilken fördelning summan har genom att göra ett histogram och en Q-Q plot. Vilken fördelning har summan? Svar: Vad bör medelvärdet bli? Svar: Standardavvikelsen? Svar: (Svar finns längst bak)
6 Inlämningsuppgifter Dessa uppgifter skall redovisas i form av en skriftlig rapport som skall vara inlämnad senast fredagen den december 006. Centrala gränsvärdessatsen (CGS) Ett av de viktigaste resultaten i den statistiska teorin är centrala gränsvärdessatsen. Den säger att fördelningen för en summa (medelvärde) av oberoende slumpvariabler med samma fördelning går mot en normalfördelning om antalet termer är tillräckligt stort. I den första uppgiften skall du undersöka hur många termer (observationer) som behövs för att få en bra normalfördelningsapproximation. Vi skall i uppgiften jämföra observationer från en likformig fördelning mellan och 0 och en exponentialfördelning med medelvärdet. Simulera nu 00 slumptal från en likformig fördelning mellan och 0. Om du vill kan du använda den variabel du fick fram under punkten ovan. Kalla variabeln UNI. Skapa ytterligare en variabel UNI med 00 slumptal från samma fördelning. Bilda summan av UNI och UNI och undersök hur fördelningen för summa ser ut genom att göra ett histogram och/eller en Q-Q plot. Skapa nu ytterligare en variabel UNI3 och bilda summan UNI+UNI+UNI3. Hur ser fördelningen för summan ut? Fortsätt nu på samma sätt och lägg till variabler tills fördelningen för summan kan approximeras bra av en normalfördelning. Hur många termer behöver du använda? Kontrollera att medelvärdet och standardavvikelsen för summan stämmer överens med vad de teoretiskt bör vara. Ledning: Man kan visa att om X a + b ( b a) är uniform (a,b): => E( X ) = V ( X ) = Upprepa nu denna procedur för slumptal från en exponentialfördelning med medelvärdet. Bilda alltså variabler med 00 slumptal och summera ihop dessa. Verkar fördelningen gå snabbare eller långsammare mot en normalfördelning än det gjorde för den likformiga fördelningen. Vad beror detta på? Centrala gränsvärdessatsen i praktiken. Datamaterial: Efter en svår storm fångades 36 gråsparvar. Fåglarna var i dålig kondition och 7 hämtade sig medan 64 dog. Du vill jämföra dessa båda grupper på en viss variabel. Men variabeln är inte normalfördelad i någon av grupperna. Du hade tänkt att jämföra grupperna genom att bilda differensen mellan de två gruppmedelvärdena. Kan du använda dig av centrala gränsvärdessatsen i detta fall? Kan du säga något om vilken fördelning differensen i medelvärden har? Är det ett stort problem att variabeln inte är normalfördelad i de båda grupperna?
7 På kursens hemsida http://www.maths.lth.se/matstat/kurser/mas5/, under rubriken Kursmaterial Datafiler, hittar du filen GRÅSPARVAR.SAV. Undersök om fåglarnas totala längd och vikt är normalfördelad. Dela sedan upp materialet i de som klarade sig och de som dog. Verkar de båda variablerna vara normalfördelade i respektive grupp. Ledning: Data>Split File. Sammanfattning SPSS Paste File>Open>Data File>Open>Syntax File>Save As Transform>Compute Analyze> Descriptive Statistics >Descriptives Graphs> Histogram Graphs>Q-Q plot Data>Split File Öppnar syntaxfönster Öppna SPSS-data Öppnar sparat syntaxfönster Sparar aktuellt fönster Bilda nya variabler Beskrivande mått Histogram Q-Q plot Dela upp materialet i grupper Svar på frågorna: Summan blir normalfördelad (alla linjära kombinationer av normalfördelningar blir i sig normalfördelade) Medelvärdet bör bli summan av de två medelvärdena (+=0) och för att få standardavvikelsen så lägger vi ihop de två varianserna och tar roten ur summan. + = 8 =,83 S = X + X E( S) = E( X V ( S) = V ( X ) + E( X ) + V ( X ) ) σ S = V ( S)