På de foregående sider er begreberne risiko og odds (og de tilhørende ratioer og differenser) blevet gennemgået. Når man har et binært udfald og en binær prediktor, så er disse begreber fyldestgørende, men når prediktoren bliver kontinuert, eller når vi har flere prediktorer, så er en simpel beregning af OR eller RR utilstrækkelig.

Hvis man ønsker at teste om der er en statistisk signifikant sammenhæng mellem et binært udfald og en enkelt prediktor, så kan man evt. anvende en såkaldt \(\chi^2\)-test. \(\chi^2\)-testen er en alsidig og forholdsvis letforståelig test, som det anbefales at man sætter sig ind i (den er gennemgået i de fleste grundlæggende statistikbøger). Som med alle andre hypotesetest er det naturligvis en ulempe at man kun får en p-værdi at forholde sig til; man får således ingen viden om størrelsen af en eventuel effekt, og man kan derfor, som sædvanligt, diskutere om en \(\chi^2\)-test overhovedet har nogen værdi i en klinisk sammenhæng. Og ved multiple prediktorer er det umuligt (eller i hvert fald kompliceret) at lave en \(\chi^2\)-test.

Derfor anvender man ofte såkaldt logistisk regression. Kort fortalt anvendes logistisk regression altså når man har et binært udfald og en eller flere kontinuerte eller binære prediktorer. Som med lineære normale modeller må det anbefales at man ikke kombinerer kontinuerte prediktorer med kategoriale prediktorer med mere end 2 kategorier.

Eksempel

Datasættet radon2.robj indeholder 10.000 målinger af niveauet af radioaktiv stråling (fra radon) i boligen sammen med oplysninger om hvorvidt beboerne har røget og hvorvidt de har udviklet lungekræft. Man er interesseret i at undersøge i hvilket omfang mængden af radioaktiv stråling har betydning for risikoen for at man udvikler lungekræft. Kolonnen “high” angiver om radon-niveauet er over eller under 200 Bq/m3, og er blot beregnet ud fra radon-niveauet som angivet i første kolonne.

radon<-dget(file="https://statepi.statnoter.dk/data/radon2.robj")
head(radon)
  radon smoke cancer  high
1   1.0     1      0 FALSE
2   1.2     0      0 FALSE
3   3.5     0      0  TRUE
4   3.4     1      0  TRUE
5   0.9     0      0 FALSE
6   3.3     1      0  TRUE

Udfaldet er altså den binære variabel “cancer” som angiver hvorvidt deltageren har udviklet lungekræft, mens den interessante prediktor i første omgang er “radon” som angiver mængden af radon i boligen (målt i 100 Bq/m3). Det er klart at rygning må forventes at kunne spille en væsentlig rolle som enten confounder eller effektmodifikator, men det ignoreres på denne side.

Logistisk regression udføres som vist her:

mod<-glm(formula=cancer~radon,family=binomial,data=radon)
summary(mod)

Call:
glm(formula = cancer ~ radon, family = binomial, data = radon)

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -2.88517    0.08339   -34.6  < 2e-16 ***
radon        0.11616    0.03417     3.4 0.000675 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 4879.2  on 9999  degrees of freedom
Residual deviance: 4867.6  on 9998  degrees of freedom
AIC: 4871.6

Number of Fisher Scoring iterations: 5

Bemærk først at det ikke ser meget anderledes ud, end når vi laver en lineær normal model: - funktionen glm anvendes i stedet for lm. “glm” står for “generalized linear model” - parameteren family=binomial er blevet tilføjet. Det er denne som gør at der udføres en logistisk regression i stedet for en af de mange andre former for regression, som også kan udføres med glm

Bemærk dernæst at den underliggende matematik er noget mere kompliceret, hvorfor det bla. også er mere kompliceret at forstå de relevante forudsætninger mm. Her fokuseres kun på den mest basale forståelse af resultatet af regressionen.

Output fra regressionen

P-værdien 0.000675 angiver at mængden af radon har en signifikant betydning for risikoen for at udvikle lungekræft (fordi den er mindre end 0,05). Og ligesom for lineær regression udtrykker tallet 0.11616 størrelsen af denne sammenhæng - omend det kræver lidt nærmere forklaring.

Vha. ovenstående regressionskoefficienter (det er som sædvanlig de to tal under “Estimate”) er det muligt at bestemme odds for at udvikle lungekræft afhængigt af radon-niveauet i boligen. Med tallene fra dette eksempel er betydningen af regressionskoefficienterne at:

\[\begin{aligned}& log(odds)= −2{,}885+0{,}116⋅radon\\ \Updownarrow & \\ & odds=\exp(−2{,}885+0{,}116⋅radon) \end{aligned} \]

hvor \(radon\) angiver mængden af radon i den enhed der nu er anvendt i forbindelse med beregningerne (i dette eksempel 100 Bq/m3). For et radonniveau på 200 Bq/m3 kan man således beregne odds for at udvikle lungekræft til:

\[odds_{200} = \exp(-2{,}885+0{,}116\cdot 2) = 0{,}0704\]

Bemærk dog at disse odds typisk ikke er interessante: Dels er der mange andre faktorer end radon som bidrager til risikoen for at udvikle lungekræft (f.eks. rygning), dels er det ikke sikkert at den observerede risiko overhovedet er repræsentativ for populationen (hvilket f.eks. vil være tilfældet hvis man har lavet et case-kontrol studie, hvor risikoen i forsøgsgruppen typisk er langt højere end i populationen).

Som på side 6.3 vil man derfor ofte være mere interesseret i en odds-ratio. F.eks. ratioen mellem odds svarende til et radon-niveau på 200 og på 300 Bq/m3. For 300 Bq/m3 fås:

\[odds_{300} = \exp(-2{,}885+0{,}116\cdot 3) = 0{,}0791\]

og dermed

\[OR = \frac{odds_{300}}{odds_{200}}=\frac{0{,}0791}{0{,}0704}=1{,}12\]

Dvs. at når radon-niveauet i boligen øges med 100 Bq/m3 , så vokser odds for at udvikle lungekræft med en faktor 1,12 (eller 12%). Når man bruger en logistisk model, så medfører det en antagelse om at denne OR er konstant, dvs. man får samme OR for en ændring i radon-niveau fra f.eks. 400 Bq/m3 til 500 Bq/m3.

Det er både meget relevant og forholdvis nemt at indse at denne odds-ratio svarende til en stigning i eksponeringen på 1 måleenhed kan beregnes alene ud fra koefficienten 0,116 fra regressionen, dvs.:

\[OR = \exp(0{,}116) = 1{,}12\]

Dette tal er principielt gyldigt uanset den absolutte risiko for at udvikle lungekræft, dvs. selv om det er bestemt vha. et case-kontrol studie vil det kunne overføres til hele populationen. Men prisen for at opnå denne generaliserbarhed er altså, at man udtaler sig om odds i stedet for den lidt mere intuitive risiko.

Konfidensinterval for OR

Et konfidensinterval for den beregnede OR, beregnes nemt, som vist her (igen bruger vi eksponential-funktionen for at komme fra outputtet til en egentlig OR):

exp(confint(mod))
Waiting for profiling to be done...
                 2.5 %    97.5 %
(Intercept) 0.04730328 0.0655987
radon       1.05053837 1.2011636