Documentos de Académico
Documentos de Profesional
Documentos de Cultura
en Regresión Logı́stica
Máster Oficial en Estadı́stica Aplicada
Autor:
Tania Iglesias Cabo
Dirigido:
Manuel Escabias Macucha
Ana Marı́a Aguilera del Pino
1. Introducción 3
1
2 ÍNDICE GENERAL
4. Software 39
4.1. R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2. SPSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3. Stata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Introducción
Con este trabajo se pretende hacer una descripción de distintos test es-
tadı́sticos utilizados para medir la bondad de ajuste del modelo de regresión
logı́stica. El modelo de regresión logı́stica se enmarca dentro de los modelos
de respuesta discreta, válidos para modelar la relación entre una respuesta
discreta y un conjunto de variables independientes, o explicativas. Habitual-
mente, en marcos como el epidemiológico y el biosanitario, se trabaja con
variables respuesta que suelen representar la presencia o ausencia de enfer-
medad y variables explicativas que identifican posibles factores de riesgo. La
técnica más ampliamente utilizada para modelar respuestas discretas es la
regresión logı́stica, en la que las variables explicativas pueden ser tanto de
tipo cuantitativo, como de tipo cualitativo. La popularidad de este tipo de
técnica radica principalmente en su disponibilidad en los distintos software,
ası́ como en su facilidad en cuanto a la interpretación de la exponencial de
los parámetros del modelo, en términos de los cocientes de ventajas u odds
ratios (OR).
3
4 CAPÍTULO 1. INTRODUCCIÓN
Un modelo se dice que presenta un buen ajuste a los datos si los valores
predichos por él reflejan de forma adecuada a los valores observados. Si el
modelo presenta un mal ajuste, éste no puede ser utilizado para extraer
conclusiones ni efectuar predicciones. Una forma de medir la adecuación de
un modelo es proporcionando medidas globales de bondad de ajuste a través
de test estadı́sticos construidos a tal fin. Lo anterior es válido para cualquier
modelo de regresión, pero en el caso particular de la regresión logı́stica no
existe uniformidad en cuanto al test a utilizar.
Los modelos de regresión logı́stica son una herramienta que permite ex-
plicar el comportamiento de una variable respuesta discreta (binaria o con
más de dos categorı́as) a través de una o varias variables independientes
explicativas de naturaleza cuantitativa y/o cualitativa. Según el tipo de va-
riable respuesta estaremos hablando de regresión logı́stica binaria (variable
dependiente con 2 categorı́as), o de regresión logı́stica multinomial (variable
dependiente con más de 2 categorı́as), pudiendo ser esta última de respuesta
nominal u ordinal. Los modelos de respuesta discreta son un caso particular
de los modelos lineales generalizados formulados por Nelder y Wedderburn en
1972 (Nelder and Wedderburn [1972]), al igual que los modelos de regresión
lineal o el análisis de la varianza. Para un estudio minucioso de este tipo de
modelos puede consultarse el libro de McCullagh y Nelder (McCullagh and
Nelder [1989]).
9
10 CAPÍTULO 2. EL MODELO DE REGRESIÓN LOGÍSTICA
2.1.1. Formulación
R
px X
logit(px ) = log = β0 + β r xr
1 − px r=1
2.1. FORMULACIÓN E INTERPRETACIÓN 11
2.1.2. Interpretación
2.2. Estimación
Existen dos formas de estimación del modelo logı́stico según sean las
observaciones disponibles, dicho de otro modo, según el patron de las cova-
riables (covariate pattern) que no es más que cada combinación de valores
de las variables explicativas en el modelo múltiple, o las observaciones de la
variable explicativa en el modelo simple. Hay que distinguir dos situaciones
diferentes. Supongamos que disponemos de una muestra de tamaño N de la
variable respuesta Y , puede ocurrir:
exp(β0 +β1 xj )
para y1 , . . . , yN observaciones de Y (yj ∈ {0, 1}), pj = 1+exp(β0 +β1 xj )
, j =
1, . . . , N y x1 , . . . , xN observaciones de X.
14 CAPÍTULO 2. EL MODELO DE REGRESIÓN LOGÍSTICA
y
N
X
xj (yj − pj ) = 0
j=1
(t−1)
con pj la probabilidad estimada en la iteración t − 1 calculada a partir
de las estimaciones de los parámetros en la iteración t − 1 de la forma
(t−1) (t−1)
(t−1) exp(β0 + β1 xj )
pj = (t−1) (t−1)
, j = 1, . . . , N
1+ exp(β0 + β1 xj )
Finalmente la estimación máximo verosimil de pj viene dada por:
exp(β̂0 + β̂1 xj )
p̂j = , j = 1, . . . , N
1 + exp(β̂0 + β̂1 xj )
2.2. ESTIMACIÓN 15
siendo β̂0 y β̂1 los estimadores MV de los parámetros. Ésta estimación p̂j se
corresponde con la estimación de la respuesta, ŷj en el caso binario.
J
X nj
= {log + yj (β0 + β1 xj ) − nj log(1 + exp(β0 + β1 xj ))}.
j=1
yj
(t−1) (t−1)
β (t) = β (t−1) + [X 0 Diag[nj pj (1 − pj )]X]−1 X 0 (y − m(t−1) ),
16 CAPÍTULO 2. EL MODELO DE REGRESIÓN LOGÍSTICA
(t−1) (t−1)
siendo m(t−1) = nj pj y pj la indicada anteriormente.
De nuevo la estimación máximo verosimil de pj vendrá dada por:
exp(β̂0 + β̂1 xj )
p̂j = , j = 1, . . . , N
1 + exp(β̂0 + β̂1 xj )
exp(β0 + β1 x)
H0 : pj = ∀j = 1, ..., J
1 + exp(β0 + β1 x)
exp(β0 + β1 x)
H1 : pj 6= para algún j
1 + exp(β0 + β1 x)
19
20 CAPÍTULO 3. BONDAD DE AJUSTE EN REGRESIÓN LOGÍSTICA
y su log-verosimilitud
J
X nj
logL(β0 , β1 ) = {log + yj logpj + (nj − yj )log(1 − pj )}.
j=1
yj
Sea L̂C = L(β̂0 , β̂1 ) con β̂0 , β̂1 los estimadores MV de los parámetros. Bajo
el modelo ajustado, la verosimilitud resulta:
J
X nj
log L̂C = {log + yj log p̂j + (nj − yj )log(1 − p̂j )}
j=1
yj
3.1. TEST BASADOS EN PATRONES DE LAS COVARIABLES 21
ŷj
siendo p̂j = nj
la probabilidad estimada de respuesta Y = 1 para el j-ésimo
patrón de covariables.
El modelo saturado es aquel modelo que se ajusta perfectamente a los
datos, es decir, las frecuencias de respuesta Y = 1 estimadas por el modelo
coinciden con las observadas, y tiene tantos parámetros libres/desconocidos
como observaciones diferentes de las variables explicativas. Denotemos por
L̂F la verosimilitud de este modelo, su log-verosimilitud vendrá dado por:
J
X nj
log L̂F = {log + yj log p̃j + (nj − yj )log(1 − p̃j )}.
j=1
y j
yj
Para el modelo saturado se tiene que p̃j = nj
, la proporción observada de
respuesta Y = 1 para el j-ésimo patrón de covariable/s.
La comparación entre las dos log-verosimilitudes anteriores puede ser uti-
lizada para medir la bondad del ajuste del modelo a los datos observados,
aunque es más útil compararlas multiplicando por -2 tal diferencia, cuyo
resultado es lo que se conoce como devianza o estadı́stico de Wilks:
!
L̂C
D = −2log = −2(log L̂C − log L̂F )
L̂F
De la expresión anterior, se deduce:
J
X p̃j 1 − p̃j
D = 2 log + (nj − yj )log
j=1
p̂j 1 − p̂j
J
X yj nj − y j
= 2 yj log + (nj − yj )log
j=1
ŷj nj − ŷj
J
X
D= d2j
j=1
siendo
yj nj − yj 1/2
dj = signo(yj − ŷj )[2(yj log + (nj − yj )log ]
ŷj nj − ŷj
N
X
log L̂C = {yj log p̂j + (1 − yi log(1 − p̂j )}
j=1
Bajo el modelo saturado se tiene que tanto yj logyj como (1−yj )log(1−yj )
son nulos ya que p̃j = yj ∈ {0, 1}. Por tanto, la devianza se reduce a (Collett
[1991]):
N
X p̂j
D = −2 {p̂j log + log(1 − p̂j )}
j=1
1 − p̂j
que en este caso ya no compara valores observados y ajustados, por lo que este
método no puede usarse para medir la bondad del ajuste en este escenario.
3.1. TEST BASADOS EN PATRONES DE LAS COVARIABLES 23
ng
X
o0g = (1 − yk )
k=1
siendo ng el número de observaciones en el grupo g.
Análogamente, el número esperado de individuos para los que ocurrirá el
suceso y para los que no, se denotan por (frecuencias esperadas):
ng
X
e1g = p̂(xk )
k=1
ng
X
e0g = (1 − p̂(xk ))
k=1
El estadı́stico Cg se obtiene entonces comparando estos valores observados
y esperados de la siguiente forma:
1 X
G
X (okg − ekg )2
Cg =
k=0 g=1
ekg
A través de estudios de simulación se demostró que cuando J = N ,
si R + 1 < G (el número de covariables más 1 es menor que el número de
grupos), bajo la hipótesis del modelo logı́stico, Cg tiene distribución asintótica
χ2G−2 (Hosmer and Lemeshow [1989]).
El inconveniente en el uso de este estadı́stico radica en su dependencia en
la elección de los puntos de corte, dando lugar a estimaciones diferentes para
los mismos datos por distintos programas, pudiendo llegar incluso a darse la
situación extrema de aceptación de la hipótesis nula de una ajuste adecuado
por parte de algún programa y de rechazo por otro. Es por esta razón, por
la que el estadı́stico Cg se considera algo inestable, aunque la mayor parte de
los software siguen apostando por la implementación de este test.
El número de grupos a utilizar puede ser arbitrario, aunque los autores reco-
mendaron el uso de 10 (Hosmer and Lemeshow [1980]). La tabla 3.2 muestra
las frecuencias esperadas y observadas para cada uno de estos grupos.
Nótese finalmente que estos estadı́sticos no son más que estadı́sticos chi-
cuadrado de bondad de ajuste por lo que para que su distribución asintótica
sea Chi Cuadrado, dicha aproximación será válida siempre que al menos el
80 % de las frecuencias estimadas bajo el modelo sean mayores que 5 y todas
mayores que 1.
R pj
0
z m1 −1 (1 − z)m2 −1 dz
PB (xj ) =
B(m1 , m2 )
siendo B(m1 , m2 ) la función beta:
Z 1
B(m1 , m2 ) = um1 −1 (1 − u)m2 −1 du,
0
con
Σts = Σ0st matriz de covarianzas de t y s
t0 = (t0 , t1 )
siendo qj = 1 − pj .
Brown, a través de estudios de simulación utilizando tamaños de muestra
50, 100 y 200, mostró que B̂ tiene una distribución chi cuadrado con 2 grados
de libertad. También investigó acerca de la potencia del estadı́stico cambian-
do la función de enlace en la hipótesis alternativa, llegando a concluir que
considerando la distribución normal se obtenı́a una potencia pequeña, que
mejoraba si se utilizaba la distribución de valores extremos y que la potencia
más alta se obteniı́a para la distribución de Cauchy, a pesar de que ésta no
pertenece a la familia general descrita por el autor. Respecto a la aplicación
de este test, Brown comprobó solo la validez del método ante la existencia
de covariables continuas, pero no para modelos de variables predictoras ca-
tegóricas o aquellos con variables categóricas y continuas. Este método es
3.3. TEST SCORE 31
uno de los considerados por el programa BMDP (ver BMD) para comprobar
la bondad de ajuste de un modelo de regresión logı́stica.
pj
log = hα (β0 + β1 xj ) = g(xj )
1 − pj
α1−1 exp((α1 |β0 + β1 xj |) − 1)
si α1 > 0
hα = β0 + β1 xj si α1 = 0
−α1−1 log(1 − α1 |β0 + β1 xj |)
si α1 < 0
1
En caso contrario, si β0 + β1 xj ≥ 0, es decir, si pj ≥ 2
se obtiene:
−α2−1 exp((α2 |β0 + β1 xj |) − 1)
si α2 > 0
hα = β0 + β1 xj si α2 = 0
−1
α2 log(1 − α2 |β0 + β1 xj |) si α2 < 0
32 CAPÍTULO 3. BONDAD DE AJUSTE EN REGRESIÓN LOGÍSTICA
logit(pj ) = β 0 Z + γ 0 I
con
1 si (Z1 , ..., Zp ) ∈ Rj
I (j) =
0 en otro caso
∂logL ∂logL
W =( , ..., )
∂γ1 ∂γk
V = A − BC −1 B 0
N
X xj − xk
r(xk )K
hN
r̃(xj ) = k=1 N
X xj − xk
K
k=1
hN
yj − p̂j
re (xj ) = p .
p̂j (1 − p̂j )
con
N 2
X xj − xk
K
k=1
hN
V ar(r̃(xj )) = " #2
N
X xj − x k
K
k=1
hN
V ar(T̂lc ) 2E(T̂lc )2
Ası́, se tiene que T̂lc ∼ cχ2V con c = 2E(T̂lc )
yV = V ar(T̂lc )
siendo E(T̂lc ) =
1y
N X
N N N
!−1 N N
!2
X X X 2 2 2
X wjl wkl (6pl − 6pl + 1) X
V ar(T̂lc ) = N −2 2
wjl 2
wkl +2 wjl wkl
j=1 k=1
p l (1 − pl )
l=1 l=1 l=1 l=1
llamando
xk − xl
wkl = K
hN
2 Rg2
Rg =
max(Rg2 )
2
dónde max(Rg2 ) = 1 − (L̂0 ) N .
Capı́tulo 4
Software
Test Hosmer-Lemeshow Cg
Test Hommer-Lemeshow Hg
4.1. R
R (consultar R) es un lenguaje de programación y un entorno para el
análisis estadı́stico, distribuido bajo la licencia GPL de GNU (GNU), por
39
40 CAPÍTULO 4. SOFTWARE
Fácil instalación.
na.action: función que indica qué hacer cuando existen valores perdi-
dos.
anova(modelo,test="Chisq")
indicando por modelo el nombre del modelo para el que se quiere eje-
cutar el contraste.
4.2. SPSS
4.3. Stata
Programa para el análisis de datos bajo licencia y que pone a disposición
del usuario una interfaz amigable similar a la proporcionada por SPSS. Para
un mayor detalle sobre este software puede consultarse su página web (ver
Sta) o los numerosos tutoriales disponibles en la red. En lo relativo al ajuste
de modelos de respuesta discreta es recomendable el libro de J. Scott Long
y Jeremy Freese (Long and Freese [2006]).
En lo que respecta a la construcción de un modelo de regresión logı́stica se
utiliza el siguiente comando (también accesible a través del menú de Stata):
51
52 CAPÍTULO 5. APLICACIÓN CON DATOS REALES
save(datos,file="datos.rda")
> table(datos$sexo)
hombre mujer
2405 1099
> 100*table(datos$sexo)/sum(table(datos$sexo))
hombre mujer
68.63584 31.36416
> table(datos$enf)
0 1
1170 2334
> 100*table(datos$enf)/sum(table(datos$enf))
0 1
33.39041 66.60959
> summary(datos$edad)
Min. 1st Qu. Median Mean 3rd Qu. Max.
17.00 46.00 52.00 52.28 59.00 82.00
> summary(datos$duracion)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 4 18 43 60 416
> summary(datos$colesterol)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s
29.0 196.0 224.5 229.9 259.0 576.0 1246
>library(gdata)
>Datos <- drop.levels(datos[ !is.na(datos$colesterol), ])
>summary(modelo1)
Call:
glm(formula = enf ~ colesterol, family = binomial(link = logit),
data = Datos)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2140 -1.3669 0.8247 0.9406 1.4279
5.2. MODELO DE REGRESIÓN LOGÍSTICA SIMPLE 55
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7525280 0.2186516 -3.442 0.000578 ***
colesterol 0.0062268 0.0009525 6.538 6.25e-11 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> anova(modelo1,test="Chisq")
56 CAPÍTULO 5. APLICACIÓN CON DATOS REALES
La salida de este análisis nos proporciona una tabla dónde vemos por filas
ciertos resultados para el modelo nulo y para el modelo ajustado. Por colum-
nas nos aparece en primer término los grados de libertad de la distribución
asintótica de la devianza (Df ), seguido de Deviance que muestra la varia-
ción en la devianza al comparar los dos modelos, y a continuación Resid.Df,
Resid.Dev y Pr(>Chi) que corresponden respectivamente a los grados de li-
bertad de la devianza de cada modelo, el valor del estadı́stico y el pvalor del
contraste, que en este caso es muy significativo.
Para efectuar el análisis basado en el estadı́stico Chi Cuadrado, calcula-
mos el valor del estadı́stico como la suma de cuadrados de los residuos de
Pearson, para después calcular la significación del test. Como se aprecia, el
test sigue siendo significativo.
> sum(residuals(modelo1,type="pearson")^2)
2256.21
> 1 - pchisq(sum(residuals(modelo1,type="pearson")^2),1)
0
$H
Hosmer-Lemeshow H statistic
data: fitted(modelo1) and as.numeric(as.character(Datos$enf))
X-squared = 19.0765, df = 8, p-value = 0.01446
$gof
le Cessie-van Houwelingen-Copas-Hosmer global goodness of fit test
data: fitted(modelo1) and as.numeric(as.character(Datos$enf))
z = 0.1927, p-value = 0.8472
>stukel(modelo1,alternative="both")
Stukel’s test of the logistic link
data: modelo1
both = 5.9031, df = 2, p-value = 0.05226
Estadı́stico pvalor
Devianza 0.0000
Chi Cuadrado 0.0000
Cg 0.3399
Hg 0.0145
Tlk 0.8472
Stukel 0.0523
En la tabla Prueba omnibus sobre los coeficientes del modelo aparece el valor
de menos dos veces la diferencia entre la logverosimilitud del modelo ajus-
tado y el modelo nulo que solo incluye la constante (Chi cuadradado), sus
grados de libertad (gl ) y su significación (Sig.). La fila primera (PASO) es la
correspondiente al cambio de verosimilitud (de -2LL) entre pasos sucesivos
en la construcción del modelo, contrastando la H0 de que los coeficientes de
las variables añadidas en el último paso son cero. La segunda fila (BLOQUE)
es el cambio entre bloques de entrada sucesivos durante la construcción del
modelo. Si como es habitual en la práctica se introducen las variables en un
solo bloque, el Chi Cuadrado del Bloque es el mismo que el Chi Cuadrado del
Modelo. La tercera fila (MODELO) es la diferencia entre el valor de −2LL
para el modelo nulo y el valor de -2LL para el modelo actual. Como en nues-
tro caso, solo hay una variable explicativa, un único bloque y un único paso,
las tres filas son exactamente iguales.
Estadı́stico pvalor
Devianza 0.0000
Cg 0.410
------------------------------------------------------------------------------
enf | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
colesterol | .0062268 .0009525 6.54 0.000 .00436 .0080936
_cons | -.752528 .2186517 -3.44 0.001 -1.181077 -.3239786
------------------------------------------------------------------------------
. fitstat
BIC = -14571.71
------------------------------------------------------------------------------
| EIM
enf | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
colesterol | 1.006246 .0009584 6.54 0.000 1.00437 1.008126
------------------------------------------------------------------------------
Estadı́stico pvalor
Devianza 0.0000
Chi Cuadrado 0.0000
Cg 0.3419
> sum(residuals(modelo2,type="deviance")^2)
2344.626
68 CAPÍTULO 5. APLICACIÓN CON DATOS REALES
>1 - pchisq(sum(residuals(modelo2,type="deviance")^2),1)
0
> sum(residuals(modelo2,type="pearson")^2)
2275.631
> 1 - pchisq(sum(residuals(modelo2,type="pearson")^2),1)
0
> stukel(modelo2)
5.3. MODELO DE REGRESIÓN LOGÍSTICA MÚLTIPLE 69
Estadı́stico pvalor
Devianza 0.0000
Chi Cuadrado 0.0000
Cg 0.5294
Hg 0.0057
Tlk 0.6146
Stukel 0.0022
-------------+----------------------------------------------------------------
sexo | -2.101717 .1135597 -18.51 0.000 -2.32429 -1.879144
edad | .0730318 .0061459 11.88 0.000 .0609861 .0850775
duracion | -.0016954 .0010139 -1.67 0.094 -.0036826 .0002917
colesterol | .0091233 .0010793 8.45 0.000 .0070079 .0112387
_cons | -4.286432 .3868011 -11.08 0.000 -5.044548 -3.528316
------------------------------------------------------------------------------
5.4. Conclusiones
La disponibilidad de los seis test estadı́sticos estudiados se pone de ma-
nifiesto en la siguiente tabla, siendo el más completo el lenguaje R.
Sofware
Estadı́stico R SPSS Stata
√ √ √
D
√ √
χ2
√ √ √
Cg
√
Hg
√
T̂lc
√
ŜST
C.C. Brown. On a goodness of fit test for the logistic model based on score
statistics. Communications in Statistics Theory and Methods, 11:1097–
1105, 1982.
79
80 BIBLIOGRAFÍA
E.B. Fowlkes. Some diagnostics for binary logistic regression via smoothing.
Biometrica, 74:503–515, 1987.
D.C Hallet. Goodness of fit tests in logistic regression. PhD thesis, University
of Toronto, 1999.
D.W. Hosmer and S. Lemeshow. Goodness of fit tests for the multiple logisac
regression model. Communications in Statistics, 10:1043–1069, 1980.
S. le Cessie S. and J.C. Van Houwelingen. A goodness of fit test for binay
regression models, based on smoothing methods. Biometrics, 47:1267–
1282, 1991.
J.S. Long and J. Freese. Regression Models for Categorical Dependent Va-
riables Using Stata. StataPress, 2006.
J.A. Nelder and R.W.M. Wedderburn. General linear models. Journal of the
Royal Statistical Society Series A, 135, 1972.
D.A. Power and Y. Xie. Statistical Methods for Categorical Data Analysis.
Academia Press, 2000.
82 BIBLIOGRAFÍA
R.L. Prentice. A generalization of the probit and logit methods for dose
response curves. Biometrics, 32:761–768, 1976.
T.J. Santner and D.E. Duffy. A note on a. albert and j. a. anderson’s condi-
tions for the existence of maximum likelihood estimates in logistic regres-
sion models. Biometrika, 73:755–758, 1986.
A.A. Tsiatis. A note on a goodness-of-fit test for the logistic regression model.
Journal Biometrika, 67:250–251, 1980.