Guide: Logistisk regression

I det här inlägget ska vi:

  • Gå igenom när man bör använda logistisk regression istället för linjär regression
  • Gå igenom hur man genomför en logistisk regression i SPSS
  • Tolka resultaten med hjälp av en graf över förväntad sannolikhet
  • Förstå vad B-koefficienten betyder
  • Förstå vad Exp(B), ”odds-ratiot”, betyder
  • Jämföra resultaten med OLS (linjär regression)

Linjär regressionsanalys, som beräknas med hjälp av OLS-metoden (Ordinary Least Squares) är ett kraftfullt verktyg för att bedöma effekten av en variabel på en annan. Men metoden är utarbetad för att undersöka samband där den beroende variabeln är en kontinuerlig intervallskala. Men ofta vill vi undersöka kategoriska fenomen. Inom statsvetenskapen är partival ett klassiskt exempel. Man kan med hjälp av OLS undersöka folks attityder till exempelvis Socialdemokraterna, om de angett dem på en skala från 0-10. Men om vi vill undersöka röstintention för Socialdemokraterna har den beroende variabeln bara två värden – ja eller nej.

Vi måste då använda oss av logistisk regression. Istället för att som i OLS beräkna ett predicerat värde på den beroende variabeln räknar man då för varje värde på den oberoende variabeln fram en predicerad sannolikhet att ha svarat ”Ja” på frågan om man planerar att rösta på Socialdemokraterna. Det kräver speciella beräkningstekniker, eftersom det finns ett golv och ett tak på vad variabeln kan anta för värde – sannolikheten kan inte vara mindre än 0% eller mer än 100%.

I det här exemplet vill jag undersöka sannolikheten att ett land tar politiska fångar, ett aktuellt ämne efter Arabvåren. Påverkas denna sannolikhet av graden av demokrati i landet?

Data och omkodningar
Data kommer från Quality Of Government-datasetet, cross-section (tvärsnitt), version April 2011. Den beroende variabeln kommer från Cingranelli & Richards databas över mänskliga rättigheter, och heter I QoG-datamängden ”ciri_polpris”. Variabeln har värdet 0 om många fängslas på grund av sina åsikter, 1 om några blir fängslade, och 2 om ingen blir fängslad. Jag kodar om variabeln så att den har värdet 1 om någon över huvud taget blir fängslad för sina åsikter, och värdet 0 om ingen blir det. Variabeln är nu alltså dikotom, har bara två värden, och lämpar sig därför för logistisk regressionsanalys.

Den oberoende variabeln är ett index som väger samman två demokratimått, ett från Freedom House och ett från projektet Polity. Variabeln har värden från 0 till 10, där 0 betyder minst demokratiskt och 10 betyder mest demokratiskt.

Problem med linjär regression
Det första vi kan göra är att göra analysen med hjälp av linjär regression för att få en referenspunkt. Jag lägger in min omkodade variabel (dum_polprisoner) som beroende variabel, och fh_polity2 som oberoende variabel. Du behöver veta hur man genomför och tolkar en linjär regression för att följa med i framställningen. Resultaten kan man se i Bild 1.

Bild 1. Resultat från en linjär regressionsanalys.

Koefficienten för den oberoende variabeln är negativ och statistiskt signifikant, vilket innebär att ju mer demokratiskt ett land blir, desto lägre värde förväntas man ha på den beroende variabeln. R2-värdet är 0,37, vilket tyder på att 37 procent av variationen i den beroende variabeln förklaras av den oberoende variabeln. Men går det att förstå resultaten på ett meningsfullt sätt? Interceptet (constant) visar vad det förväntade värdet på den beroende variabeln är när den oberoende variabeln är 0. I det här fallet är interceptet 1,032. Det innebär alltså att vi förväntar oss att de minst demokratiska länderna har värdet 1,032 på en variabel som maximalt kan ha värdet 1, vilket känns lite märkligt.

I Bild 2 har jag ritat ut en scatterplot med den beroende variabeln på Y-axeln och den oberoende variabeln på X-axeln, samt den regressionslinje vi just skattade. Man ser lätt att det känns konstigt att skatta en regressionslinje som predicerar att värdet på den beroende variabeln gradvis ska förändras när det är tydligt att punkterna ligger antingen på 1 eller på 0. Man ser också att regressionslinjen går över 1 när värdet på den oberoende variabeln är 0, som vi såg på interceptet i tabellen tidigare.

Bild 2. Scatterplot med utritad linjär regressionslinje.

En bättre strategi är alltså att beräkna sannolikheten att värdet på den beroende variabeln är 1 vid olika värden på den oberoende variabeln. Då ska vi använda oss av logistisk regression.

Hur man genomför en logistisk regression
Att genomföra regressionen är busenkelt. Man går bara in på ”Analyze->Regression->Binary Logistic”, som visas i Bild 3.

Bild 3. Hur man hittar logistisk regression i SPSS.

Därefter klickar man i sin beroende variabel i rutan ”Dependent”, oden oberoende lägger man i rutan ”Covariates”. Överlag fungerar logistisk regressionsanalys på samma sätt som linjär regression, och de oberoende variablerna ska alltså vara intervallskalor även här (eller dummyvariabler). Tryck sedan på OK.

Bild 4. Val av beroende och oberoende variabler i logistisk regression.

Man får då ut en mängd output från SPSS. Först kommer en tabell där det står ”Case processing summary”, och det är bara lite beskrivande statistik på hur många analysenheter som ingår i analysen. Därefter kommer en tabell som heter ”Dependent variable encoding”, som visar hur SPSS har kodat om variabeln ifall den inte hade värdena 0 och 1 från början. Sedan börjar ”Block 0: Beginning block”, som är en analys SPSS gör utan några oberoende variabler i, bara med ett intercept. Det är tämligen ointressant för vår frågeställning så gå direkt vidare till ”Block 1: Method = Enter”. Här börjar det intressanta.

Det första vi är intresserade av är tabellen ”Model Summary”. Här återfinns tre mått på hur väl modellen passar. I linjär regressionsanalys hittar vi R2 här, men det måttet fungerar inte här. Vi får då istället ut -2 Log Likelihood, som är lite svårtolkat, men generellt gäller att ju lägre, desto bättre. Mer lättolkade är de två Pseudo-R2-måtten vi får ut, ”Cox & Snell R Square” och ”Nagelkerke R Square”. Det är mått anpassade för logistisk regression, men gjorda för att likna det vanliga R2, och går alltså från 0 till 1. Generellt sett gäller att för båda värdena så indikerar högre värden att de oberoende variablerna är bättre på att predicera den beroende variabeln, men de kan inte riktigt tolkas som andelen förklarad varians.

Bild 5. Resultat av den logistiska regressionsanalysen.

En mer lättfattlig indikation på hur bra modellen är på att predicera den beroende variabeln får vi i nästa tabell, ”Classification Table”. Här kan vi se vad vår modell gissade att varje analysenhet skulle ha för värde, och vad den faktiskt hade för värde. I det här fallet kan vi se att av de 89 länder där man inte tar politiska fångar gissade vår modell rätt på 75 länder, och fel på 14. Bland de 72 länder som faktiskt tar politiska fångar så gissade vi rätt i 51 fall, och fel i 21 fall. Längst ner till höger kan vi se den totala andelen rätt gissningar: 78,3%, vilket i jag tycker är ganska bra.

Sedan följer den intressantaste tabellen, ”Variables in the Equation”. Här kan vi se effekterna av de olika variablerna. Det första vi undersöker är koefficienten för vår oberoende variabel, som vi hittar i kolumnen markerad med ”B”. Strunta för ett ögonblick i vad koefficienten faktiskt är, utan notera bara om det står ett minustecken framför den. Det gör det i det här fallet. Det innebär, precis på samma sätt som i linjär regression, att den oberoende variabeln har en negativ effekt på den beroende variabeln. Och vi ser också i kolumnen ”Sig.” att effekten är statistiskt signifikant, alltså vi kan vara ganska säkra på att effekten inte är orsakad av slumpmässig variation i det datamaterial vi undersöker. Signifikansen tolkas på samma sätt som i linjär regression.

Vi har nu kommit ganska långt i vår frågeställning. Vi kan nu säga att ju mer demokratiskt ett land är, desto mindre sannolikhet är det att man i landet tar politiska fångar. Men hur stor är effekten? För att få reda på det behöver vi göra lite ytterligare beräkningar. Det första vi kan göra är att undersöka den förväntade sannolikheten grafiskt.

Hur man tar fram en graf över predicerade sannolikheter
Först gör vi om analysen, men när vi klickat i beroende och oberoende variabel klickar vi på knappen ”Save”. Där klickar vi i rutan ”Probabilities” under rubriken ”Predicted values”. Tryck sedan på ”Continue” och ”OK”. Vi har nu sagt till SPSS att vi vill ha ut varje analysenhets förväntade sannolikhet att ha värdet 1 på den beroende variabeln, givet vad analysenheten har för värde på den oberoende variabeln. Länder som är mer demokratiska ska alltså ha en lägre sannolikhet.

Bild 6. Hur man sparar förväntade sannolikheter.

Längst ner i variabellistan i ”Variable view” ska det nu ha dykt upp en ny variabel som heter ”PRE_1”. Vi ska nu göra en scatterplot, där vi sätter de förväntade sannolikheterna på Y-axeln, och den oberoende variabeln på X-axeln. Den kommer se ut som i Bild 7.

Bild 7. Graf över förväntade sannolikheter vid olika värden på den oberoende variabeln.

Som förväntat ser vi en kurva som sluttar nedåt. De länder som har värdet 0 på den oberoende variabeln, alltså de minst demokratiska länderna, har en förväntad sannolikhet på över 0,9. Det är alltså mer än 90 procents sannolikhet att de tar politiska fångar, enligt vår modell. Vi ser också att det är en väldigt liten sannolikhet att de mest demokratiska länderna ska ta politiska fångar, ungefär 10 procent.

Grafen kommer aldrig att gå över 1, och aldrig under 0. Man kan också se att grafen inte är helt rak, utan kurvig. Varför då? Jo, det är logiskt eftersom vi har att göra med sannolikheter. En ökning på 10 procentenheter betyder ju olika mycket beroende på vart på skalan vi befinner oss. Om vi går från att det är 1 procents sannolikhet att ett land ska ta politiska fångar till 11 procents sannolikhet så har ju risken ökat dramatiskt, den är nästan 10 gånger så stor. Om vi däremot går från att det är 50 procents sannolikhet att land tar politiska fångar till 60 procent sannolikhet så har ju inte risken ökat alls lika mycket jämfört med vad den var innan. Det är därför rimligt att effekten av den oberoende variabeln, uttryckt i procentenheter, är olika stor vid olika värden på den oberoende variabeln. Effekten yttryckt i procent är dock densamma hela tiden.

Vi kommer se samma sak när vi ska tolka koefficienterna. Det är lite mer komplicerat, och jag kommer försöka förklara hur de olika koefficienterna hänger ihop matematiskt. Jag börjar därför med att visa hur man beräknar predicerade sannolikheter för olika värden på den oberoende variabeln, och den som inte är intresserad av en mer djupare förståelse kan sluta läsa efter det. Men den som verkligen vill förstå vad koefficienterna betyder kan fortsätta läsa efter det.

Formeln för att räkna ut förväntad sannolikhet
För dig som inte är intresserad av att förstå matematiken kommer här formeln för att utifrån koefficienterna räkna ut en predicerad sannolikhet, kallad p. ^ betyder här alltså ”upphöjt till”.

p = 1 / 1+e^-(Intercept+B-koefficient*Oberoende variabel)

I excel kan man skriva det som ”=1/(1+EXP(-(Intercept+B-koefficient*Oberoende variabel)”

Där man givetvis sätter in rätt siffror istället för ”Intercept”, ”B-koefficient” och ”Oberoende variabel”.

Om man har fler oberoende variabler adderar man bara dem i formeln. Ett pedagogiskt sätt att presentera resultaten från logistiska regressionsanalyser är att predicera sannolikheter för olika konfigurationer av de oberoende variblerna.

Hur man tolkar koefficienterna: B-koefficienten
Ett odds är sannolikheten att någonting ska inträffa, delat med sannolikheten att det inte ska inträffa. Om det till exmpel är 0,67 sannolikhet att något ska inträffa, så är det altså 0,33 sannolikhet att det inte ska inträffa. Oddset är då 0,67/0,33=2. B-koefficienten i tabellen i regressionsoutputen för en logistisk regression visar förändringen i den naturliga logaritmen av oddset för att den beroende variabeln ska ha värdet 1, rätt abstrakt alltså. En förändring i en logaritm, är som man kan läsa i guiden om naturliga logaritmer, att betrakta som en procentuell förändring.

I vårt fall är B-koefficienten -0,497. Det innebär att om den oberoende variabeln ökar med 1 så minskar den naturliga logaritmen av oddset för att ett land ska ta politiska fångar med 0,497. Vad innebär det i procent? Ganska nära kommer man om man multiplicerar koefficienten med hundra, vilket ger -49,7. Det innebär att oddset för att den beroende variabeln ska vara 1 minskar med 49,7 procent (inte procentenheter) om den oberoende variabeln ökar med 1. Ännu närmare sanningen kommer vi om vi istället för att minska oddset med 49,7 procent minskar den med en procent 49,7 gånger. Oddset blir då något högre, eftersom en procent blir mindre och mindre ju mer vi minskar. Vi kan testa om det verkar stämma.

Länder som har värdet 2 på den oberoende variabeln har en predicerad sannolikhet på 0,86. Det innebär att sannolikheten för att de inte ska ta politiska fångar är 0,14. Oddset blir alltså 0,86/0,14=6,14. Sannolikheten att ett land som har värdet 3 på den oberoende variabeln ska ta politiska fångar är 0,785. Oddset blir då 0,785/0,215=3,65. Om vi minskar 6,14 med 49,7 procent får vi värdet 3,1, alltså ett något för lågt odds. Om vi istället minskar 6,14 med en procent i taget 50 gånger får vi värdet 3,7, alltså närmare det sanna värdet. Ännu bättre hade det blivit om jag inte avrundat, och istället för att minska med en procent i taget minskat med en promille i taget 497 gånger. Men som tumregel kan man tolka B-koefficienten som att en ökning i den oberoende variabeln ger B-koefficienten*100 procents ökning i oddset för att den beroende variabeln ska vara 1. Om B-koefficienten är 1 innebär det att en ökning av den oberoende variabeln med 1 leder till (mer än) en fördubbling av oddset för den beroende variabeln.

Hur man tolkar koefficienterna: Exp(B)
I regressionsoutputen finns också ett annat värde, Exp(B), som vi hittar längst till höger i tabellen ”Variables in the equation”. Exp(B) är precis vad den heter, nämligen exponenten av B-koefficienten. Pröva själv att i till exempel Excel skriva in ”=EXP(-0.497)”, och du kommer få värdet 0,608.

Den naturliga logaritmen av ett tal är det värde man måste upphöja den matematiska konstanten e (ungefär 2,72) till för att få fram det ursprungliga värdet. Om vi tar den naturliga logaritmen av talet 1 blir svaret 0, eftersom e0=1. På samma sätt är exponenten av ett tal e upphöjt till talet. Exponenten av 1 blir alltså (ungefär) 2,72, eftersom 2,72 upphöjt till 1 är 2,72. Om man först tar den naturliga logaritmen av ett tal och sedan tar exponenten av det är man tillbaks på ursprungstalet.

Men vad har Exp(B) för betydelse? Jo, det visar ett ”odds-ratio”, eller ett ”odds-förhållande” på svenska. Ett ”odds-ratio” är förhållandet mellan oddset i en grupp och oddset i en annan grupp. Föreställ dig två grupper. I den ena gruppen är sannolikheten 0,5 att en sak ska hända. Oddset är då 0,5/0,5=1. I den andra gruppen är sannolikheten 0,67 att samma sak ska hända. Oddset är då 0,67/0,33=2.

Om vi delar den andra gruppens odds med den första gruppens odds får vi 2/1=2. Det innebär att oddset för att saken ska inträffa är dubbelt så stort i den andra gruppen. Vi kan också dela den första gruppens odds med den andra gruppens odds: 1/2=0,5. Det innebär att oddset för att saken ska inträffa är hälften så stort i den första gruppen som i den andra.

I vårt fall är ”Exp(B)” 0,608 för variabeln fh_polity2. Om vår oberoende variabel bara haft två värden hade Exp(B) beskrivit odds-ratiot mellan de två grupperna. Nu beskriver den förhållandet i odds mellan de länder som är 1 steg ifrån varandra på den oberoende variabeln. Till exempel förhållandet i odds mellan de länder som har värdet 0 och de som har värdet 1 på den oberoende variabeln, och mellan de länder som har värdet 7 och de som har värdet 8. Eftersom Exp(B) är mindre än 1 innebär det att oddset är lägre i de som har högre värden på den oberoende variabeln.

Tidigare såg vi att oddset för att den beroende variabeln ska ha värdet 1 är 6,14 för de länder som har värdet 2 på den oberoende variabeln, och 3,65 för de länder som har värdet 3 på den oberoende variabeln. Om vi delar 3,65 med 6,14 får vi 3,65/6,14=0.59, alltså nästan samma som Exp(B) i tabellen, som var 0,608. Anledningen till att det inte blir exakt samma beror på avrundningar i min beräkning. Odds-ratiot visar alltså hur oddset förändras vid olika värden på den oberoende variabeln. Är odds-ratiot 1 så har den oberoende variabeln ingen effekt – oddset är lika stort oavsett värdet på den beroende variabeln. Är odds-ratiot 2 så innebär det att oddset kommer att fördubblas om vi ökar den oberoende variabeln med 1.

B-koefficienten och Exp(B), odds-ratiot, uttrycker alltså samma sak på två olika sätt, och man väljer själv att presentera det man tycker är enklast att förstå.

Kalkylera förväntad sannolikhet
Hittills har vi bara låtit SPSS räkna fram förväntade sannolikheter åt oss, men hur man gör man det själv? Det vi räknar fram i den logistiska regressionsekvationen är som sagt den naturliga logaritmen av oddset för att den beroende variabeln ska ha värdet 1. Alltså:

Ln(odds) = Intercept + Koefficient*Värdet på den oberoende variabeln

I vårt fall innebär det att Ln(odds för att dum_polprisoner = 1) = 2,788-0,497*fh_polity2

Om vi sätter in värdet 2 på fh_polity2 får vi fram följande:

2,788-0,497*2 = 1,794

Det är alltså den naturliga logaritmen av oddset. Om vi tar exponenten av 1,794 får vi fram oddset:

Exp(1,794) = 6.01

Det är alltså 6.01 gånger så sannolikt att variabeln ska ha värdet 1 som att den ska ha värdet 0 när den oberoende variabeln har värdet 2. Tidigare skrev jag att oddset var 6,14, men det berodde på en avrundning. Men hur får vi fram sannolikheten för att den beroende variabeln ska vara 1? Jo, om vi kallar sannolikheten p, och kommer ihåg att oddset för nånting är sannolikheten för att det ska inträffa dividerat med sannolikheten att det inte ska inträffa. Alltså:

p/(1-p)=6,01

Om vi multiplicerar med (1-p) på båda sidor får vi följande:

p=6,01*(1-p)

Vilket ger:

p=6,01-6,01p

Och då kan vi addera 6,01 p till båda sidor så att vi får 7,01p=6,01. Därefter dividerar vi med 7,01 på båda sidor och får då:

p=0,857

Sannolikheten för att den beroende variabeln är 1 när den oberoende variabeln är 2 är alltså 0,857, eller 85,7 procent.

Skillnad mot linjär regressionsanalys
Logistisk regressionsanalys är det korrekta sättet att analysera samband när den beroende variabeln är dikotom. Men faktum är att resultaten oftast inte blir särskilt olika resultaten man får ut av linjär regressionsanalys. Koefficienten kommer med största sannolikhet ha samma tecken, och de predicerade värdena skiljer sig inte särskilt mycket åt. I Bild 8 har jag ritat ut de predicerade sannolikheterna från den logistiska regressionsanalysen på Y-axeln, och de predicerade värdena på den beroende variabeln från den linjära regressionsanalysen på X-axeln. Det är alltså väldigt lika. Bangladesh har till exempel värdet 6,5 på den oberoende variabeln. Den logistiska regressionen visar att den förväntade sannolikheten att de ska ta politiska fångar är 0,39, alltså 39 procent. Den linjära regressionsanalysen förväntar sig att värdet på den beroende variabeln ska vara 0,41, vilket man då skulle kunna tolka som en sannolikhet på 41 procent. Alltså ganska nära, men det är alltså den logistiska regressionen som ger de mest korrekta resultaten.

55 thoughts on “Guide: Logistisk regression

  1. Hej! Jag har en helt annan fråga, vet inte om detta är rätt sätt att förmedla den på dock, men here goes:

    jag skulle vilja skapa ett stapeldiagram där stapelns höjd representerar ett medelvärde, men där man också kan utläsa median och standardavvikelse. på y-axeln skulle jag vilja ha procent, på x axeln två staplar för mina två variabler. är detta möjligt?

    • Hej Mattias!
      Inte vad jag vet. Du kan använda dig av en så kallad boxplot. Den visar minsta värdet, den lägre kvartilen, medianen, den övre kvartilen och det högsta värdet. Det kan du dock, vad jag vet, i SPSS bara göra för en variabel i taget.

      Det jag skulle rekommendera är att du med med hjälp av ”Analyze->Descriptive statistics->Descriptives” tar fram uppgifterna du är intresserade av för varje variabel, och att du sedan lägger in detta i Excel och där tar fram ett stapeldiagram. Det är nog mycket enklare än att försöka fixa det i SPSS.

      /Anders

  2. Hej!
    Jag är fullständig nybörjare på statistik, och har precis laddat hem SPSS från universitets softwarebibliotek. Helt grön med andra ord. Och jag har lite av ett problem.
    Jag har data från två patientpopulationer i form av närvaro (= 1) eller frånvaro (= 0) av ett antal specifika symptom vid en viss tidpunkt. Nu vill professorn att jag testa om det är någon signifikant skillnad mellan de två populationer vad det gäller dessa symptom, eller om de kan anses vara tillräckligt ”lika” för att slås samma till en population. Hur gör jag?! Kanske nått tips på någon bra tråd jag kan läsa igenom? Har datan i form av en excel-databas.

    Mvh,

  3. Grymt Anders! Bara en liten sak, e är så vitt jag förstår inte ett naturligt tal (även om det är basen för den naturliga logaritmen). De naturliga talen är de positiva heltalen.

  4. Ytterligare en fråga: jag skulle vilja jämföra om två variabler (scale-nivå) är signifikant olika från varandra, det handlar om en grupp, ett tillfälle, två variabler.

    jag undrar dels hur man gör detta med normalfördelade variabler och dels med icke normalfördelade variabler.

    jag har prövat med chi2 och t-test, men jag får då ut två värden, som jag inte vet vad jag skall göra med.

    Tack på förhand!

  5. Hej!
    Tack för en superbra hemsida! Den har hjälpt mig mycket. Jag har en fråga kring tolkningen av analysen. Om man kör två oberoende variabler mot outcome (överlevnad/död) var för sig och den ena är signifikant och den andra inte är det och man sedan kör dem i samma analys mot outcome, hur ska man då tolka sambandet mellan de två oberoende variblerna om:
    1) båda blir signifikanta
    2) ingen blir signifikant
    3) ingen skillnad, dvs en variabel signifikant och en inte signifikant
    Och om två oberoende variabler är signifikanta var för sig och sedan blir osignifikanta när man kör dem i samma analys?

    Mvh Alexandra

    • Hej Alexandra!
      Generellt sett: Att en oberoende variabel blir signifikant betyder att den har en självständig effekt, under kontroll för de andra variablerna.

      1. Om båda de oberoende variablerna blir signifikanta kan det bero på att variabeln som inte var signifikant först var negativt korrelerad med den oberoende variabeln och positivt med den beroende variabeln, eller tvärtom. Det fanns ett undertryckt samband.

      2. Om ingen blir signifikant kan det beroe på att de båda oberoende variablerna är starkt korrelerade, och att de kontrollerar bort varandra. Det kallas multikollinearitet.

      3. Om variablernas koefficienter inte förändras när du har med dem i samma modell är de båda variablerna antagligen inte korrelerade alls.

      /Anders

      • Tack för ditt svar!
        I min analys får variabel 1 p = 0.018 och variabel 2 p = 0.054 (dvs inte signifikant men nära) när jag analyserar dom var för sig mot outcome. Då jag kör dem i samma analys får variabel 1 p = 0.068 och variabel 2 p = 0.147. Ska jag då tolka det som att där finns ett samband mellan variablerna? Och vet man då inte vilken av dom som påverkar outcome eller kan man säga att variabel 1 påverkar outcome men att den i sin tur påverkas av variabel 2?
        Har det någon betydelse om en av variablerna är en dummyvariabel?

        Mvh Alexandra

      • Då skulle jag tolkat det som att de är korrelerade, och det kan du ju lätt undersöka genom att helt enkelt göra en korrelationsanalys. Och du ser ju också att variabel 1 är närmare signfikans än variabel 2.

        Det spelar ingen roll att den ena variabeln är en dummyvariabel.

        /Anders

  6. Hej!
    Tack för en bra genomgång av logistisk regression! Jag har dock en fundering kring ett litet specialfall:

    Jag ska göra logistiska regressionsanalyser med hälsa/ohälsa som utfall. Som huvudsaklig prediktor kommer jag att använda mig av s.k. kluster (skapade genom klusteranalys mha 4 belastningsindex och 3 resursindex). Jag har 8 kluster (grupper) som symboliserar 8 typiska arbetssituationer. Eftersom dessa är kategorier använder jag funktionen categorical i binary logistics fönstret. Jag kommer så långt så att jag kan använda den första eller sista gruppen som jämförelse. Jag skulle dock vilja att de 8 grupperna jämfördes med en ”fiktiv” medelvärdesgrupp så att jag istället kan prata om över- respektive underrisker i förhållande till medel. Min handledare ska ha lyckats med detta på 90-talet mha valet deviation istället för indicator, men jag lyckas inte välja det utan att samtidigt bli tvungen att välja första eller sista gruppen som jämförelse. Vet du något sätt som det går att inkludera samtliga kategorier i analysen och jämföra dessa mot t ex medelvärdet istället?

    Jag hoppas att mitt resonemang är någorlunda begripligt och att någon har en intelligent tanke kring detta!

    Mvh
    Linda

    • Hej Linda!
      Det var en väldigt lurig fråga, och jag har inte lyckats komma på något bra svar. Jag brukar själv inte använda mig av kommandona för kategoriska variabler, utan jobbar oftast med dummyvariabler.

      Det du eventuellt kan göra är att göra en dummyvariabel för varje kategori och lägga in alla i analysen, och sedan under ”Options” klicka ur rutan ”Include constant in model”. Då tar man bort konstanten ur modellen, och kan då inkludera alla dummyvariablerna. De kan du sedan jämföra. De visar då effekten av kategorin jämfört med ”ingen kategori”, istället för effekten mot referenskategorin, som i vanliga fall. Kanske kommer du lite närmare det du var intresserad av då.

      /Anders

  7. Hej!
    Tack för en mycket bra hemsida och en bra guide om logistisk regression!

    Som jag förstått det så kan man alltså tolka Exp(B) som hur mycket större oddset blir för att den beroende variabeln ska vara 1 (om man har en 0,1 variabel som beroende variabel) när den förklarande variabeln ökar ett steg. Dock har jag ej förstått om ökningen gäller jämfört med föregående steg eller jämfört med den lägsta gruppen?

    Jag har arbetslöshet (0,1) som beroende variabel som jag vill förklara med b.la. utbildning som är uppdelad i tre nivåer. Om den andra och tredje nivån av utbildning har Exp(B)-värde på 1,060 respektive 1,183 betyder det att oddset ökar med 18,3 % mellan den 1a och 3e nivån eller mellan den 2a och 3e nivån? Och vad händer om den andra nivån inte är signifikant, har detta någon betydelse för den tredje nivån?

    • Hej Gustav!
      Det är förhållandet mellan oddset i den aktuella gruppen och med föregående steg. Men: om du använder dummyvariabler, altlså en variabel för mellanhög utbildning och en variabel för hög utbildning är ju föregående steg referensgruppen.

      Att exp(b) är 1,183 för den tredje gruppen betyder att oddset är 18,3 procent större i den tredje gruppen jämfört med den första gruppen.

      Att den andra gruppens variabel inte är signifikant betyder att att det inte finns någon signifikant skillnad mellan referenskategorin och den andra gruppen. Det kan dock fortfarande finnas signifikanta skillnader mellan den tredje gruppen och den första gruppen.

      /Anders

  8. Hej Anders,

    Tack för en bra sida. Har fått mkt hjälp härifrån.

    Jag gör en cox regression med bla 2 kategoriska variabler. Kön och NYHA (funktionsklassificering av hjärtsvikt. Jag har definerat kön som ”indicator” men har förstått att det inte går för NYHA (går från 1-4, där 1 är bäst och 4 sämst). Min fråga är således vilken contrast ska jag använda för denna covariat? Bör jag skapa dummy-variabler som nämnt ovan?

    Mvh
    Kristofer

    • Hej Kristofer!

      Jag själv jobbar inte så mycket med Contrasts. Att använda dummyvariabler är detsamma som att använda ”indicator” om jag förstått saken rätt.

      Jag förstår inte heller riktigt varför det inte skulle gå att använda indicator (eller dummyvariabler). Då ser man ju effekterna gentemot referensgruppen.

      /Anders

  9. Hej och TACK för en bra sida! Den hjälper i många fall, men nu har jag fastnat.
    Jag skulle behöva ha hjälp med att tolka koefficienterna i ett specifikt fall… Har svårt att förstå vad det är jag ”ser”…
    Arbetslöshetsdagar = oberoende variabel
    kön (1=man, 0=kvinna) och nationalitet (1=svensk, 0=utländsk) = beroende variabler
    Här får jag fram Betakoefficienterna, Kön:-83,44, Nationalitet: 55,5, Intercept: 251,4
    Vilket jag tror ska läsas
    Dagar = 251,4 -83,44*Nationalitet +55,5*Kön
    Men vad säger detta? och hur förklarar man det i skrift???

    • Hej Sune!
      Syftet med en regressionsanalys är ju att undersöka vilken effekt olika oberoende variabler har på den beroende variabeln.
      Ekvationen du fått fram innebär att du kan räkna ut hur många arbetslöshetsdagar män och kvinnor av utländsk och svensk bakgrund förväntas ha.

      Av ekvationen ser man att män förväntas ha 55,5 fler arbetslöshetsdagar än kvinnor (eftersom kvinnor har värdet 0 blir det ju 55,5*0), samt att svenskar förväntas ha 83,44 dagar färre arbetslöshetsdagar.

      /Anders

  10. Hej!
    Vad skönt att jag hittade denna sida – här kommer många frågetecken att rätas ut! Jag har longitudinella data där jag utifrån hur deltagarnas värden på två av variablerna betett sig över tid (varit stabila, fluktuerat eller försämrats) skapat 3 olika grupper.Tänker mig att dessa grupper i en analys kan vara oberoende variabler som jag gör dummyvariabler av. Nu vill jag se om grupptillhörighet kan förklara vilket diagnosutfall deltagarna har efter 2 år: där frisk, oförändrad eller försämrad är alternativen. Går det att ha 3 olika utfall på något sätt, eller måste man dikotomisera för att göra en logistisk regression?
    Tack på förhand!

    Mvh
    Annicka

    • Hej Annicka!
      Vid en vanlig logistisk regression kan du bara ha två olika utfall.
      Ditt problem kan man tackla på två sätt. Man skulle kunna göra en multinomial logistisk regression. Där handlar det om att modellera ett val mellan flera olika kategorier, alltså när den beroende variabeln är en nominalskala.

      I ditt fall kan man ju dock tala om en ordinalskala: sämts är ”Försämrad” och bäst är ”Frisk”, med ”Oförändrad” i mitten. Då kan du använda dig av ordinal logistisk regression. Modellen kan då ta hänsyn till att det kanske är olika stora ”steg” mellan till exempel ”Försämrad” och ”Oförändrad” som mellan ”Oförändrad” och ”Frisk”.

      Du kan läsa mer om ordinal logistisk regression här:
      http://www.ats.ucla.edu/stat/spss/dae/ologit.htm

      /Anders

  11. Tack för en bra sida!

    Jag undrar om det är möjligt att se vilka observerade individer i ”Classification table” som inte blev ”rätt”? Dvs vilka individer i den oberoende variabeln kunde modellen ej få in i rätt kategori (0,1)? I exemplet ovan skulle det alltså vara vilka länder som inte tog politska fångar, men som modellen gissade fel på och klassificerade som en 1:a?

    Mvh

    Erik

  12. hej!
    jag har en beroende variabel: hur mycket man litar på människor (skala 0-10 där 0 är att man inte litar på några alls). Jag har testat denna mot en oberoende variabel om hur mycket man litar på polisen, vilket blev signifikant. Sen har jag lagt till KÖN och ÅLDER i regressionsanalysen…och jag försöker förklara B-värdena:

    – trust in the police 0,261 (betyder att för varje skalsteg så ökar tilliten med 26 %) tror jag!
    – Kön 0,046 – men hur förklarar jag det i förhållande till min beroende?
    -Ålder 0,001 är jag också osäker på…..

    Kan du hjälpa mig med detta?
    MVH Nisse

  13. Hej!

    Vill först bara säga att det är en mycket bra sida, sen har jag lite funderingar jag behöver hjälp med.
    Jag skall undersöka om stress hanteras bättre ju äldre du blir, ju mer erfarenhet du har av arbetet, hur länge du varit anställd på det aktuella företaget bla.
    Det jag nu funderar på är att i mina frågeställningar så har jag grupperat in frågorna så att vissa hör till gruppen stressorer, vissa hör till coping osv, hur kan jag gruppera dem i SPSS på ett effektivt sätt?
    När jag sedan skall undersöka sambanden mellan dessa variabler, hur går jag lättast tillväga?

    Hypotesen är att du hanterar stress bättre ju äldre du är. Sen är vi nyfikna på om det finns någonstans det en gräns där det går åt andra hållet, tex att när du är 55 och uppåt så hanterar du stressen sämre.

    //mvh I

    • Hej Ingemar!
      Regressionsanalys later som en bra metod i ditt fall, se lank i kommentaren ovan.
      Du behover inte gruppera variablerna pa nagat speciellt satt. Mojligen kan du lagga in dem som oberoende variabler i grupper och presentera resultaten pa sa satt.

      Nar det galler hypotesen att det vander efter en viss alder kan du undersoka om det finns nagat kvadratiskt samband. Da gor man som sa att man lagger in alder som en oberoende variabel i analysen, och sedan lagger man ocksa till en variabel som ar alder i kvadrat, alltsa alder*alder tillsammans med de3n ursprungliga variabeln. Pa sa satt kan man undersoka om det finns en avtagande effekt. Men det kraver en mer utforligare forklaring som jag kav skriva en guide om framover, men nu ar jag i Osterrike pa semester sa tills dess rekommenderar jag google. Lycka till!

      /Anders

  14. Hej och tack för denna fantastiska sida.
    Jag har tre frågor som jag undrar om du kan hjälpa mig med.

    1. Jag har gjort en enkätundersökning och vill nu se om svaren mellan män och kvinnor och mellan personer i olika åldrar skiljer sig åt på något signifikant sätt. Jag funderar på om logisk regression kan vara lösningen på mina problem eller om jag borde använda någon annan metod. Det jag vill undersöka är:

    – Samband mellan ålder och kännedom om tjänst (alternativ Ja/Nej)
    – Samband mellan kön och kännedom om tjänst (alternativ Ja/Nej)
    – Samband mellan ålder och användande av tjänst (alternativ Ofta/ibland/aldrig)
    – Samband mellan kön och användande av tjänst (alternativ Ofta/ibland/aldrig)
    – Samband mellan ålder och nöjdhet med tjänst (alternativ skala från 1-10)
    – Samband mellan kön och nöjdhet med tjänst (alternativ skala från 1-10)

    Kan jag använda logisk regression till alla dessa, eller är det bättre att använda annan metod (och vilken i så fall)?

    2. Jag har provat att göra lite logiska regressioner enligt din beskrivning ovan, men har lite svårt att tolka svaren i min output. Om jag till exempel kollar på sambandet mellan ålder och kännedom av tjänst (ja = 1, nej = 0) visar B-värdet under Variables in the Equation på att den oberoende variabeln (ålder) har negativ effekt på den beroende (kännedom av tjänst). Jag tänker att detta borde betyda att ju äldre man är desto mindre känner man till tjänsten. Men enligt diagram jag ställer upp och enligt scatterplotten så är sambandet det motsatta, alltså att äldre har en större kännedom än de yngre. Tolkar jag B-värdet fel, eller vad kan detta resultat bero på?

    3. Sen funderar jag lite kring signifikansnivåer och konfidensnivåer och förhållandet mellan dessa två värden. Om jag gör ett test i SPSS, så som logisk regression, där jag får ett signifikansvärde under 0,05. Kan jag då känna mig ganska säker på att jag kan uttala mig om populationen som helhet, eller behöver jag även ta konfidensnivå och konfidesintervall i beaktande?

    Stort tack på förhand!

  15. Hei og takk for en fantastisk flott side!
    (Håper det er greit at jeg skriver på norsk?)

    Jeg har ved hjelp av logistisk regresjon beregnet den forventede sannsynligheten for hver observasjon, slik du beskriver ovenfor. Er det i da mulig å beregne et konfidensintervall til denne sannsynligheten, enten ved hjelp av SPSS eller manuelt?

    På forhånd: Tusen takk for hjelpen!

    • Hej Ole!
      Jag hittar inte någon funktion för att göra det automatiskt i SPSS när jag kollar, men du kan antagligen göra det utifrån det predicerade värdet och standardfelet. Jag kan dock inte den formeln.

      Ett fuskalternativ är ju att göra det med hjälp av OLS, där det finns möjlighet att predicera konfidensintervall också. Men det blir ju inte helt rätt.

      /Anders

      • Tusen takk for raskt svar!

        Jeg tenker at en mulig tilnærming kanskje kan være å justere konfidensintervallet jeg finner ved hjelp av OLS (fuskalternativet), med differansen mellom de predikerte verdiene (fra OLS og den logistiske regresjonen). Hva tenker du om det?

        En kollega av meg lurer på om det i slike tilfeller i stedet kan brukes en metode som heter ”Profile likelihood”. Stemmer det? Og er i så fall denne metoden tilgjengelig i SPSS?

  16. Hej!
    Jag har en fråga, jag har en beroende variabel som är omkodad till 0 & 1, men nu är frågan hur den omberoende variabelns omkodning ska se ut. Som t ex ålder, har hört att tre ålderskategorier ska användas, 1=yngre, 1=medelålders och 1=äldre. Men i SPSS går det inte att i ”value labels” göra detta. Så, hur ska ålder omkodas vid logistisk regression?
    Tacksam för svar!

  17. Hej!

    Tack för en jättebra sida!

    Fråga: Kan man testa för multikollinearitet i en logistisk regression och i så fall hur gör jag det? Vet hur man gör det i OLS, men får inte riktigt till det i den logistiska modellen.

    Tack på förhand!

    • Hej Charlotte!
      Jag vet faktiskt inte hur man testar för multikollinearitet i den logistiska regressionen i SPSS, men relationerna mellan de oberoende variablerna är ju desamma oavsett om man gör en OLS eller logistisk regression. Du borde alltså kunna göra en OLS, ta fram multikollinearitetsvärdena, göra eventuella justeringar, och sedan göra din logistiska regression.

      /Anders

      • Jag brukar göra det som en ”colinearity diagnostics” i en linjär regression där jag struntar i allt annat för att få tolerance/VIF värdena. Det borde väl gå?

    • Hej!
      Tänker du i en vanlig OLS-regressionsanalys?
      Där är b-värdet, den ostandardiserade koefficienten, effekten av en enhets ökning av den oberoende variabeln på den beroende variabeln.

      Beta-värdet är istället en så kallad standardiserad regressionskoefficient, som är mer jämförbar mellan olika regressionsmodeller. Den fås fram genom att man standardiserar variablerna så att deras varians är ett – möjligheten att tolka den i variabelns faktiska skalenheter (kronor, centimetrar, osv) försvinner då.

      /Anders

  18. Hej!
    Undrar hur stort urval man måste ha för att kunna göra en logistisk analys? Är 58 för litet? Om man in och kontrollerar för kön som oberoende variabel, lägger man då in den som categorical..? Med vänlig hälsning
    Karin

  19. Hej!
    Jag behöver göra ett beskrivande diagram på tre mättillfällen (över tid) där utfallet i mätningen (dikotoma variabler) över tid är 0-1-0 eller en variation av detta, för 60 olika personer. Kan

  20. Hej, jag undrar över tolkningen av B(exp) i en nomreganalys. I STATA beskrivs B(exp) som RRR, dvs relativ risk ratio, och jag har läst sporadiskt att även SPSS eg beräknar RRR. Dock är den gängse uppfattningen och tolkningen OR (så även jag) men vill gärna ha din syn på detta, och föra en diskussion kring det. För även o RRR och OR är i princip ekvilaventa så är det inte samma sak…

  21. Hej,
    När jag går in under Analyze –> Regression finns inte Binary Logistics som ett alternativ. Vad kan detta bero på?

  22. Hej och tack för en bra sida.

    Jag håller för tillfället på med en logistisk regressionsanalys där jag vill mäta om politiskt intresse kan ha ett samband med när i ett val partibytare bestämmer sig för val av parti (tidigt eller sent). Jag har endast delat upp den oberoende variabeln i två värden (intresserad vilket har värdet 1 och ointresserad värdet 0) och i min dikotoma beroende variabel har de som bestämt sig tidigt värdet 1 och de som bestämt sig sent värdet 0.

    När jag gör min analys enligt din modell får jag ut exp(B)-värde på 1.981. Om jag tolkat dig rätt innebär det att oddsratiot i sådana fall ökar med nästan dubbelt för varje 1 steg man går från ointresserad till intresserad. Är detta korrekt tolkat? Jag har också försökt göra en scatterplot, men får där ut en oläslig tabell som inte går att tolka. Den har endast 4 prickar som dessutom inte följer någon logisk förklaring. Vet du om detta kan bero på att jag till skillnad från din analys bara har två värden på min oberoende variabel (0 och 1)?

    Jag har också i en senare del av analysen försökt att lägga till mina kontrollvariabler, men funnit att alla förutom en direkt får ett väldigt högt sig-värde och inte kan användas. Jag har inte riktigt förstått principerna bakom sig-värden och vad som påverkar dessa, och undrar helt enkelt om du har någon bra introduktion till vad som påverkar sig-värden i logistiska regressionsanalyser?

    Tack på förhand!

  23. Hejsan, jag håller på och gör en latent profilanalys. Jag har lite problem då jag inte vet vart jag hittar de resultat jag ska ha med i min tabell. Vet att det inte finns någon sådan sida här för detta (och ingen annanstans heller) Jag har använt mig av programet Mplus som är ett ”bättre” analysprogram och mindre använt därmed finns det även lite info om det. Någon som vet vad mitt oddsratio betyder? Odds-ratio = 0.43 (95% CI = 0.20 – 0.96). Jag var två grupper varav 88 personer i klass 1 och 12 personer i klass 2. Någon som kan hjälpa mig??
    Sen undrar jag även vart jag hittar SD i denna analys då det finns minst 4 ställen man kan läsa av SD. Vilket ska jag använda mig av?

    Mvh: Emil

  24. Hej, jag håller på med en logstisk regression där jag har 53 patienter med positivt utfall och 129 med negativt. Hur många oberoende variabler kan jag ha med i regressionen? Har tidigare uppfattat att man ska ha 10 observationer med det mer ovanliga utfallet för varje förklarande/oberoende variabel men dra bort en? Det blir då 5 oberoende variabler minus 1 dvs 4 oberoende, stämmer det?

  25. Hej!

    Hur ska man jämföra lägsta kvartilen mot högsta och kvartilerna med varandra? jämföra högsta mot resten och lägsta mot resten med logitisk regression som tidigare? i SPSS

  26. Hej! Vill undersöka korrelationer som förutsättning för multipel regression, men har kön som prediktor, som ju är en dikotom variabel. Hur hanterar man detta? Pearson funkar väl inte för dikotoma variabler?

  27. Hej
    Är jag helt ute och cyklar eller? och skulle samma resonemang gälla mot multivariata variabler med fler än två svarsalternativ? ”The B coefficient in the above Table shows the changes in the natural logarithm of the odds that dependent variable, will have a value one. Mathematically a change in the logarithm is to be considered as a percentage change for example, a value of (+)0.05 would mean if the independent variable increase with 1 the natural logarithms of the odds increase with 5%. When we look at the difference between Sweden and Denmark we have a value of – 0.436 which means that Danish respondents are 43.6 % more likely to be negative towards immigration and as shown by the Exp(B) value which show the odds-ratio (or exponent of B coefficient) of 0.646 meaning that Danish’s respondents are 64.6 % more likely than Swedish respondents to be negative towards immigrations. ”

  28. Hej och tack för en mycket bra sida, vet inte om den fortfarande används men jag gör ett försök.

    Jag har ett datamaterial på alla medlemmar som slutat spela golf. Dessa har jag delat in i de som återkommer som medlemmar inom 3 år (1) och de som inte återkommer som medlemmar inom 3 år (0).

    Jag tänkte titta på varför andelen golfare som återkommer som medlem igen har minskat över tid. Jag har alltså data på ett visst antal variabler(ålder, kön, osv) som jag vill se om de påverkar att man återkommer som golfmedlem. Jag vill även få in tidsaspekten för att se varför det minskat över tid. Går det att lägga in ”år” som en dummy-variabel på något vis eller hur bär man sig åt?

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s