• No se han encontrado resultados

REGRESIÓN LOGÍSTICA INTRODUCCIÓN

N/A
N/A
Protected

Academic year: 2021

Share "REGRESIÓN LOGÍSTICA INTRODUCCIÓN"

Copied!
59
0
0

Texto completo

(1)

REGRESIÓN LOGÍSTICA

INTRODUCCIÓN

Comencemos con un ejemplo que nos servirá para ilustrar el análisis de datos binarios. Los siguientes datos tomados de Little (1978) corresponden a 1607 mujeres casadas y fértiles entrevistadas por la Encuesta de Fertilidad Fiji de 1975, clasificadas por edad, nivel de educación, deseo de tener más hijos y el uso de anticonceptivos.

En este ejemplo se considera a Anticoncepción como variable dependiente y a las demás como predictoras. En este caso todas las predictoras son variables categóricas, sin embargo el modelo que presentaremos permite introducir variables independientes continuas y discretas.

El objetivo es describir cómo el uso de métodos anticonceptivos varía según la edad, el nivel de educación y el deseo de tener más hijos. Por ejemplo, una pregunta que sería interesante responder es

si la asociación entre educación y anticoncepción es afectada por el hecho de que mujeres con un nivel de educación más elevado prefieren familias más chicas que las mujeres con niveles de educación inferior.

El modelo de regresión logística es muy utilizado en trabajos biológicos y epidemiológicos. Se utiliza para modelar repuestas dicotómicas (presencia o ausencia de una condición) en función de un conjunto de variables (covariables) que posiblemente afectan la respuesta.

Igual que en regresión lineal, la regresión logística provee una estrategia de modelización general, flexible y de interpretación directa. También permite que las covariables sean cualitativas, ordinales o

cuantitativas.

Desde el punto de vista práctico, los dos métodos tienen muchas similitudes, a pesar que los procedimientos matemáticos subyacentes son diferentes.

Desde el punto de vista teórico el modelo de regresión logística forma parte de una familia de modelos llamada “Modelos lineales generalizados”.

En regresión lineal la media de la variable respuesta (µ) se modela mediante una combinación lineal de variables explicativas k k k k Y x x x x x x Y| 1,, )( | 1,, )01 1 ( E .

(2)

En los modelos lineales generalizados se modela una transformación de la media de la variable

respuesta (g(µ)) como una combinación lineal de las variables explicativas:

k k k k g x x x x x x g(E(Y| 1,, )) ((Y| 1,, ))01 1 .

Si la variable respuesta Y (componente aleatoria) tiene distribución Bi (1, p) (como ocurrirá en regresión logística), es decir:

 Y = 1 con probabilidad p

 Y = 0 con probabilidad 1- p,

el parámetro p además de ser la media de la variable Y es la probabilidad de que Y tome el valor 1. Es decir:

μ = E (Y) = 1.p + 0.(1-p) = p.

Por otro lado σ2 = V(Y) = p(1-p).

Así mismo, dadas las observaciones x1,…,xk

Y = 1| x1,…,xk con probabilidad p = p(x1,…,xk) P(Y1|x 1, ,xk) y

Y = 0| x1,…,xk con probabilidad 1- p(x1,…,xk) 1P(Y1|x 1, ,xk).

Tanto la media como la varianza dependen de las observaciones xi. Esto sugiere que cualquier modelo que, como el lineal, asuma homoscedasticidad de las observaciones no será adecuado para el problema. En el modelo de regresión logística, la media (p) de una variable respuesta con distribución Binomial(1, p) se transforma mediante la “transformación logística”:

        p 1 p ln ) p ( g

Así el modelo resulta de la forma

. ) , , | 1 P(Y 1 ) , , | 1 P(Y ln 0 1 1 1 1 k k k k x x x x x x            

Veremos por qué tiene sentido este modelo y presentaremos los motivos por los cuales no es

adecuado ajustar un modelo lineal cuando la variable respuesta es binaria. Estudiaremos cómo

es la curva que resulta de la transformación logística.

Desarrollaremos ejemplos de regresión logística simple (una única variable explicativa), y de regresiones logísticas múltiples (más de una variable explicativa). Utilizaremos tanto variables explicativas continuas como variables explicativas categóricas.

Veremos el significado de diversas medidas que habitualmente presentan los programas estadísticos que realizan un ajuste logístico para evaluar la “calidad” del modelo estimado.

Una vez establecido el modelo que queremos ajustar haremos las diferentes etapas de inferencia habituales:

 Estimar los parámetros

 Hallar intervalos de confianza para los mismos

 Evaluar la bondad del ajuste

(3)

Comencemos desarrollando un ejemplo con covariable continua. Más adelante extenderemos el

análisis a los demás casos.

Tabla 1. Presencia (1) Ausencia (0) de diabetes (DIABET)

ID DIABET SSPG ID DIABET SSPG ID DIABET SSPG

44 0 29 33 0 32 18 0 37 45 0 42 58 0 42 21 0 47 20 0 50 22 0 50 57 0 52 11 0 53 37 0 54 1 0 55 46 0 56 80 0 59 19 0 60 96 1 60 12 0 66 15 0 68 43 0 71 ... 64 0 136 53 0 138 28 0 140 13 0 142 5 0 143 29 0 145 142 1 150 134 1 152 67 0 153 107 1 155 110 1 156 105 1 157 27 0 158 78 0 159 42 0 160 34 0 165 6 0 165 66 1 167 135 1 167 ... 26 0 235 98 1 235 103 1 239 104 1 242 62 1 244 124 1 248 68 0 248 87 1 253 145 1 253 75 0 254 65 1 257 82 0 259 119 1 260 93 1 264 106 1 267 95 1 268 71 1 270 89 1 271 97 1 272 ...

Consideremos los datos del archivo diabet.xls. Corresponden a 145 adultos no obesos que participaron en un estudio sobre diabetes para investigar la relación entre la presencia de diabetes y varias medidas químicas. Utilizaremos únicamente la variable SSPG “steady state plasma glucose” (una medida de la resistencia a la insulina) como variable explicativa y como variable respuesta DIABET (DIABET =1 indica que el paciente es diabético, DIABET=0 indica que el paciente no es diabético). La Tabla 1 muestra una parte de los datos y se encuentran ordenados de acuerdo con valores crecientes de la variable SSPG.

>library(readxl) >path<-file.choose()

>diabetesxls<-read_excel(path)

DIABET ID INSTEST GLUFAST GLUTEST GROUP RELWT SSPG 1 0 1 124 80 356 1 0.81 55 2 0 2 117 97 289 1 0.95 76 3 0 3 143 105 319 1 0.94 105 … >diabet<-diabetesxls$DIABET >sspg<-diabetesxls$SSPG >summary(sspg)

Min. 1st Qu. Median Mean 3rd Qu. Max. 29.0 100.0 159.0 184.2 257.0 480.0

(4)

>hist(sspg)

>hist(sspg,nclass=20,probability=T,main="Histograma de Áreas",

(5)

>stem(sspg)

The decimal point is 1 digit(s) to the right of the | 2 | 927 4 | 22700234569 6 | 0068134668 8 | 000350134689 10 | 023555688917899 12 | 2222482568 14 | 023502356789 16 | 05577567 18 | 06448 20 | 46991 22 | 0006133559 24 | 248833479 26 | 0478012369 28 | 67 30 | 000309 32 | 0479 34 | 6117 36 | 48 38 | 2 40 | 3 42 | 44 | 2058 46 | 48 | 0 >seq(0,500,by=40) 0 40 80 120 160 200 240 280 320 360 400 440 480 >clases<-cut(sspg,breaks=c(0,40,80,120,160,200,240,280,320,360,420,500)) >table(clases) clases (0,40] (40,80] (80,120] (120,160] (160,200] (200,240] (240,280] 3 24 24 23 12 15 19 (280,320] (320,360] (360,420] (420,500] 9 7 4 5

Otras formas para determinar clases >clases2<-cut(sspg,breaks=seq(0,500,by=40))

>clases3<-cut(sspg,breaks=seq(0,500,length.out=10)) >seq(0,500,length.out=10)

[1] 0.00000 55.55556 111.11111 166.66667 222.22222 277.77778 [7] 333.33333 388.88889 444.44444 500.00000

Obtenemos las medias muestrales (promedios) de las variables SSPG y DIABET para cada clase.

(6)

>sumaYporClases<-tapply(diabet,INDEX=clases,FUN=sum) >sumaYporClases (0,40] (40,80] (80,120] (120,160] (160,200] (200,240] (240,280] 0 1 2 8 6 12 15 (280,320] (320,360] (360,420] (420,500] 9 7 4 5 >pEstimado<-sumaYporClases/table(clases) >pEstimado (0,40] (40,80] (80,120] (120,160] (160,200] (200,240] 0.00000000 0.04166667 0.08333333 0.34782609 0.50000000 0.80000000 (240,280] (280,320] (320,360] (360,420] (420,500] 0.78947368 1.00000000 1.00000000 1.00000000 1.00000000 >tapply(sspg,INDEX=clases,FUN=mean) (0,40] (40,80] (80,120] (120,160] (160,200] (200,240] (240,280] 32.66667 62.58333 102.66667 141.34783 178.66667 222.06667 260.94737 (280,320] (320,360] (360,420] (420,500] 303.88889 342.14286 386.75000 457.00000

clases media SSPG proporción DIABET

[0 -40) 32,67 0,00 [40 80) 62,58 0,04 [80-120) 102,67 0,08 [120-160) 141,35 0,35 [160-200) 178,67 0,50 [200-240) 222,07 0,80 [240-280) 260,95 0,79 [280-320) 303,89 1,00 [320-360) 342,14 1,00 [360-420) 386,75 1,00 [420-500) 457,00 1,00

Tabla 2. Proporción de pacientes con diabetes por clase

La tabla anterior muestra que la proporción de pacientes diagnosticados con diabetes aumenta a medida que aumenta la media de SSPG de cada grupo. La Figura 1 presenta el diagrama de dispersión correspondiente.

(7)

Figura 1. Proporción de pacientes diagnosticados con diabetes en función de los niveles de glucosa

(SSPG).

La Figura 2 muestra la curva de regresión logística y la recta ajustada a los datos de la tabla 1 (mínimos cuadrados), junto con las proporciones observadas. Vemos que la recta capta la tendencia

creciente de las proporciones pero estima valores fuera del intervalo [0, 1], en el rango de valores

observados para la variable explicativa. La curva estimada además de mostrar la tendencia

creciente de las proporciones con la variable explicativa pasa “en promedio” más cerca de la mayoría de los puntos del diagrama de dispersión.

(8)

Si ajustamos en forma errónea un modelo de regresión lineal a este conjunto de datos obtendremos

la recta ajustada que muestra el diagrama de dispersión de la figura 2 y las siguientes salidas

>diabeteslm<-lm(diabet~sspg) >summary(diabeteslm)

Call:

lm(formula = diabet ~ sspg) Residuals:

Min 1Q Median 3Q Max -0.7685 -0.2544 -0.0533 0.2611 0.9335 Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) -0.1312661 0.0601607 -2.182 0.0307 * sspg 0.0032959 0.0002833 11.634 <2e-16 *** ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.3605 on 143 degrees of freedom Multiple R-squared: 0.4863, Adjusted R-squared: 0.4827 F-statistic: 135.4 on 1 and 143 DF, p-value: < 2.2e-16

>anova.table(diabeteslm)

1 Fuente SS DF MS F P 2 Regresion 17.586031292059 1 17.586031292059 135.353716546524 0 3 Residuos 18.5794859493203 143 0.129926475170072

4 Total 36.1655172413793 144

Las tablas no muestran los problemas pero en los diagramas de dispersión de los datos (Figura 3) y

(9)

Figura 3

La Figura 3 muestra el diagrama de dispersión de los valores observados de la variable respuesta y la variable SSPG junto con la recta ajustada por regresión lineal. Este diagrama nos da una impresión de la naturaleza y fuerza de la relación entre la respuesta y la variable independiente.

Los puntos caen en dos líneas paralelas, indicando la presencia (DIABET = 1) o ausencia (DIABET = 0) de diabetes. Este gráfico muestra claramente la naturaleza dicotómica de la variable respuesta y parece

sugerir que la diabetes ocurre con mayor frecuencia en pacientes con valores más altos de SSPG.

Sin embargo, este gráfico no provee una imagen clara de la relación entre la diabetes y la SSPG ya que como los datos caen sobre 2 líneas horizontales, el gráfico es difícil de interpretar.

¿Qué esperaríamos ver en la Figura 3 si no hubiera ninguna relación entre SSPG y DIABET?

Los residuos (Figura 4) muestran una estructura clara indicando que el modelo lineal no es adecuado para estos datos.

(10)

Figura 4

Volviendo a la Figura 3, valores bajos de SSPG corresponden a pacientes no diabéticos, mientras que para valores más altos de SSPG se observa más frecuentemente presencia de diabetes. La situación más sencilla ocurriría si existiera un umbral o valor de corte para la variable SSPG, tal que hasta ese valor, la variable DIABET=0 y para valores mayores DIABET=1.

Esto sería lo que sucedería en un modelo sin ruido. ¿Qué ocurriría en un caso más realista, como el de nuestra muestra, en el que interviene el ruido debido a las componentes aleatorias del estudio? Lo que cabe esperar es un diagrama como el de la Figura 3.

También está claro que hay una zona de transición donde los valores de DIABET =0 ó 1 se alternan mientras dura la transición y no hay valor de SSPG que permita separarlos limpiamente.

Teniendo en cuenta las ideas que hemos ido exponiendo en el ejemplo, ¿qué clase de respuesta esperamos de un modelo en este tipo de situaciones, qué tipo de predicción? Si existiera un “umbral” esperaríamos obtener DIABET=0 (hasta el umbral) ó DIABET=1 (luego del umbral), pero cuando hay una zona de transición la solución no es centrarse en los valores 0 y 1 de DIABET sino en cambio, en la probabilidad de que DIABET tome uno de esos valores.

Es un cambio trascendental que afecta a la estructura del modelo que vamos a construir. La pregunta que vamos a responder no es:

Dado un valor de X=SSPG, ¿cuál es el valor de Y=DIABET, uno o cero? sino

(11)

El objetivo central de nuestro modelo es una probabilidad condicionada

p(x0) = P(Y = 1 | X = x0), Recordar que P(Y = 0 | X = x0) = 1 - P(Y = 1 | X = x0).

Así por ejemplo, si ocurriera que para un x0 en la zona de transición nuestro modelo estima p(x0) = P(Y = 1 | X = x0) con valor pˆ(x0)= 0.75=3/4.

Esto significa que de cada cuatro observaciones con un valor X = x0, esperamos que en tres de ellas, se cumpla Y = 1.

Podríamos discretizar el rango de X=SSPG en clases, como en nuestro ejemplo de diabetes y estimar por ejemplo

P(Y = 1 | 200 ≤ X < 240) con valor 0.8.

1.1 MODELO DE REGRESIÓN LOGÍSTICA

En muchos estudios la variable respuesta es la presencia (Y = 1) o ausencia (Y = 0) de una condición. Se trata de variables dicotómicas, pues involucran dos categorías. Las técnicas para modelar variables dicotómicas se extienden a variables con tres o más categorías (policotómicas) utilizando la distribución multinomial.

Esperamos que un modelo de regresión adecuado estime la proporción de individuos en la población con la característica de interés, o equivalentemente la probabilidad de que un individuo tenga dicha característica, para cada valor de la variable explicativa. En el ejemplo de los pacientes diabéticos el modelo debería estimar la proporción de individuos con diabetes para cada valor fijo de la variable

SSPG “steady state plasma glucose”.

Indiquemos por p la probabilidad de que un individuo tenga diabetes. La variable Y, que indica la presencia o ausencia del evento, vale 1 si el individuo tiene diabetes y 0 si no. Su distribución es Bi(1, p) y su valor esperado o valor medio es E(Y) = p.

Interesa estudiar la relación entre la glucosa-SSPG y la presencia o ausencia de diabetes en la población en estudio.

¿Qué significaría en este caso ajustar un modelo de regresión lineal simple para la variable respuesta (Yi = presencia o ausencia de diabetes en el i-ésimo paciente) con Xi como variable explicativa?

i i i  X  Y

Significaría suponer que la media de la variable Y cambia linealmente con la variable independiente X

x

x

EY|X  .

Recordemos que una vez que conocemos el valor de X= x, la media de Y es la probabilidad (p) de que Y = 1. Esto es, para cada valor de x

Y|X

P(Y 1|X )

E x   x = p(x).

Por lo tanto el modelo lineal propone que la probabilidad de que un individuo elegido al azar (en la población en cuestión) entre los que tienen x glucosa tenga diabetes es una función lineal de la glucosa:

(12)

x

x) (

p

La estimación de este modelo podría basarse en mínimos cuadrados ordinarios. Como p(x) es una probabilidad, debe cumplir con la restricción:

0  p(x)  1,

mientras que  xpuede tomar cualquier valor real. Cuando ajustemos la regresión, podría ocurrir que el valor estimado de p(x) para valores de X dentro del rango de valores observados, cayera fuera de los límites establecidos por la restricción y así el modelo lineal no tendría sentido. Esta solución no resulta muy natural. Ver nuevamente la Figura 2.

Podríamos intentar resolver este problema aplicando una transformación a la probabilidad p(x) a través de una función que mapee el intervalo (0,1) sobre la recta real. Llamemos odds (u oportunidad) al cociente

p 1

p

 . Observar la siguiente tabla:

p p 1 p       p 1 p ln 0.01 0.01 -4.59 0.1 0.11 -2.20 0.2 0.25 -1.38 0.5 1 0 0.6 4 1.38 0.9 9 -0.10 0.99 99 4.59

De manera que los odds menores que 1 están asociados a probabilidades menores que 0.5 y odds mayores que 1 están asociados a probabilidades mayores que 0.5. Sin embargo esta transformación sólo mapea sobre los reales positivos. Para extenderla a los negativos introducimos el logaritmo:

. p -1 p ln      

El modelo de regresión logística que es un caso particular de modelo lineal generalizado, establece que una transformación de la probabilidad de que un individuo elegido al azar (en la población en cuestión) entre los que tienen x glucosa tenga diabetes, es una función lineal de x:

x x x + = ) p( -1 ) p( ln        

(13)

Luego no habría problemas con las predicciones utilizando + x.

¿Qué dice el modelo logístico respecto de la probabilidad sin transformar, de tener diabetes? Para ello veamos que: . 1 ) ( p e + e = x + x x +     (1) Mediante esa transformación logit se logra que los valores estimados de p(x) se encuentren siempre en el intervalo (0, 1). ¿Por qué?

O lo que es lo mismo:

La probabilidad de que un individuo elegido al azar (en la población en cuestión), entre los que tienen x glucosa, tenga diabetes, se relaciona en forma curvilínea con la variable explicativa de acuerdo con la expresión (1). La curva dada en (1) toma valores dentro del intervalo [0, 1]. A continuación damos múltiples ejemplos:

(14)

El “punto gordo” está marcando el cambio de tendencia éxito- fracaso (o al revés).

1.1.1 FUNCIÓN DE RESPUESTA LOGÍSTICA

La Figura 5 muestra dos funciones de respuesta curvilíneas hipotéticas para el caso de una única variable predictora continua. Estas curvas tienen forma de S volcada o su imagen especular, no pueden tomar valores fuera del intervalo [0,1], son llamadas funciones de respuesta logística.

(15)

(a) Creciente (b) Decreciente Figura 5

Una curva logística cualquiera puede representarse mediante la siguiente expresión:

e + e = x x) E x + x +     1 ) ( p X | Y (   (1)

El plan consiste en elegir los valores de los parámetros que proporcionen la mejor curva logística para nuestra muestra de puntos.

Como puede observarse en las curvas de la Figura 5, una función de respuesta logística puede ser tanto monótona creciente, cuando el coeficiente ß es positivo y monótona decreciente cuando es negativo. Si

β = 0 e + e = x α α 1 ) (

p es constante sobre los valores de x

β > 0 e + e = x + x x +     1 ) ( p crece con x β < 0 e + e = x + x x +     1 ) ( p decrece con x

Más aún, es casi lineal para valores de p(x) entre 0.2 y 0.8, y se acerca gradualmente a 0 y 1 hacia los dos extremos del rango de valores de x.

El gráfico se parece, cuando ß > 0, a la función de distribución acumulada de una variable aleatoria. No debería sorprender que conocidas funciones de distribución acumuladas hayan sido utilizadas para proveer un modelo de E (Y | X = x) en el caso que Y es dicotómica. Por ejemplo, ha sido utilizada la distribución Gaussiana dando como resultado el modelo Probit.

Nosotros usaremos la distribución logística que lleva a la ecuación (1). Hay dos razones fundamentales para elegirla. Estas son:

(1) desde el punto de vista matemático, es una función muy flexible y muy fácil de usar, (2) desde el punto de vista biológico, los coeficientes admiten una interpretación simple.

En la ecuación (1) aparece p(x) para destacar el hecho que en este caso la esperanza de la variable respuesta coincide con la probabilidad de que ocurra el evento de interés (Y = 1). Vimos que una forma equivalente de escribir el modelo (1) de regresión logística es:

x x x + = ) p( -1 ) p( ln         (2) En este modelo el parámetro de mayor interés es la pendiente β, tal como ocurre en regresión lineal. Recordemos que la diferencia principal con la regresión lineal es que en el modelo logístico proponemos una relación lineal entre una transformación de las proporciones y las variables explicativas.

La transformación que usamos es la logit :

) ln( p -1 p ln = (p) logit  odds     

donde p es la proporción poblacional de individuos con la característica, o sea es la probabilidad que la variable respuesta tome el valor 1 (p = P(Y = 1|X=x)).

(16)

Si p es la probabilidad que un individuo tenga diabetes entonces 1- p es la probabilidad de que no lo

tenga. La expresión dada en (2) puede escribirse como: logit(p) =+ x

x odds) +

ln(  

La regresión logística establece que el logit es una función lineal de la variable explicativa, entonces, la probabilidad p es una función con forma de S como las de la Figura 3. Las probabilidades predichas se acercan, pero nunca alcanzan o exceden, los bordes de 0 y 1.

Equivalentemente la regresión logística establece que el odds es una función multiplicativa de las variables:

.

x

e

e

odds

 

1.1.2 SIGNIFICADO DE LOS COEFICIENTES EN EL MODELO DE

REGRESIÓN LOGÍSTICA SIMPLE.

Con una única variable explicativa continua:

x x x      p( )   1 ) ( p ln El coeficiente β es el cambio en       ) p( -1 ) p( ln x x

= logit(p(x)) cuando la variable X aumenta en 1

unidad. Más específicamente ) 1 ( ) 1 ( p 1 ) 1 ( p ln             x x x Luego           ) 1 ( p 1 ) 1 ( p ln x x        p( ) 1 ) ( p ln x x y de manera equivalente                   ) ( p 1 ) ( p ) 1 ( p 1 ) 1 ( p ln x x x x .

(17)

) ( p 1 ) ( p ) 1 ( p 1 ) 1 ( p x x x x e      

Esta última expresión se llama odds ratio (OR).

El OR asociado a un cambio en una unidad de la variable X está dado por

e

OR

.

Equivalentemente β es el ln(OR) entre los grupos definidos por X = x +1 y por X = x.

Muchas veces un cambio en una unidad no tiene interés biológico. Por ejemplo, el cambio en 1 día en la edad puede ser muy pequeño para ser considerado importante. Un cambio en 2 años puede ser más útil.

El ln(OR) entre el grupo definido por X = x + c y el grupo definido por X = x es: c ) c) ( ln        odds(x x odds .

El OR asociado a un cambio de c unidades de la variable explicativa, cuando su coeficiente es β, se obtiene:

c

OR(c)

e

 .

(18)

Comparación Regresión Lineal vs Regresión Logística

Lineal Logística

Variable Respuesta Y: continua Y: binaria: 0 ó 1

Valor ajustado Nivel de Y P(Y1|Xx)

Interpretación de los parámetros Diferencia de Y ln(OR)

Como se mencionó antes el modelo de regresión logística no pide linealidad entre su variable dependiente y sus variables explicativas sin embargo, sí requiere que la relación entre la variable independiente y los ln(odds)=logit sea lineal.

Este modelo requiere muestras más grandes respecto a las que se usan para el modelo de regresión lineal, ya que la estimación por máxima verosimilitud es más débil que la estimación por mínimos cuadrados.

1.1.3 REGRESIÓN LOGÍSTICA-EJEMPLO-CONT

La variable respuesta es la presencia (Y=1) o ausencia (Y=0) de diabetes y la única variable explicativa es la SSPG.

>diabetesglm<-glm(diabet~sspg,family=binomial(link="logit")) >summary(diabetesglm)

Call:

glm(formula = diabet ~ sspg, family = binomial(link = "logit")) Deviance Residuals:

Min 1Q Median 3Q Max -2.2109 -0.5295 -0.2456 0.4748 2.4813 Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -4.548160 0.711406 -6.393 1.62e-10 *** sspg 0.025280 0.003939 6.418 1.38e-10 *** ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 106.69 on 143 degrees of freedom AIC: 110.69

La tabla anterior muestra en la columna encabezada por

Estimate: los estimadores de los coeficientes de cada variable en el modelo logístico, en este caso

solamente el coeficiente de SSPG y la ordenada al origen (constante). Dichos estimadores fueron obtenidos mediante el método de máxima verosimilitud. Dicho método será estudiado más adelante. La notación que usaremos para los coeficientes estimados será: ˆ y ˆ.

(19)

Std. Error: los errores típicos o errores estándar asociados a los coeficientes. Permiten realizar tests basados en la distribución Normal para decidir si el coeficiente es estadísticamente significativo (mayor a cero, menor a cero o distinto de cero). Sus p-valores tienen validez aproximada.

Estadístico de Wald:

z value = Estimate/Std. Error

Es el estadístico del test para decidir si el coeficiente es estadísticamente significativo distinto de cero. Está basado en una distribución N(0,1). Sus p-valores tienen validez aproximada.

Pr(>|z|): es el p-valor aproximado del estadístico Wald para cada coeficiente.

Otros comandos útiles:

>diabetesglm$coefficients[1] (Intercept) -4.54816 >diabetesglm$coefficients[2] sspg 0.02527999 > summary(diabetesglm)$coefficients

Estimate Std. Error z value Pr(>|z|) (Intercept) -4.54816001 0.711405912 -6.393200 1.624499e-10 sspg 0.02527999 0.003938883 6.418061 1.380209e-10 > summary(diabetesglm)$coefficients[2,3]

[1] 6.418061

El modelo estimado de acuerdo con la tabla anterior es :

logit est = -4,548 + 0,025 * SSPG (4)

log(odds est) = log(pˆ(SSPG)/(1-pˆ(SSPG)) = -4,548 + 0,025 * SSPG o equivalentemente ) SSPG * 0,025 4,548 -( ) SSPG * 0,025 4,548 -(

1

)

S

(

e

e

SPG

>diabetesglm<-glm(diabet~sspg,family=binomial(link="logit")) b0<-diabetesglm$coefficients[1] b1<-diabetesglm$coefficients[2] >curvaLogisticaGlm<-function(x) { return(exp(b0+b1*x)/(1+exp(b0+b1*x))) }

(20)

>curve(curvaLogisticaGlm,from=0,to=500)

O bien

>plot(c( 32.66, 62.58, 102.66, 141.34, 178.66, 222.06, 260.94,303.88, 342.142, 386.75, 457.0),c(0, 0.041, 0.083, 0.347, 0.5, 0.8,0.789,1, 1, 1,1),xlab="media de sspg por clase",ylab="proporción de diabéticos por clase")

>x<-seq(1,500,by=0.01)

(21)

Figura 5

Intervalos de confianza

Los intervalos de confianza de nivel 1 para los coeficientes están dados por:

Estimate ± Z/2 Std.Error

Hallemos un intervalo de confianza para el coeficiente de SSPG de nivel 95%

> summary(diabetesglm)$coefficients

Estimate Std. Error z value Pr(>|z|) (Intercept) -4.54816001 0.711405912 -6.393200 1.624499e-10 sspg 0.02527999 0.003938883 6.418061 1.380209e-10 > se<-summary(diabetesglm)$coefficients[2,2] > se [1] 0.003938883 >c(diabetesglm$coefficients[2]-qnorm(0.975)* se ,diabetesglm$coefficients[2]+qnorm(0.975)*se) sspg sspg 0.01755969 0.03300029

O bien podemos usar las funciones del R para hallar un intervalo de confianza para :

> confint.default(diabetesglm,level = 0.95) 2.5 % 97.5 %

(Intercept) -5.94248998 -3.15383005 sspg 0.01755992 0.03300006

(22)

El coeficiente asociado a SSPG es positivo, lo que nos indica que la probabilidad de tener diabetes aumenta con el nivel de glucosa.

 El coeficiente asociado a SSPG es = 0,025. Por lo tanto el odds ratio estimado para un aumento de una unidad de SSPG es (estadísticamente significativo) mayor a 1

026

,

1

est

OR

e

0,025

. exp(0.025279989820210434) = 1.025602.

¿Este odds ratio muestra un cambio biológicamente importante?

Podemos hallar un intervalo de confianza para los odds ratio estimados:

Hasta acá tenemos un interval de confianza para dado por IC=[L,U]. Podemos hallar un intervalo de confianza para el OR utilizando la función exponencial y haciendo [exp(L),exp(U)]

>c(exp(diabetesglm$coefficients[2]-qnorm(0.975)*se), exp(diabetesglm$coefficients[2]+qnorm(0.975)*se)) sspg sspg

1.017715 1.033551

El odds ratio estimado para un aumento de 10 unidades de SSPG es

29

,

1

est

OR

e

0,025*10

exp(0.025279989820210434*10) = 1.287626

¿Cómo hallamos su intervalo de confianza? Hacerlo.

 El odds ratio estimado para un aumento de 100 unidades de SSPG es

53

,

12

est

OR

e

0,025*100

exp(0.025279989820210434*100) = 12.52841

¿Cuál es su intervalo de confianza?

 Si SSPG = 200 la probabilidad de tener diabetes por:

62 , 0 1 ) 200 S ( ˆ (-4,548(-4,5480,0250,025*200*200 ) )      e e SPG p exp( 4.548160014759982 + 0.025279989820210434 * 200)/(1+exp( -4.548160014759982 + 0.025279989820210434 * 200)) = 0.6242995

La curva logística estimada, que da la relación entre la probabilidad estimada para diabetes y SSPG, permite hallar una probabilidad estimada para cada valor posible de la variable SSPG:

x x e e x odds x odds x   ˆ ˆ ˆ ˆ 1 ) ( est 1 ) ( est ) ( pˆ      

Aunque la expresión anterior está definida para cualquier valor de la SSPG, sólo tiene sentido la

estimación dentro del rango de los valores observados de la variable explicativa. No se debe extrapolar.

En general, una vez que se ha hallado la curva logística estimada es posible estimar el valor de X=x que corresponde a una cierta prevalencia. La prevalencia del 50% es la más fácil de calcular. Si el modelo estimado es

(23)

x

ˆ ˆ (x) pˆ -1 (x) pˆ ln       

cuando pˆ = 0.5, logit( pˆ) = 0 y resulta

0 =

ˆ

ˆxx = -

ˆ/

ˆ= - ( - 4.548160014759982 / 0.025279989820210434 ) = 179.9115. Esto significa que se estima, que en la población de la cual fue tomada la muestra, los pacientes con SSPG = 179,91 tienen una probabilidad del 50% de tener diabetes.

2. ESTIMACIÓN DE LOS COEFICIENTES EN EL MODELO DE

REGRESIÓN LOGÍSTICA

Veremos primero algunas diferencias entre un modelo de regresión lineal y un modelo de regresión logística para una variable explicativa. A continuación presentaremos un método general de estimación de parámetros, llamado Máxima Verosimilitud.

2.1 Diferencias entre los modelos de regresión lineal y logístico

El modelo logístico, puede ser expresado en cualquiera de las siguientes formas:

e + e = x x + x x +     1 ) ( p X Y E   , siendo p(x) = P(Y=1|X=x). ln (odds(x)) = x x x          p( )   1 ) ( p ln o de manera equivalente: x β α x))= + p( ( logit .

(24)

1) En regresión logística simple el modelo establece que la transformación logit de la E

YX x

se

relaciona linealmente con la variable regresora. En regresión lineal simple se requiere que la

YX x

E se relacione linealmente con la variable regresora.

2) En el modelo logístico la variable Y condicional al valor de la variable X = x tiene distribución binomial (0 ó 1). En regresión lineal la variable Y condicional al valor de la variable X = x tiene distribución normal. Por lo tanto la distribución de los errores en ambos modelos es distinta.

3) En regresión lineal la distribución de los errores no depende de los valores de las variables explicativas pero en regresión logística sí depende:

Es decir, en regresión lineal

Y = α + β X + ε, donde los errores ε ~N(0, σ2) independientes de X. Al fijar el valor de la variable X, la variable Y resulta tener distribución Normal:

Y | X = x ~N (α + β x, σ2), con lo cual

E(Y | X = x) = α + β x. En regresión logística la variable Y toma sólo dos valores

Si Y | X = x = 1 con probabilidad p(x)

Si Y | X = x = 0 con probabilidad 1 – p(x),

Al fijar el valor de la variable X la variable Y | X = x resulta tener distribución Binomial Y | X = x ~ Bi(1,p(x)).

Por lo tanto, en regresión logística la variable (x) podría definirse de la siguiente manera:

(x) = Y | X = x - E(Y | X = x) = Y | X = x – p(x). Equivalentemente:

Y | X = x = p(x) + (x).

Pero, como Y | X = x solo puede valer 0 ó 1, cuando la variable regresora toma un cierto valor x el error

(x) sólo puede tomar dos valores:

Si Y | X = x = 1 entonces (x) = 1 – p(x) con probabilidad p(x).

Si Y | X = x = 0 entonces (x) = – p(x) con probabilidad 1 – p(x).

Notemos que la distribución de los errores en el modelo logístico depende del valor de x, mientras que esto no sucede en el modelo lineal.

En regresión lineal estimamos los parámetros a través del método de mínimos cuadrados. Bajo ciertos supuestos usuales los estimadores tienen una serie de propiedades estadísticas deseables. Desafortunadamente cuando la respuesta es dicotómica los estimadores de mínimos cuadrados no mantienen esas mismas propiedades.

El método general de estimación que coincide con el método de mínimos cuadrados en regresión lineal cuando los errores tienen distribución normal se llama máxima verosimilitud.

(25)

2.2.1 Idea intuitiva.

Usando el hecho de que la variable Y tiene una distribución conocida (binomial), los parámetros se estiman con el método de máxima verosimilitud (maximum likelihood). La idea detrás de este método consiste en pensar que la muestra obtenida, por haber ocurrido, debe tener alta probabilidad.

Este método propone obtener como estimación de los parámetros  y  aquellos valores ˆ y ˆ respectivamente, que maximicen la probabilidad de observar la muestra que hemos obtenido. Esto se realiza maximizando la función denominada función de verosimilitud, que mide la probabilidad de que ocurran los valores muestrales observados.

No es posible dar una expresión algebraica para los estimadores de los parámetros. Sí es posible mostrar la función de verosimilitud y las ecuaciones que definen a los estimadores. Los estimadores se obtienen resolviendo iterativamente ese sistema de ecuaciones, denominadas ecuaciones de

máxima verosimilitud.

A continuación se presentan brevemente las ideas del método de máxima verosimilitud, la función de verosimilitud y las ecuaciones resultantes.

2.2.2 Deducción de las ecuaciones estimación por máxima verosimilitud.

Ajustar un modelo logístico

) ( ) ( 1 ) ( p x x e e x       (5)

a un conjunto de n datos (x1, y1), . . . , (xn, yn), significa estimar los valores de los parámetros desconocidos  y , en base a los datos.

El método de máxima verosimilitud es un método general de estimación que produce estimadores, que en un sentido amplio, maximizan la probabilidad de obtener el conjunto de datos observados. Para aplicar este método debemos construir la función de verosimilitud. Esta función expresa la probabilidad de obtener los datos observados en función de los parámetros desconocidos. Los estimadores de máxima verosimilitud se eligen como aquellos valores que maximizan esta función. En el marco del modelo logístico, la probabilidad condicional que Y tome el valor 1 cuando la variable explicativa X toma el valor x es P(Y = 1 | X = x) = p(x), donde p(x) está dada por la ecuación (5). En forma similar P(Y = 0 | X = x) = 1 p(x).

Tenemos n observaciones (x1, y1), . . . , (xn, yn). Para aquellos pares (xi, yi), en los que yi = 1 la contribución a la función de verosimilitud es p(xi) y para aquellos en que yi = 0 la contribución es 1 p(xi). Esto puede expresarse en forma única:

p

(

)

i

(

1

p

(

))

(1 yi) i y i

x

x

 = i i i i i i y x x y x x e e e e                     1 ) ( ) ( ) ( ) ( 1 1 1         . (6)

Como las observaciones se suponen independientes (independencia de los casos), la función de

verosimilitud se obtiene como producto de los términos dados en (6):

    n i y i y i i i x x

L

1 ) 1 ( )) ( p 1 ( ) ( p ) , (

(7)

Los estimadores de máxima verosimilitud se definen como los valores de los parámetros  y , que maximizan (7) (principio de máxima verosimilitud) o que maximizan el logaritmo de la función de

(26)

      n i i x i y i x i y

L

1 )) ( p 1 ln(( ) 1 ( )) ( p ln( )) , ( ln(   (8)

Para obtener los estimadores de máxima verosimilitud ˆ y ˆ , debemos derivar la expresión (8) con respecto a  y  e igualar a cero, es decir buscamos los puntos críticos. Los estimadores resultan ser las soluciones de las siguientes ecuaciones:

  

n i x x i i i

e

e

y

1 ) ˆ ˆ ( ) ˆ ˆ (

0

1

    (9)

  

n i x x i i i i

e

e

y

x

1 ) ˆ ˆ ( ) ˆ ˆ (

0

1

    (10)

El estimador de máxima verosimilitud de p(xi) resulta ser:

) ˆ ˆ ( ) ˆ ˆ (

1

)

(

i i x x

e

e

x

   

.

Observación: Una consecuencia interesante de la ecuación (9) es que la suma de los valores predichos es igual a la suma de los valores observados. ¿Por qué?

Los estimadores de máxima verosimilitud ˆ y ˆ se obtienen resolviendo el sistema de ecuaciones (9) y (10) mediante métodos iterativos.

Maximizar ln(

L

(

,

)) es equivalente a minimizar -2ln(

L

(

,

)), es decir pretender una verosimilitud alta es equivalente a – 2 ln de la verosimilitud baja.

2.2.3 Volvemos al ejemplo

Si se ajusta únicamente la constante:

         ( ) 1 ) ( ln x p x p Historial de iteraciones Iteración Coeficientes

-2 log de la verosimilitud Constant

1 200,675 -,097

2 200,675 -,097

(27)

x x p x p           ( )   1 ) ( ln Historial de iteraciones Iteración Coeficientes

-2 log de la verosimilitud Constant SSPG

Paso 1 1 120,213 -2,525 ,013 2 108,243 -3,797 ,021 3 106,725 -4,424 ,025 4 106,685 -4,544 ,025 5 106,685 -4,548 ,025 6 106,685 -4,548 ,025

Vemos que las estimaciones de los coeficientes cambian con las iteraciones. En las primeras cambian más, hasta que se estabilizan:

548

.

4

ˆ

y

ˆ

0

.

025

.

Los dos modelos anteriores compiten y debemos decidir qué modelo explica mejor los datos muestrales. Por un lado tenemos el modelo con dos parámetros, que corresponden a la constante y a la variable explicativa SSPG. Por el otro lado, tenemos el a menudo llamado modelo nulo o null

deviance.

¿Cómo decidimos qué modelo es mejor?

Si un modelo tiene una verosimilitud claramente superior a la del otro, entonces preferimos el modelo más verosímil. En cambio si las verosimilitudes son muy parecidas puede ser preferible el modelo más sencillo, en el sentido que incluya menos parámetros. Este criterio de selección de modelos se conoce como principio de parsimonia.

Para contrastar los modelos vamos a tratar de establecer si sus verosimilitudes son significativamente distintas. ¿Cómo lo medimos? Ya vimos que al trabajar con verosimilitudes, es técnicamente ventajoso usar sus logaritmos.

(28)

Observaciones:

 El coeficiente -2 que aparece delante del logaritmo sirve para que la diferencia de devianzas tenga una ditribución muestral (asintótica) sencilla.

 Por otro lado, hay que pensar, que también estamos tratando de decidir entre dos hipótesis:

H0: =0 versus H0: ≠ 0

Por lo tanto la devianza es útil para comparar los dos modelos y contrastar H0.

Estadístico G del Test de Cociente de Verosimilitud Si la hipótesis nula H0: = 0 es cierta entonces el estadístico

G = D(modelo con = 0) - D(modelo con ≠ 0)

tiene distribución asintótica o aproximada

12.

Y una vez conocida esta distribución muestral es fácil usar G para hacer el contraste.

diabetesglm<-glm(diabet~sspg,family=binomial(link="logit")) summary(diabetesglm)

Call:

glm(formula = diabet ~ sspg, family = binomial(link = "logit")) Deviance Residuals:

Min 1Q Median 3Q Max -2.2109 -0.5295 -0.2456 0.4748 2.4813 Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -4.548160 0.711406 -6.393 1.62e-10 *** sspg 0.025280 0.003939 6.418 1.38e-10 *** ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 106.69 on 143 degrees of freedom

(29)

La inclusión de la variable SSPG al modelo produjo una reducción del estadístico “-2 ln de la

verosimilitud” de 200,675 a 106,695. El procedimiento siguiente muestra el resultado del test para decidir si esa reducción es estadísticamente significativa.

> diabetesglm$deviance [1] 106.685 > summary(diabetesglm)$deviance [1] 106.685 > -2*logLik(diabetesglm) 'log Lik.' 106.685 (df=2) > summary(diabetesglm)$null.deviance [1] 200.6746 > G=summary(diabetesglm)$null.deviance - summary(diabetesglm)$deviance > G [1] 93.98962 > pvalor<-pchisq(G,lower.tail=FALSE,df=1) > pvalor [1] 3.171834e-22

Cuando tenemos una única variable independiente, el estimador de máxima verosimilitud de , es decir , está dado por ln(n1/n0) donde n1 = ∑ yi y n0 = ∑(1-yi). El valor predicho pˆ(x)n1/n. En este caso )) ln( ) 0 ln( 0 ) 1 ln( 1 ( 1 )) ( 1 ln( ) 1 ( )) ( ln( 2 n n n n n n n i i x p i y i x p i y G         

En este caso, tenemos una única variable incluida en el modelo. Estamos testeando si el coeficiente de la variable SSPG es estadísticamente significativo como en el test de Wald. Este test es

generalmente más potente que el test de Wald.

En ambos tests, Wald y cociente de máxima verosimilitud, se requiere calcular el estadístico de máxima verosimilitud de .

Este test se puede generalizar para evaluar la hipótesis nula de que los coeficientes de todas las variables incluidas en el modelo (salvo la constante) son cero. Es comparable al test F global que

en la Tabla ANOVA se realiza para evaluar si las variables son globalmente significativas en el

(30)

Recordemos un instante la salida del glm

> diabetesglm<-glm(diabet~sspg,family=binomial(link="logit")) > summary(diabetesglm)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -4.548160 0.711406 -6.393 1.62e-10 *** sspg 0.025280 0.003939 6.418 1.38e-10 ***

Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 106.69 on 143 degrees of freedom

¿Qué pasa si codificamos al revés la variable respuesta?

Es decir Y = 1 ausencia de diabetes y Y = 0 presencia de diabetes. > diabet2<-1-diabet > diabetesglm2<-glm(diabet2~sspg,family=binomial(link="logit")) > summary(diabetesglm2) Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) 4.548160 0.711406 6.393 1.62e-10 *** sspg -0.025280 0.003939 -6.418 1.38e-10 ***

Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 106.69 on 143 degrees of freedom

3 EVALUANDO EL MODELO

3.1. Test de Hosmer- Lemeshow

Un Test de bondad de ajuste, en general, lo que hace es comprobar si el modelo propuesto puede explicar lo que se observa. Es un test donde se evalúa la distancia entre lo observado en los datos que tenemos y lo esperado bajo el modelo supuesto.

(31)

Existen distintos mecanismos para hacer este análisis. Una posibilidad consiste en buscar un

resumen global del ajuste del modelo, un número que nos permita hacernos una idea inicial de la

situación. En el modelo de regresión lineal el coeficiente de correlación R jugaba ese papel. Un valor alto de R no significaba automáticamente que el modelo fuera bueno, sin embargo, un valor

bajo era garantía de que el modelo no estaba haciendo bien su trabajo. Vamos a buscar una

herramienta similar para el modelo de regresión logística que nos sirva como una prueba preliminar global del modelo.

¿Cómo podemos construir ese indicador global? En regresión lineal pensábamos en la diferencia entre los valores observados de la variable respuesta yi y los valores esperados, que son los valores

predichos para el modelo, es decir yˆ . De esta forma estudiábamos el error cuadrático, que era una i

representación global de esas diferencias:

Se trata de comparar valores observados frente a valores predichos por el modelo. Un problema al tratar de trasladar esta ideas al curso de regresión logística, es que en este caso el modelo no predice

valores de Y sino probabilidades.

¿Cómo se construyen los valores observados y esperados que intervienen en el estadístico del test? 1) Se ordenan (de menor a mayor) los casos de acuerdo con la probabilidad predicha.

2) Se dividen en g = 10 grupos con la misma cantidad de casos (se puede tomar otra cantidad de grupos pero esta es la habitual). El primer grupo (primer decil) consiste de los n/10 casos con los valores mas bajos de probabilidad predicha (primer decil), el segundo grupo (segundo decil) está constituido por los n/10 individuos con los valores siguientes de probabilidad predicha, etc. En la práctica, no es siempre posible formar grupos de exactamente el mismo tamaño. Esto ocurre porque el conjunto de datos no necesariamente es divisible por 10 y porque todas las observaciones con el mismo valor en las variables explicativas, tendrán la misma proporción estimada y estarán en el mismo grupo.

3) Cada una de las categorías anteriores es dividida nuevamente en dos grupos en base al valor de la variable respuesta. Se calculan las frecuencias observadas y las frecuencias esperadas para cada una de las 20 celdas:

Para cada una de las 10 grupos y para Y=1 (Diabet=1): - Obs1i = la cantidad total de valores observados (con uno)

= suma de los valores de la variable Y, para el i-ésimo decil.

- Esp1i = los valores estimados o esperados

= suma de las probabilidades estimadas para todos las casos del i-ésimo decil. ¿Por qué es razonable estimar de esta forma?

Supongamos que tenemos 10 observaciones independientes: Obs P(Y=1) 1 0,4 2 0,4 3 0,4 4 0,4 5 0,4

(32)

6 0,4 7 0,4 8 0,4 9 0,4 10 0,4 Sumar 10 veces 0.4 es igual a 4.

Por otro lado, el valor esperado o esperanza de una variable aleatoria del tipo binomial con 10 repeticiones independientes y con p(x) = 0.4 es np = 4. Es decir esperamos que en 10 observaciones, 4 sean del tipo “éxito” ó 1. Luego tiene sentido sumar las probabilidades estimadas para todos los casos del grupo.

Por último, recordemos que de la primera ecuación de máxima verosimilitud

              n i x x i i i e e y 1 ) ˆ ˆ ( ) ˆ ˆ ( 0 1    

se deduce que la suma de los valores predichos es igual a la suma de los valores observados. ¿Por qué?

Volviendo a la construcción del test y repetimos de manera análoga para cada una de las 10 celdas y para Y=0 (Diabet = 0)

- Obs0i = la cantidad total de valores observados (con cero)

= Total de Casos en la casilla – Obs1i. - Esp0i = los valores estimados o esperados

= Total de Casos en la casilla – Esp1i.

4) El grado de ajuste se obtiene calculando el estadístico de Chi-cuadrado de Pearson para una tabla de contingencia de 2g grupos: O bien:

g k i i i i k

Esp

n

Esp

Esp

Obs

n

i 1 2

)

1

(

1

)

1

1

(

donde k indica el grupo (k = 1,…,g) y nk es el total de casos en la casilla.

Si la hipótesis nula

H0 = {el modelo logístico predice bien las probabilidades observadas}

es cierta, entonces el estadístico del test tiene una distribución que se aproxima a la distribución

chi-cuadrado con g – 2 grados de libertad. Para la mayoría de los conjuntos de datos g = 10 y los

(33)

> HL.test<-hoslem.test(diabet,predichos,g=10) > HL.test

Hosmer and Lemeshow goodness of fit (GOF) test data: diabet, predichos

X-squared = 3.5997, df = 8, p-value = 0.8913

Otros comandos que pueden ser de interés

> HL.test$statistic X-squared 3.599735 > predichos<-diabetesglm$fitted.values > order(predichos) [1] 44 33 18 45 58 21 20 22 57 11 37 1 46 80 19 96 [17] 12 15 43 48 25 2 17 35 36 39 70 54 73 31 23 14 [33] 10 56 9 30 111 16 79 3 8 32 74 4 81 55 85 41 [49] 61 7 76 47 49 59 86 24 50 52 112 64 53 28 13 5 [65] 29 142 134 67 107 110 105 27 78 42 6 34 66 135 38 60 [81] 77 72 40 63 108 109 83 99 137 143 88 84 90 136 102 94 [97] 51 92 26 98 103 104 62 68 124 87 145 75 65 82 119 93 [113] 106 95 71 89 97 69 91 115 101 132 100 126 127 133 128 121 [129] 131 125 114 130 120 122 138 123 118 117 116 140 144 139 113 129 [145] 141 > predichos[order(predichos)] 44 33 18 45 58 21 0.02156168 0.02322107 0.02626760 0.02970167 0.02970167 0.03356921 20 22 57 11 37 1 0.03611859 0.03611859 0.03792067 0.03885380 0.03980895 0.04078658 46 80 19 96 12 15 0.04178717 0.04493164 0.04602904 0.04602904 0.05316721 0.05577068 43 48 25 2 17 35 0.05990163 0.06281300 0.06431772 0.06742833 0.06742833 0.07067801 36 39 70 54 73 31 0.07407187 0.07407187 0.07407187 0.07944434 0.08322145 0.09338722 23 14 10 56 9 30 0.09554969 0.10000933 0.10230783 0.10704556 0.11197532 0.11451385 111 16 79 3 8 32 0.11710234 0.12243174 0.12517391 0.13081623 0.13081623 0.13081623 74 4 81 55 85 41 0.13371757 0.13968351 0.13968351 0.14274922 0.14904878 0.16932746

(34)

61 7 76 47 49 59 0.17291301 0.17655836 0.17655836 0.18785611 0.18785611 0.18785611 86 24 50 52 112 64 0.18785611 0.19569184 0.21209866 0.22948855 0.24317303 0.24785571 53 28 13 5 29 142 0.25740092 0.26718315 0.27719836 0.28229187 0.29264726 0.31948022 134 67 107 110 105 27 0.33057146 0.33618953 0.34756460 0.35331904 0.35911632 0.36495504 78 42 6 34 66 135 0.37083376 0.37675100 0.40685991 0.40685991 0.41911640 0.41911640 38 60 77 72 40 63 0.46899937 0.47529967 0.48160785 0.50055954 0.53840374 0.58811008 108 109 83 99 137 143 0.58811008 0.61236824 0.64770305 0.65915208 0.67597991 0.67597991 88 84 90 136 102 94 0.68695414 0.73369238 0.73369238 0.73369238 0.76226138 0.78440395 51 92 26 98 103 104 0.79283140 0.79283140 0.80101299 0.80101299 0.81664159 0.82772622 62 68 124 87 145 75 0.83481685 0.84829331 0.84829331 0.86385417 0.86385417 0.86680010 65 82 119 93 106 95 0.87531545 0.88072959 0.88335967 0.89338156 0.90039285 0.90263727 71 89 97 69 91 115 0.90699108 0.90910183 0.91116937 0.91319437 0.91902086 0.92448860 101 132 100 126 127 133 0.93595114 0.95073385 0.95416711 0.95416711 0.95416711 0.95737184 128 121 131 125 114 130 0.96403692 0.97114400 0.97184405 0.97448286 0.97630236 0.98239407 120 122 138 123 118 117 0.98520727 0.98694079 0.98694079 0.98875804 0.99265641 0.99335799 116 140 144 139 113 129 0.99399295 0.99724746 0.99867577 0.99891797 0.99904633 0.99911592 141 0.99949287

Los intervalos están definidos a partir de los deciles o percentiles de las probabilidades estimadas (

1

...

n). > HL.test$observed cutyhat y0 y1 [0.0216,0.046] 15 1 (0.046,0.0914] 13 0

(35)

(0.0914,0.14] 15 1 (0.14,0.238] 10 3 (0.238,0.371] 9 6 (0.371,0.652] 7 7 (0.652,0.826] 3 11 (0.826,0.91] 3 12 (0.91,0.976] 1 13 (0.976,0.999] 0 15 > HL.test$expected

cutyhat yhat0 yhat1 [0.0216,0.046] 15.4275930 0.5724070 (0.046,0.0914] 12.1136137 0.8863863 (0.0914,0.14] 14.1049699 1.8950301 (0.14,0.238] 10.6241413 2.3758587 (0.238,0.371] 10.3502197 4.6497803 (0.371,0.652] 7.0701348 6.9298652 (0.652,0.826] 3.5498611 10.4501389 (0.826,0.91] 1.8944526 13.1055474 (0.91,0.976] 0.7440608 13.2559392 (0.976,0.999] 0.1209530 14.8790470

El método de Hosmer-Lemeshow es un test para la bondad del ajuste. Nos interesan modelos para los cuales no se rechace la hipótesis de igualdad entre los valores observados y los valores predichos por el modelo, lo que implicaría que el modelo ajusta a los datos bastante bien. En general no rechazamos una hipótesis nula cuando el p-valor del estadístico del test es mayor a 0,05. Pero en un test de bondad de ajuste, cuanto más pequeño es el valor del estadístico y en consecuencia cuanto más cercano a 1 es su p-valor, mejor es el ajuste.

Es importante entender que este contraste NO proporciona una medida de la calidad de las predicciones individuales del modelo para cada valor observado de la variable explicativa. Es decir, que aunque el contraste de HL no sea significativo (para rechazar), todavía puede ocurrir que alguna de las predicciones del modelo (valores esperados) se aleje de los valores observados. Para valorar ese ajuste a nivel individual es necesario un análisis similar al de los residuos que hacíamos en regresión lineal y la discusión de los conceptos como el de valores atípicos, puntos influyentes, etc, es decir un diagnóstico del modelo.

Para que el estadístico de HL tenga una aproximación razonable a la distribución chi-cuadrado algunos autores sugieren que haya suficientes casos como para que el 95% de las celdas tengan una frecuencia esperada mayor a 5 y ninguna menor a 1. Otros autores sugieren ninguna frecuencia esperada menor que 5. Sin embargo se suele ser más flexible que utilizar la recomendación habitual para tablas con aproximadamente 20 celdas. Estas condiciones no se cumplen en el ejemplo. Dos estrategias son posibles ante este problema. La primera consiste en aumentar el tamaño de la muestra, la segunda en colapsar los grupos. H-L sugieren que no se utilice su test con menos de g = 6 clases porque casi siempre se obtendrá que el modelo ajusta.

(36)

Un valor alto del estadístico H-L (bajo p-valor), es un indicador claro sobre la presencia de un

problema en el modelo.

Sin embargo, el estadístico de H-L es una medida resumen, por lo que puede no indicar ciertos comportamientos locales. Un valor pequeño de H-L no excluye la posibilidad de un alejamiento del modelo para pocos individuos. Cuando el tamaño de la muestra no es un múltiplo de 10 o hay empates, es decir que distintos casos tienen valores coincidentes de las variables explicativas el valor del estadístico de H-L depende de cómo se asignen los casos a los deciles. Los autores sugieren que deberían ser asignados de manera de obtener que todos los grupos tengan totales tan cercanos a n/10 como sea posible.

Las diferentes estrategias de agrupamiento no han sido estudiadas con suficiente detalle como para recomendar alguna en particular.

3.2 Tablas de clasificación

Comencemos con el modelo que sólo tiene intersept.

> diabetesglm0<-glm(diabet~1,family=binomial(link="logit")) > summary(diabetesglm0)

Call:

glm(formula = diabet ~ 1, family = binomial(link = "logit"))

Deviance Residuals:

Min 1Q Median 3Q Max -1.137 -1.137 -1.137 1.219 1.219

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -0.09663 0.16628 -0.581 0.561

(Dispersion parameter for binomial family taken to be 1) Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 200.67 on 144 degrees of freedom AIC: 202.67

Number of Fisher Scoring iterations: 3

El ajuste del modelo logístico con una constante únicamente resulta en la siguiente estimación:

(37)

Donde

p

es la probabilidad estimada de tener diabetes

Por lo tanto

pˆ = e-0,097 / (1+ e-0,097) = 0,476

Los predichos dan los valores de

> predichos<-diabetesglm0$fitted.values > orden<-order(sspg,decreasing=TRUE) > tabla<-cbind(sspg,diabet,predichos)[orden,] > tabla sspg diabet predichos 141 480 1 0.4758621 129 458 1 0.4758621 113 455 1 0.4758621 139 450 1 0.4758621 144 442 1 0.4758621 140 413 1 0.4758621 116 382 1 0.4758621 117 378 1 0.4758621 118 374 1 0.4758621 123 357 1 0.4758621 122 351 1 0.4758621 138 351 1 0.4758621 120 346 1 0.4758621 … > clasificacion<-ifelse(predichos>0.5,1,0) > tabla2<-cbind(sspg,diabet,predichos,clasificacion)[orden,] > tabla2

sspg diabet predichos clasificacion 141 480 1 0.4758621 0 129 458 1 0.4758621 0 113 455 1 0.4758621 0 139 450 1 0.4758621 0 144 442 1 0.4758621 0 140 413 1 0.4758621 0 116 382 1 0.4758621 0

(38)

117 378 1 0.4758621 0 118 374 1 0.4758621 0 123 357 1 0.4758621 0 122 351 1 0.4758621 0 138 351 1 0.4758621 0 120 346 1 0.4758621 0 …

Como la probabilidad estimada de tener diabetes es menor a 0,5 TODOS los casos son clasificados como DIABET = 0 y se obtiene la tabla de clasificación siguiente.

> tabla3<-table(clasif=clasificacion,Y=diabet) > tabla3 Y clasif 0 1 0 76 69 > errores<-which(tabla2[,2]!=tabla2[,4]) 141 129 113 139 144 140 116 117 118 123 122 138 120 130 114 125 131 121 128 133 100 126 127 132 101 115 91 97 89 71 95 106 93 119 65 87 145 124 62 104 103 98 92 94 102 90 136 88 137 143 99 83 109 63 108 77 66 135 105 110 107 134 142 112 59 86 85 111 96 > tasaAciertos<-1-length(errores)/length(sspg) > tasaAciertos [1] 0.5241379

Cuando se incluye la variable SSPG al modelo logístico resulta:

> diabetesglm<-glm(diabet~sspg,family=binomial(link="logit")) > summary(diabetesglm)

Call:

glm(formula = diabet ~ sspg, family = binomial(link = "logit")) Deviance Residuals:

Min 1Q Median 3Q Max -2.2109 -0.5295 -0.2456 0.4748 2.4813 Coefficients:

(39)

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

(Intercept) -4.548160 0.711406 -6.393 1.62e-10 *** sspg 0.025280 0.003939 6.418 1.38e-10 *** ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 200.67 on 144 degrees of freedom Residual deviance: 106.69 on 143 degrees of freedom AIC: 110.69

Number of Fisher Scoring iterations: 6

y el modelo logistico ajustado es

log((x) /(1- (x)) = -4,548 + 0,025 * x Por lo tanto

(x) = e -4,548 + 0,025 * x / (1+ e -4,548 + 0,025 * x)

La probabilidad estimada de tener diabetes ahora depende del valor de la variable explicativa. Cuando esa probabilidad estimada es menor a 0,5 el dato es clasificado como DIABET = 0 y si es mayor a 0,5 como DIABET=1, obteniéndose los siguientes resultados.

> predichos<-diabetesglm$fitted.values > orden<-order(sspg,decreasing=TRUE) > tabla<-cbind(sspg,diabet,predichos)[orden,] > tabla sspg diabet predichos … 141 480 1 0.99949287 129 458 1 0.99911592 113 455 1 0.99904633 139 450 1 0.99891797 144 442 1 0.99867577 140 413 1 0.99724746 116 382 1 0.99399295 117 378 1 0.99335799 118 374 1 0.99265641 123 357 1 0.98875804 pˆ(480)= Pˆ(Y=1|X=480)

Referencias

Documento similar

El resultado fue la obtención de tres escenarios que mostraban la configuración espacial de distintas posibilidades de evolución del crecimiento urbano y de la red de

– Regresión Lineal, Análisis Discriminante, Regresión logística, Análisis de Varianza, Análisis Conjunto, Análisis de Supervivencia, Análisis de.. Estructuras de

Se implementan modelos de regresión logística multivariados para detectar que variables se asocian de forma independiente a la respuesta afirmativa de ¿Estarías

Entre los modelos de elección binaria, que sirven para explicar una variable dependiente binaria (0/1), se encuentra la Regresión Logística, que se utiliza

Estos indicadores, junto con los factores sociodemográficos, se incorporaron a un modelo de regresión ordinal, utilizando como variable dependiente la información

Nuestro análisis de regresión logística mostró que existe 2 veces más de Riesgo de presentar retraso diagnóstico y 4 veces más de Riesgo de presentar enfermedad

Además, se utilizaron modelos de regresión logística para calcular odds ratios (OR) de la asociación entre consumo de chocolate (variable indepen- diente) y deterioro cognitivo

Utilizando análisis de regresión logística se comprobó que, en el caso del alcohol, la urgencia positiva y la falta de premeditación distinguían entre participantes con