Modelo de regresión lineal simple

Modelo ajustado:

simple <- lm(lifExpFem~doctor, data=datos)
summary(simple)
## 
## Call:
## lm(formula = lifExpFem ~ doctor, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.053  -5.513   1.614   6.222  14.067 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  61.6726     0.8568   71.98   <2e-16 ***
## doctor        5.3042     0.4314   12.29   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.771 on 170 degrees of freedom
##   (22 observations deleted due to missingness)
## Multiple R-squared:  0.4706, Adjusted R-squared:  0.4675 
## F-statistic: 151.1 on 1 and 170 DF,  p-value: < 2.2e-16

Intercepto: Expectativa de vida femenina (lifExpFem): Cuando la variable doctor sea igual a 0 la expectativa de vida femenina es igual a 62 años.

Médicos por 1000 habitantes (doctor): El coeficiente de doctor indica que por cada médico adicional por cada mil habitantes, la expectativa de vida femenina aumenta en promedio 5.3 años.

R^2: El modelo explica el 47% de la variación total, lo que indica una relación positiva moderada entre ambas variables.

Normalidad:

library(ggplot2)
library(broom)
df  <- data.frame(
 yhat = fitted.values(simple),
 res  = rstandard(simple))

ggplot(df, aes(sample = res)) +
  stat_qq(color = "orange") +
  stat_qq_line(linewidth = 1) +  
  labs(x = "Cuantiles teóricos", y = "Cuantiles muestrales") +
  theme_minimal(base_size = 14)

shapiro.test(df$res)
## 
##  Shapiro-Wilk normality test
## 
## data:  df$res
## W = 0.9619, p-value = 0.000122
mean(df$res)
## [1] -0.001717297

El test de Shapiro–Wilk (p = 0.000122) indica que los errores no siguen una distribución normal. Esto puede afectar la validez exacta de las pruebas.

Varianza constante (homocedasticidad)

ggplot(df, aes(x = yhat, y = res)) +
  geom_point(alpha = 0.6, color = "orange") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  labs(x = "Valores ajustados", y = "Residuales estandarizados") +
  theme_minimal(base_size = 14)

library(lmtest)
bptest(simple)
## 
##  studentized Breusch-Pagan test
## 
## data:  simple
## BP = 6.7478, df = 1, p-value = 0.009386

El test de Breusch–Pagan (p = 0.009386) sugiere heterocedasticidad. La varianza del error no es constante.

Independencia (autocorrelación):

library(ggplot2)
library(dplyr)
df1 <- data.frame(
  res   =  rstandard(simple)) %>%
  mutate(orden = seq_along(res))    
  

ggplot(df1, aes(x = orden, y = res)) +
  geom_point(alpha = 0.6, color = "orange") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  labs(x = "Orden/tiempo", y = "Residuales estandarizados") +
  theme_minimal(base_size = 14)

dwtest(simple)
## 
##  Durbin-Watson test
## 
## data:  simple
## DW = 1.9794, p-value = 0.4393
## alternative hypothesis: true autocorrelation is greater than 0

El test de Durbin–Watson (p = 0.4393) indica independencia entre los errores. No se observa autocorrelación en los residuales.

Modelo de regresión lineal múltiple

Modelo ajustado:

multiple <- lm(tfr~contracep + yearSchF, data=datos)
summary(multiple)
## 
## Call:
## lm(formula = tfr ~ contracep + yearSchF, data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.88868 -0.52076  0.06251  0.50355  2.22631 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.950649   0.169315  41.051  < 2e-16 ***
## contracep   -0.042085   0.004648  -9.054 3.25e-15 ***
## yearSchF    -0.194993   0.030539  -6.385 3.44e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7979 on 119 degrees of freedom
##   (72 observations deleted due to missingness)
## Multiple R-squared:  0.8018, Adjusted R-squared:  0.7985 
## F-statistic: 240.7 on 2 and 119 DF,  p-value: < 2.2e-16

Intercepto: tasa de fecundidad (tfr): Cuando los anticonceptivos y el promedio de años de educación femenina son 0 la fecundidad es aproximadamente 6.95 hijos por mujer.

Uso de anticonceptivos (contracep): Por cada 1% adicional en el uso anticonceptivos, se disminuyen 0.042 hijos por mujer.

Promedio de años de educación femenina (yearSchF): Por cada año más de educación femenina, disminuye un promedio de 0.195 hijos por mujeres.

R^2: El modelo explica el 80% de la variación, mostrando un ajuste fuerte y confiable.

Normalidad:

library(ggplot2)
library(broom)
df2  <- data.frame(
 yhat = fitted.values(multiple),
 res  = rstandard(multiple))

ggplot(df2, aes(sample = res)) +
  stat_qq(color = "orange") +
  stat_qq_line(linewidth = 1) +  
  labs(x = "Cuantiles teóricos", y = "Cuantiles muestrales") +
  theme_minimal(base_size = 14)

shapiro.test(df2$res)
## 
##  Shapiro-Wilk normality test
## 
## data:  df2$res
## W = 0.99231, p-value = 0.7397
mean(df2$res)
## [1] -0.0007677076

El test de Shapiro–Wilk (p = 0.74) no rechaza la normalidad, por lo que los errores siguen una distribución normal.

Varianza constante (homocedasticidad):

ggplot(df2, aes(x = yhat, y = res)) +
  geom_point(alpha = 0.6, color = "orange") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  labs(x = "Valores ajustados", y = "Residuales estandarizados") +
  theme_minimal(base_size = 14)

library(lmtest)
bptest(multiple)
## 
##  studentized Breusch-Pagan test
## 
## data:  multiple
## BP = 4.5645, df = 2, p-value = 0.1021

El test de Breusch–Pagan (p = 0.1021) no es significativo, lo que indica homocedasticidad. La varianza del error se mantiene constante.

Independencia (autocorrelación):

df3 <- data.frame(
  res   =  rstandard(multiple)) %>%
  mutate(orden = 1:length(res))   
  

ggplot(df3, aes(x = orden, y = res)) +
  geom_point(alpha = 0.6, color = "orange") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  labs(x = "Orden/tiempo", y = "Residuales estandarizados") +
  theme_minimal(base_size = 14)

dwtest(multiple)
## 
##  Durbin-Watson test
## 
## data:  multiple
## DW = 1.9599, p-value = 0.4015
## alternative hypothesis: true autocorrelation is greater than 0

El test de Durbin–Watson (p = 0.4015) muestra independencia de los errores. No hay evidencia de autocorrelación en los residuales.

Conclusión

El modelo simple muestra una relación positiva entre médicos y esperanza de vida, pero no cumple normalidad ni homocedasticidad. El modelo múltiple cumple con todos los supuestos y tiene un ajuste fuerte (R² = 0.80), por lo que es el más confiable para interpretar los resultados.