1 Regressionsanalys med SPSS Kimmo Sorjonen (2010) 1. Multipel regression 1.1. Variabler I det aktuella exemplet ingår följande variabler: (1) life.sat, anger i vilket utsträckning man är nöjd med livet; (2) ålder; (3) studier, anger hur många timmar i veckan man ägnar sig åt sina studier; (4) sova, anger hur många timmar i veckan man sover; (5) tv, anger hur många timmar i veckan man tittar på TV; (6) motionera, anger hur många timmar i veckan man motionerar. I en linjär multipel regression bör utfallsvariabeln (i det här fallet life.sat) ha ett linjärt samband med prediktorerna (alternativt inget samband). För att kolla detta: Graphs Legacy Dialogs Scatter/Dot. Klicka på Matrix Scatter och sedan på Define. Kör in alla variabler i rutan Matrix Variables och klicka på OK. I det aktuella fallet erhölls följande matris (endast raden för life.sat visas): På variablerna Ålder (längst till vänster) och TV-tittande (fyra från vänster) finns varsin positiv outlier. Annars ser inte sambanden oroväckande icke-linjära ut. Vi kör. life.sat studier TV life.sat 1.2. En första körning (Enter-metoden) För att köra vanlig linjär regression i SPSS: Klicka på Analyze Regression Linear. Kör in kriterievariabeln i rutan Dependent och prediktorerna i rutan Independent(s). För att kontrollera för kollinearitet: Klicka på Statistics Kryssa för Collinearity diagnostics (ger Tolerance och VIF ). Klicka på Continue. Klicka på OK för att köra analysen. I det här exemplet har life satisfaction predicerats utifrån de fem övriga variablerna. Modellen förklarar 14,1 % av variansen i life satisfaction. Korrigerat för antalet prediktorer (fem stycken) och N (64) förklarar modellen 6,7 % av variansen i life satisfaction.
2 Om man kontrollerar för de andra prediktorerna så har endast antalet pluggade timmar i veckan en signifikant (och positiv) effekt på life satisfaction. Detta bör dock tolkas med försiktighet eftersom F-kvoten ovan inte var signifikant. Den aktuella modellen kan inte förklara signifikant mer än noll procent av variansen i life satisfaction, F(5, 58) = 1.91, p =.11. Alla prediktorer skulle kunna ha en koefficient på noll i populationen. Inga problem med kollinearitet (alla toleranser är höga och alla VIF är låga). 1.3. Stepwise Hittills har vi kört med Enter som selektionsmetod, vilket innebär att alla valda prediktorer tas med i modellen. Genom att välja Stepwise som selektionsmetod så kan vi låta programmet välja ut de prediktorer som bidrar med en signifikant förbättring av modellen. För att välja Stepwise: Välj i menyn under Method (se figuren intill): Och så exempel på output (se även nästa sida): I steg 1 tas studier med som prediktor av life satisfaction. Efter detta kan ingen av de fyra andra prediktorerna bidra till att signifikant förbättra modellen (alltså tas de inte med). Modellen med studier som prediktor förklarar 6,8% av variansen i life satisfaction (5,3% om man justerar för antalet prediktorer och N).
3 Modellen med studier som prediktor förklarar signifikant mer än noll procent av variansen i life satisfaction, F(1, 62) = 4.51, p =.04. En timmes ökning i veckan i pluggande är associerad med en ökning i life satisfaction med 0,017 poäng (på en skala från 1 till 7). En ökning i pluggande med en standardavvikelse är associerad med en ökning i life satisfaction med 0,260 standardavvikelser. 1.4. Diagnostik Nu har vi alltså en modell där life satisfaction kan prediceras utifrån hur mycket man pluggar. Innan vi skickar in det hela till Science bör vi dock kontrollera att vissa diagnostiska kriterier är uppfyllda. Vi kör en regressionsmodell (enter-metoden) där life satisfaction prediceras utifrån studier. För diagnostik : Save Kryssa för Predicted Values, Unstandardized, Residuals, Standardized, och Influence Statistics, Standardized DfBeta(s). (Observera att dessa variabler beräknas för varje körning och sparas som variabler längst ut till höger i databladet). Klicka på Continue och sedan på OK. Vi får fyra nya variabler: (1) PRE_1, predicerad life satisfaction baserad på hur mycket man pluggar (= 4,794 + 0,017 studier); (2) ZRE_1, standardiserad residual ((observerad life satisfaction minus predicerad life satisfaction) / SD för residualen); (3) SDBO_1, standardiserat värde för hur mycket var och en av personerna påverkar det framräknade interceptet, ex drar personen på första raden ner värdet på interceptet med 0,17057 medelfel medan personen på andra raden lyfter interceptet med 0,00905 medelfel; (4) SDB1_1, standardiserat värde för hur mycket var och en av personerna påverkar den framräknade koefficienten för effekten av studier. Dessa nya variabler bör uppvisa vissa egenskaper för att vi skall känna oss trygga med att regressionsanalysen inte kommit fram till ett felaktigt resultat: (1) Residualerna bör i genomsnitt vara ungefär noll för alla nivåer av de predicerade värdena (detta kan undersökas genom att titta på en scatterplot med predicerade värden på x-axeln och med residualer på y- axeln); (2) Ingen person bör ha en otillbörligt stark effekt på framräknat intercept eller
4 regressionskoefficient (detta kan undersökas genom att titta på histogram över de standardiserade DfBeta-värdena). I det aktuella fallet ser det ut som nedan: Det finns inget samband mellan predicerade värden och residualer och för varje nivå av predicerade värden verkar den genomsnittliga residualen vara ungefär noll (det finns både positiva och negativa residualer). Gott så. DfBeta (standardiserat) för interceptet verkar vara ungefär jämt fördelat på båda sidor av noll och ingen person har ett värde som avviker särskilt mycket från de andras värden. Gott så. DfBeta (standardiserat) för koefficienten för effekten av studier ser väl rätt så OK ut. Tre personer har värden som kanske ligger lite långt åt det negativa hållet. Vi hittade en positiv effekt av studier på life satisfaction och utan dessa tre hade effekten varit mer positiv. Dessa tre bidrar alltså till att dämpa, snarare än till att förstärka, resultatet. Gott så (med tanke på att vi ändå fann en effekt). 1.5. Standardisering Analyze Descriptive Statistics Descriptives Kör in variabeln som du vill standardisera i rutan Variable(s) Kryssa för Save standardized values as variables Klicka på OK. Den nya variabeln med standardiserade värden dyker upp längst ut till höger i databladet. 1.6. Kurvlinjära prediktorer Tänk dig att vi, av någon anledning, tror att sambandet mellan TV-tittande och life satisfaction bäst beskrivs med en kurva. Då kan vi kvadrera TV-variabeln och ta med den som en prediktor i analysen. Bl.a. för att undvika kollinearitet med den ursprungliga TV-variabeln standardiseras denna först (se ovan).
5 För att få fram den kvadrerade variabeln: Transform Compute variable. Ge den nya variabeln ett namn (i rutan Target Variable, se figuren intill). Kör in variabeln som skall kvadreras i rutan Numeric Expression, klicka på dubbelasterisk (= upphöjt till) och skriv till en tvåa. Klicka på OK. Den nya kvadrerade variabeln dyker upp längs ut till höger i databladet. Den kvadrerade variabeln kan nu användas som en prediktor i linjär regressionsanalys. Nedan ett exempel på utskrift: 1.7. Men TV-tittande har ett signifikant kurvlinjärt samband med life satisfaction. Eftersom koefficienten för den kvadrerade termen är positiv (+ 0,143) så vet vi att sambandet är U-format. Inverterat U- formade samband ( ) ger en negativ koefficient för den kvadrerade termen. Figuren till höger visar fördelningen av DfBeta (standardiserat) för koefficienten för den kvadrerade termen. Data från en enda person gör så att koefficienten blir drygt 2,5 medelfel större (mer positiv) än vad den annars skulle ha blivit. Det är inte tillfredsställande att framräknade koefficienter i så hög utsträckning påverkas av en enda person. Om analysen görs om utan den här personen (Select Cases if SDB2_2 < 2) så får vi istället resultatet nedan. Nu får vi fram att det finns ett nästan signifikant och negativt linjärt samband mellan TV-tittande och life satisfaction (p =.058) men inget signifikant kurvlinjärt samband (p =.842).
6 1.8. Interaktioner Säg att vi, av någon anledning, tror att effekten av pluggande på life satisfaction är olika för personer med olika åldrar, alltså att pluggande och ålder interagerar i sin effekt på life satisfaction. För att testa detta kan vi multiplicera de två variablerna med varandra och ta med den nya produktvariabeln som en prediktor i analysen. Detta leder dock återigen till risk för kollinearitet, och detta kan vi, återigen, undvika genom att standardisera de två variablerna innan multiplikationen. Nedan ett exempel på output från regressionsanalysen. Vi ser att, kontrollerat för de andra prediktorerna, har pluggande ett signifikant (p =.005) och positivt samband med life satisfaction. Vi ser även att interaktionstermen är signifikant (p =.027). Att den är positiv (+ 0,380) innebär att effekten av pluggande på life satisfaction ökar (blir mer positiv) med åldern och att effekten av ålder på life satisfaction ökar (blir mer positiv) ju mer man pluggar. Effekten av pluggande (standardiserat) på life satisfaction ges av formeln 0,301 + 0,380 Zålder. För personer med Zålder = -1 (motsvarar en ålder på 18,9 år) beräknas effekten av pluggande (standardiserat) på life satisfaction till 0,301 + 0,380-1 = -0,079, vilket innebär att en ökning i pluggande med en standardavvikelse associeras med en sänkning i life satisfaction med 0,079 poäng. För personer med Zålder = 0 (24,1 år) associeras en SD ökning i pluggande med en ökning i life satisfaction med 0,301 poäng och för dem med Zålder = 1 (29,3 år) med en ökning på 1,061 poäng. En titt på sambandet mellan predicerade värden och residualer samt på DfBetas gav inte upphov till någon (större) oro gällande resultatet från interaktions-analysen ovan. 2. Logistisk regression (binär) Vid logistisk regression prediceras värdena (eller egentligen: logaritmen för oddsen för det ena utfallet) på en dikotom variabel utifrån en eller flera prediktorer. Prediktorerna kan vara kontinuerliga, dikotoma eller kategorivariabler (görs om till dummy-variabler). För att utföra en logistisk regression: Analyze Regression Binary Logistic. Kör in den dikotoma beroende variabeln i rutan Dependent och prediktorerna i rutan Covariates. Klicka på OK. Nedan ses exempel på output där det prediceras ifall folk har barn (=1 på variabeln Barn2 ) eller inte (=0) utifrån ålder och om man har körkort (=1) eller inte (=0).
7 De som har barn kodas som 1 och resten som 0. Detta är viktigt för tolkningen av resultaten. Den s.k. nollmodellen (inga prediktorer) predicerar att ingen har barn och detta är rätt i 90,8% av fallen. Vår modell (med prediktorer) är signifikant bättre på att predicera om folk har barn än vad nollmodellen är. Åtminstone en av prediktorerna kan antas ha en koefficient som skiljer sig från noll i populationen. Här ser vi att om man använder 0,5 som en brytpunkt så kategoriserar vår modell (med prediktorer) folk till rätt grupp i 92,3% av fallen (att jämföra med nollmodellens 90,8%). Här ser vi att ålder har en signifikant (p =.005) och ökande effekt på oddsen att ha barn (om man kontrollerar för körkortsinnehav). För en ökning i ålder med ett år ökar den naturliga logaritmen av oddsen att ha barn med 0,459. Detta motsvarar en odds-ökning på e 0,459 = 1,583 (för ett års ökning i ålder ökar alltså oddsen för att ha barn med 58,3%). Effekten av körkortsinnehav (kontrollerat för ålder) är nästan signifikant (p =.074). För körkortinnehavare är oddsen att ha barn endast 5,7% av motsvarande odds för dem utan körkort.
8 Övningsuppgifter: Predicera graden av life satisfaction utifrån: (a) Hur mycket man pluggar (f23) (standardisera först) (b) Hur mycket man tittar på TV (f25) (standardisera först) (c) Produkten av pluggande (standardiserad) och TV-tittande (standardiserad) Spara predicerade värden (ostandardiserade), residualer (standardiserade) och DfBetas (standardiserade). F1: Hur stor andel av variansen i life satisfaction förklarar vår modell? F2: Är vår modell signifikant (predicerar den mer än noll procent av variansen i life satisfaction)? F3: Är någon av de enskilda prediktorerna signifikant? F4: Finns det skäl att misstänka problem med kollinearitet? F5: Hur tolkas den signifikanta interaktionen? F6: Ser de diagnostiska kriterierna OK ut? Predicera odds för att respondenterna bor norr om Storkyrkan (f3bor = 1) utifrån: (a) Ålder (f2) (b) Antalet barn man har (f7) (c) Restid till KI (f11) F7: Hur stor andel av respondenterna blir korrekt kategoriserade i nollmodellen? F8: Hur stor andel av respondenterna blir korrekt kategoriserade av modellen med våra prediktorer? F9: Är den här skillnaden signifikant? F10: Är någon av de enskilda prediktorerna signifikant?
9 Facit F1: R 2 =.168 F2: Ja, F(3, 61) = 4.12, p =.01. F3: Ja, Zstudier, b(61) = 0.22, p =.03, ju mer man pluggar desto högre grad av life satisfaction. Även interaktionstermen är signifikant, b(61) = -0.14, p =.03. F4: Nej, toleransen är så hög som den kan bli. F5: När graden av TV-tittande ökar med en SD så ökar effekten av Zstudier på life satisfaction med 0,256 och vice versa. Alltså: Ju mer man ägnar sig åt den ena aktiviteten, desto starkare samband har den andra aktiviteten med graden av life satisfaction. F6: En person har ett avvikande högt värde på DfBeta för Ztv (se figuren till höger). Om analysen görs om utan den här personen så slutar interaktionen att vara signifikant, b(60) = 0.18, p =.12, men nu ser vi istället ett signifikant negativt samband mellan TV-tittande och life satisfaction, b(60) = -0.27, p =.02. F7: 57,8% F8: 70,3% F9: Ja, χ 2 (3) = 18.42, p <.001. F10: Ja, restid, B(1) = -0.078, p =.002. För varje minuts ökning i restid till KI så minskar oddsen för att man bor norr om storkyrkan med 7,5%.