university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen Logistisk regression mm. Faculty of Health Sciences I Basal Statistik Modeller for binært outcome I I Logistisk regression mm. I I I 27. oktober 2015 1 / 88 I Ordinal regression I (Poisson regression) 2 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Typer af outcome Kvantitative data Den generelle lineære model I Binære data 0/1-data Logistisk regression I Tælletal Poisson regression I Ordinale data Proportional odds regression, Ordinal regression I Censurerede data (overlevelsesdata) Cox regression 3 / 88 Repetition vedrørende tabeller Logistisk regression Modelkontrol Overspredning Alternative links og hvis vi når det...: Lene Theil Skovgaard I d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Eksempel fra tidligere: Farveblindhed og køn Piger Drenge Total Farveblindhed? nej ja 119 1 144 6 263 7 Total 120 150 270 Outcome Y: Farveblindhed dikotom, 0/1, nej/ja Kovariat: Køn: dikotom, 0/1, pige/dreng Er farveblindhed lige hyppigt blandt drenge og piger?, dvs. Er farveblindhed uafhængig af køn? pd Sandsynlighed for farveblindhed blandt drenge pp Sandsynlighed for farveblindhed blandt piger Hypotese: pd = pp 4 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Mål for kønseffekt på farveblindhed Hypotese: pd = pp (RR=OR=1) testes med Differens: pd − pp Risk Ratio: RR = Odds Ratio: OR = pd pp pd /(1 − pd ) pp /(1 − pp ) 5 / 88 I Chi-i-anden test (χ2 -test), med mindre tabellerne er ret tynde, dvs. hvis der er forventede værdier under 5... Så bruges i stedet I Fishers eksakte test (kan altid anvendes) som altså er test for uafhængighed, mellem kovariat (køn) og outcome (farveblindhed) 6 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Test af hypotesen om uafhængighed proc freq data=farveblind; tables gender*farveblind / chisq nopercent nocol expected riskdiff relrisk; weight antal; run; farveblind Frequency| Expected | Row Pct |ja |nej | ---------+--------+--------+ dreng | 6 | 144 | | 3.8889 | 146.11 | | 4.00 | 96.00 | ---------+--------+--------+ pige | 1 | 119 | | 3.1111 | 116.89 | | 0.83 | 99.17 | ---------+--------+--------+ Total 7 263 7 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Test for uafhængighed f.eks. drenge vs. piger: gender university of copenhagen Total 150 120 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, fortsat Statistics for Table of gender by farveblind Statistic DF Value Prob -----------------------------------------------------Chi-Square 1 2.6472 0.1037 Likelihood Ratio Chi-Square 1 3.0022 0.0832 Continuity Adj. Chi-Square 1 1.5418 0.2144 WARNING: 50% of the cells have expected counts less than 5. Chi-Square may not be a valid test. Fisher’s Exact Test ---------------------------------Two-sided Pr <= P 0.1364 270 8 / 88 /______________ / \_______________ \ university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, fortsat Output, fortsat Differens mellem sandsynlighederne (option riskdiff): p̂d − p̂p = 0.0317, CI = (−0.0037, 0.0670): Odds ratio (OR=4.96) og risk ratio (RR=4.80), Col1 er farveblind=”ja”: Estimates of the Relative Risk (Row1/Row2) Statistics for Table of gender by farveblind Column 1 Risk Estimates (Asymptotic) 95% (Exact) 95% Risk ASE Confidence Limits Confidence Limits ------------------------------------------------------------------------Row 1 0.0400 0.0160 0.0086 0.0714 0.0148 0.0850 Row 2 0.0083 0.0083 0.0000 0.0246 0.0002 0.0456 Total 0.0259 0.0097 0.0070 0.0449 0.0105 0.0527 Difference 0.0317 0.0180 -0.0037 0.0670 Difference is (Row 1 - Row 2) Der er altså ca. 3% flere drenge end piger, der er farveblinde. 9 / 88 Type of Study Value 95% Confidence Limits ----------------------------------------------------------------Case-Control (Odds Ratio) 4.9583 0.5887 41.7605 Cohort (Col1 Risk) 4.8000 0.5858 39.3291 Cohort (Col2 Risk) 0.9681 0.9333 1.0041 Der er altså ca. 5 gange så mange drenge som piger, der er farveblinde. Bemærk, at OR≈RR, da farveblindhed er sjældent forekommende 10 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Nyt eksempel: Postoperative sårinfektioner Problemstilling 194 patienter opereret på Frederiksberg Hospital. Hvordan afhænger sandsynligheden for at få postoperativ sårinfektion af alder og operationstid? For hver patient i registreres: I I I xi1 =optid, operationens varighed i minutter Outcome: Sårinfektion ja/nej, et binært/dikotomt outcome (0-1 variabel) y(i =infektion= 1 : postoperativ sårinfektion (n=23) 0 : ingen postoperativ sårinfektion (n=171) Kovariater vælges her som: xi2 =alder, i år Variable N Mean Std Dev Minimum Maximum ----------------------------------------------------------------------infektion 194 0.1185567 0.3241026 0 1.0000000 optid 194 93.9432990 63.7111510 5.0000000 390.0000000 alder 194 55.9690722 25.0143808 7.0000000 90.0000000 ----------------------------------------------------------------------- 11 / 88 I Patientens alder (evt. som alder i 10-år, dvs. alder10=alder/10) I Indikator for operationsvarighed over 2 timer: ( 1 : hvis optid>120 over2timer= 0 : ellers Model for pi ’erne? 12 / 88 Først plejer vi at tegne... university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Figurer university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Model for pi ’erne Plot af infektion vs. alder, med loess-smoother: Adskillige ting dur ikke i denne situation med binært outcome og kvantitativ kovariat (her alder): proc sgplot data=infektion; loess Y=infektion X=alder / group=over2timer smooth=0.8; run; I Figurer er ikke særlig kønne, fordi outcome er binært I Tabeller dur ikke, fordi alder har for mange værdier – her 68 forskellige aldre I Den sædvanlige linearitetsantagelse (for effekten af kovariaten alder) er ikke god for sandsynligheder, fordi en linie ikke er begrænset, hverken nedadtil eller opadtil, så vi kommer let udenfor området mellem 0 og 1 – og det er mildest talt ikke så rart, når man har med sandsynligheder at gøre Figurerne er rigtigt grimme, når outcome kun antager 2 forskellige værdier 13 / 88 14 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Model for pi ’erne, fortsat university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Logit funktionen Vi har brug for at transformere pi ’erne, før vi kan antage linearitet I Derfor bruger man en funktion g(pi ), kaldet link-funktionen, og antager linearitet på denne skala. ηi = g(pi ) = β0 + β1 alderi + β2 over2timeri Den hyppigst anvendte funktion er logit-funktionen, og analysen kaldes derfor logistisk regression: pi ηi = g(pi ) = logit(pi ) = log 1 − pi 15 / 88 Sandsynligheder tæt på 0 giver store negative logit-værdier, Sandsynligheder tæt på 1 giver store positive logit-værdier 16 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Logistiske kurver – for en enkelt kovariat p(x) = g −1 (η) = exp(βo + β1 x) 1 + exp(βo + β1 x) Parameterværdier: I I β0 : -5, 0 β1 : 1, 2 17 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Begreber i logistisk regression I Binært outcome: I Sandsynlighed for 1-tal: I Odds: I Log-odds (logit): I Lineær prediktor: I Logistisk kurve: Y ∈ {0, 1} p = p{Y = 1} ∈ [0, 1] p ∈ [0, +∞] 1−p p logit(p) = log 1−p η = logit(p) = βo + β1 x1 + β2 x2 p= exp(η) 1 + exp(η) 18 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Fortolkning af parametre - for en enkelt kovariat Fortolkning af parametre, fortsat Model: Yi ∼ Binomial(1, pi ), (også kaldet Bernoulli-fordelingen), Tilbagetransformation: hvor pi = exp(βo + β1 xi ) 1 + exp(βo + β1 xi ) Sammenlign to personer, A og B, med alder x = a hhv. x = a + 10, altså med en aldersforskel på 10 år: Person B: logit(pB ) = βo + β1 × (a + 10) Person A: logit(pA ) = βo + β1 × a Forskel: logit(pB ) − logit(pA ) = β1 × 10 19 / 88 pB pA logit(pB ) − logit(pA ) = log − log 1 − pB 1 − pA pB /(1 − pB ) = log(OR) = log pA /(1 − pA ) og derfor er Odds Ratio for infektion for person B vs. person A netop OR=exp(β1 × 10), fordi der var 10 års forskel på de to personer. 20 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Fortolkning af parametre - for to kovariater Nu er pi = exp(βo + β1 x1i + β2 x2i ) 1 + exp(βo + β1 x1i + β2 x2i ) Sammenlign to personer, A og B, med alder x1 = a hhv. x1 = a + 10, altså med en aldersforskel på 10 år, men samme operationsvarighed(sgruppe) b: Person B: logit(pB ) = βo + β1 × (a + 10) + β2 × b Person A: logit(pA ) = βo + β1 × a Forskel: logit(pB ) − logit(pA ) = β1 × 10 + β2 × b altså samme svar som ved en enkelt kovariat, ganske som i almindelig regression 21 / 88 university of copenhagen university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Fortolkning af parametre, fortsat Fortolkning af interceptet, β0 I har (som altid) noget at gøre med en person, hvor alle kovariater er 0 I dvs. her en nyfødt (alder=0), der har en operationstid på under 2 timer (over2timer=0) Dette er irrelevant! For at få et fortolkeligt intercept, kan vi i stedet centrere alderen ved f.eks. 50 år, altså benytte kovariaten alder_minus50=alder-50 eller benytte estimate-sætninger 22 / 88 d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s PROC GENMOD i SAS PROC GENMOD i SAS Den skrabede kode til den beskrevne logistiske regression: Udbygget kode med estimate-sætninger og konstruktion af output-datasæt: proc genmod descending data=infektion; class over2timer; model infektion = over2timer alder / dist = binomial link = logit ; run ; I descending-option sikrer, at man modellerer sandsynligheden for et 1-tal (ikke et 0) I class fungerer som i GLM 23 / 88 proc genmod descending data=infektion; class over2timer; model infektion = over2timer alder / dist = binomial link = logit ; estimate "10 years" alder 10 / exp; estimate "more than two hours" over2timer -1 1 / exp; estimate "10 years and more than two hours" over2timer -1 1 alder 10 / exp; output out=pred lower=lower pred=phat upper=upper reschi=reschi stdreschi=stdreschi cooksd=cooksd dfbeta=_all_; run ; 24 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Kommentarer til GENMOD-koden I I d e pa rt m e n t o f b i o s tat i s t i c s Noter til GENMOD-koden I Model-options I university of copenhagen dist angiver fordelingen, her en Binomialfordeling (med antalsparameter 1, dvs. en Bernoulli fordeling) Denne er vigtig at have med, ellers benyttes en Normalfordelingsantagelse. link angiver link-funktionen g (logit er default, så det behøver man faktisk ikke at skrive) estimate-sætninger, med exp-option fordi vi så, at exponentialfunktionen til parametrene fortolkes som odds ratio’er 25 / 88 Outcome infektion er en 0/1-variabel, altså en Binomialfordelt størrelse med n = 1. Dette kan skrives eksplicit ved at definere en variabel "antal=1;" og så benytte konstruktionen model infektion/antal = over2timer alder / dist = binomial link = logit ; I Hvis der er tale om grupperede data, vil variablen antal angive, hvor mange personer, der har et bestemt mønster af kovariater, medens infektion så angiver, hvor mange af disse, der fik infektion Nu er option dist=binomial strengt taget ikke nødvendig mere... 26 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Dele af output fra logistisk regression university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, fortsat: Estimate-sætninger med irrelevante kolonner fjernet nemlig de, der refererer til “Mean Estimate” The GENMOD Procedure Model Information Number of Events Number of Trials 23 194 ...som er noget temmeligt ubrugeligt noget.... Class Level Information Class Levels Values over2timer 2 0 1 Contrast Estimate Results (PROC GENMOD is modeling the probability that infektion=’1’.) Parameter Intercept over2timer over2timer alder Scale DF Estimate 1 -3.4074 0 1 -1.3292 1 0 0.0000 1 0.0355 0 1.0000 Standard Wald 95% Wald Error Confidence Limits Chi-Square Pr>ChiSq 1.1212 -5.6050 -1.2098 9.24 0.0024 0.4730 -2.2562 -0.4022 7.90 0.0049 0.0000 0.0000 0.0000 . . 0.0149 0.0063 0.0647 5.66 0.0173 0.0000 1.0000 1.0000 _ _ NOTE: The scale parameter was held fixed. Her er kun P-værdierne direkte forståelige... 27 / 88 Label 10 years Exp(10 years) more than two hours Exp(more than two hours) 10 years and more than two hours Exp(10 years and more than two hours) 28 / 88 LBeta Estimate LBeta LowerCL LBeta UpperCL 0.3548 1.4259 1.3292 3.7781 1.6840 5.3873 0.0625 1.0645 0.4022 1.4952 0.7333 2.0820 0.6471 1.9100 2.2562 9.5466 2.6348 13.9399 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Fortolkning af output Predikterede sandsynligheder for postoperativ sårinfektion Fokus er på L’Beta Estimate i linien Exp(...), idet denne angiver Odds-ratio (dvs. forholdet mellem odds) for sygdom mellem to niveauer af en kovariat, for fastholdt værdi af de øvrige kovariater dvs. variablen phat fra datasættet pred (dannet s. 24), plottet mod alder, for hver varigheds-gruppe På sandsynligheds-skala På logit-skala I For en patientpopulation, der har alderen X+10 år, vil odds (forholdet mellem patienter der får hhv. ikke får sårinfektion) være en faktor 1.426 større end hos en patientpopulation, der har alderen X år (forudsat at de to populationer har lige lang operationstid). Det svarer til, at odds er øget med 42.6% (CI: 6.5%-91%) I Personer med en operationsvarighed over 2 timer har en odds for sårinfektion, der er 3.78 gange højere end dem med en operationsvarighed under 2 timer på samme alder (CI: 1.50, 9.55). 29 / 88 university of copenhagen Kurverne er (parallelle) rette linier på logit-skala 30 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Hvilket spørgsmål stiller vi? Hvor meget øges risikoen for infektion, når man bliver 10 ældre? I Det kan vi ikke svare på, fordi vi kun har en måling for hver person. I Jamen vi har jo fundet en OR på 1.426, så odds øges vel med 42.6% pr. tiår? I Nej, den øges nok med mere university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Et simpelt eksempel med bare to individer, hvor vi forestiller os nedenstående sandsynligheder (f.eks. for infektion) ved alder 30 og 40 år: Individ 1 2 Gennemsnit Population 30 år 0.2 0.6 0.4 0.4 40 år 0.4 0.8 0.6 0.6 Differens 0.2 0.2 0.2 0.2 log(OR) 0.981 0.981 0.981 0.811 OR 2.67 2.67 2.67 2.25 Det, vi svarer på, er nemlig en sammenligning af 2 personer (eller rettere 2 personpopulationer), med forskellig alder – og det er ikke det samme her... Begge individer har OR=2.67 som effekt af 10 år, men på “populationsniveau” (meget lille population på kun 2 individer), har vi OR=2.25 31 / 88 32 / 88 Gennemsnittet af de individuelle OR’er (som her for nemheds skyld er ens) er altid større end OR udregnet for populationen. university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Hvilket spørgsmål stiller vi, fortsat university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Hypotetiske forløb for individer For For ikke-lineære modeller svarer et (fælles) individ-OR (kaldet subject-specific) altså ikke til populationens OR (kaldet population averaged), idet der gælder Vi har parallelle linier på logit-skala (til venstre), men når man ser på frekvenser af sygdom/infektion i en population, tager man gennemsnit på 0/1-skalaen (sandsynlighedsskalaen til højre) Populations OR < Individ-specifikt OR eller PA < SS Forskellen er størst, hvis populationen er meget inhomogen, altså hvis der er mange vigtige risikofaktorer, der ikke er medtaget i modellen. 33 / 88 university of copenhagen Når dette gennemsnit transformeres til logit-skalaen, vil kurven blive fladere end linierne, altså en mindre effekt. 34 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Inklusion af ekstra kovariater Hvis z betegner en kovariat med betydning, har vi samme problem: I Model med z svarer til alle de sorte linier/kurver på s. 34, og der er en høj OR for alder. I Model uden z svarer til den røde linie/kurve på s. 34, og der er en lav OR for alder. Så hvis z er uafhængig af de øvrige kovariater (ingen confounding), har vi situationen: I Jo mere betydningsfuld, z er, des større vil forskellen være. I Jo mere (uerkendt) inhomogen, vores population er, des lavere vil OR være university of copenhagen Hvilket spørgsmål stiller vi? Hvad så, hvis vi sammenligner to populationer med 10 års forskel uden at kræve, at de har samme operationstid? Så får vi formentlig noget I større, fordi der er confounding mellem alder og operationstid, idet de ældre generelt har længere operationstid I mindre, fordi vi tager gennemsnit over nogle mere inhomogene populationer Man kan derfor (som sædvanlig) ikke sammenligne estimater, der stammer fra modeller med forskellige kovariater – eller er baseret på helt forskellige populationer, og: (men usikkerheden på den vil også være lavere....) 35 / 88 d e pa rt m e n t o f b i o s tat i s t i c s 36 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Pas på university of copenhagen OR estimater for infektion i forskellige modeller Outcome: infektion Kovariater i model Selv i randomiserede undersøgelser, hvor der ikke er nogen confounding, vil størrelsen af Odds Ratio altså stadig afhænge af populationssammensætningen! I Hvis der er restriktive inklusionskriterier, bliver OR formentlig stort I Hvis der “blot” er samplet revl og krat, bliver OR formentlig mindre kun alder 37 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Var den fornuftig ud fra et anvendelses-synspunkt? 1. Fik vi stillet et relevant spørgsmål? – det stod forhåbentlig i protokollen 2. Fik vi opstillet en model, der tillod at besvare dette spørgsmål? – var det f.eks. en interaktion, der var i fokus? 3. Har vi leveret et fyldestgørende svar? – har vi modelleret det så tilpas godt, så vi tror på svaret, og har vi husket at kvantificere, med konfidensinterval? 39 / 88 1.48 (1.13, 1.93) P=0.0043 – – 5.13 (2.07, 12.71) P=0.0004 1.43 (1.06, 1.91) P=0.017 3.78 (1.50, 9.55) P=0.0049 38 / 88 Tilbage til modellen Og så er der jo lige det med modelkontrol..... alder og over2timer Effekt af operationstid > 2 timer β̂2 (CI) 10 år ældre β̂1 (CI) kun over2timer Det er altså helt og holdent spørgsmålets præcisering, der afgør svaret.... university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Interaktion Hvis spørgsmålet var: I I Har operationsvarigheden en større betydning for ældre mennesker end for yngre? Er odds ratio for infektion for de lange operationstider den samme uanset alder? Inkluder interaktionen mellem operationsvarighed og alder, i form af effekten over2timer*alder: Analysis Of Maximum Likelihood Parameter Estimates Parameter Intercept over2timer over2timer alder alder*over2timer alder*over2timer Scale 0 1 0 1 DF Estimate Standard Error 1 1 0 1 1 0 0 -2.7487 -2.1998 0.0000 0.0262 0.0123 0.0000 1.0000 2.1179 2.4780 0.0000 0.0295 0.0344 0.0000 0.0000 Wald 95% Conf Limits -6.8998 -7.0566 0.0000 -0.0316 -0.0552 0.0000 1.0000 NOTE: The scale parameter was held fixed. 40 / 88 Wald Chi-Square Pr>ChiSq 1.4023 2.6570 0.0000 0.0840 0.0798 0.0000 1.0000 1.68 0.79 . 0.79 0.13 . 0.1943 0.3747 . 0.3739 0.7210 . university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Interaktion mellem alder og operationsvarighed Modelkontrol På sandsynligheds-skala Vi havde oprindeligt antaget additivitet mellem alder og oprationsvarighed, samt linearitet for alderseffekten (på logit-skala). På logit-skala Numerisk modelkontrol: Der ses ikke nogen tegn på interaktion (P=0.72) 41 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Linearitetsantagelsen for alder på logit-skala, checkes numerisk ved at se på mere generelle modeller såsom: Alderseffekt modelleret som parabel: Definer kvadreret_alder=(alder-50)**2 og brug modellen model infektion/antal = over2timer alder_minus50 kvadreret_alder / dist = binomial link = logit; I Alderseffekt modelleret som lineær spline: Definer alder_over75=(alder>75)*(alder-75) og brug modellen model infektion/antal = over2timer alder alder_over75 / dist = binomial link = logit; 43 / 88 Linearitet: Kvadratled i kovariater, Lineære splines (“velkendt”) I Additivitet: Check for interaktion (har vi lige gjort, “velkendt”) I Overall goodness of fit Grafisk modelkontrol: I Residualplots I ....diagnostic plots 42 / 88 university of copenhagen I I university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Alderseffekt modelleret som parabel model infektion/antal = over2timer alder_minus50 kvadreret_alder / dist = binomial link = logit; Output: Analysis Of Maximum Likelihood Parameter Estimates Parameter Intercept over2timer 0 over2timer 1 alder_minus50 kvadreret_alder Scale DF 1 1 0 1 1 0 Standard Estimate Error -1.5965 -1.3099 0.0000 0.0371 -0.0001 1.0000 0.5187 0.4845 0.0000 0.0182 0.0007 0.0000 Wald 95% Wald Confidence Limits Chi-Square Pr>Chisq -2.6131 -2.2595 0.0000 0.0014 -0.0015 1.0000 -0.5799 -0.3602 0.0000 0.0728 0.0013 1.0000 9.47 7.31 . 4.15 0.03 0.0021 0.0069 . 0.0415 0.8632 NOTE: The scale parameter was held fixed. Meget ringe indikation af afvigelse fra linearitet (P = 0.86) 44 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Effekten af alder som parabel På sandsynligheds-skala university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Effekten af alder som lineær spline På logit-skala model infektion/antal = over2timer alder alder_over75 / dist = binomial link = logit; Output: Analysis Of Maximum Likelihood Parameter Estimates Parameter Intercept over2timer over2timer alder alder_over75 Scale DF 0 1 1 1 0 1 1 0 Standard Estimate Error -4.4570 -1.2345 0.0000 0.0541 -0.1246 1.0000 Wald 95% Confidence Limits 1.5091 0.4754 0.0000 0.0220 0.0872 0.0000 -7.4149 -2.1662 0.0000 0.0111 -0.2956 1.0000 Wald Chi-Square Pr>ChiSq -1.4991 -0.3028 0.0000 0.0972 0.0464 1.0000 8.72 6.74 . 6.07 2.04 0.0031 0.0094 . 0.0138 0.1533 NOTE: The scale parameter was held fixed. En vis indikation for afvigelse fra linearitet (P = 0.15), men... 45 / 88 46 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Effekten af alder som lineær spline På sandsynligheds-skala På logit-skala university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Overall Goodness-of-fit I Observationerne inddeles i 10 ca. lige store grupper, baseret på stigende predikteret sandsynlighed for infektion I I hver gruppe sammenlignes observerede og forventede antal af infektioner, og I sammenlægges til en Størrelserne FORV 2 χ -teststørrelse med 8 (antal grupper minus 2) frihedsgrader (OBS-FORV) 2 Kan ikke udføres i GENMOD, men med option lackfit i proceduren LOGISTIC (mere om denne senere) Intet signifikant knæk, men dog en tendens..... Tror vi på den? Her finder vi χ2 = 6.67 ∼ χ2 (8) ⇒ P = 0.57 og dermed intet tegn på problemer med modellen. 47 / 88 48 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output fra Lackfit i LOGISTIC university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Modelkontrol Den sædvanlige konstruktion af residualer: ri = yi − p̂i Partition for the Hosmer and Lemeshow Test Group 1 2 3 4 5 6 7 8 9 10 Total 19 19 19 19 20 18 21 19 21 19 infektion = 1 Observed Expected 1 0.26 0 0.36 0 0.45 0 0.99 2 1.73 3 1.96 3 2.61 2 2.79 7 5.07 5 6.79 infektion = 0 Observed Expected 18 18.74 19 18.64 19 18.55 19 18.01 18 18.27 15 16.04 18 18.39 17 16.21 14 15.93 14 12.21 giver nogle forfærdeligt grimme figurer, f.eks. Hosmer and Lemeshow Goodness-of-Fit Test Chi-Square DF Pr > ChiSq 6.6674 8 0.5729 Med en P-værdi på 0.57 ses ingen generel afvigelse fra modellen 49 / 88 university of copenhagen og her er endda standardiseret til 50 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Modelkontrol,fortsat Der kan være en fordel i at se på kumulerede residualer, kumuleret fra lave til høje aldre: university of copenhagen ri ei = p p̂i (1 − p̂i ) d e pa rt m e n t o f b i o s tat i s t i c s Modelkontrol,fortsat Figuren på forrige side kan vurderes visuelt, men man kan også lave et numerisk check på den maksimale afvigelse fra 0, her baseret på 1000 simulationer. Vi finder P=0.37 og dermed ingen evidens for en gal modellering af alderseffekten. Figuren fås ved at benytte sætningen (med fast seed, tilfældigt valgt) assess var=(alder) / resample npaths=40 seed=106165; Her er indlagt 40 forløb, simuleret under forudsætning af en korrekt model. Falder det aktuelle forløb udenfor? i PROC GENMOD konstruktionen 51 / 88 52 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Diagnostics – Cooks afstand Nærmere afklaring af diagnostics Cooks afstand (mål for den enkelte observations indflydelse på estimaterne), her plottet op mod observationsnummeret (default, når man skriver "plots=CooksD") Modellen er den på s. 24, hvor vi har output-sætningen: output out=pred lower=lower pred=phat upper=upper reschi=reschi stdreschi=stdreschi cooksd=cooksd dfbeta=_all_; Ud fra datasættet pred kan man nu selv styre plottene, f.eks. proc sgplot scatter run; proc sgplot scatter run; data=pred; Y=cooksd X=alder / group=over2timer; data=pred; Y=DFBeta4 X=alder / group=infektion; Bemærk den enkelte observation med stor Cook Bemærk: Variablen DFBeta4 betegner det 4. parameterestimat i rækken, dvs. koefficienten til alder (først er der intercept, samt 2 parametre svarende til grupperingen over2timer). 53 / 88 54 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Diagnostic plots Cooks afstand vs. alder blå: lang operationstid university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Den suspekte person Effekt på alders-estimat vs. alder blå: infektion Person nr. 93: Obs 93 id 93 infektion 1 Obs 93 cookd 0.27423 optid 55 DFBeta1 0.27218 alder 12 phat 0.013245 DFBeta2 0.071224 DFBeta3 . reschi 8.63127 stdreschi 8.67829 DFBeta4 -0.012666 Det drejer sig altså om en 12-årig pige, der til trods for kort operationstid, alligevel får en infektion. Her kan vi se, at observationen med stor indflydelse er ung, med en kort operationstid, men med infektion 55 / 88 56 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Men men men I Hvad nu, hvis spredningen i virkeligheden er større (overspredning)? Så får vi overvurderet betydningen af kovariaterne (for små P-værdier) I Hvordan opdager vi det? Det kræver en fornuftig gruppering af personerne, f.eks. baseret på I d e pa rt m e n t o f b i o s tat i s t i c s Overspredning i SAS Der er ingen “fri spredning” (σ), da spredningen her er lig pi (1 − pi ), altså helt specificeret ud fra middelværdien. I university of copenhagen predikterede sandsynligheder (Hosmer Lemeshow testet) kovariater i modellen... 57 / 88 Vi benytter option scale=p i den logistiske regression: proc genmod descending data=infektion; class over2timer; model infektion = over2timer alder / dist = binomial link = logit aggregate scale=p; run; men det er lidt ustabilt, fordi vi ikke har nogen god gruppering af vores patienter (hele 91 forskellige kombinationer af kovariatværdier, dvs. meget små grupper...) 58 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, med overspredning Output, med overspredning, fortsat og får herved estimeret en ekstra skalaparameter, (her ˆ = 1.2322): phi Estimerede effekter, med tilbagetransformation (fra Estimate-sætninger), dvs. en revideret version af s. 28: The GENMOD Procedure Parameter Intercept over2timer over2timer alder Scale DF Estimate 0 1 1 1 0 1 0 -3.4074 -1.3292 0.0000 0.0355 1.2322 Standard Wald 95% Error Confidence Limits 1.3816 0.5828 0.0000 0.0184 0.0000 -6.1152 -2.4714 0.0000 -0.0005 1.2322 -0.6995 -0.1870 0.0000 0.0715 1.2322 Wald Pr>ChiSq Chi-Square 6.08 5.20 . 3.73 0.0137 0.0226 . 0.0535 OTE: The scale parameter was estimated by the square root of Pearson’s Chi-Square/DOF. Label 10 years Exp(10 years) more than two hours Exp(more than two hours) 10 years and more than two hours Exp(10 years and more than two hours) Nu er der sådan set ikke mere en signifikant effekt af alder.... 59 / 88 60 / 88 LBeta Estimate LBeta LowerCL LBeta UpperCL 0.3548 1.4259 1.3292 3.7781 1.6840 5.3873 -0.0053 0.9947 0.1870 1.2057 0.5126 1.6696 0.7150 2.0441 2.4714 11.8391 2.8555 17.3831 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Konsekvens af overspredning Konklusion Overspredningsfaktoren (her 1.2322) ganges på alle standard errors, hvorved baseret på resultater efter korrektion for overspredning: I signifikanser nedtones, og P-værdierne bliver højere I konfidensgrænser bliver bredere I vi konkluderer ikke “over hals og hovede” Der findes flere alternative metoder til estimation af φ... og de giver ikke altid det samme.... 61 / 88 I Sample size er for lille til, at man kan udtale sig meget sikkert omkring alderseffekten, men risikoen ser ud til at stige med alderen. I Det er bedst at have en lav operationsvarighed (surprise :-)) 62 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Alternativ procedure: LOGISTIC university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Alternativ procedure: LOGISTIC Fordele: I giver automatisk odds ratioer (uden estimate-sætninger) I har flere automatiske plots (ikke en ubetinget fordel), men har dog plottet s. 30 som default Ulemper: I pas på med selve parameterestimaterne (brug PARAM=GLM) I har en ekstra modelkontrol, Hosmer-Lemeshow testet (option lackfit, se s. 49 og 68) I kan ikke håndtere så mange forskellige outcome typer som GENMOD I har lettere variabelnavne for DFBETA, nemlig I har kun få mulige link-funktioner (Vi har her brugt den traditionelle logit, men benytter log lidt senere) I mangler ASSESS-sætningen til modelkontrol (s. 52) DFBETA_Intercept DFBETA_over2timer0 DFBETA_over2timer1 DFBETA_alder I har et test for antagelsen ved modellering af ordinale data (som vi nok ikke når) 63 / 88 64 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Kode i Logistic university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output fra Logistic Deviance and Pearson Goodness-of-Fit Statistics proc logistic plots=ALL data=infektion; class over2timer / param=GLM; model infektion(event="1") = over2timer alder / lackfit aggregate scale=p link=logit ; estimate "10 years" alder 10 / exp; estimate "more than two hours" over2timer -1 1 / exp; estimate "10 years and more than two hours" over2timer -1 1 alder 10 / exp; output out=pred lower=lower pred=phat upper=upper reschi=reschi; run ; Criterion Pearson Value 133.5869 DF 88 Value/DF 1.5180 Pr > ChiSq 0.0012 Number of unique profiles: 91 NOTE: The covariance matrix has been multiplied by the heterogeneity factor (Pearson Chi-Square / DF) 1.51803. Analysis of Maximum Likelihood Estimates Parameter Intercept over2timer 0 over2timer 1 alder DF 1 1 0 1 Estimate -3.4071 -1.3292 0 0.0355 Standard Error 1.3814 0.5827 . 0.0184 Wald Chi-Square 6.0833 5.2032 . 3.7292 Pr > ChiSq 0.0136 0.0225 . 0.0535 Værdien Value/DF=1.5180 er kvadratet på den tidligere omtalte overspredningsfaktor φ̂, idet 1.23222 = 1.518 65 / 88 66 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output fra Logistic, fortsat university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output fra Lackfit i LOGISTIC ..tidligere beskrevet side 47 Odds Ratio Estimates Point Estimate Effect over2timer alder 0 vs 1 0.265 1.036 Partition for the Hosmer and Lemeshow Test 95% Wald Confidence Limits 0.084 0.999 0.829 1.074 Estimate Label 10 years Estimate 0.3548 Label more than two hours Standard Error 0.1837 Estimate 1.3292 z Value 1.93 Standard Error 0.5827 Pr > |z| 0.0535 z Value 2.28 Pr > |z| 0.0225 Exponentiated 1.4259 Exponentiated 3.7780 Standard Label Estimate Error z Value Pr> |z| 10 years and more than two hours 1.6840 0.5976 2.82 0.0048 Exponentiated 5.3869 Group 1 2 3 4 5 6 7 8 9 10 Total 19 19 19 19 20 18 21 19 21 19 infektion = 1 Observed Expected 1 0.26 0 0.36 0 0.45 0 0.99 2 1.73 3 1.96 3 2.61 2 2.79 7 5.07 5 6.79 infektion = 0 Observed Expected 18 18.74 19 18.64 19 18.55 19 18.01 18 18.27 15 16.04 18 18.39 17 16.21 14 15.93 14 12.21 Hosmer and Lemeshow Goodness-of-Fit Test Chi-Square DF Pr > ChiSq 6.6674 8 0.5729 Med en P-værdi på 0.57 ses ingen generel afvigelse fra modellen 67 / 88 68 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Odds ratio, Risk ratio og Risk differenser Den link-funktion, der anvendes, afgør hvilket mål, der kommer ud af det I logit-link er default, giver Odds Ratio det brugte vi for at modellere infektioner Dette link skal altid benyttes ved case-control studier. I log-link giver Risk Ratio det kunne vi f.eks. bruge på data vedr. farveblindhed I identity-link giver Risk difference det kan vi bruge til at lave trend test for kejsersnit vs. skostørrelse logit er default, fordi det sikrer, at vi ikke kommer udenfor intervallet (0,1) med sandsynlighederne 69 / 88 university of copenhagen university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Farveblindhed - igen Risk Ratio (relativ risiko) estimeres i GENMOD med log-link. Bemærk brugen af weight option: Data: proc genmod data = farveblind; class gender; weight antal; model farveblind = gender / dist=binomial link=log; estimate "boys vs girls" gender 1 -1 / exp; run; gender farveblind antal pige nej 119 pige ja 1 dreng nej 144 dreng ja 6 Bemærk den manglende descending-option, fordi farveblind=’’ja’’ er først i alfabetet 70 / 88 d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Alternativ datastruktur Output, relativ risiko, log-link gender total farveblinde pige 120 1 dreng 150 6 The GENMOD Procedure Så bruges i stedet programbidden Model Information Data Set Distribution Link Function Dependent Variable Scale Weight Variable WORK.FARVEBLIND Binomial Log farveblind total Class Level Information proc genmod data = farveblind; class gender; model farveblinde/total = gender / dist=binomial link=log; estimate "boys vs girls" gender 1 -1 / exp; run; Class gender 71 / 88 72 / 88 Levels 2 Values dreng pige Response Profile Ordered Value 1 2 farveblind ja nej Total Frequency 2 2 Total Weight 7 263 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, fortsat university of copenhagen Eksempel om kejsersnit vs. skostørrelse PROC GENMOD is modeling the probability that farveblind=’ja’. One way to change this to model the probability that farveblind=’nej’ is to specify the DESCENDING option in the PROC statement. Kejsersnit Algorithm converged. Analysis Of Maximum Likelihood Parameter Estimates Parameter Intercept gender gender Scale dreng pige DF 1 1 0 0 d e pa rt m e n t o f b i o s tat i s t i c s Standard Estimate Error -4.7875 0.9958 1.5686 1.0732 0.0000 0.0000 1.0000 0.0000 4 Ja Nej 5 17 7 28 6 36 I alt 22 35 22.7 20.0 % kejsersnit Wald 95% Wald Confidence Limits Chi-Square Pr > ChiSq -6.7393 -2.8357 23.11 <.0001 -0.5347 3.6720 2.14 0.1438 0.0000 0.0000 . . 1.0000 1.0000 Skonummer 4.5 5 <4 5.5 ≥6 Total 7 41 8 46 10 140 43 308 42 48 54 150 351 14.3 14.6 14.8 6.7 12.3 NOTE: The scale parameter was held fixed. Contrast Estimate Results Label boys vs girls Exp(boys vs girls) L’Beta Estimate 1.5686 4.8000 L’Beta Confidence Limits -0.5347 3.6720 0.5858 39.3291 73 / 88 university of copenhagen 74 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Test for trend Modellen antager linearitet i skostørrelse: pi = α − β × skoi university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Test for trend, fortsat kan udføres som en regression i Binomial-fordelingen, med identity-link: Program i Genmod, med mulig overspredning Data: proc genmod data = sko; weight antal; model kejsersnit/total = skonummer / dist=binomial link=identity aggregate pscale; run; skonummer total kejsersnit 3.5 22 5 4.0 35 7 4.5 42 6 5.0 48 7 5.5 54 8 6.0 150 10 75 / 88 Bemærk skrivemåden i Model-sætningen: kejsersnit/total 76 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output vedr. kejsersnit university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output vedr. kejsersnit, fortsat The GENMOD Procedure Model Information Data Set Distribution Link Function Response Variable (Events) Response Variable (Trials) Analysis Of Maximum Likelihood Parameter Estimates WORK.SKO Binomial Identity kejsersnit total Number of Events Number of Trials Parameter Intercept skonummer Scale DF 4 Estimate 0.4561 -0.0636 0.5861 Standard Error 0.0759 0.0137 0.0000 Wald 95% Confidence Wald Limits Chi-Square Pr>ChiSq 0.3072 0.6049 36.07 <.0001 -0.0905 -0.0366 21.42 <.0001 0.5861 0.5861 NOTE: The scale parameter was estimated by the square root of Pearson’s Chi-Square/DOF. 43 351 Criteria For Assessing Goodness Of Fit Criterion Pearson Chi-Square DF 1 1 0 Value 1.3741 Value/DF 0.3435 Ekstra risiko for kejsersnit, når skoene er et nummer mindre: 0.0636, CI=(0.0366, 0.0905), altså mellem 3.7% og 9.1% Algorithm converged. 77 / 88 78 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Underspredning.....?? Her estimerer vi overspredningsfaktoren til √ 0.3436 = 0.5861 < 1 I signifikanser forstærkes – P-værdierne bliver lavere I konfidensgrænser bliver smallere I vi risikerer at få falske signifikanser I ved en tilfældighed I fordi det er konstruerede tal?? I ...?? d e pa rt m e n t o f b i o s tat i s t i c s Modelkontrol af lineariteten Hvis vi korrigerer for dette, fås konsekvenserne Men hvorfor er der underspredning? university of copenhagen Lineariteten i skonummer var jo en antagelse. Den kan checkes ved at sætte en kopi (skostr=skonummer) ind som class oveni: proc genmod descending data = sko; class skostr; model kejsersnit/total = skonummer skostr / dist=binomial link=identity type3; run; LR Statistics For Type 3 Analysis Source skonummer skostr DF 0 4 ChiSquare 0.00 1.29 Pr > ChiSq . 0.8624 Lineariteten i skonummer ser rimelig ud 79 / 88 80 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Typer af outcome Eksempel om leverfibrose Hidtil Ordinalt outcome: Leverfibrose, grad 0,1,2 eller 3 I Kvantitative, Den generelle lineære model I Dikotom (0/1), Logistisk regression Kovariater: 3 blodmarkører relateret til fibrose: HA, YKL40, PIIINP Nu følger en lille smule om: I Problemstilling: Hvad kan vi sige om fibrosegrad ud fra måling af disse 3 blodmarkører? Ordinale outcomes f.eks. fysisk formåen på en skala 1-2-3-4 men dette er ikke medtaget: I The MEANS Procedure Tælletal (uden øvre grænse), f.eks. antal metastaser Egentlig kaldes dette Poisson regression eller log-lineære modeller, men det kan ofte være en fordel blot at benytte sædvanlige regressionsmodeller (måske efter logaritmetransformation). 81 / 88 university of copenhagen Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------------fibrosegrad 129 1.4263566 0.9903850 0 3.0000000 ykl40 129 533.5116279 602.2934049 50.0000000 4850.00 piiinp 127 13.4149606 12.4887192 1.7000000 70.0000000 ha 128 318.4531250 658.9499624 21.0000000 4730.00 -------------------------------------------------------------------------- (Julia Johansen, KKHH) 82 / 88 d e pa rt m e n t o f b i o s tat i s t i c s Ordinale data I data på en rangskala I afstand mellem responskategorier kendes ikke, eller er udefineret I evt. en underliggende kvantitativ skala university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Kumulerede sandsynligheder Sandsynlighed for dette eller værre Vi sidder mellem to stole: I I Vi kan reducere til et binært respons og lave logistisk regression – men vi kan opdele flere steder Tilbageregning til sandsynligheder for de enkelte fibrosegrader: p0 = 1 − q 1 , Vi kan ’lade som om’ det er normalfordelt – virker naturligvis bedst hvis der er mange responskategorier 83 / 88 p1 = q1 − q2 ps = qs − q3 , 84 / 88 p3 = q 3 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Proportional odds model Illustration af predikterede sandsynligheder Logistisk regression for hver tærskel, med samme afhængighed af kovariaterne (link=cumlogit), som her alle er log2 -transformerede: i tilfælde af en enkelt kovariat proc logistic data=fibrosis descending; model degree_fibr=lha lpiiinp lykl40; run; Odds ratio vil ikke afhænge af cutpoint, og denne hypotese testes automatisk (proportional odds assumption) 85 / 88 86 / 88 university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Model med alle tre kovariater university of copenhagen d e pa rt m e n t o f b i o s tat i s t i c s Output, fortsat alle logaritmetransformeret (log2) Score Test for the Proportional Odds Assumption Chi-Square 9.6967 DF 6 Model Fit Statistics Criterion AIC -2 Log L Odds Ratio Estimates Pr > ChiSq 0.1380 Intercept Only 345.072 339.072 Effect Intercept and Covariates 258.466 246.466 lha lpiiinp lykl40 Point Estimate 1.475 2.276 1.721 95% Wald Confidence Limits 1.078 1.388 1.233 2.019 3.733 2.402 Analysis of Maximum Likelihood Estimates Parameter Intercept 3 Intercept 2 Intercept 1 lha lpiiinp lykl40 87 / 88 DF 1 1 1 1 1 1 Estimate -12.7767 -10.0117 -7.5922 0.3889 0.8225 0.5430 Standard Error 1.6959 1.5171 1.3748 0.1600 0.2524 0.1700 Wald Chi-Square 56.7592 43.5506 30.4975 5.9055 10.6158 10.2031 Pr > ChiSq <.0001 <.0001 <.0001 0.0151 0.0011 0.0014 Standardized Estimate 0.4174 0.5231 0.3750 Eksempel på fortolkning: En fordobling af markøren ykl40 giver 72.1% større odds for at være i en høj kategori 88 / 88
© Copyright 2024