Taller 2 - Regresión Lineal

## # A tibble: 6 × 12
##   año   pais      parto_Profesional_salud anemia_madre inseg_alim exp_vida_nacer
##   <chr> <chr>                       <dbl>        <dbl>      <dbl>          <dbl>
## 1 2018  Argentina                    99.5         25.6       12.9           76.8
## 2 2018  Brazil                       98.8         22          1.1           75.6
## 3 2018  France                       98.1         14.4        0.7           82.7
## 4 2018  Germany                      96.2         15.4        0.7           80.9
## 5 2018  Indonesia                    93.6         29.5        0.8           70.1
## 6 2018  Japan                        99.9         25.3        0.7           84.2
## # ℹ 6 more variables: mort_materna <dbl>, gasto_salud <dbl>, ingreso_pc <dbl>,
## #   continente <chr>, log_mort_materna <dbl>, log_gasto_salud <dbl>

Se trabaja con una base de datos que contiene información socioeconómica y de salud para distintos países.

1 Modelo inicial

## 
## Call:
## lm(formula = exp_vida_nacer ~ parto_Profesional_salud + anemia_madre + 
##     inseg_alim + mort_materna + gasto_salud + ingreso_pc + continente, 
##     data = base_modelo)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.8923 -1.0175  0.0773  1.9820  4.8375 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             70.5428847  7.6505988   9.221 5.04e-12 ***
## parto_Profesional_salud  0.0776604  0.0759512   1.023   0.3119    
## anemia_madre            -0.0544465  0.1009251  -0.539   0.5922    
## inseg_alim              -0.1350396  0.0905064  -1.492   0.1425    
## mort_materna            -4.6994486  1.7912282  -2.624   0.0118 *  
## gasto_salud              0.0007354  0.0002777   2.648   0.0111 *  
## ingreso_pc              -0.1805831  0.1653238  -1.092   0.2804    
## continenteAmericas      -0.0525790  2.0931648  -0.025   0.9801    
## continenteAsia-Oceania   0.0984986  2.0063446   0.049   0.9611    
## continenteEurope         0.7633895  2.1488834   0.355   0.7240    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.115 on 46 degrees of freedom
## Multiple R-squared:  0.8286, Adjusted R-squared:  0.795 
## F-statistic:  24.7 on 9 and 46 DF,  p-value: 8.971e-15

El modelo presenta un R² de 0.8286, lo que indica que aproximadamente el 82.86% de la variabilidad en la esperanza de vida al nacer es explicada por las variables incluidas.

El R² ajustado (0.795) confirma que el modelo mantiene una buena capacidad explicativa aun penalizando por el número de variables.

Las variables mortalidad materna y gasto en salud resultan estadísticamente significativas, sugiriendo que tienen un impacto relevante sobre la esperanza de vida.

Se observan relaciones no lineales en algunas variables, particularmente en mortalidad materna y gasto en salud, lo cual sugiere la necesidad de transformaciones.

2 Transformación de variables

## 
## Call:
## lm(formula = exp_vida_nacer ~ parto_Profesional_salud + anemia_madre + 
##     inseg_alim + log_mort_materna + log_gasto_salud + ingreso_pc + 
##     continente, data = base_modelo)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -7.815 -1.064  0.135  1.785  3.299 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             60.16814    6.89743   8.723  2.6e-11 ***
## parto_Profesional_salud -0.05255    0.06273  -0.838 0.406517    
## anemia_madre             0.04433    0.08040   0.551 0.584109    
## inseg_alim              -0.03908    0.07523  -0.519 0.605936    
## log_mort_materna        -3.24681    0.77316  -4.199 0.000121 ***
## log_gasto_salud          1.57438    0.59629   2.640 0.011275 *  
## ingreso_pc               0.04062    0.14010   0.290 0.773142    
## continenteAmericas       2.05789    1.73506   1.186 0.241688    
## continenteAsia-Oceania   0.81066    1.69794   0.477 0.635311    
## continenteEurope        -1.62272    1.87353  -0.866 0.390916    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.541 on 46 degrees of freedom
## Multiple R-squared:  0.8859, Adjusted R-squared:  0.8636 
## F-statistic: 39.69 on 9 and 46 DF,  p-value: < 2.2e-16

El modelo mejora significativamente:

R² = 0.8859 R² ajustado = 0.8636

Las variables transformadas (log_mort_materna y log_gasto_salud) resultan altamente significativas.

## 
##  Shapiro-Wilk normality test
## 
## data:  modelo2$residuals
## W = 0.94782, p-value = 0.01701

El p-valor es menor a 0.05, lo que indica que los residuos no siguen una distribución normal, sugiriendo posibles outliers.

## # A tibble: 3 × 13
##   año   pais       parto_Profesional_sa…¹ anemia_madre inseg_alim exp_vida_nacer
##   <chr> <chr>                       <dbl>        <dbl>      <dbl>          <dbl>
## 1 2018  United St…                   99.1         10.2        0.8           78.6
## 2 2018  Gambia, T…                   82.7         57.3       24.6           64.0
## 3 2018  Lesotho                      86.6         32.6       27             54.6
## # ℹ abbreviated name: ¹​parto_Profesional_salud
## # ℹ 7 more variables: mort_materna <dbl>, gasto_salud <dbl>, ingreso_pc <dbl>,
## #   continente <chr>, log_mort_materna <dbl>, log_gasto_salud <dbl>,
## #   residuos <dbl>

3 Identificación de outliers

Se identificaron tres outliers correspondientes a Estados Unidos, Gambia y Lesotho. Con el propósito de mejorar el cumplimiento de los supuestos del modelo, se decidió excluir estos países debido a sus condiciones extremas en la variable de mortalidad materna.

## 
## Call:
## lm(formula = exp_vida_nacer ~ parto_Profesional_salud + anemia_madre + 
##     inseg_alim + mort_materna + gasto_salud + ingreso_pc + continente, 
##     data = base_modelo2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2426 -1.4964 -0.0475  1.8822  3.8352 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             71.7656371  6.1815057  11.610  7.7e-15 ***
## parto_Profesional_salud  0.1241850  0.0602771   2.060  0.04546 *  
## anemia_madre            -0.2134729  0.0819764  -2.604  0.01260 *  
## inseg_alim              -0.0922062  0.0753982  -1.223  0.22802    
## mort_materna            -2.8867104  1.4301503  -2.018  0.04981 *  
## gasto_salud              0.0007660  0.0002583   2.965  0.00492 ** 
## ingreso_pc              -0.1701274  0.1480298  -1.149  0.25679    
## continenteAmericas      -2.0550210  1.7229422  -1.193  0.23951    
## continenteAsia-Oceania  -1.4312665  1.5552275  -0.920  0.36255    
## continenteEurope        -1.8941499  1.6885616  -1.122  0.26819    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.36 on 43 degrees of freedom
## Multiple R-squared:  0.8819, Adjusted R-squared:  0.8572 
## F-statistic: 35.69 on 9 and 43 DF,  p-value: < 2.2e-16

4 Modelo final sin outliers

El modelo ajustado sin outliers presenta un R² ajustado de 0.8572, lo que indica que aproximadamente el 85.7% de la variabilidad en la esperanza de vida al nacer es explicada por las variables incluidas.

Además, el test global del modelo (F-statistic = 35.69, p < 2.2e-16) indica que el modelo es estadísticamente significativo en su conjunto.

5 Validacion de supuestos

5.1 Linealidad

A partir de los gráficos de residuos vs variables explicativas, se observa que:

No hay patrones sistemáticos fuertes en la mayoría de variables. Algunas variables muestran ligera curvatura (por ejemplo, inseguridad alimentaria y gasto en salud), pero no de forma crítica.

En general, el supuesto de linealidad se considera razonablemente cumplido.

5.2 Normalidad

## 
##  Shapiro-Wilk normality test
## 
## data:  modelo3_sinLog$residuals
## W = 0.97608, p-value = 0.363

El test de Shapiro-Wilk arroja un p-value = 0.363 (> 0.05), por lo que:

No se rechaza la hipótesis nula de normalidad. Los residuos pueden considerarse aproximadamente normales.

5.3 Homocedasticidad

## 
##  studentized Breusch-Pagan test
## 
## data:  modelo3_sinLog
## BP = 4.5955, df = 9, p-value = 0.8681

El test de Breusch-Pagan presenta un p-value = 0.8681 (> 0.05), lo que indica que:

No hay evidencia de heterocedasticidad. Se cumple el supuesto de varianza constante de los errores.

5.4 Multicolinealidad

##                             GVIF Df GVIF^(1/(2*Df))
## parto_Profesional_salud 4.048637  1        2.012123
## anemia_madre            7.421426  1        2.724229
## inseg_alim              1.724207  1        1.313091
## mort_materna            7.857544  1        2.803131
## gasto_salud             2.541741  1        1.594284
## ingreso_pc              1.932481  1        1.390137
## continente              6.910201  3        1.380114

Los valores de VIF muestran que:

Ninguna variable supera valores críticos (≈10). Algunas variables como anemia materna y mortalidad materna presentan valores moderados (~2.7–2.8).

Esto sugiere que no hay problemas graves de multicolinealidad.

5.5 Independencia

## 
##  Durbin-Watson test
## 
## data:  modelo3_sinLog
## DW = 2.5113, p-value = 0.9711
## alternative hypothesis: true autocorrelation is greater than 0

Independencia de los residuos

El test de Durbin-Watson arroja un valor de 2.51 con p-value = 0.97, lo que indica:

No hay evidencia de autocorrelación en los residuos. Se cumple el supuesto de independencia.

##                                 2.5 %       97.5 %
## (Intercept)             59.2994428461 84.231831307
## parto_Profesional_salud  0.0026246402  0.245745329
## anemia_madre            -0.3787940692 -0.048151683
## inseg_alim              -0.2442611389  0.059848644
## mort_materna            -5.7708833976 -0.002537432
## gasto_salud              0.0002450135  0.001286895
## ingreso_pc              -0.4686579744  0.128403145
## continenteAmericas      -5.5296651141  1.419623178
## continenteAsia-Oceania  -4.5676816542  1.705148749
## continenteEurope        -5.2994589196  1.511159067

6 Intervalos de confianza

Los intervalos de confianza al 95% muestran que las variables:

parto_Profesional_salud anemia_madre mort_materna gasto_salud

no incluyen el cero, lo que confirma su significancia estadística.

7 Anova

## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ 1
## Model 2: exp_vida_nacer ~ mort_materna
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1     52 2028.99                                  
## 2     51  670.04  1      1359 103.44 7.228e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud
##   Res.Df    RSS Df Sum of Sq      F   Pr(>F)    
## 1     51 670.04                                 
## 2     50 317.56  1    352.48 55.499 1.19e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna + gasto_salud
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud
##   Res.Df    RSS Df Sum of Sq      F  Pr(>F)  
## 1     50 317.56                              
## 2     49 299.41  1    18.149 2.9702 0.09112 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre
##   Res.Df    RSS Df Sum of Sq      F  Pr(>F)   
## 1     49 299.41                               
## 2     48 259.99  1    39.414 7.2766 0.00961 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre + inseg_alim
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     48 259.99                           
## 2     47 255.14  1    4.8539 0.8941 0.3492
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre + inseg_alim
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre + inseg_alim + ingreso_pc
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     47 255.14                           
## 2     46 248.15  1     6.992 1.2961 0.2608
## Analysis of Variance Table
## 
## Model 1: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre + inseg_alim + ingreso_pc
## Model 2: exp_vida_nacer ~ mort_materna + gasto_salud + parto_Profesional_salud + 
##     anemia_madre + inseg_alim + ingreso_pc + continente
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     46 248.15                           
## 2     43 239.55  3    8.6004 0.5146 0.6744

8 Modelo Optimo

A partir de la comparación secuencial mediante ANOVA, se determinó que el modelo óptimo incluye:

Mortalidad materna, Gasto en salud, Parto profesional en salud, Anemia materna,

La inclusión de variables adicionales no mejora significativamente el ajuste del modelo.

## 
## Call:
## lm(formula = exp_vida_nacer ~ parto_Profesional_salud + anemia_madre + 
##     mort_materna + gasto_salud, data = base_modelo2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5510 -1.6017  0.1217  1.7632  4.1333 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             68.7113660  5.8061321  11.834 7.72e-16 ***
## parto_Profesional_salud  0.1165231  0.0572750   2.034  0.04745 *  
## anemia_madre            -0.1738143  0.0644349  -2.698  0.00961 ** 
## mort_materna            -2.9604488  1.2647303  -2.341  0.02345 *  
## gasto_salud              0.0009701  0.0002210   4.390 6.21e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.327 on 48 degrees of freedom
## Multiple R-squared:  0.8719, Adjusted R-squared:  0.8612 
## F-statistic: 81.65 on 4 and 48 DF,  p-value: < 2.2e-16