Logistisk regression



Relaterede dokumenter
Logistisk regression

Lineær og logistisk regression

Statistik og Sandsynlighedsregning 2. IH kapitel 12. Overheads til forelæsninger, mandag 6. uge

Faculty of Health Sciences. Logistisk regression: Kvantitative forklarende variable

Det kunne godt se ud til at ikke-rygere er ældre. Spredningen ser ud til at være nogenlunde ens i de to grupper.

Analyse af binære responsvariable

Morten Frydenberg 26. april 2004

Morten Frydenberg 25. april 2006

Træningsaktiviteter dag 3

MPH specialmodul Epidemiologi og Biostatistik

25. april Probability of Developing Coronary Heart Disease in 6 years. Women (Aged 35-70) 160 No Yes

Logistisk regression. Basal Statistik for medicinske PhD-studerende November 2008

Program. Logistisk regression. Eksempel: pesticider og møl. Odds og odds-ratios (igen)

Morten Frydenberg 14. marts 2006

Logistisk regression. Statistik Kandidatuddannelsen i Folkesundhedsvidenskab

Postoperative komplikationer

Vi vil analysere effekten af rygning og alkohol på chancen for at blive gravid ved at benytte forskellige Cox regressions modeller.

Løsning til øvelsesopgaver dag 4 spg 5-9

Simpel og multipel logistisk regression

Dag 6: Interaktion. Overlevelsesanalyse

Logistisk Regression - fortsat

Overlevelse efter AMI. Hvilken betydning har følgende faktorer for risikoen for ikke at overleve: Køn og alder betragtes som confoundere.

Epidemiologi og biostatistik. Uge 3, torsdag. Erik Parner, Institut for Biostatistik. Regressionsanalyse

Statistik II Lektion 3. Logistisk Regression Kategoriske og Kontinuerte Forklarende Variable

Introduktion til overlevelsesanalyse

9. Chi-i-anden test, case-control data, logistisk regression.

Lineær regression. Simpel regression. Model. ofte bruges følgende notation:

Oversigt. 1 Gennemgående eksempel: Højde og vægt. 2 Korrelation. 3 Regressionsanalyse (kap 11) 4 Mindste kvadraters metode

Multipel Lineær Regression

Statikstik II 2. Lektion. Lidt sandsynlighedsregning Lidt mere om signifikanstest Logistisk regression

12. september Epidemiologi og biostatistik. Forelæsning 4 Uge 3, torsdag. Niels Trolle Andersen, Afdelingen for Biostatistik. Regressionsanalyse

Normalfordelingen. Statistik og Sandsynlighedsregning 2

Multipel regression. M variable En afhængig (Y) M-1 m uafhængige / forklarende / prædikterende (X 1 til X m ) Model

Forelæsning 11: Kapitel 11: Regressionsanalyse

Epidemiologi og biostatistik. Uge 3, torsdag. Erik Parner, Afdeling for Biostatistik. Eksempel: Systolisk blodtryk

Morten Frydenberg Biostatistik version dato:

Opgave 1: Graft vs. Host disease

Regressionsanalyser. Hvad er det statistiske problem? Primære og sekundære problemer. Metodeproblemer.

Mantel-Haenszel analyser. Stratificerede epidemiologiske analyser

Epidemiologiske associationsmål

Statistikøvelse Kandidatstudiet i Folkesundhedsvidenskab 28. September 2004

Statistik ved Bachelor-uddannelsen i folkesundhedsvidenskab. Eksamensopgave E05. Socialklasse og kronisk sygdom

Statistik II 4. Lektion. Logistisk regression

Generelle lineære modeller

Overlevelsesanalyse. Faculty of Health Sciences

Faculty of Health Sciences. Logistisk regression: Interaktion Kvantitative responsvariable

Reeksamen Bacheloruddannelsen i Medicin med industriel specialisering. Eksamensdato: Tid: kl

Multipel Linear Regression. Repetition Partiel F-test Modelsøgning Logistisk Regression

Eksamen Bacheloruddannelsen i Medicin med industriel specialisering

Log-lineære modeller. Analyse af symmetriske sammenhænge mellem kategoriske variable. Ordinal information ignoreres.

Kursus Introduktion til Statistik. Forelæsning 13: Summary. Per Bruun Brockhoff

2 Logaritme- og eksponentialfunktion 6

Anvendt Statistik Lektion 9. Variansanalyse (ANOVA)

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Anvendt Statistik Lektion 9. Variansanalyse (ANOVA)

Opgavebesvarelse, logistisk regression

Resumé: En statistisk analyse resulterer ofte i : Et estimat θˆmed en tilhørende se

Besvarelse af vitcap -opgaven

Epidemiologi og Biostatistik

Krydstabeller Forventede under nulhypotesen Ki-kvadrat test Residualanalyse Eksakt test

Logistisk regression

Introduktion til overlevelsesanalyse

Klasseøvelser dag 2 Opgave 1

Opgavebesvarelse, Basalkursus, uge 3

men nu er Z N((µ 1 µ 0 ) n/σ, 1)!! Forkaster hvis X 191 eller X 209 eller

Vejledende besvarelse af hjemmeopgave i Basal Statistik, forår 2014

Opgavebesvarelse, brain weight

Indhold. 2 Tosidet variansanalyse Additive virkninger Vekselvirkning... 9

Økonometri: Lektion 5. Multipel Lineær Regression: Interaktion, log-transformerede data, kategoriske forklarende variable, modelkontrol

1 Regressionsproblemet 2

Statistik og Sandsynlighedsregning 2. Repetition og eksamen. Overheads til forelæsninger, mandag 7. uge

Multipel regression 22. Maj, 2012

Mindste kvadraters tilpasning Prædiktion og residualer Estimation af betinget standardafvigelse Test for uafhængighed Konfidensinterval for hældning

Kommentarer til spørgsmålene til artikel 1: Ethnic differences in mortality from sudden death syndrome in New Zealand, Mitchell et al., BMJ 1993.

Basal statistik. 30. oktober 2007

Basal statistik. 30. oktober Den generelle lineære model

Eksempel: PEFR. Epidemiologi og biostatistik. Uge 1, tirsdag. Erik Parner, Institut for Biostatistik.

Normalfordelingen. Det centrale er gentagne målinger/observationer (en stikprøve), der kan beskrives ved den normale fordeling: 1 2πσ

Ikke-parametriske tests

Program. Modelkontrol og prædiktion. Multiple sammenligninger. Opgave 5.2: fosforkoncentration

OR stiger eksponentielt med forskellen i BMI komplicet model svær at forstå og analysere simpel model

Morten Frydenberg Biostatistik version dato:

Løsning til opgave i logistisk regression

Løsning til eksamensopgaven i Basal Biostatistik (J.nr.: 1050/06)

Statistiske Modeller 1: Kontingenstabeller i SAS

Opgavebesvarelse, Basalkursus, uge 3

Basal Statistik for medicinske PhD-studerende November 2008

Faculty of Health Sciences. Miscellaneous: Styrkeberegninger Overlevelsesanalyse Analyse af matchede studier

OR stiger eksponentielt med forskellen i BMI. kompliceret model svær at forstå og analysere

Statistik Lektion 20 Ikke-parametriske metoder. Repetition Kruskal-Wallis Test Friedman Test Chi-i-anden Test

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Basal Statistik Logistisk Regression. Dagens Tekst E Sædvanlig Linear Regression (Repetition) Basal Statistik - Logistisk regression 1

Anvendt Statistik Lektion 6. Kontingenstabeller χ 2- test [ki-i-anden-test]

1 Ensidet variansanalyse(kvantitativt outcome) - sammenligning af flere grupper(kvalitativ

Anvendt Statistik Lektion 8. Multipel Lineær Regression

Epidemiologiske associationsmål

Reeksamen i Statistik for Biokemikere 6. april 2009

Program. Indhold af kursus i overskrifter. Farlighed af GM-majs? (Ingeniøren Generel lineær model/multipel regression

Chi-i-anden Test. Repetition Goodness of Fit Uafhængighed i Kontingenstabeller

Statistik ved Bachelor-uddannelsen i folkesundhedsvidenskab. Uafhængighedstestet

Transkript:

Logistisk regression Susanne Rosthøj Biostatistisk Afdeling Institut for Folkesundhedsvidenskab Københavns Universitet sr@biostat.ku.dk Kursushjemmeside: www.biostat.ku.dk/~sr/forskningsaar/regression2012/ 29. maj 2012

Dagens program Chi-i-anden (χ 2 )-testet Sandsynligheder, odds og odds-ratio Logistisk regression: En binær forklarende variabel En kategorisk forklarende variabel To binære forklarende variable En kvantitativ forklarende variabel Flere forklarende variable Prædiktion Kirkwood & Sterne: Kapitel 14, 16, 17, 19 og 20. 2 / 42

Regressionsanalyse Formålet med en regressionsanalyse er at beskrive fordelingen af én responsvariabel som en funktion af en eller flere forklarende variable Typen af respons-variablen bestemmer regressionsmodellen Respons Kvantitativ (kontinuert) Binær (0/1) Levetid (> 0, censurering) Model lineær regression logistisk regression Cox (Poisson) regression. og fortolkningen af effekten af en forklarende variabel Regressionsmodel Lineær Logistisk Cox (Poisson) Effect forskelle mellem middelværdier odds-ratio (OR), ln(or) rate / hazard ratio, ln(rate ratio). 3 / 42

Logistisk regression Analyse af en binær responsvariabel, e.g. syg/rask, død/levende, højt/lavt blodtryk, etc. ud fra en eller flere forklarende variable behandling, rygning, vægt, alder, køn, etc. For individ i observerer vi: Responsen { 1 hvis i er syg Y i = 0 hvis i ikke er syg og forklarende variable: x i1,..., x ip. Simpel logistisk regression: Én forklarende variabel. Multipel logistisk regression: Flere forklarende variable. 4 / 42

Eksempler Hvordan afhænger risikoen for hjertesygdom af køn, alder, rygning og blodtryk? Hvordan afhænger sandsynligheden for menarke af alder? Hvorledes afhænger risikoen for graft-vs-host disease af diverse forhold omkring knoglemarvstransplantationen? 5 / 42

χ 2 -testet Benyttes til at evaluere association mellem to kategoriske variable. Lad R and S være kategoriske variable med hhv k og m inddelinger. Uafhængighed er defineret som P(R = r, S = s) = P(R = r)p(s = s) hvorfor svarende til Andel rs Andel r Andel s Observeret rs Total antal Andel r Andel s = Forventet rs χ 2 -testet måler afstanden mellem observerede og forventede værdier. 6 / 42

χ 2 -testet (fortsat) Definition: Evaluering: χ 2 = r,s (Observeret rs Forventet rs ) 2 Forventet rs. Store værdier peger på manglende uafhængighed. Hvis de forventede antal alle er større end 5, kan p-værdien bestemmes i en χ 2 fordeling med (k 1) (m 1) frihedsgrader. Dette test kaldes for Pearson s chi-i-anden-test. Hvis nogle af de forventede antal er mindre end 5, benyttes i stedet Fishers eksakte test. 7 / 42

Framinghamstudiet Planlagt som 20-årigt kohorte studie af indbyggere i alderen 30-59 i Framingham Town, Massachusetts, i 1948. Vi har data på 1406 indbyggere i alderen 45-62 år. 13 variable: Baseline: sex, age, frw, sbp, dbp, chol, cig Follow-up: sbp10, chd, yrschd, death, yrsdth, cause 8 / 42

Framingham: Kodning af variable sex 1 for mænd, 2 for kvinder age alder (år) ved baseline (45-62) frw Framingham relative weight (pct) ved baseline (52-222) sbp systolisk blodtryk ved baseline (mmhg) (90-300) dbp diastolisk blodtryk ved baseline (mmhg) 50-160) chol kolesterol ved baseline (mg/100ml) (96-430) cig cigaretter per dag ved baseline (0-60) chd 0 hvis ej coronary heart disease i løbet af follow-up, 1 hvis coronary heart disease ved baseline, x=2-10 hvis coronary heart disease blev diagnosticeret ved follow-up no. x. 9 / 42

Eksempel 1: køn og CHD Er der forskel på hyppigheden af CHD blandt mænd og kvinder? Køn vs CHD > framing$chdi<-ifelse(framing$chd>0,1,0) > framing$mand<-ifelse(framing$sex==1,1,0) > framingchd<-subset(framing,chd!=1) > attach(framingchd) > table(mand,chdi) chdi mand 0 1 0 616 104 1 479 164 > chisq.test(mand,chdi) Pearson s Chi-squared test with Yates continuity correction data: mand and chdi X-squared = 25.6119, df = 1, p-value = 4.175e-07 > fisher.test(mand,chdi) Fisher s Exact Test for Count Data data: mand and chdi p-value = 3.831e-07 alternative hypothesis: true odds ratio is not equal to 1 95 percent confidence interval: 1.530131 2.693462 sample estimates: odds ratio 2.026904 10 / 42

Beskrivelse af effekten Risikoen for CHD for mænd: p 1 164/643 = 0.26 Risikoen for CHD for kvinder: p 2 104/720 = 0.14 Odds for CHD for mænd: p 1 /(1 p 1 ) 164/479 = 0.34( 1 : 3) Odds for CHD for kvinder: p 2 /(1 p 2 ) 104/616 = 0.17( 1 : 6) Mulige effektmål: Absolut differens i risiko (ARR): p 1 p 2 0.12 Relativ risiko (RR) : p 1 /p 2 1.77 Odds-ratio (OR): p 1 /(1 p 1 )/(p 2 /(1 p 2 )) 2.03. Når p 1 og p 2 er små (<0.1) er RR OR. Vi har konstateret, at der er forskel på mænd og kvinder: p 1 p 2 dvs. ARR > 0, RR 1, OR 1 11 / 42

Regressionsanalyse for binær respons Formålet er relatere 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 ). Køn som forklarende variabel, dvs. Lineær regression? x i = { 1 hvis i er en mand 0 hvis i er en kvinde p i = a + bx i Potentielt kan denne model tilskrive nogle individer sandsynligheder 12 / 42 uden for [0, 1].

log-odds Vi ser på ln(odds i ) = logit(p i ) = ln ( pi 1 p i ) som er ubegrænset: logit(p) 10 5 0 5 10 0.0 0.2 0.4 0.6 0.8 1.0 13 / 42 p

Den logistiske regressionsmodel Model: ( ) pi ln = a + bx 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). Dermed er OR = exp(b) for mænd vs kvinder. For b > 0 er der øget risiko for mænd: OR > 1. For b < 0 er der lavere risiko for mænd: OR < 1. For b = 0 er der ingen forskel: OR < 1. 14 / 42

Estimation af simpel logistisk regression med køn Data er: Y = 0 (ej CHD) Y = 1 (CHD) Z = 0 (kvinder) 616 104 Z = 1 (mænd) 479 164 1095 264 Vi kan selv trylle estimater for regressionsparametrene frem: 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 Men hvad med usikkerheden? = 0.71 15 / 42

Simpel logistisk regression i R Logistisk regression i R laves vha funktionen glm: Estimation > glm1<-glm(chdi~mand,family=binomial) > summary(glm1) Call: glm(formula = chdi ~ mand, family = binomial) Deviance Residuals: Min 1Q Median 3Q Max -0.7674-0.7674-0.5586-0.5586 1.9672 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -1.7789 0.1060-16.780 < 2e-16 *** mand 0.7070 0.1394 5.073 3.92e-07 *** -- (Dispersion parameter for binomial family taken to be 1) Null deviance: 1351.2 on 1362 degrees of freedom Residual deviance: 1324.9 on 1361 degrees of freedom AIC: 1328.9 Number of Fisher Scoring iterations: 4 16 / 42

Test af kønseffekten Nulhypotesen er at sandsynligheden for CHD ikke afhænger af køn: Dette kan testes med et Wald-test: z = estimat SE H 0 : b = 0. N (0, 1). Her er b = 0.7070, SE = 0.1394, z=5.073, p <.0001. Bemærk at z 2 = 5.073 2 = 25.74 χ 2 (df = 1) stemmer overens med standard χ 2 -testet i 2 2-tabellen: 25.62 (df = 1). Der er en stærkt signifikant forskel på kønnene mht risikoen for CHD. 17 / 42

Kvantificering af kønseffekten OR for CHD for mænd vs kvinder er exp(0.707) = 2.03. Hvor sikre er vi på dette estimat? Vi kan få et 95% KI for b ved b ± 1.94 SE. Dermed fås et KI for OR ved exp(b ± 1.94 SE). Konfidensinterval for OR > confint(glm1) Waiting for profiling to be done... 2.5 % 97.5 % (Intercept) -1.9919851-1.575984 mand 0.4355102 0.982305 > round( c( exp(glm1$coef[-1]), exp(confint(glm1))[-1,] ),2 ) Waiting for profiling to be done... mand 2.5 % 97.5 % 2.03 1.55 2.67 > 18 / 42

Logistisk regression i R Logistisk regression laves i R vha funktionen glm (Generaliserede Lineære Modeller). HUSK family=binomial for logistisk regression. På et glm-objekt kan vi benytte de samme funktioner, som vi har benyttet på lm-objekter: summary confint drop1 anova predict 19 / 42

Forklarende variable med flere niveauer Spørgsmål: Hvorledes stiger risikoen for CHD med alderen? Inddel alder i 4 grupper: x i = Kategoriseret alder mod responsen: 1 hvis i er 45 48 år 2 hvis i er 49 52 år 3 hvis i er 53 56 år 4 hvis i er 57 62 år x = 1 x = 2 x = 3 x = 4 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 20 / 42

Beskrivelse af alderseffekten Alderseffekten kan undersøges ved at se på odds-ratio erne: OR 1 (X = 2 vs. X = 1) = 61 308 298 51 = 1.24 = exp(0.21) OR 2 (X = 3 vs. X = 1) = 64 308 254 51 1.52 = exp(0.42) OR 3 (X = 4 vs. X = 1) = 92 308 235 51 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: Chi-i-anden test > agegrp<-factor(1+i(age>48)+i(age>52)+i(age>56)) > chisq.test(agegrp,chdi) Pearson s Chi-squared test data: agegrp and chdi X-squared = 23.2889, df = 3, p-value = 3.515e-05 > 21 / 42

Logistisk regression på kategorisk variabel For hver kategori estimeres ln(or) relativt til en referencekategori: ( ) pi ln = 1 p i b 1 = ln(or)(2 vs. 1) = 0.21 b 2 = ln(or)(3 vs. 1) = 0.42 b 3 = ln(or)(4 vs. 1) = 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. NB: Computerprogrammerne vælger referencekategorien forskelligt. R vælger laveste niveau som reference. Jævnfør ensidet variansanalyse. 22 / 42

Logistisk regression på kategorisk variabel i R Estimation > glm2<-glm(chdi~agegrp,family=binomial) > summary(glm2) Call: glm(formula = chdi ~ agegrp, family = binomial) Deviance Residuals: Min 1Q Median 3Q Max -0.8129-0.6704-0.6103-0.5536 1.9756 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -1.7983 0.1512-11.895 < 2e-16 *** agegrp2 0.2121 0.2064 1.027 0.3042 agegrp3 0.4198 0.2060 2.038 0.0415 * agegrp4 0.8605 0.1949 4.415 1.01e-05 *** -- (Dispersion parameter for binomial family taken to be 1) Null deviance: 1351.2 on 1362 degrees of freedom Residual deviance: 1328.7 on 1359 degrees of freedom AIC: 1336.7 Number of Fisher Scoring iterations: 4 > 23 / 42

Test af alderseffekten Vi kan også lave et test for effekt af alder vha anova eller drop1. Her skal vi ALTID benytte et chi-i-anden-test (Likelihood Ratio Test): Test af alderseffekt > glm2red<-glm(chdi~1,family=binomial) > anova(glm2,glm2red,test="chisq") Analysis of Deviance Table Model 1: chdi ~ agegrp Model 2: chdi ~ 1 Resid. Df Resid. Dev Df Deviance P(> Chi ) 1 1359 1328.7 2 1362 1351.2-3 -22.595 4.904e-05 *** -- > drop1(glm2,test="chisq") Single term deletions Model: chdi ~ agegrp Df Deviance AIC LRT Pr(Chi) <none> 1328.7 1336.7 agegrp 3 1351.2 1353.2 22.595 4.904e-05 *** -- > 24 / 42

Kvantificering af alderseffekten OR incl konfidensintervaller > confint(glm2) Waiting for profiling to be done... 2.5 % 97.5 % (Intercept) -2.10571624-1.5118423 agegrp2-0.19158197 0.6192138 agegrp3 0.01756503 0.8264937 agegrp4 0.48250667 1.2477345 > round( cbind( exp(glm2$coef[-1]), exp(confint(glm2))[-1,] ),2 ) Waiting for profiling to be done... 2.5 % 97.5 % agegrp2 1.24 0.83 1.86 agegrp3 1.52 1.02 2.29 agegrp4 2.36 1.62 3.48 > Risikoen for CHD stiger med alderen. De ældste har mere end dobbelt så stor odds for CHD end de yngste (OR=2.4, 95% CI 1.6-3.5). 25 / 42

Valg af anden referencekategori Nogle gange ønsker vi sammenligningen en anden vej, f.eks. kunne vi sammenligne de yngre ifht de ældre. I R kan vi ændre referencekategorien vha relevel: Ny referencekategori > agegrpny<-relevel(agegrp,ref=4) > table(agegrpny) agegrpny 4 1 2 3 327 359 359 318 > ref=4 specificerer at kategori nummer 4 skal være referencen (ikke værdien 4). 26 / 42

Kvantificering af alderseffekten OR incl konfidensintervaller > glm3<-glm(chdi~agegrpny,family=binomial) > summary(glm3) Deviance Residuals: Min 1Q Median 3Q Max -0.8129-0.6704-0.6103-0.5536 1.9756 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -0.9378 0.1230-7.625 2.43e-14 *** agegrpny1-0.8605 0.1949-4.415 1.01e-05 *** agegrpny2-0.6484 0.1867-3.472 0.000516 *** agegrpny3-0.4407 0.1862-2.366 0.017981 * -- (Dispersion parameter for binomial family taken to be 1) Null deviance: 1351.2 on 1362 degrees of freedom Residual deviance: 1328.7 on 1359 degrees of freedom AIC: 1336.7 Number of Fisher Scoring iterations: 4 > round( cbind( exp(glm3$coef[-1]), exp(confint(glm3))[-1,] ),2 ) Waiting for profiling to be done... 2.5 % 97.5 % agegrpny1 0.42 0.29 0.62 agegrpny2 0.52 0.36 0.75 agegrpny3 0.64 0.45 0.93 > 27 / 42

Logistisk regression med to kategoriske variable Spørgsmål: Hvorledes afhænger sandsynligheden for CHD af køn og aldersgruppe? 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) NB: Dette er en additiv model / ingen interaktion. Jævnfør tosidet variansanalyse 28 / 42

To kategoriske variable i R Estimation > ryger<-factor(ifelse(cig>=1,1,0)) > table(ryger) ryger 0 1 748 614 > glm5<-glm(chdi~mand+ryger,family=binomial) > summary(glm5) Call: glm(formula = chdi ~ mand + ryger, family = binomial) Deviance Residuals: Min 1Q Median 3Q Max -0.7716-0.7607-0.5564-0.5564 1.9708 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -1.78735 0.11508-15.531 < 2e-16 *** mand 0.69521 0.14635 4.750 2.03e-06 *** ryger1 0.03296 0.14457 0.228 0.82 - (Dispersion parameter for binomial family taken to be 1) Null deviance: 1350.8 on 1361 degrees of freedom Residual deviance: 1324.5 on 1359 degrees of freedom (1 observation deleted due to missingness) AIC: 1330.5 Number of Fisher Scoring iterations: 4 29 / 42

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 laveste niveau som referencekategori. OR er incl konfidensintervaller > round( cbind( exp(glm5$coef[-1]), exp(confint(glm5))[-1,] ),2 ) Waiting for profiling to be done... 2.5 % 97.5 % mand 2.00 1.51 2.68 ryger1 1.03 0.78 1.37 > OR for CHD for mænd vs kvinder er 2.0 (1.5-2.7). OR for rygere vs ikke-rygere er 1.03 (0.8-1.4). 30 / 42

Kvantitativ forklarende variabel Eksempel 2: juul-datasættet i ISwR-pakken. Spørgsmål: Hvordan afhænger sandsynligheden for menarke af alder? Respons: Menarke (ja/nej) Forklarende variabel: alder. Alder vs menarke > install.packages("iswr") > library(iswr) > data(juul) > > juul2<-subset(juul,age>8 &age<=18) > juul2$agegrp<-cut(juul2$age,c(8,10,12,13,14,15,16,18)) > juul2$menarke<-ifelse(juul2$menarche==2,1,0) > attach(juul2) > table(agegrp,menarke) menarke agegrp 0 1 (8,10] 100 0 (10,12] 97 4 (12,13] 32 21 (13,14] 22 20 (14,15] 5 36 (15,16] 0 31 (16,18] 0 105 > 31 / 42

Plot af hyppighederne Sandsynlighed for menarke 0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2 8 10 12 14 16 18 Linien angiver den estimerede regressionslinie fra en lineær model. 32 / 42 Alder

En kvantitativ forklarende variabel Model med alder som kvantitativ: ( ) pi ln 1 p i = a + bage i Her er b øgningen / reduktionen i log-odds per år. Hvad er forskellen i log-odds for to piger med alder a 1 og a 2? svarende til ( ) ( ) p1 p2 ln ln 1 p 1 1 p 2 = a + ba 1 (a + ba 2 ) = b(a 1 a 2 ) = log(or). OR = exp(b(a 1 a 2 )) = exp(b) (a 1 a 2 ) 33 / 42

Kvantitativ forklarende variabel i R Estimation > glm1a<-glm(menarke~age,family="binomial") > summary(glm1a) Call: glm(formula = menarke ~ age, family = "binomial") Deviance Residuals: Min 1Q Median 3Q Max -2.32603-0.22117-0.04169 0.15090 2.45808 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -19.9894 2.0344-9.826 <2e-16 *** age 1.5154 0.1549 9.786 <2e-16 *** -- (Dispersion parameter for binomial family taken to be 1) Null deviance: 652.50 on 472 degrees of freedom Residual deviance: 200.63 on 471 degrees of freedom (389 observations deleted due to missingness) AIC: 204.63 Number of Fisher Scoring iterations: 7 > 34 / 42

Beskrivelse af alderseffekten Konfidensintervaller > glm1a$coef (Intercept) age -19.989374 1.515431 > confint(glm1) Waiting for profiling to be done... 2.5 % 97.5 % (Intercept) -24.38353-16.36677 age 1.23980 1.85004 > # OR incl CI > round( c(exp(glm1a$coef[-1]), exp(confint(glm1a)[-1,])),2 ) Waiting for profiling to be done... age 2.5 % 97.5 % 4.55 3.45 6.36 > Når alderen øges med et år, stiger log-odds med 1.51 (1.24-1.85). Når alderen øges med et år, øges odds med en faktor 4.55 (3.45-6.36). Interceptet a = 19.99 er log-odds for en pige på 0 år (!). 35 / 42

Sandsynlighed for menarke som funktion af alder Sandsynlighed for menarke 0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2 8 10 12 14 16 18 Alder Kurven er baseret på den logistiske regressionsmodel. 36 / 42

Multipel logistisk regression Hvordan afhænger risikoen for CHD af køn, alder, rygning og SBP? ( ) pi ln 1 p i = a + b 1 mand i + b 2 ryger i + b 3 alder i + b 4 log 2 (SBP i ) Estimation > glm6<-glm(chdi~mand+ryger+age+i(log2(sbp)),family=binomial) > summary(glm6) Call: glm(formula = chdi ~ mand + ryger + age + I(log2(sbp)), family = binomial) Deviance Residuals: Min 1Q Median 3Q Max -1.4921-0.6893-0.5332-0.3615 2.5142 Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -19.74839 2.15012-9.185 < 2e-16 *** mand 0.86400 0.15487 5.579 2.42e-08 *** ryger1 0.18504 0.15180 1.219 0.222858 age 0.05376 0.01531 3.511 0.000446 *** I(log2(sbp)) 2.07204 0.28337 7.312 2.63e-13 *** > 37 / 42

Kvantificering af effekterne ( ) pi ln 1 p i = a + b 1 mand i + b 2 ryger i + b 3 alder i + b 4 log 2 (SBP i ) Her er a=log-odds for et individ med værdi 0 af alle kovariater. OR er incl konfidensintervaller > round( cbind( exp(glm6$coef[-1]), exp(confint(glm6))[-1,] ),2 ) Waiting for profiling to be done... 2.5 % 97.5 % mand 2.37 1.76 3.22 ryger1 1.20 0.89 1.62 age 1.06 1.02 1.09 I(log2(sbp)) 7.94 4.58 13.91 > Odds for CHD er mere end dobbelt så stor for mænd. Der er ingen øget risiko for rygere (OR=1.2, CI=0.9-1.6). Risikoen stiger med alder, OR=1.06 per år (CI=1.02-1.09). Odds 8-dobles ved en fordobling af SBP (OR=7.9, CI=4.6-13.9). 38 / 42

Den logistiske regressionsmodel på odds-skala Modellen er lineær på log-odds-skala: ( ) pi ln 1 p i = a + b 1 mand i + b 2 ryger i + b 3 alder i + b 4 log 2 (SBP i ) og derfor multiplikativ på odds-skala: p i 1 p i = exp(a + b 1 mand i + b 2 ryger i + b 3 alder i + b 4 log 2 (SBP i )) = exp(a) exp(b 1 mand i ) exp(b 2 ryger i ) exp(b 3 alder i ) exp(b 4 log 2 (SBP i )) = exp(a) OR mandi mand ORryger i rygning ORalderi alder OR log 2 (SBPi) SBP 39 / 42

Fra regressionsmodel til prædiktion Den generelle model er ( ) pi ln 1 p i = a + b 1 x i1 + + b p x ip Der er en én-til-én relation mellem log-odds og sandsynlighed: p i = exp(a + b 1 x i1 + + b p x ip ) 1 + exp(a + b 1 x i1 + + b p x ip ) 40 / 42

Prædiktion Vi ønsker at sammenligne sandsynligheden for CHD for en ikke-rygende mand på 50 år med sandsynligheden for en ikke-rygende kvinde på 50 år som funktion af SBP. Prædiktion i R > Mdata<-data.frame(mand=1,ryger="0",age=50,sbp=90:300) > head(mdata,3) mand ryger age sbp 1 1 0 50 90 2 1 0 50 91 3 1 0 50 92 > pm<-predict(glm6,mdata,type="response") > head(pm) 1 2 3 4 5 6 0.06037988 0.06228133 0.06421687 0.06618649 0.06819014 0.07022779 > > Kdata<-data.frame(mand=0,ryger="0",age=50,sbp=90:300) > pk<-predict(glm6,kdata,type="response") > > plot(90:300,pm,xlab="sbp",ylab="sandsynlighed for CHD",ylim=c(0,1),col="blue",type="l") > lines(90:300,pk,col="red") > legend(100,1,c("mand, ikke-ryger, 50 aar","kvinde, ikke-ryger, 50 aar"), > col=c("blue","red"),lty=1) > 41 / 42

Sandsynlighed for CHD som funktion af SBP Sandsynlighed for CHD 0.0 0.2 0.4 0.6 0.8 1.0 Mand, ikke ryger, 50 aar Kvinde, ikke ryger, 50 aar 100 150 200 250 300 SBP 42 / 42