Introduktion till SPSS - Matematikcentrum
Introduktion till SPSS - Matematikcentrum
Introduktion till SPSS - Matematikcentrum
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