CLASE 25 DE MAYO YURY

Quarto

Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.

Instalar paquetes si es necesario

# Estos paquetes solo se instalan una vez
install.packages("MASS")       # Para modelo probit
install.packages("car")        # Para pruebas estadísticas
install.packages("margins")    # Para calcular efectos marginales
install.packages("pROC")       # Para curva ROC
install.packages("ggplot2")    # Para visualización
install.packages("caret")      # Para matriz de confusión
install.packages("ggplot")     # Para visualización
# Cargar librerías
library(MASS)
library(car)
library(margins)
library(pROC)
library(ggplot2)
library(ggplot)
library(caret)
library(haven)

#Leer la base de datos

library(haven)
data <- read_dta("Data1_R.dta")
View(data)

Ver las primeras filas de la base de datos

head(data)
# A tibble: 6 x 50
  area       empleo          region   edad t_hijos nac_vivo_murieron mortinato_2
  <dbl+lbl>  <dbl+lbl>       <dbl+l> <dbl>   <dbl> <dbl+lbl>         <dbl+lbl>  
1 1 [Urbano] 1 [Trabajó al ~ 1 [Sie~    19       1 0 [No]            0 [No]     
2 1 [Urbano] 0 [No trabajó]  1 [Sie~    23       1 0 [No]            0 [No]     
3 1 [Urbano] 1 [Trabajó al ~ 1 [Sie~    38       5 0 [No]            0 [No]     
4 1 [Urbano] 0 [No trabajó]  1 [Sie~    18       1 0 [No]            0 [No]     
5 1 [Urbano] 0 [No trabajó]  1 [Sie~    21       1 0 [No]            0 [No]     
6 1 [Urbano] 1 [Trabajó al ~ 1 [Sie~    22       1 0 [No]            0 [No]     
# i 43 more variables: depresion_pp <dbl+lbl>, intensidad_dpp <dbl+lbl>,
#   etnia <dbl+lbl>, f2_s2_216_1 <dbl+lbl>, f2_s2_216_2 <dbl>,
#   f2_s2_218_1_a <dbl+lbl>, tiempo_dpp <dbl+lbl>, f2_s5_504a_1 <dbl+lbl>,
#   f2_s5_504b_1 <dbl+lbl>, f2_s5_504c_1 <dbl+lbl>, f2_s5_504d_1 <dbl+lbl>,
#   f2_s5_504e_1 <dbl+lbl>, f2_s5_504f_1 <dbl+lbl>, f2_s5_504g_1 <dbl+lbl>,
#   f2_s5_504h_1 <dbl+lbl>, f2_s5_504i_1 <dbl+lbl>, f2_s5_504j_1 <dbl+lbl>,
#   f2_s5_504k_1 <dbl+lbl>, est_civil <dbl+lbl>, q_usted <dbl+lbl>, ...

Revisar estructura de los datos

str(data)

##Ejemplo 1: Modelos con variable dependiente dicotómica

##Modelos logit y probit

Ajustar el modelo logit

modelo_logit <- glm(depresion_pp ~ lingrl + anios_esc + edad + t_hijos + etnia + area, 
                    data = data, family = binomial(link = "logit"))

Ajustar el modelo probit

modelo_probit <- glm(depresion_pp ~ lingrl + anios_esc + edad + t_hijos + etnia + area, 
                     data = data, family = binomial(link = "probit"))

Resumen modelo Logit

summary(modelo_logit)

Call:
glm(formula = depresion_pp ~ lingrl + anios_esc + edad + t_hijos + 
    etnia + area, family = binomial(link = "logit"), data = data)

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -2.3377859  0.1015521 -23.021  < 2e-16 ***
lingrl       0.0006157  0.0071763   0.086   0.9316    
anios_esc   -0.0078052  0.0049109  -1.589   0.1120    
edad         0.0333503  0.0032243  10.344  < 2e-16 ***
t_hijos      0.0391392  0.0189765   2.063   0.0392 *  
etnia        0.3502255  0.0605997   5.779  7.5e-09 ***
area         0.1089295  0.0425378   2.561   0.0104 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17346  on 16450  degrees of freedom
Residual deviance: 17105  on 16444  degrees of freedom
AIC: 17119

Number of Fisher Scoring iterations: 4

#Análisis

El ingreso del hogar y los años de escolaridad no resultan estadísticamente significativos, lo que significa que no contribuyen de manera relevante a explicar la probabilidad de que las mujeres ecuatorianas presenten depresión posparto, según los datos analizados en este modelo. La edad es estadisticamente significativa, lo que se traduce en que las mujeres de mayor edad, tienen probabilidad de sufrir depresión posparto. El número de hijos presenta significancia estadistica, es decir que a medida que aunmenta el número de hijos, aunmenta la probabilidad de sufran depresión psparto La etnia es una variable estadisticamente significativa en el modelo, lo que significa que, las mujeres indigenas tienen mayor probabilidad de tener depresión posparto. Las mujeres del área rural tienen mayor probabilidad de sufrir depresipon posparto, en comparación a las mujeres del área urbana.

Resumen modelo probit

summary(modelo_probit)

Call:
glm(formula = depresion_pp ~ lingrl + anios_esc + edad + t_hijos + 
    etnia + area, family = binomial(link = "probit"), data = data)

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.401e+00  5.852e-02 -23.942  < 2e-16 ***
lingrl       3.942e-05  4.170e-03   0.009  0.99246    
anios_esc   -4.481e-03  2.861e-03  -1.566  0.11733    
edad         1.958e-02  1.890e-03  10.363  < 2e-16 ***
t_hijos      2.334e-02  1.123e-02   2.078  0.03774 *  
etnia        2.078e-01  3.585e-02   5.796  6.8e-09 ***
area         6.431e-02  2.452e-02   2.623  0.00872 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17346  on 16450  degrees of freedom
Residual deviance: 17103  on 16444  degrees of freedom
AIC: 17117

Number of Fisher Scoring iterations: 4

Comparar AIC y BIC de ambos modelos

El criterio de información de Akaike (AIC) es un método matemático para evaluar el ajuste de un modelo a los datos a partir de los cuales se generó.

El criterio de Información Bayesiano (BIC) es una medida de bondad de ajuste de un modelo estadístico, y es a muenudo utilizado como un criterio para para la selección de modelos entre un conjunto finito de modelos.

##Comparar AIC de los modelos

aic_logit <- AIC(modelo_logit)
aic_probit <- AIC(modelo_probit)

##Comparar BIC de los modelos

bic_logit <- BIC(modelo_logit)
bic_probit <- BIC(modelo_probit)

Mostrar resultados

cat("AIC Logit:", aic_logit, " | AIC Probit:", aic_probit, "\n")
AIC Logit: 17119.38  | AIC Probit: 17117.13 
cat("BIC Logit:", bic_logit, " | BIC Probit:", bic_probit, "\n")
BIC Logit: 17173.34  | BIC Probit: 17171.09 

Cinclusión

El modelo con menor criterio de información, tanto AIC como BIC, es el modelo probit.

Calcular efectos marginales para Logit

library(margins)
marg_logit <- margins(modelo_logit)
summary(marg_logit)
    factor     AME     SE       z      p   lower  upper
 anios_esc -0.0013 0.0008 -1.5897 0.1119 -0.0029 0.0003
      area  0.0184 0.0072  2.5619 0.0104  0.0043 0.0325
      edad  0.0056 0.0005 10.4239 0.0000  0.0046 0.0067
     etnia  0.0592 0.0102  5.7944 0.0000  0.0392 0.0793
    lingrl  0.0001 0.0012  0.0858 0.9316 -0.0023 0.0025
   t_hijos  0.0066 0.0032  2.0632 0.0391  0.0003 0.0129

Analisis

Los años de escolaridad y el ingreso no son estadisticamente significativos, es decir no ayudan a explicar la probabilidad de que las mujeres ecuatorianas padezcan de depresión posparto.

El área al ser una variable estadísticamente significativa 0.0184*100, nos explica que las mujeres del área rural tienen el 1.84% tienen más probabilidades de sufrir depresión posparto.

Un año adicional en las mujeres ecuatorias aunmentan la probabilidad en 0,56% de sufrir de depresipon posparto.

Una mujer indígena tiene el 5.92% de probabilidad de sufrir de depresión posparto.

A medida que aunmenta el número de hijos aunmenta la probabilidad en 0.66% que padescan de depresipon posparto

Calcular efectos marginales para Probit

marg_probit <- margins(modelo_probit)
summary(marg_probit)
    factor     AME     SE       z      p   lower  upper
 anios_esc -0.0013 0.0008 -1.5664 0.1173 -0.0029 0.0003
      area  0.0188 0.0072  2.6238 0.0087  0.0047 0.0328
      edad  0.0057 0.0005 10.4392 0.0000  0.0046 0.0068
     etnia  0.0606 0.0104  5.8096 0.0000  0.0402 0.0811
    lingrl  0.0000 0.0012  0.0095 0.9925 -0.0024 0.0024
   t_hijos  0.0068 0.0033  2.0783 0.0377  0.0004 0.0132

Analisis

Los años de escolaridad y el ingreso no son estadisticamente significativos, es decir no ayudan a explicar la probabilidad de que las mujeres ecuatorianas padezcan de depresión posparto.

El área al ser una variable aunmenta en 1.88% tienen más probabilidades de sufrir depresión posparto.

Un año adicional en las mujeres ecuatorias aunmentan la probabilidad en 0,57% de sufrir de depresipon posparto.

Una mujer indígena tiene el 6.06% de probabilidad de sufrir de depresión posparto.

A medida que aunmenta el número de hijos aunmenta la probabilidad en 0.68% que padescan de depresipon posparto

###Para el modelo logit podemos calcular la matriz de confusión

Obtener predicciones del modelo logit

pred_logit <- ifelse(predict(modelo_logit, type = "response") > 0.5, 1, 0)

Crear matriz de confusión

conf_matrix <- table(Predicho = pred_logit, Real = data$depresion_pp)

Mostrar matriz de confusión

print(conf_matrix)
        Real
Predicho     0     1
       0 12828  3623

Calcular exactitud

exactitud <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Exactitud del modelo logit:", exactitud, "\n")
Exactitud del modelo logit: 0.7797702 

Las variables consideradas para explicar la probabilidad de que las mujeres de depresión posparto ocurra de acuerdo al modelo ligin es de 77,98%

Calcular la curva ROC para el modelo logit (ayuda a ver con cuanta exactitud el modelo está prediciendo los resultados)

library(pROC)
Type 'citation("pROC")' for a citation.

Adjuntando el paquete: 'pROC'
The following objects are masked from 'package:stats':

    cov, smooth, var
roc_logit <- roc(data$depresion_pp, predict(modelo_logit, type = "response"))
Setting levels: control = 0, case = 1
Setting direction: controls < cases

Graficar la curva ROC

library(ggplot2)
ggplot() +
  geom_line(aes(x = roc_logit$specificities, y = roc_logit$sensitivities), color = "blue") +
  geom_abline(linetype = "dashed", color = "red") + 
  labs(title = "Curva ROC - Modelo Logit",
       x = "1 - Especificidad",
       y = "Sensibilidad") +
  theme_minimal()

Mostrar el área bajo la curva (AUC)

auc_logit <- auc(roc_logit)
cat("Área bajo la curva (AUC) - Modelo Logit:", auc_logit, "\n")
Área bajo la curva (AUC) - Modelo Logit: 0.5836005 

#Curva ROC: Muestra el rendimiento del modelo en diferentes umbrales de clasificación. #AUC > 0.7 indica un buen modelo predictivo.

Convertir variables haven_labelled a numeric usando haven::as_factor

data$empleo <- as.numeric(haven::as_factor(data$empleo))
data$nac_vivo_murieron <- as.numeric(haven::as_factor(data$nac_vivo_murieron))
data$mortinato_2 <- as.numeric(haven::as_factor(data$mortinato_2))
data$est_civil <- as.numeric(haven::as_factor(data$est_civil))

Ajustar un nuevo modelo logit con más variables

modelo_logit2 <- glm(depresion_pp ~ lingrl + anios_esc + edad + t_hijos + etnia + area +
                     empleo + nac_vivo_murieron + mortinato_2 + est_civil,
                     data = data, family = binomial(link = "logit"))

Resumen del nuevo modelo logit con variables adicionales

summary(modelo_logit2)

Call:
glm(formula = depresion_pp ~ lingrl + anios_esc + edad + t_hijos + 
    etnia + area + empleo + nac_vivo_murieron + mortinato_2 + 
    est_civil, family = binomial(link = "logit"), data = data)

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)    
(Intercept)       -4.915478   0.192401 -25.548  < 2e-16 ***
lingrl            -0.029765   0.012826  -2.321  0.02030 *  
anios_esc          0.002179   0.005060   0.431  0.66669    
edad               0.027485   0.003387   8.115 4.85e-16 ***
t_hijos            0.037720   0.019392   1.945  0.05176 .  
etnia              0.295325   0.063081   4.682 2.85e-06 ***
area               0.136516   0.043461   3.141  0.00168 ** 
empleo             0.223930   0.071417   3.136  0.00172 ** 
nac_vivo_murieron  1.502174   0.091312  16.451  < 2e-16 ***
mortinato_2        0.844528   0.105359   8.016 1.09e-15 ***
est_civil         -0.051580   0.043270  -1.192  0.23325    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17346  on 16450  degrees of freedom
Residual deviance: 16744  on 16440  degrees of freedom
AIC: 16766

Number of Fisher Scoring iterations: 4

Cinclusión

En el nuevo modelo logit con variables ampliadas, se observa una mejora en el ajuste general (AIC bajó a 16766). Además, varias variables resultaron estadísticamente significativas:

La edad, el número de hijos, el área de residencia, etnia, empleo, y la pérdida de hijos vivos o mortinatos se asocian significativamente con una mayor probabilidad de depresión posparto.

En cambio, los años de escolaridad y el estado civil no resultaron significativos en este modelo.

De forma interesante, el ingreso del hogar (lingrl) sí fue significativo y con efecto negativo, lo que indica que mayores ingresos estarían asociados con una menor probabilidad de sufrir depresión posparto.

Calcular efectos marginales para el modelo logit extendido

marg_logit2 <- margins(modelo_logit2)

Ver resumen de los efectos marginales

summary(marg_logit2)
            factor     AME     SE       z      p   lower   upper
         anios_esc  0.0004 0.0008  0.4307 0.6667 -0.0013  0.0020
              area  0.0224 0.0071  3.1431 0.0017  0.0084  0.0364
              edad  0.0045 0.0006  8.1515 0.0000  0.0034  0.0056
            empleo  0.0368 0.0117  3.1377 0.0017  0.0138  0.0598
         est_civil -0.0085 0.0071 -1.1922 0.2332 -0.0224  0.0055
             etnia  0.0486 0.0104  4.6892 0.0000  0.0283  0.0689
            lingrl -0.0049 0.0021 -2.3216 0.0203 -0.0090 -0.0008
       mortinato_2  0.1389 0.0172  8.0642 0.0000  0.1051  0.1726
 nac_vivo_murieron  0.2470 0.0146 16.9456 0.0000  0.2184  0.2756
           t_hijos  0.0062 0.0032  1.9457 0.0517 -0.0000  0.0125

Analisis efectos (multiplicarlos por 100 y analizarlos)

Los efectos marginales del modelo logit ampliado permiten observar el impacto porcentual de cada variable sobre la probabilidad de que una mujer ecuatoriana presente depresión posparto.

Las pérdidas de hijos vivos y mortinatos son los factores más influyentes, aumentando la probabilidad en 24.7% y 13.9% respectivamente.

Otras variables significativas incluyen: etnia indígena (↑ 4.86%), estar empleada (↑ 3.68%), vivir en zona rural (↑ 2.24%), y la edad (↑ 0.45% por año adicional).

El ingreso del hogar tiene un efecto negativo leve, reduciendo la probabilidad en 0.49%, mientras que el número de hijos tiene un efecto marginal con un valor p ligeramente por encima de 0.05.

En contraste, los años de escolaridad y el estado civil no mostraron efectos significativos.

Obtener predicciones del modelo logit extendido (umbral de 0.5)

pred_logit2 <- ifelse(predict(modelo_logit2, type = "response") > 0.5, 1, 0)

Crear matriz de confusión

conf_matrix2 <- table(Predicho = pred_logit2, Real = data$depresion_pp)

Mostrar matriz

print(conf_matrix2)
        Real
Predicho     0     1
       0 12626  3344
       1   202   279

Calcular exactitud

exactitud2 <- sum(diag(conf_matrix2)) / sum(conf_matrix2)
cat("Exactitud del modelo logit 2:", exactitud2, "\n")
Exactitud del modelo logit 2: 0.7844508 

Analisis

La exactitud del modelo logit ampliado es del 78.45%, lo que indica que el modelo logra clasificar correctamente a aproximadamente 8 de cada 10 mujeres en cuanto a si presentan o no depresión posparto. Esta exactitud representa una ligera mejora respecto al modelo inicial, lo que sugiere que las variables adicionales incorporadas aportan valor predictivo.

Calcular la curva ROC para modelo_logit2

roc_logit2 <- roc(data$depresion_pp, predict(modelo_logit2, type = "response"))
Setting levels: control = 0, case = 1
Setting direction: controls < cases

Graficar la curva ROC

ggplot() +
  geom_line(aes(x = roc_logit2$specificities, y = roc_logit2$sensitivities), color = "blue") +
  geom_abline(linetype = "dashed", color = "red") + 
  labs(title = "Curva ROC - Modelo Logit Ampliado",
       x = "1 - Especificidad",
       y = "Sensibilidad") +
  theme_minimal()

Calcular AUC

auc_logit2 <- auc(roc_logit2)
cat("Área bajo la curva (AUC) - Modelo Logit 2:", auc_logit2, "\n")
Área bajo la curva (AUC) - Modelo Logit 2: 0.6152535 

Análisis

El área bajo la curva (AUC) del modelo logit ampliado es de 0.6152, lo que indica que el modelo tiene una capacidad moderada para discriminar entre mujeres con y sin depresión posparto. Si bien este valor representa una ligera mejora frente al modelo inicial (AUC ≈ 0.58), aún se encuentra por debajo del umbral de 0.7, considerado como un nivel aceptable de discriminación. Esto sugiere que, aunque las variables adicionales aportan información relevante.

Selección automática de variables para mejorar el modelo

modelo_logit_step <- step(modelo_logit2)
Start:  AIC=16765.9
depresion_pp ~ lingrl + anios_esc + edad + t_hijos + etnia + 
    area + empleo + nac_vivo_murieron + mortinato_2 + est_civil

                    Df Deviance   AIC
- anios_esc          1    16744 16764
- est_civil          1    16745 16765
<none>                    16744 16766
- t_hijos            1    16748 16768
- lingrl             1    16749 16769
- empleo             1    16754 16774
- area               1    16754 16774
- etnia              1    16765 16785
- mortinato_2        1    16805 16825
- edad               1    16809 16829
- nac_vivo_murieron  1    17013 17033

Step:  AIC=16764.08
depresion_pp ~ lingrl + edad + t_hijos + etnia + area + empleo + 
    nac_vivo_murieron + mortinato_2 + est_civil

                    Df Deviance   AIC
- est_civil          1    16745 16763
<none>                    16744 16764
- t_hijos            1    16748 16766
- lingrl             1    16749 16767
- empleo             1    16754 16772
- area               1    16755 16773
- etnia              1    16765 16783
- mortinato_2        1    16805 16823
- edad               1    16810 16828
- nac_vivo_murieron  1    17014 17032

Step:  AIC=16763.4
depresion_pp ~ lingrl + edad + t_hijos + etnia + area + empleo + 
    nac_vivo_murieron + mortinato_2

                    Df Deviance   AIC
<none>                    16745 16763
- t_hijos            1    16749 16765
- lingrl             1    16751 16767
- empleo             1    16755 16771
- area               1    16756 16772
- etnia              1    16766 16782
- mortinato_2        1    16806 16822
- edad               1    16810 16826
- nac_vivo_murieron  1    17016 17032

Ver resumen del modelo optimizado

summary(modelo_logit_step)

Call:
glm(formula = depresion_pp ~ lingrl + edad + t_hijos + etnia + 
    area + empleo + nac_vivo_murieron + mortinato_2, family = binomial(link = "logit"), 
    data = data)

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)    
(Intercept)       -4.923602   0.176905 -27.832  < 2e-16 ***
lingrl            -0.028929   0.012624  -2.292  0.02193 *  
edad               0.026656   0.003295   8.090 5.96e-16 ***
t_hijos            0.035072   0.018609   1.885  0.05947 .  
etnia              0.288404   0.062807   4.592 4.39e-06 ***
area               0.139186   0.042836   3.249  0.00116 ** 
empleo             0.221076   0.071259   3.102  0.00192 ** 
nac_vivo_murieron  1.500702   0.091009  16.490  < 2e-16 ***
mortinato_2        0.842235   0.105228   8.004 1.21e-15 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 17346  on 16450  degrees of freedom
Residual deviance: 16745  on 16442  degrees of freedom
AIC: 16763

Number of Fisher Scoring iterations: 4

Calcular efectos marginales para modelo optimizado

marg_step <- margins(modelo_logit_step)
summary(marg_step)
            factor     AME     SE       z      p   lower   upper
              area  0.0229 0.0070  3.2515 0.0011  0.0091  0.0367
              edad  0.0044 0.0005  8.1258 0.0000  0.0033  0.0054
            empleo  0.0364 0.0117  3.1046 0.0019  0.0134  0.0593
             etnia  0.0474 0.0103  4.5989 0.0000  0.0272  0.0676
            lingrl -0.0048 0.0021 -2.2925 0.0219 -0.0088 -0.0007
       mortinato_2  0.1385 0.0172  8.0522 0.0000  0.1048  0.1722
 nac_vivo_murieron  0.2468 0.0145 16.9883 0.0000  0.2183  0.2753
           t_hijos  0.0058 0.0031  1.8852 0.0594 -0.0002  0.0118

Obtener predicciones para el modelo optimizado

pred_step <- ifelse(predict(modelo_logit_step, type = "response") > 0.5, 1, 0)

Crear matriz de confusión

conf_matrix_step <- table(Predicho = pred_step, Real = data$depresion_pp)

Mostrar matriz

print(conf_matrix_step)
        Real
Predicho     0     1
       0 12628  3343
       1   200   280

Calcular exactitud

exactitud_step <- sum(diag(conf_matrix_step)) / sum(conf_matrix_step)
cat("Exactitud del modelo optimizado (step):", exactitud_step, "\n")
Exactitud del modelo optimizado (step): 0.7846332 

Calcular la curva ROC para el modelo optimizado

roc_step <- roc(data$depresion_pp, predict(modelo_logit_step, type = "response"))
Setting levels: control = 0, case = 1
Setting direction: controls < cases

Graficar la curva ROC

ggplot() +
  geom_line(aes(x = roc_step$specificities, y = roc_step$sensitivities), color = "blue") +
  geom_abline(linetype = "dashed", color = "red") +
  labs(title = "Curva ROC - Modelo Logit Optimizado",
       x = "1 - Especificidad",
       y = "Sensibilidad") +
  theme_minimal()

Calcular AUC

auc_step <- auc(roc_step)
cat("Área bajo la curva (AUC) - Modelo Logit Optimizado:", auc_step, "\n")
Área bajo la curva (AUC) - Modelo Logit Optimizado: 0.6146826 

Analisis

El modelo logit optimizado mediante la función step() logró seleccionar las variables con mayor capacidad explicativa, logrando un ajuste eficiente con el menor AIC registrado (16763). Si bien la exactitud del modelo se mantiene alrededor del 78.4%, la área bajo la curva ROC (AUC = 0.6147) muestra una mejora respecto al modelo inicial (AUC = 0.58), aunque todavía se encuentra por debajo del umbral de 0.7 deseado.