24.12.2014 Views

Introduktion till SPSS - Matematikcentrum

Introduktion till SPSS - Matematikcentrum

Introduktion till SPSS - Matematikcentrum

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Matematikcentrum</strong> 1(7)<br />

Matematisk Statistik<br />

Lunds Universitet<br />

MASB11 - Biostatistisk grundkurs<br />

HT2007<br />

Laboration<br />

Simulering<br />

Grupp A: 2007-11-12, 8.15-10.00<br />

Grupp B: 2007-11-12, 13.15-15.00


2<br />

<strong>Introduktion</strong><br />

Syftet med laborationen är dels att vi skall bekanta oss med lite av de olika funktioner som<br />

finns i <strong>SPSS</strong> vad det gäller simulering och dels att öka förståelsen för vissa grundläggande<br />

områden inom sannolikhetsteorin t.ex. slumpmässiga urval, slumpvariabel,<br />

sannolikhetsfördelning och summor av slumpvariabler (Centrala gränsvärdessatsen).<br />

Simulering i <strong>SPSS</strong><br />

Simulering i <strong>SPSS</strong> görs genom att man använder speciella färdiga funktioner under<br />

menyalternativet Transform>Compute. Om man t ex vill ha ett antal slumptal från en<br />

normalfördelning med medelvärdet 100 och standardavvikelsen 15 ser det ut så här:<br />

Här bildas alltså en ny variabel som får namnet NORMAL och den innehåller lika många<br />

slumptal från normalfördelningen som det finns observationer (rader) i datamaterialet.<br />

Exempel på fördelningar som finns i <strong>SPSS</strong> är (RV=Random Variable) :<br />

Fördelning Funktion Exempel<br />

Binomial RV.BINOM(n,p) RV.BINOM(10,0.5)<br />

Poisson RV.POISSON(mean) RV.BINOM(2)<br />

Normal RV.NORMAL(mean,stddev) RV.NORMAL(100,15)<br />

Likformig (Uniform) RV.UNIFORM(min,max) RV.UNIFORM(10,20)<br />

Exponential RV.EXP(scale) RV.EXP(1)<br />

mean = medelvärdet i fördelningen<br />

stddev = standardavvikelsen i fördelningen<br />

scale = 1 / medelvärdet (i exponentialfördelningen)<br />

Börja nu med att lägga in värdet 10 (eller vilket värde som helst) på den tionde raden i den<br />

första kolumnen i ditt datamaterial. Detta gör man för att <strong>SPSS</strong> alltid skapar ett slumptal för<br />

varje rad i datamaterialet. Vi kommer alltså nu automatiskt att få 10 slumptal.


3<br />

1. Bilda en ny kolumn med hjälp av Transform>Compute. Den skall heta NORMAL och<br />

innehålla 10 slumptal från en normalfördelning med medelvärdet 10 och standardavvikelsen<br />

2. Bilda sedan en andra kolumn som heter UNI och innehåller 10 slumptal från en likformig<br />

fördelning mellan 10 och 20. Ledning: RV.NORMAL(10,2) och RV.UNIFORM(10,20)<br />

Observera att slumptalen kan ses som stickprov om 10 observationer från två kända<br />

populationer. Kontrollera nu med hjälp av Graph>Histogram hur väl stickproven<br />

överensstämmer med populationerna. Teoretiskt ser populationerna ut så här:<br />

5 10<br />

15<br />

10<br />

15<br />

20<br />

Normal (10,2) Uniform (10,20)<br />

Hur väl stämmer stickproven överens med populationerna Upprepa nu för stickprovsstorlek<br />

n=50 observationer. Bör överensstämmelsen bli bättre eller sämre<br />

2. På kursens hemsida http://www.maths.lth.se/matstat/kurser/masb11/, under rubriken<br />

Kursmaterial – Datafiler, hittar du hjälpfilen OBS.SAV. Hämta hem denna fil <strong>till</strong> din dator.<br />

Den innehåller 1000 rader och en variabel som heter OBS.<br />

Skapa nu tre stickprov om n=1000 observationer från följande fördelningar:<br />

• Normal(10,2)<br />

• Uniform(10,20)<br />

• Exponential med medelvärdet 1 (RV.EXP(1))<br />

Kontrollera med histogram hur fördelningarna ser ut. Kryssa för Display normal curve.<br />

Om man vill kontrollera hur pass nära ett stickprov är en viss teoretisk fördelning kan man<br />

använda olika grafiska metoder. En sådan metod är en s k Q-Q plot (Q=Quantile). I en Q-Q<br />

plot jämför man de verkliga värdena i stickprovet med det man kunde förvänta sig från en<br />

viss teoretisk fördelning. Om de observerade värdena överensstämmer med de förväntade så<br />

kommer punkterna i en Q-Q plot att ligga längs en rät linje. Jämför nu de tre stickproven<br />

ovan med vad vi kunde förvänta oss från en normalfördelning. Menyalternativet du skall ge<br />

är Graphs>Q-Q plot och det skall då se ut så här:


4<br />

Tryck på OK, I resultatet finns två figurer för varje variabel. Den intressanta är den som<br />

kallas Normal Q-Q plot. Dina figurer bör se ut ungefär så här:<br />

18<br />

Normal Q-Q Plot of NORMAL<br />

30<br />

Normal Q-Q Plot of UNI<br />

16<br />

14<br />

12<br />

20<br />

Expected Normal Value<br />

10<br />

8<br />

6<br />

4<br />

2<br />

Expected Normal Value<br />

10<br />

0<br />

2<br />

4<br />

6<br />

8<br />

10<br />

12<br />

14<br />

16<br />

18<br />

0<br />

10<br />

20<br />

30<br />

Observed Value<br />

Observed Value<br />

2,5<br />

Normal Q-Q Plot of EXP<br />

2,0<br />

1,5<br />

1,0<br />

Expected Normal Value<br />

,5<br />

0,0<br />

-,5<br />

-1,0<br />

-1,5<br />

-2<br />

-1<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Observed Value<br />

Vi ser alltså att olika avvikelser från normalfördelning resulterar i olika kurvutseende.


3. I de tidigare uppgifterna har vi simulerat vad som händer om vi tar stickprov av olika<br />

storlekar från olika kända fördelningar. Vi skall nu gå vidare och undersöka vad som händer<br />

om vi bildar olika storheter i stickprovet. Vilka egenskaper får då dessa storheter<br />

Vi börjar med att undersöka vilken fördelningen summan av två observationer från en<br />

normalfördelning (10,2) har. Börja med att gå in under Transform>Compute och definiera<br />

en ny variabel NORM1 som RV.NORMAL(10,2). Tryck sedan på knappen Paste innan du<br />

ger OK. Då öppnas följande s k syntaxfönster.<br />

Detta är ett exempel på den programkod som <strong>SPSS</strong> alltid genererar när vi utför en operation.<br />

Om man vill utföra samma operation många gånger kan det vara praktiskt att utnyttja <strong>SPSS</strong><br />

programkod (syntax). Kopiera de två raderna i syntaxfönstret så att vi upprepar raderna ännu<br />

en gång. Byt namnet norm1 <strong>till</strong> norm2 i den andra omgången så att det ser ut så här:<br />

När vi kör dessa kommandon kommer det att bildas två nya variabler som heter NORM1<br />

och NORM2 och som innehåller 1000 slumptal var. Programkoden körs genom att man ger<br />

menysekvensen Run>All. De två kolumnerna med slumptal finns nu i datamaterialet. Om<br />

man vill kan man också spara syntaxfönstret för dokumentation eller senare användning<br />

(File>Save As / File>Open>Syntax).<br />

Bilda nu summan av de två kolumnerna NORM1 och NORM2. Undersök vilken fördelning<br />

summan har genom att göra ett histogram och en Q-Q plot.<br />

Vilken fördelning har summan Svar: ______<br />

Vad bör medelvärdet bli Svar: ______<br />

Standardavvikelsen Svar: _____ (Svar finns längst bak)


6<br />

Centrala gränsvärdessatsen<br />

Centrala gränsvärdessatsen (CGS) är ett av de viktigaste resultaten i den statistiska teorin.<br />

Den säger att fördelningen för en summa (medelvärde) av oberoende slumpvariabler med<br />

samma fördelning går mot en normalfördelning om antalet termer är <strong>till</strong>räckligt stort. I den<br />

första uppgiften skall du undersöka hur många termer (observationer) som behövs för att få<br />

en bra normalfördelningsapproximation. Vi skall i uppgiften jämföra observationer från en<br />

likformig fördelning mellan 10 och 20 och en exponentialfördelning med medelvärdet 1.<br />

• Simulera nu 1000 slumptal från en likformig fördelning mellan 10 och 20. Om du<br />

vill kan du använda den variabel du fick fram under punkten 2 ovan. Kalla variabeln<br />

UNI1.<br />

• Skapa ytterligare en variabel UNI2 med 1000 slumptal från samma fördelning. Bilda<br />

summan av UNI1 och UNI2 och undersök hur fördelningen för summa ser ut genom<br />

att göra ett histogram och/eller en Q-Q plot.<br />

• Skapa nu ytterligare en variabel UNI3 och bilda summan UNI1+UNI2+UNI3. Hur<br />

ser fördelningen för summan ut<br />

• Fortsätt nu på samma sätt och lägg <strong>till</strong> variabler <strong>till</strong>s fördelningen för summan kan<br />

approximeras bra av en normalfördelning. Hur många termer behöver du använda<br />

Kontrollera att medelvärdet och standardavvikelsen för summan stämmer överens<br />

med vad de teoretiskt bör vara. Ledning: Man kan visa att om X är uniform (a,b): =><br />

E X = a+b<br />

2<br />

Var X = b−a2<br />

12<br />

• Upprepa nu denna procedur för slumptal från en exponentialfördelning med<br />

medelvärdet 1. Bilda alltså variabler med 1000 slumptal och summera ihop dessa.<br />

Verkar fördelningen gå snabbare eller långsammare mot en normalfördelning än det<br />

gjorde för den likformiga fördelningen. Vad beror detta på<br />

• Centrala gränsvärdessatsen i praktiken: På 35 patienter med Hodgkins sjukdom mätte<br />

man antalet T4 celler i blodet (antal/mm³). Samtidigt mätte man motsvarande antal<br />

hos 35 patienter som hade andra sjukdomar (Non-Hodgkins). Data ligger i filen<br />

HODGKIN.SAV som du hittar på kursens hemsida<br />

http://www.maths.lth.se/matstat/kurser/masb11/, under rubriken Kursmaterial –<br />

Datafiler. Undersök om antalet celler i blodet är normalfördelat för de båda<br />

grupperna.<br />

• Du hade tänkt att jämföra grupperna genom att bilda differensen mellan de två<br />

gruppmedelvärdena. Kan du använda dig av centrala gränsvärdessatsen i detta fall<br />

Kan du säga något om vilken fördelning differensen i medelvärden har Är det ett<br />

stort problem att variabeln inte är normalfördelad i de båda grupperna


7<br />

Sammanfattning <strong>SPSS</strong><br />

Paste<br />

File>Open>Data<br />

File>Open>Syntax<br />

File>Save As<br />

Transform>Compute<br />

Analyze> Descriptive Statistics >Descriptives<br />

Graphs> Histogram<br />

Graphs>Q-Q plot<br />

Data>Split File<br />

Öppnar syntaxfönster<br />

Öppna <strong>SPSS</strong>-data<br />

Öppnar sparat syntaxfönster<br />

Sparar aktuellt fönster<br />

Bilda nya variabler<br />

Beskrivande mått<br />

Histogram<br />

Q-Q plot<br />

Dela upp materialet i grupper<br />

Svar på frågorna:<br />

Summan blir normalfördelad (alla linjära kombinationer av normalfördelningar blir i sig<br />

normalfördelade). Medelvärdet bör bli summan av de två medelvärdena (10+10=20) och för<br />

att få standardavvikelsen så lägger vi ihop de två varianserna och tar roten ur summan.<br />

2 2 2 2 =8=2,83<br />

S=X 1<br />

+X 2<br />

E S =E X 1<br />

+E X 2<br />

<br />

Var S =Var X 1 +Var X 2 ⇒ σ S =VarS

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!