Metodología Estadística: Regresión logística

Angelo Santana

Bioestadística. Master SASA. Curso 2023-24

ESTUDIOS OBSERVACIONALES: El problema de los factores de confusión.

 

Variable All data (n=1030) DM=No (n=902) DM=Sí (n=128) P
EDAD 46.00 (38.00; 56.00) 44.00 (38.00; 54.00) 59.50 (53.00; 67.00) <0.0001
HTA_OMS <0.0001
‌ No 706 (68.54) 661 (73.28) 45 (35.16)
‌ Sí 324 (31.46) 241 (26.72) 83 (64.84)
IR <0.0001
‌ No 700 (67.96) 675 (74.83) 25 (19.53)
‌ Sí 330 (32.04) 227 (25.17) 103 (80.47)

 

\[OR=\frac{\Pr\left(\textrm{HTA}\left|DM\right.\right)\left/\Pr\left(\textrm{HTA}^{c}\left|DM\right.\right)\right.}{\Pr\left(\textrm{HTA}\left|{DM}^{c}\right.\right)\left/\Pr\left(\textrm{HTA}^{c}\left|{DM}^{c}\right.\right)\right.}=\frac{1.8409}{0.364}\cong5.058\]

ESTUDIOS OBSERVACIONALES: El problema de los factores de confusión.

¿Es la diabetes causa de la hipertensión arterial?

diabetes-HTA

ESTUDIOS OBSERVACIONALES: El problema de los factores de confusión.

¿Es la diabetes causa de la hipertensión arterial?

diabetes-HTA

¿o hay un efecto confusor de la resistencia a la insulina?

¿Cuál es aquí el papel de la edad?

Distribución de probabilidad binomial

Distribución de probabilidad binomial

 

Distribución de probabilidad binomial

Ejemplo

Regresión logística.

Data are summarized in absolute frequencies and percentages, n(%)
Variable (levels) All data (n=1030) DM = No (n=902) DM = Sí (n=128) Chi-Squared test P
HTA_OMS <0.0001
‌ No 706 (68.54) 661 (73.28) 45 (35.16)
‌ Sí 324 (31.46) 241 (26.72) 83 (64.84)

 

La variable DM determina dos cohortes: cohorte 1 \(\cong\) {DM=Sí} y cohorte 0 \(\cong\) {DM=No}  

Si se eligiera una muestra aleatoria de tamaño \(n_i\) en la cohorte \(i\), el número de personas con HTA en esa muestra sería una variable aleatoria binomial de parámetros \(n_i\) y \(\pi\left(i\right)\), \(i=0,1\). Concretamente:

Regresión logística.

Estimación de la regresión logística con R

logist <- glm(HTA_OMS~DM,data=telde0,family=binomial)
summary(logist)
## 
## Call:
## glm(formula = HTA_OMS ~ DM, family = binomial, data = telde0)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.4459  -0.7885  -0.7885   0.9308   1.6247  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.00896    0.07525 -13.408  < 2e-16 ***
## DMSí         1.62114    0.19983   8.113 4.96e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1282.8  on 1029  degrees of freedom
## Residual deviance: 1213.1  on 1028  degrees of freedom
## AIC: 1217.1
## 
## Number of Fisher Scoring iterations: 4

Interpretación de los coeficientes de la regresión logística

Demostración de que \(OR=e^{\beta_1}\)

 

\[OR=\frac{\Pr\left(HTA\left|DM\right.\right)\left/\Pr\left(HTA^{c}\left|DM\right.\right)\right.}{\Pr\left(HTA\left|DM^{c}\right.\right)\left/\Pr\left(HTA^{c}\left|DM^{c}\right.\right)\right.}=\]

\[=\frac{\Pr\left(HTA\left|I_{DM}=1\right.\right)\left/\Pr\left(HTA^{c}\left|I_{DM}=1\right.\right)\right.}{\Pr\left(HTA\left|I_{DM}=0\right.\right)\left/\Pr\left(HTA^{c}\left|I_{DM}=0\right.\right)\right.}=\]

\[=\frac{\frac{\exp\left(\beta_{0}+\beta_{1}\right)}{1+\exp\left(\beta_{0}+\beta_{1}\right)}\left/\left(1-\frac{\exp\left(\beta_{0}+\beta_{1}\right)}{1+\exp\left(\beta_{0}+\beta_{1}\right)}\right)\right.}{\frac{\exp\left(\beta_{0}\right)}{1+\exp\left(\beta_{0}\right)}\left/\left(1-\frac{\exp\left(\beta_{0}\right)}{1+\exp\left(\beta_{0}\right)}\right)\right.}=\frac{\exp\left(\beta_{0}+\beta_{1}\right)}{\exp\left(\beta_{0}\right)}=\exp\left(\beta_{1}\right)\]  

(hemos tenido en cuenta que \(\Pr\left(HTA^{c}\left|I_{DM}\right.\right)=1-\Pr\left(HTA\left|I_{DM}\right.\right)\))

Regresión logística: OR e intervalo de confianza con R

OR:

exp(coef(logist))
## (Intercept)        DMSí 
##   0.3645991   5.0588290

 

Intervalos de confianza:

exp(confint(logist))
##                 2.5 %   97.5 %
## (Intercept) 0.3140499 0.421855
## DMSí        3.4366486 7.534538

Distribución binomial con el parámetro \(\pi\) dependiente de varios factores

Cuando consideramos conjuntamente la ocurrencia de Diabetes Mellitus (DM) e InsulinoResistencia (IR), obtenemos la siguiente tabla para los totales y proporciones de hipertensos en el estudio de Telde:

Variable (levels) DM_IR = No-No (n=675) DM_IR = No-Sí (n=227) DM_IR = Sí-No (n=25) DM_IR = Sí-Sí (n=103)
HTA_OMS
‌ No 539 (79.85) 122 (53.74) 11 (44.00) 34 (33.01)
‌ Sí 136 (20.15) 105 (46.26) 14 (56.00) 69 (66.99)

 

Variable (levels) All data (n=1030)
HTA_OMS
‌ No 706 (68.54)
‌ Sí 324 (31.46)

Regresión logística multivariante

Estimación con R

logist <- glm(HTA_OMS~DM+IR,data=telde0,family=binomial)
summary(logist)
## 
## Call:
## glm(formula = HTA_OMS ~ DM + IR, family = binomial, data = telde0)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.5552  -0.6798  -0.6798   0.8419   1.7767  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.34726    0.09328 -14.443  < 2e-16 ***
## DMSí         1.06299    0.21625   4.915 8.86e-07 ***
## IRSí         1.13921    0.15430   7.383 1.55e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1282.8  on 1029  degrees of freedom
## Residual deviance: 1159.2  on 1027  degrees of freedom
## AIC: 1165.2
## 
## Number of Fisher Scoring iterations: 4

Estimación con R

Predicción

logist <- glm(HTA_OMS~DM+IR,data=telde,family=binomial)
dtf=data.frame(DM=factor(c("No","No","Sí","Sí")),IR=factor(c("No","Sí","No","Sí")))
cbind(dtf,predic=predict(logist,newdata=dtf, type="response"))
##   DM IR    predic
## 1 No No 0.2063183
## 2 No Sí 0.4481725
## 3 Sí No 0.4294062
## 4 Sí Sí 0.7016004

Estimación con R

OR:

exp(coef(logist))
## (Intercept)        DMSí        IRSí 
##   0.2599509   2.8950085   3.1242838

 

Intervalos de confianza para las OR:

exp(confint(logist))
##                 2.5 %    97.5 %
## (Intercept) 0.2158019 0.3111512
## DMSí        1.9005630 4.4433251
## IRSí        2.3094724 4.2305000

Regresión logística multivariante: Odds-ratios ajustadas

Regresión logística multivariante

Regresión logística multivariante

Podemos visualizar el efecto de la edad sobre el riesgo de padecer HTA:

mg <- glm(HTA_OMS ~ EDAD, data=telde, family=binomial)
EDAD=seq(30,80,length=200)
pHTA=predict(mg,newdata=data.frame(EDAD=EDAD),type="response")
plot(pHTA~EDAD, ylab="pr(HTA)", type="l", col="blue",lwd=2)

Regresión logística multivariante

 

 

mg <- glm(HTA_OMS ~ DM + EDAD, data=telde, family=binomial)
summary(mg)
## 
## Call:
## glm(formula = HTA_OMS ~ DM + EDAD, family = binomial, data = telde)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1255  -0.7804  -0.5432   0.9044   2.2104  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -4.550680   0.348603 -13.054  < 2e-16 ***
## DMSí         0.909660   0.219401   4.146 3.38e-05 ***
## EDAD         0.073285   0.006818  10.748  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1282.8  on 1029  degrees of freedom
## Residual deviance: 1081.5  on 1027  degrees of freedom
## AIC: 1087.5
## 
## Number of Fisher Scoring iterations: 4

Odds-Ratio

exp(coef(mg))
## (Intercept)        DMSí        EDAD 
##  0.01056002  2.48347866  1.07603696
exp(confint(mg))
## Waiting for profiling to be done...
##                   2.5 %     97.5 %
## (Intercept) 0.005256831 0.02064005
## DMSí        1.619664315 3.83379057
## EDAD        1.061975094 1.09077065

Representamos gráficamente la relación entre la probabilidad de padecer HTA y la edad según que el sujeto sea o no diabético:

Regresión logística multivariante

 

Por último estudiamos la asociación de DM con HTA ajustando simultáneamente por IR y Edad:

 

\[\pi\left(I_{DM},I_{IR},\textrm{Edad}\right)=\Pr\left(HTA\left|I_{DM},I_{IR},\textrm{Edad}\right.\right)=\]

\[=\frac{\exp\left(\beta_{0}+\beta_{1}I_{DM}+\beta_{2}I_{IR}+\beta_{3}\textrm{Edad}\right)}{1+\exp\left(\beta_{0}+\beta_{1}I_{DM}+\beta_{2}I_{IR}+\beta_{3}\textrm{Edad}\right)}\]

mg2 <- glm(HTA_OMS~DM+IR+EDAD,data=telde,family=binomial)
summary(mg2)
## 
## Call:
## glm(formula = HTA_OMS ~ DM + IR + EDAD, family = binomial, data = telde)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.0154  -0.7342  -0.4717   0.8531   2.3655  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -4.965598   0.369248 -13.448  < 2e-16 ***
## DMSí         0.323218   0.236159   1.369    0.171    
## IRSí         1.178958   0.166337   7.088 1.36e-12 ***
## EDAD         0.074358   0.007001  10.621  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1282.8  on 1029  degrees of freedom
## Residual deviance: 1031.2  on 1026  degrees of freedom
## AIC: 1039.2
## 
## Number of Fisher Scoring iterations: 4

Regresión logística multivariante

Resumen de la estimación del modelo:

  Coeficiente (SE) P OR (IC-95%)
(Intercept) -4.966 (0.369) < .001 0.007 (0.003,0.014)
DMSí 0.323 (0.236) 0.171 1.382 (0.870,2.200)
IRSí 1.179 (0.166) < .001 3.251 (2.349,4.511)
EDAD 0.074 (0.007) < .001 1.077 (1.063,1.092)