Introduktion til Logistisk Regression Morten Frydenberg, Inst. f. Biostatistik 1 RESUME: 2 2. gang: 2006 Institut for Biostatistik, Århus Universitet MPH 1. studieår Specialmodul 4 Cand. San. uddannelsen 1. studieår Test og sikkerhedsinterval for en parameter. Kategoriske forklarende variable med mere to kategorier. Logistisk regression med en kontinuert forklarende variabel. Hvad vil vi se på? Analysere den kumulerede incidens af hjertesygdom. Tidsperiode: Opfølgningsperioden efter 1 us.! Risikopopulation: 1363 personer uden CHD ved 1. us. Risikofaktorer/indikatorer: Systolisk blodtryk: over/under 160 mmhg. Rygning: ja/nej. Alder: I år og : 45-48, 49-52, 53-56 over 56 år. Køn. ln ( odds ( SYS160, SEX = β0 + β1 SYS160 + β2 ln ( odds( SBP 160, kvinde ln ( SYS160 ln ( SEX SYS160 odds ( SY S160,SEX = odds ( 0,2 ( ( Model antagelse: SYS160 MALE SEX Ingen effektmodifikation/interaktion mellem køn og blodtryk. char sex[omit] 2 char sys160[omit] 0 xi: logit chdever i.sys160 i.sex 3 1 SYS160 '#'( *+(((, *( '#'+(,, (* +**(* '"(*(,, ln ( odd s ( SBP 160, kvinde Hypotesen : SYS160 = 1 forkastes! Hypotesen : SEX = 1 forkastes! Hvordan passer modellen til data? ˆ β = ln ( Hvad er de fittede kumulerede incidenser? ˆ β 2 = ln ( SEX 4 På basis af : ln ( odds ( SYS160, SEX = β0 + β1 SYS160 + β2 ln ( odds ( SYS160, SEX = 2.1703 + 1.0753 SYS160 + 0.8750 kan man beregne: odds = exp ( ln ( odds odds p = 1 + odds Fra den logistisk regressionsanalyse Data SEX SYS160 ln(odds odds kum.inc. kum.inc. male >160-2.1703+1.0753+ 0.8750 0.803 0.445 0.420 male <=160-2.1703+ 0.8750 0.274 0.215 0.220 female >160-2.1703+1.0753 0.335 0.251 0.265 female <=160-2.1703 0.114 0.102 0.097 Rimelig god overensstemmelse! Modellen fitter godt! Antagelsen om ingen effektmodifikation synes ok! Næste gang vil vi se på et test for ingen effektmodifikation! 5 I STATA en variable med de fittede værdier laves således predict fitted if e(sample En tabel over observerede således: table sys160 sex if e(sample ///, c(sum fitted sum chdever ------------------------------ sex sys160 male female ----------+------------------- 0 114.1371 52.86289 117 50 1 49.86289 51.13711 47 54 ------------------------------ 6 MPH og Cand san.logistisk regression STATA 1
7 8 Sikkerhedsintervaller (CI (Wolf/Wald- methods Beregning af sikkerhedsintervaller i hånden. Ingen estimater uden sikkerhedsintervaller! (Approksimativt 95% CI: Estimat ± 1.96 s.e. Syg Rask a = d b c +Exp a b -Exp 1 1 1 1 c d s. e. ( ln( = + + + a b c d 95% grænser 95% grænser Parameter β s.e. nedre øvre nedre øvre SYS160 1.0753 0.1537 0.774 1.377 2.93 2.17 3.96 SEX 0.8750 0.1457 0.589 1.161 2.40 1.80 3.19 Constant -2.1703 0.1280-2.421-1.919 0.11 0.09 0.15 Fra output Estimat ± 1.96 s.e. Exp Disse sikkerhedsintervaller er i præcist de, der er angivet i STATA outputtet. 95% CI for : Først 95% CI for ln(: ( ( ln ( ± 1.96 s. e. ln Dernæst tag eksponentialfunktionen til disse grænser. Alder og risiko for hjertesygdom: inddeler i fire grupper: 45-48, 49-52, 53-56 over 56 år. 9 Der er brug for tre dummy variable: AKAT1=1 hvis =1 og 0 ellers 10 CHDEVER yes (1 no (0 Total kum.incidens ln(odds ln( 45-48 (0 51 308 359 0.142 ref -1.80 1.00 0.00 49-52 (1 61 298 359 0.170-1.59 1.24 0.21 53-56 (2 64 254 318 0.201-1.38 1.52 0.42 57-62 (3 92 235 327 0.281-0.94 2.36 0.86 Total 268 1095 1363 Fire parametre skal bestemmes. Fire mulige valg af reference gruppe. Vi vælger 45-48 som reference gruppe. De fire parameter er så: ln(odds i reference gruppen. Tre log( relativt til referencegruppen AKAT2=1 hvis =2 og 0 ellers AKAT3=1 hvis =3 og 0 ellers Modellen : ln ( odds ( = β0 + β1 AKAT1 + β2 AKAT2 + β3 AKAT3 Giver følgende: ln ( odds ( = 0 = β0 + β1 0 + β2 0 + β3 0 = β0 ln ( odds ( = 1 = β0 + β1 1+ β2 0 + β3 0 = β0 + β1 ln ( odds ( = 2 = β0 + β1 0 + β2 1+ β3 0 = β0 + β2 ln ( odds ( = 3 = β0 + β1 0 + β2 0 + β3 1 = β0 + β3 ln ( odds ( = β0 + β1 AKAT1 + β2 AKAT2 + β3 AKAT3 ln ( odds ( = 0 = β0 + β1 0 + β2 0 + β3 0 = β0 ln ( odds ( = 1 = β0 + β1 1+ β2 0 + β3 0 = β0 + β1 ln ( odds ( = 2 = β0 + β1 0 + β2 1+ β3 0 = β0 + β2 ln ( odds ( = 3 = β + β 0 + β 0 + β 1 = β + β 0 1 2 3 0 3 β 1 = ln ( odds ( = 1 ln ( odds ( = 0 = ln ( 1 mod 0 β 2 = ln ( odds ( = 2 ln ( odds ( = 0 = ln ( 2 mod 0 β 3 = ln ( odds ( = 3 ln ( odds ( = 0 = ln ( 3 mod 0 11 I praksis STATA klarer det for os! char age4[omit] 0 xi: logit chdever i.age4 STATA laver 3 nye variable svarende til AKAT1, AKAT2 og AKAT3 I output: $,'#$,'*-"$.$/'#$,'01 12 4 har værdier fra 0 til 3 4 =0 er valgt som reference MPH og Cand san.logistisk regression STATA 2
Estimaterne i STATA: $, '#$,',(**,,,* '#$,',+*,,( +*,+** '#$,'*+,((,++*,,,(+ *,,, '"(+( ((,, + ( Som ved direkte beregning. P- værdi for hypotese samme risiko blandt 53-56 og 45-48 årrige. '#$,'* ***,+,++ + '#$,' ***,,, (+, '#$,'**,+,(,,*(* *,, relativt til =0, dvs. de yngste 13 I STATA outputtet var der test for =1 eller ækvivalent ln(=0 ved sammenligning med referencegruppen. Men hvad med hypotesen: Alder betyder ikke noget, dvs alle tre ln( er lig 0? Dette test kan testes vha. et Wald-test, som i STATA beregnes således: 5$0 '#$,6-1'#$,'7-1'#$,'7 -*1'#$,'*7 -*17(, 8 7 Hypotesen forkastes klart - alder betyder noget for risikoen. 14 Plot af estimeret ln(odds Kan vi finde en simplere sammenhæng?? 15 En simplifikation: Alle trinene lige store Dvs. lineær sammenhæng med : 16 ln(odds 0.212 0.860-1.80 ln ( odds ( = β0 + β1 β 1 = ln ( odds ( = 1 ln ( odds ( = 0 = ln ( 1 mod 0 β 1 = ln ( odds ( = 2 ln ( odds ( = 1 = ln ( 2 mod 1 β 1 = ln ( odds ( = 3 ln ( odds ( = 2 = ln ( 3 mod 2 Dvs β 1 = ln( forskel på 1 I STATA xi: logit chdever age4 eller xi: logit chdever age4,or Obs intet i. før age4! 17 $,+*((,, +,(, '" + *(,,,,* ˆ β 1 = ln forskel på 1 ln ( odds ( = 0 ( ln ( odds ( = 1.853 + 0.286 odds ( = 0.157 1.331 ln(odds ln ( odds ( = 1.853 + 0.286 18 $,**,*+ +,(++*, ** forskel på 1 MPH og Cand san.logistisk regression STATA 3
Det så da meget pænt ud! Kan denne forsimpling testet? Ja! V.h.a. et likelihood ratio test!! I STATA gøres det ved kommandoerne: quietly xi: logit chdever i.age4 estimates store model1 quietly logit chdever age4 estimates store model2 lrtest model1 model2 Output Den første model fittes uden output vises og den gemmes Den anden model fittes uden output vises og den gemmes De sammenlignes. 9 $ :4-17+ -;.05"0" "018 7 * Der er ikke statistisk signifikant forskel på de to modeller. 19 En anden simplifikation af aldersafhængigheden: ln ( odds ( AGE = β0 + β1 AGE Bemærk: AGE og ikke!! Lineær afhængighed af (den ikke-grupperede alder. β = ( 1 ln Forskel på 1 år β 0 = ln ( odds ( AGE = 0 Nonsens! Det ser vi på om lidt! I STATA xi:logit chdever age eller xi: logit chdever age,or Obs age ikke age4! 20 $!" #"$% $ ++,,,, *(, *(,, '",++,*((*((*,(+**(+, $2 Reference alder=0 år! $+,,,++, *+(+(* Forskel på 4 år p( β 4 exp( 0 4 = =.0658 = 1.3011 ex ˆ1 Aldersgrupper i spænder over ca. 4 år Forskel på 1 år Forskel 1 i gruppe = 1.3309 21 En mere fornuftig _cons ; brug: AGEC50=AGE-50 ln ( odds ( AGE = β + β ( AGE 50 β = ln ( odds ( AGE = 50 0 1 ( ( odds ( 1 ln Forskel på 1 år β 0 = ln AGE = 50 Det giver mening! Uændret $ ++,,,, *(,, '" *++*,+( (,,* odds ( AGE = 50 = exp( 1.594 = 0.203 ln ( odds ( AGE = 1.594 + 0.066 ( AGE 50 ( AGE 50 odds( AGE = 0.203 1.068 22 ln(odds ln ( odds ( AGE = 1.594 + 0.066 ( AGE 50 23 Valg af en anden reference gruppe $ $,0% Aldersgruppe kodet 0 er reference $,'#$,'*- *-"$.$ /'#$,' /'#$,'0 01 #$" 9 7( +* #$" 9 7, ( #$" 9 7,* #$" *9 7,* : 0$ <.08 8 7** :4 -*17 8 7 :9 7,*. 47( '#$,'* ***,+,+++ '#$,' ***,,,(+, '#$,'**,+,(,,*(**,, 24 Hvad hvis vi hellere vil sammenligne med de 49-52 årrige? Reference =1. MPH og Cand san.logistisk regression STATA 4
Valg af en anden reference gruppe 25 26 $ $,0% Aldersgruppe kodet 1 er reference $,'#$,'*- *-"$.$ /'#$,' /'#$,'0 01 #$" 9 7( +* #$" 9 7, ( #$" 9 7,* #$" *9 7,* : 0$ <.08 8 7** :4 -*17 8 7 :9 7,*. 47( '#$,'++(**, *((,( '#$,'*+,, +*, (* + '#$,'* * ( *,(** ( (+* '#$,'++(**, *((,( '#$,'*+,, +*, (* + '#$,'* * ( *,(** ( (+* Test for: samme risiko for de 53-56 som de 49-52 årrige Sammenligning med før: 45 48 mod 49 52 53 56 mod 49 52 45 48 mod 49 52 53 56 mod 49 52 1 1 = 0.8089 = = 49 52 mod 45 48 1.2362 53 56 mod 45 48 1.5217 = 1.2309 = = 1.2362 49 52 mod 45 48 SYS160 korrigeret for køn og alder : 3 modeller 27 '#'(((*,*+ *,*+*(* '#'*+ * (+ (+,**,* '#$,'*+ +*+(++*(+**, '#$,'*,+++( (,*,+* ( (, '#$,'*** +(,+(*((,*+(,** '#'(*( (,,*(,( **( * '#',+,,* * +**, $,+ +*+*+*, *, '#'(,+ +(*(+ '#',* *( (++, * ++ $ ( +* *+(+ (, MPH og Cand san.logistisk regression STATA 5