javier roca pardiñas - sergas · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al...

36
Javier Roca Pardiñas Prof. Titular de Universidade Dpto. Estatística e I.O. Universidade de Vigo 30/10/2013

Upload: others

Post on 17-Aug-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

Javier Roca Pardiñas Prof. Titular de Universidade Dpto. Estatística e I.O. Universidade de Vigo

30/10/2013

Page 2: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

Modelos Logísticos de Regresión

de Respuesta Binaria

Page 3: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

3

Índice

1. Planteamiento de modelo

2. Estimación e inferencia

– Intervalos de confianza

– Contrastes de hipótesis

– Aspectos computacionales

3. Predicción

– Capacidad de clasificación

– Curvas ROC

4. Resumen

5. Bibliografía

Page 4: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

4

1. Planteamiento del modelo

Page 5: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

5

Introducción

En los modelos de regresión de repuesta binaria se dispone de:

• un conjunto de covariables explicativas X= 𝑋1, … , 𝑋𝑝 , y

• una variable respuesta binaria 𝑌 indicadora de la ocurrencia de un determinado suceso

𝑌 = 0 si ocurre fracaso1 si ocurre éxito

En esta situación interesa la probabilidad de éxito

𝝅 𝐗 = 𝑃 𝑌 = 1|𝐗

Page 6: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

6

La utilización de un modelo de regresión lineal del tipo

𝜋 𝐗 = 𝑎0 + 𝑎1𝑋1 + ⋯+ 𝑎𝑝𝑋𝑝

daría lugar a resultados no coherentes, no estando garantizado que

0 ≤ 𝜋 𝐗 ≤ 1

como sería de esperar

FEGAS

Page 7: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

7

Odds

FEGAS

Una forma de evitar este inconveniente es utilizar alguna transformación de 𝜋 𝐗 que pueda tomar cualquier valor. Una de estas transformación es la razón de probabilidades, comúnmente conocida como odds:

odds 𝐗 =𝜋 𝐗

1−𝜋 𝐗

Propiedades:

• odds 𝐗 ∈ [𝟎,∞)

• odds 𝐗 = 1 ⟺ 𝜋 𝐗 = 0.5

• odds 𝐗 > 1 ⟺ 𝜋 𝐗 > 0.5

• odds 𝐗 < 1 ⟺ 𝜋 𝐗 < 0.5

Page 8: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

8

Transformación logit

FEGAS

Una transformación logarítmica del odds proporciona una medida que puede tomar cualquier valor, denominada transformación logit:

logit(𝐗)=log odds 𝐗 = log𝜋 𝐗

1−𝜋 𝐗

Propiedades:

• logit 𝐗 ∈ (−∞,∞)

• logit 𝐗 = 0 ⟺ 𝜋 𝐗 = 0.5

• logit 𝐗 > 0 ⟺ 𝜋 𝐗 > 0.5

• logit 𝐗 < 0 ⟺ 𝜋 𝐗 < 0.5

𝝅 odds logit

0.00 0.00 −∞

0.10 0.11 -2.20

0.20 0.25 -1.39

0.30 0.43 -0.85

0.40 0.67 -0.41

0.50 1.00 0.00

0.60 1.50 0.41

0.70 2.33 0.85

0.80 4.00 1.39

0.90 9.00 2.20

1.00 +∞ +∞

Page 9: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

9

Modelo logístico

FEGAS

Los modelo logísticos resultan de aproximar linealmente la transformación logit:

logit 𝐗 = log𝜋 𝐗

1 − 𝜋 𝐗= 𝑎0 + 𝑎1𝑋1 + ⋯+ 𝑎𝑝𝑋𝑝

Resultando el modelo equivalente

𝜋 𝐗 =exp 𝑎0 + 𝑎1𝑋1 + ⋯+ 𝑎𝑝𝑋𝑝

1 + exp 𝑎0 + 𝑎1𝑋1 + ⋯+ 𝑎𝑝𝑋𝑝

siendo 𝑎0, 𝑎1, … , 𝑎𝑝 los coeficientes del modelo

Page 10: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

10

2. Estimación e inferencia

Page 11: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

11

Estimación

FEGAS

Dada una muestra 𝑋1, 𝑌1 , … 𝑋𝑛, 𝑌𝑛 la estimación de los coeficientes del modelo se

hará por el método de máxima verosimilitud. Se trata de obtener los coeficientes que

maximizan el logaritmo de la función de verosimilitud:

𝑌𝑖 log 𝜋𝑖 + 1 − 𝑌𝑖 log 1 − 𝜋𝑖

𝑛

𝑖=1

siendo

𝜋𝑖 =exp 𝑎0 + 𝑎1𝑋𝑖1 + ⋯+ 𝑎𝑝𝑋𝑖𝑝

1 + exp 𝑎0 + 𝑎1𝑋𝑖1 + ⋯+ 𝑎𝑝𝑋𝑖𝑝

Las ecuaciones resultantes del problema de maximización anterior son no lineales y es

necesario utilizar algún método iterativo. Uno de los métodos mas utilizado es el

algoritmo llamado Fisher scoring

Page 12: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

12

Inferencia

FEGAS

Los parámetros estimados con este método siguen una distribución normal centrada en el verdadero coeficiente

𝑎 𝑗~𝑁(𝑎𝑗 , 𝜎𝑗)

Este resultado permite obtener intervalos de confianza y hacer contrastes de significación de los coeficientes del modelo

𝐻0: 𝑎𝑗 = 0 frente a 𝑎𝑗≠ 0

Page 13: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

13

Aspectos computacionales

FEGAS

La mayoría de los paquetes estadístico permiten el ajuste de los modelos de regresión de respuesta binaria. En particular el programa R dispone de la función glm que permite: • Estimar el modelo, • construir intervalos de confianza • realizar contrastes de hipótesis • hacer predicciones • etc.

Page 14: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

14

Caso práctico

Page 15: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

15

Ejemplo: estudio de nacimiento con bajo peso

En este estudio se pretende relacionar la probabilidad de nacimiento con bajo peso del bebé con variables relacionadas con la madre.

Algunas de estas variables son:

• edad (en años)

• peso de la madre (en libras)

• raza (blanca, negra, otras)

• hábito de fumar (no/si)

• hipertensión (no/si)

Los datos de este estudio han sido publicados en Hosmer and Stanley (2000), y están accesibles en la librería MASS de R.

Page 16: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

16

caso edad peso fuma raza tension bajopeso

1 19 182 no negra no bajo

2 33 155 no otras no bajo

3 20 105 si blanca no bajo

4 21 108 si blanca no bajo

… … … … … … …

186 14 100 no otras no normal

187 23 94 si otras no normal

188 17 142 no negra si normal

189 21 130 si blanca si normal

Page 17: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

17 FEGAS

En este estudio se ha utilizado el modelo

𝑃 bajo peso …

=exp 𝑎0 + 𝑎1edad + 𝑎2peso + 𝑎3fuma + 𝑎4raza + 𝑎5tensión

1 + exp 𝑎0 + 𝑎1edad + 𝑎2peso + 𝑎3fuma + 𝑎4raza + 𝑎5tensión

Para ajustar el modelo anterior a los datos se hace directamente con sentencia de R

glm(bajopeso~edad+peso+fuma+raza+tension,family=binomial)

Page 18: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

18 FEGAS

> modelo=glm(bajopeso~edad+peso+fuma+raza+tension,family="binomial")

> summary(modelo)

Coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.777274 1.160336 0.670 0.50294

edad -0.021166 0.034960 -0.605 0.54489

peso -0.017297 0.006866 -2.519 0.01176 *

fumasi 1.064664 0.389159 2.736 0.00622 **

razanegra 1.238728 0.526253 2.354 0.01858 *

razaotras 0.919052 0.427195 2.151 0.03145 *

tensionsi 1.732974 0.687931 2.519 0.01177 *

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Number of Fisher Scoring iterations: 4

Page 19: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

19 FEGAS

> confint(modelo)

2.5 % 97.5 %

(Intercept) -1.46 3.110

edad -0.09 0.047

peso -0.03 -0.005

fumasi 0.32 1.852

razanegra 0.21 2.291

razaotras 0.09 1.779

tensionsi 0.42 3.173

Principales conclusiones: • No hay un efecto significativo de la edad

• Al aumentar el peso de la madre se reduce significativamente el riesgo de nacimiento con bajo peso (factor protector).

• El habito de fumar, la hipertensión, y las razas distintas a la “blanca” son factores de riesgo significativos para el nacimiento con bajo peso.

Page 20: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

20

Interpretación de los coeficientes

Odds Ratios

Page 21: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

21

Interpretación de los coeficientes

FEGAS

Es habitual interpretar los resultados obtenidos en términos de la Odds Ratio (OR).

Consideremos una situación como la que se muestra a continuación Nota: el grupo 1 es el considerado como grupo de referencia

Una medida de asociación comúnmente utilizada es la razon de odds (OR, odds ratio)

𝑂𝑅 =odds(éxito|grupo 1)

odds(éxito|grupo 2)

grupo éxito fracaso

grupo 1 P(éxito | grupo 1) P(fracaso | grupo 1)

grupo 2 P(éxito | grupo 2) P(fracaso | grupo 2)

Page 22: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

22 FEGAS

Además, se puede comprobar que la OR se simplifica en

𝑂𝑅 =P(éxito | grupo 1) ∙ P(fracaso | grupo 2)

P(éxito | grupo 2) ∙ P(fracaso | grupo 1)

Propiedades:

• La OR puede tomar cualquier valor positivo

• OR = 1 ⇒ no hay asociación

• OR>1 ⇒ asociación positiva

• OR<1 ⇒ negativa

Page 23: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

23 FEGAS

logit 𝐗 = log𝜋 𝐗

1 − 𝜋 𝐗= 𝑎0 + 𝑎1𝑋1 + ⋯+ 𝑎𝑝𝑋𝑝

¿Cómo medimos la asociación entre 𝑿𝒋 y la respuesta ajustando por el resto de las

covariables? Se puede comprobar que, bajo el modelo logístico, la OR se simplifica en

𝑂𝑅 = 𝑒𝑎𝑗(𝑥−𝑥0)

grupo éxito fracaso

𝑋𝑗 = 𝑥0 P(éxito | 𝑋𝑗 = 𝑥0) P(éxito | 𝑋𝑗 = 𝑥0)

𝑋𝑗 = 𝑥 P(éxito | 𝑋𝑗 = 𝑥) P(fracaso | 𝑋𝑗 = 𝑥)

Page 24: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

24 FEGAS

Interpretación: • La cantidad 𝑒𝑎𝑗 representa la OR cuando la covariables 𝑋𝑗 aumenta una unidad

en relación a su valor de referencia (el resto de las covariables se mantienen fijas)

• Dicha cantidad no depende del valor de referencia elegido.

Las OR basadas en modelos logísticos se pueden obtener fácilmente con la función logistic.display de la librería epicalc.

Page 25: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

25 FEGAS

> logistic.display(modelo)

Logistic regression predicting bajopeso : normal vs bajo

crude OR(95%CI) adj. OR(95%CI) P(Wald's test)

P(LR-test)

edad (cont. var.) 0.95 (0.89,1.01) 0.98 (0.91,1.05) 0.545

0.543

peso (cont. var.) 0.99 (0.97,1) 0.98 (0.97,1) 0.012

0.007

fuma: si vs no 2.02 (1.08,3.78) 2.9 (1.35,6.22) 0.006

0.005

raza: ref.=blanca

0.02

negra 2.33 (0.94,5.77) 3.45 (1.23,9.68) 0.019

otras 1.89 (0.96,3.74) 2.51 (1.09,5.79) 0.031

tension: si vs no 3.37 (1.02,11.09) 5.66 (1.47,21.79) 0.012

0.01

Log-likelihood = -103.9388

No. of observations = 189

AIC value = 221.8775

Page 26: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

26

3. Predicción

Capacidad de clasificación

Curvas ROC

Page 27: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

27

Predicciones

FEGAS

Los modelos logísticos puede servir para hacer predicciones de la probabilidad de éxito para nuevos valores de las covariables. • A partir de los coeficientes estimados 𝑎 0, 𝑎 1, … , 𝑎 𝑝,

• la predicción en los valores 𝒙0 = 𝑥01, … , 𝑥0𝑝 viene dada por

𝜋 𝐗 =exp 𝑎 0 + 𝑎 1𝑥01 + ⋯+ 𝑎 𝑝𝑥0𝑝

1+exp 𝑎 0 + 𝑎 1𝑥01 + ⋯+ 𝑎 𝑝𝑥0𝑝

Page 28: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

28 FEGAS

edad peso fuma raza tensión 𝝅

25 155 no blanca no 0.08

18 90 si blanca no 0.48

22 95 no otras si 0.79

22 118 no blanca no 0.15

25 118 si blanca no 0.33

21 185 si negra no 0.36

31 215 si blanca no 0.07

19 95 no otras no 0.41

21 124 no otras no 0.29

15 98 no negra no 0.50

En la última columna de la tabla se muestra la estimación de la probabilidad de nacimiento con bajo peso

Page 29: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

29

Capacidad de clasificación del modelo

FEGAS

Los modelos logísticos permiten calcular la probabilidad estimada

𝜋 𝐗 = 𝑃 (éxito|𝐗) El valor anterior puede utilizarse para hacer la correspondiente regla de clasificación: siendo 𝑐 un determinado valor de corte que permite hacer la correspondiente decisión

decisión

𝜋 𝐗 > 𝑐 éxito

𝜋 𝐗 ≤ 𝑐

fracaso

Page 30: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

30

Curvas ROC

FEGAS

Para cada valor de 𝑐 se obtendrán los correspondientes valores de: • sensibilidad: probabilidad de verdadero positivo

sensibilidad(c)= 𝑃 𝜋 𝐗 > 𝑐 |𝑌 = 1

• especificidad: probabilidad de verdadero negativo

especificidad(c)= 𝑃 𝜋 𝐗 ≤ 𝑐 |𝑌 = 0

Finalmente, la curva ROC se obtiene representando • en el eje X los falsos positivos, y • en el eje Y los verdaderos positivos

que se alcanzan al variar el punto de corte c .

Page 31: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

31 FEGAS

La curva ROC proporciona una descripción completa de la capacidad de discriminación del test. La capacidad diagnóstica de un test será mayor cuando la curva ROC se acerque a al esquina superior izquierda. Una medida esta capacidad es el área bajo la ROC (AUC, Area under the curve)

• AUC=0.5: No hay discriminación

• AUC cercana a 1: buena discriminación.

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

falsos positivos

verd

adero

s p

ositiv

os

AUC= 0.584

Capacidad predictiva baja

0.0 0.2 0.4 0.6 0.8 1.00.0

0.2

0.4

0.6

0.8

1.0

falsos positivos

verd

adero

s p

ositiv

os

AUC= 0.897

Capacidad predictiva alta

Page 32: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

32 FEGAS

En el gráfico se muestra la curva ROC obtenida con el modelo logístico utilizado en el estudio de nacimiento con bajo peso.

Page 33: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

33

4. Resumen

Page 34: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

34

Resumen:

Los modelos de regresión logísticos establecen relación entre:

• Una variable respuesta binaria de interés (fracaso/éxito), y

• un conjunto de covariables explicativas

Coeficientes se interpretan en términos de la Odds Ratio (OR)

Se puede evaluar la capacidad de clasificación en términos de la curva ROC

Page 35: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

35

7. Bibliografía

Page 36: Javier Roca Pardiñas - SERGAS · logit: logit(𝐗)=log odds 𝐗=log ... que se alcanzan al variar el punto de corte c. 31 FEGAS La curva ROC proporciona una descripción completa

36 FEGAS

• Hosmer DW, Lemeshow S. Applied logistic regression. Chichester: Wiley, 2000.

• McCullagh, P.; Nelder, J. A. Generalized Linear Models. London: Chapman & Hall, 1989.

• Julian J. Faraway. Practical Regression and Anova using R.

http://www.maths.bath.ac.uk/~jjf23/book/pra.pdf • Virasakdi Chongsuvivatwong. Analysis of Epidemiological Data Using R and Epicalc.

http://cran.r-project.org/doc/contrib/Epicalc_Book.pdf