Faculty of Health Sciences Lineær og logistisk regression Susanne Rosthøj Biostatistisk Afdeling Institut for Folkesundhedsvidenskab Københavns Universitet sr@biostat.ku.dk
Dagens program Lineær regression En binær forklarende variabel En kontinuert forklarende variabel En binær og en kontinuert forklarende variabel Logistisk regression En binær forklarende variabel To binære forklarende variable En kategorisk forklarende variabel. Kirkwood & Sterne: Kapitel 10.1-10.2, 19.1-19.4. 2 / 38
Regressionsanalyse Formålet med en regressionsanalyse er at beskrive fordelingen af én responsvariabel udfaldsvariabel afhængig variabel Y variabel som en funktion af en eller flere forklarende variable uafhængige variable regressionsvariable X variable kovariater. 3 / 38
Typer af responsvariable Typen af respons-variablen bestemmer hvilken regressionsmodel man kan benytte: Respons Binær (0/1) Kvantitativ (kontinuert) Levetid (> 0, censurering) Model logistisk regression lineær regression Cox (Poisson) regression. Fortolkningen af effekten af en forklarende variabel afhænger af typen af responsen / regressionsmodellen: Regressionsmodel logistisk lineær Cox (Poisson) Effect OR, ln(or) forskelle mellem middelværdier rate / hazard ratio, ln(rate ratio). 4 / 38
Eksempel til lineær regression Framingham data. Ej CHD ved studiestart (n =1406 n =1363). Respons: Systolisk blodtryk, i.e. Y = SBP Forklarende variable: Alder og køn, i.e. alder (år). { 1 mand mand = 0 kvinde 5 / 38
SBP som funktion af alder 40 45 50 55 60 65 0 50 100 150 200 250 300 350 Age SBP 6 / 38
Model for SBP som funktion af alder Lineær regressionsmodel: E(Y i ) = a + b alder i for i = 1,..., 1363, hvor E(Y i ) er middelværdien af responsen (SBP) for person i. Effekten af alder er beskrevet ved b, som er hældningen på linien (målt i mmhg pr år). Interceptet (skæring med y-aksen) er bestemt ved a og svarer til middelværdien for et individ med alder 0 (!) 7 / 38
Estimeret model for SBP som funktion af alder Estimeret regressionslinie: SBP = 94.05 + 1.03 alder Standard afvigelsen (SE) af alderseffekten: 0.16. Konfidensinterval (0.72; 1.33). Test af alderseffekten ved et Wald-test: W = ( 1.03 ) 2 = 43.8 0.16 som er χ 2 (df=1) og dermed er P < 0.0001. Fortolkning: Hver gang man bliver et år ældre stiger den forventede værdi af SBP med 1.03 mmhg. 8 / 38
SBP vs køn Sex SBP 0 50 100 150 200 250 300 350 Kvinde Mand 9 / 38
Model for SBP som funktion af køn Lineær regressionsmodel: E(Y i ) = a + c mand i = { (a + c) (mænd) a (kvinder) Effekten af køn er beskrevet ved c, som er forskellen i middelværdi for mænd og kvinder. NB: Effekten af køn vil afhænge af reference (baseline) kategorien (her kvinder). NB: Diverse programmer vælger referencekategorien forskelligt. 10 / 38
Estimation af modellen for SBP som funktion af køn Gennemsnitlig SBP: Kvinder : 151.45. Mænd : 143.64. På modellens form { (a + c) (mænd) E(Y i ) = a + c mand i = a (kvinder) { 143.64 = 151.45 7.81 (mænd) = 151.45 = 151.45 (kvinder) Kønsforskellen er c = 143.64 151.45 = 7.81. 11 / 38
Estimeret model for SBP som funktion af køn Den estimerede regressionslinie : SBP = 154.45 7.81 mand Standardafvigelsen (SE) af kønsseffekten: 1.49. Konfidensinterval: (-10.74; -4.88). Test af kønsseffekten ved et Wald-test: W = og dermed P < 0.0001 (χ 2 (df=1)). ( 7.81 ) 2 = 27.4 1.49 Fortolkning af modellen: Den forventede værdi af SBP er 7.81mmHg større for kvinder end for mænd. 12 / 38
Model for SBP som funktion af alder og køn Mulig model: Kombinér de to modeller for hhv. alder og køn: E(Y i ) = a { + b alder i + c mand i (a + c) + b alderi (mænd) = a + b alder i (kvinder) 13 / 38
Illustration af modellen E(SBP) 130 140 150 160 170 females males 40 45 50 55 60 65 NB: Parallelle linier. Age 14 / 38
E(Y i ) = a { + b alder i + c mand i (a + c) + b alderi (mænd) = a + b alder i (kvinder) NB: Samme alderseffekt (= b) for mænd og kvinder. Samme kønseffekt (= c) for alle aldre. Ingen interaktion / effektmodifikation. Effekterne af køn og alder er indbyrdes justerede. 15 / 38
Estimeret model for SBP som funktion af køn og alder Estimeret regressionslinie for kvinder: SBP = 97.68 + 1.03 alder og mænd: SBP = 97.68 7.83 + 1.03 alder = 89.85 + 1.03 alder. SE og CI for kønsseffekten: 1.47 og (-10.71;-4.94). Test af kønseffekten: ( 7.83/1.47) 2 = 28.4, P < 0.0001. SE og CI for alderseffekten: 0.15 og (0.73;1.33). Test af alderseffekten: (1.03/0.15) 2 = 44.8, P < 0.0001. 16 / 38
Lineær regression i SAS Lineær regression kan udføres vha proc genmod: data framing; filename framfile url http://www.biostat.ku.dk/~sr/mph13/dag2/framing.txt ; infile framfile firstobs=2; input id sex age frw sbp sbp10 dbp chol cig chd yrschd death yrsdth cause; if chd=1 then chd01=.; if chd=0 then chd01=0; if chd>1 then chd01=1; run; * Fjerner de observationer, som har manglende chd01; data framingchd; set framing; if chd01 ne.; run; proc genmod data=framingchd; class sex; model sbp = sex age / type3; run; 17 / 38
Logistisk regression I epidemiologi er responsvariablen ofte binær, dvs. Y i = { 1 hvis i er syg 0 hvis i ikke er syg En lineær regressionsmodel for E(Y i ) = Prob(Y i = 1) er ikke optimal. 18 / 38
Formål med logistisk regression At relatere en binær responsvariabel, f.eks. Y i = { 1 if i får CHD 0 if i ej får CHD til forklarende variable for det i te individ. Sæt p i = Prob (individ i får CHD) = Prob (Y i = 1) = E(Y i ). 19 / 38
log-odds ( Vi ser på ln(odds i ) = logit(p i ) = ln pi ubegrænset: 1 p i ) som er logit(p) 10 5 0 5 10 0.0 0.2 0.4 0.6 0.8 1.0 20 / 38 p
Den logistiske regressionsmodel Model: ( ) pi ln = a + b mand i = 1 p i { a kvinder a + b mænd. Det betyder at kønsparameteren b får følgende fortolkning b = (a + b) a = ln (odds for mænd) - ln (odds for kvinder) = ln (OR for mænd vs kvinder) og tilsvarende b = a (a + b) = ln(or for kvinder vs mænd). 21 / 38
Simpel logistisk regression for Framingham data Y = 0 (ej CHD) Y = 1 (CHD) kvinder 616 104 mænd 479 164 1095 264 OR = ( ) 164 616 164 616 104 479 = 2.03, b = ln(or) = ln 104 479 ( ) 104 a = ln(odds for kvinder) = ln = 1.78 616 SE af kønseffekten (b): 0.14. Test : (0.71/0.14) 2 = 25.74, P < 0.0001. Sammenligning med χ 2 -test: 26.31, P < 0.0001. = 0.71 22 / 38
Logistisk regression i SAS Adskillige procedurer i SAS kan benyttes til logistisk regression. Vi vil bruge proc genmod: proc genmod data=framing descending; class sex; model chd01=sex / dist=bin type3; run; og ln(or) estimeres med det højeste niveau af SEX som referencekategori. 23 / 38
Output fra logistisk regression i SAS Vi får teststørrelsen for test af kønseffekten (SEX): Wald W = 25.74, df=1, P < 0.0001 og (pga. TYPE3 option): Likelihood ratio LR = 26.38, df=1, P < 0.0001 Disse er næsten identiske med standard χ 2 -testet i 2x2-tabellen: 26.31, df=1. 24 / 38
Beregning af OR i SAS OR incl 95% CI beregnes ved at tilføje estimate-kommando: proc genmod data=framing descending; class sex; model chd01=sex / dist=bin type3; estimate "maend vs kvinder" sex 1-1 / exp; run; sex-variablen har to niveauer. Vi sætter -1-tallet 1-tallet på den plads vi ønsker som reference (2=kvinder). på den plads vi ønsker at sammenligne (1=mænd). Ønsker vi OR for kvinder vs mænd skriver vi: estimate "kvinder vs maend" sex -1 1 / exp; 25 / 38
To forklarende variable Med to forklarende variable mand i og ryger i = { 1 hvis i er ryger 0 hvis i er ikke-ryger kan data opsummeres i to 2x2 tabeller på to måder: Mænd Kvinder ikke-rygere rygere ikke-rygere rygere Y = 0 191 288 Y = 0 423 192 Y = 1 57 107 Y = 1 77 27 Rygere Ikke-rygere mænd kvinder mænd kvinder Y = 0 288 192 Y = 0 191 423 Y = 1 107 27 Y = 1 57 77 26 / 38
MH-analyser med to forklarende variable Med to forklarende variable kan vi med en MH-analyse 1. Studere effekten of rygning justeret for køn eller 2. Studere effekten of køn justeret for rygning. 1. OR MH = 0.97 (= exp( 0.034)) XMH 2 = 0.052, P = 0.82 2. OR MH = 2.03 (= exp(0.709)) XMH 2 = 22.96, P <.0001 Konklusion: Der er ingen effekt af rygning justeret for køn, men der er en effekt af køn justeret for rygning. 27 / 38
Logistisk regression med to forklarende variable ln ( pi 1 p i ) = a + b 1 mand i + b 2 ryger i a K ikke-ryger a + b = 1 M ikke-ryger a + b 2 K ryger a + b 1 + b 2 M ryger. Bemærk: b 1 = (a + b 1 ) a = (a + b 1 + b 2 ) (a + b 2 ) = ln OR (mænd vs kvinder for givet rygestatus), b 2 = (a + b 2 ) a = (a + b 1 + b 2 ) (a + b 1 ) = ln OR (rygere vs ikke-rygere for givet køn) 28 / 38
Logistisk regression med to forkl. variable i SAS I proc genmod inkluderes både sex og ryger i den logistiske regressionsmodel som class forklarende variable: proc genmod data=framing descending; class sex ryger; model chd01 = sex ryger / dist=bin type3; estimate maend vs kvinder sex 1-1 / exp; estimate rygning vs ej-rygning ryger -1 1 / exp; run; 29 / 38
OR er med to forklarende variable I den logistiske regressionsmodel med to forklarende variable, er de estimerede ln(or) er indbyrdes justeret. De estimeres begge med det højeste niveau som referencekategori. Fra estimate-statements fås OR er med højeste niveau af sex (=kvinder) og laveste niveau af ryger (=ikke-ryger) som reference. OR 95% CI Wald-test maend vs kvinder 2.00 1.50 to 2.67 22.57 (= exp(0.695)) rygning vs ej-rygning 1.03 0.78 to 1.37 0.05 (= exp(0.033)) 30 / 38
Logistisk regression vs stratificeret MH Resultaterne fra den logistiske regression og de stratificerede Mantel-Haenszel analyser er ikke numerisk identiske, men meget tæt på hinanden: Mantel-Haenszel: ln OR (mænd vs kvinder) = 0.709 ln OR (rygning vs ej-rygning) = -0.034 Logistisk regression: ln OR (mænd vs kvinder) = 0.695 ln OR (rygning vs ej-rygning) = 0.033 Desuden: χ 2 tests tæt på hinanden. 31 / 38
Forklarende variable med flere niveauer Inddel alder i 4 grupper: AlderGrp i = Kategoriseret alder mod responsen: 0 hvis i er 45 48 år 1 hvis i er 49 52 år 2 hvis i er 53 56 år 3 hvis i er 57 62 år 45-48 49-52 53-56 57-62 Y = 0 308 298 254 235 1095 Y = 1 51 61 64 92 268 359 359 318 327 1363 32 / 38
Beskrivelse af alderseffekten Alderseffekten kan undersøges ved at se på OR erne for aldersgrupperne: OR 1 (1 vs 0) = 61 308 51 298 = 1.24 = exp(0.21) OR 2 (2 vs 0) = 1.52 = exp(0.42) OR 3 (3 vs 0) = 2.36 = exp(0.86) Vi kan benytte et sædvanligt χ 2 -test til at undersøge om OR 1 = OR 2 = OR 3 = 1: 23.29, df=3, P <.0001. 33 / 38
Logistisk regression på kategorisk variabel I logistisk regression estimeres ln(or) for hver kategori relativt til en referencekategori: ( ) pi ln = 1 p i b 1 = ln(or)(1 vs 0) = 0.21 b 2 = ln(or)(2 vs 0) = 0.42 b 3 = ln(or)(3 vs 0) = 0.86 a hvis i er 45 48 år a + b 1 hvis i er 49 52 år a + b 2 hvis i er 53 56 år a + b 3 hvis i er 57 62 år. 34 / 38
SAS proc genmod. Fra proc genmod får vi ln(or) 95% CI 0 vs 3-0.86-1.24 to -0.48 1 vs 3-0.65-1.01 to -0.28 2 vs 3-0.44-0.81 to -0.08 Pga type3 får vi et LR-test (LR=22.60 (df=3), P<.0001). OR er med kategori 0 som reference: estimate 1 vs 0 AlderGrp -1 1 0 0 estimate 2 vs 0 AlderGrp -1 0 1 0 estimate 3 vs 0 AlderGrp -1 0 0 1 / exp; / exp; / exp; og man finder 35 / 38 OR 95% CI 1 vs 0 1.24 0.83 to 1.85 2 vs 0 1.52 1.02 to 2.28 3 vs 0 2.36 1.61 to 3.46
SAS-øvelser De følgende spørgsmål drejer sig alle om Framingham studiet. De første øvelser har til formål at rekonstruere resultaterne fra forelæsningerne. 1. Indlæs Framingham data fra framing.txt og konstruer en ny responsvariabel, chd01, som er - 1 hvis chd=2, 3,..., 10-0 hvis chd=0 - missing (. ) hvis chd=1. 2. Udfør de tre lineære regressionsanalyser fra dagens gennemgang og genfind de estimerede størrelser og tests. Koden på slide 17 kan findes i framing2.sas, som ligger på hjemmesiden under dag2. 36 / 38
3. Tilføj kommandoer, som laver en anden ny variabel, ryger, som er - 1 hvis cig> 0-0 hvis cig=0 - missing (. ) hvis cig=. og udfør Mantel-Haenszel analyserne af køn stratificeret for rygning og rygning stratificeret for køn. 4. Konstruér variablen AlderGrp ved at inddele i 4 grupper efter age og sammenlign 18-års risikoen for chd i de 4 aldersgrupper (ved et χ 2 -test). 37 / 38
5. Udfør logistiske regressionsanalyser af 18-års risikoen for chd med forklarende variable: køn køn og rygning alder (dvs AlderGrp) alle 3 Fortolk resultaterne. Bestem OR er hvor henholdsvis højeste og laveste gruppe er referencekategori. 6. Konstruér en variabel svarende til en passende inddeling af sbp og estimér i en logistisk regressionsanalyse effekten af denne variabel med og uden justering for køn og alder. 38 / 38