Gustavo Martínez-Valdes
6/3/2022
## [1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8"
La asociación se refiere a la covaración entre dos variables (\(X\) – \(Y\)).
La causalidad es entendida como “efecto causal” (\(X\) -> \(Y\)). (KKV, 1997)
Interés en evaluar el efecto de una variable \(X\) (Variable Independiente) sobre otra \(Y\) (variable Dependiente).
La meta de medir el efecto causal es la Predicción.
Se utilizará la matriz de datos sobre el Índice de Desarrollo Humano (IDH) elaborada por el PNUD-ONU, agregado a nivel municipal en México para los años 2000 y 2005.
## 'data.frame': 2454 obs. of 22 variables:
## $ id_mpio : int 9014 19019 20350 9016 9003 19046 8019 28009 15054 15020 ...
## $ entidad : chr "Distrito Federal" "Nuevo León" "Oaxaca" "Distrito Federal" ...
## $ mpio : chr "Benito Juárez" "San Pedro Garza García" "San Sebastián Tutla" "Miguel Hidalgo" ...
## $ clasificacion_2000 : int 1 2 16 4 3 6 13 21 9 20 ...
## $ grado_idh_2005 : chr "alto" "alto" "alto" "alto" ...
## $ idh_2000 : num 0.916 0.892 0.854 0.882 0.884 ...
## $ clasificacion_2005 : int 1 2 3 4 5 6 7 8 9 10 ...
## $ idh_2005 : num 0.951 0.95 0.92 0.919 0.917 ...
## $ tasa_moralidad_infantil_2000 : num 17.6 18.4 18 19.1 18.8 ...
## $ tasa_mortalidad_infantil_2005: num 3.02 3.19 5.28 7.3 6.96 ...
## $ tasa_alfabetizacion_2000 : num 98.9 97.9 97.3 97.9 97.5 ...
## $ tasa_alfabetizacion_2005 : num 97.7 98.3 98.5 97.9 97.9 ...
## $ tasa_asistencia_escolar_2000 : num 77.4 65.3 80.5 70.6 73.6 ...
## $ tasa_asistencia_escolar_2005 : num 78.7 67.4 81.8 73.1 75.1 ...
## $ usd_ppc_2000 : num 31182 27914 10349 21290 20911 ...
## $ usd_ppc_2005 : num 27824 33813 16441 21549 19724 ...
## $ indice_salud_2000 : num 0.874 0.868 0.871 0.862 0.864 ...
## $ indice_salud_2005 : num 1 0.998 0.98 0.963 0.966 ...
## $ indice_educacion_2000 : num 0.917 0.87 0.917 0.888 0.895 ...
## $ indice_educacion_2005 : num 0.914 0.88 0.929 0.897 0.903 ...
## $ indice_ingreso_2000 : num 0.958 0.94 0.774 0.895 0.892 ...
## $ indice_ingreso_2005 : num 0.939 0.972 0.852 0.897 0.882 ...
Buscaremos identificar el efecto que tiene el ingreso monetario (\(X\)) sobre la mortalidad infantil (\(Y\)) para el año 2005.
¿Cuál sería la hipótesis de trabajo que se puede derivar?
Variables a utilizar:
Distribución de las variables:
Las relaciones existentes entre variables es un objeto del análisis en las Ciencias Sociales.
3 aspectos al estudiar una relación entre variables:
La gráfica de dispersión es un buen instrumento para revisar la asociación entre las variables.
library(tidyverse)
library(PerformanceAnalytics)
dat_matrix <- datos_idh %>%
select(tasa_mortalidad_infantil_2005, usd_ppc_2005)
PerformanceAnalytics::chart.Correlation(dat_matrix)La distribución de cada una de las variables presenta sesgos hacia la derecha. No necesariamente tienen una distribución “normal”.
Esto se traduce en que su asociación se comporta más parecido a una curva.
Esto es un problema para el análisis inferencial del modelo de regresión lineal.
Debido a la forma de distribución de las variables, éstas se transformarán al multiplicarse por su logaritmo natural para, así, buscar distribuciones con “normalidad”.
dat_matrix <- dat_matrix %>%
mutate(log_usd = log(usd_ppc_2005),
log_mort = log(tasa_mortalidad_infantil_2005))
chart.Correlation(dat_matrix)En las gráficas de distribución se observa que la asociación entre las variables log_mort y log_usd parece más del tipo “lineal”, y el valor de su coeficiente de correlación de Pearson es de -0.73.
¿Cuál es el sentido y la fuerza de la asociación entre las variables?
Hasta aquí se puede plantear que sí existe asociación entre las variables \(X\) y \(Y\), y es estadísticamente significativa.
El problema explicativo -hasta el momento- radica en que asociación no supone causalidad.
Pero aún falta indagar: ¿Cuál es el efecto causal de \(X\) sobre \(Y\)?
Dos formas para evaluar el efecto causal:
Meta del análisis: Interés en encontrar la línea que mejor se ajuste a la distribución de dos variables.
¿Cuál es la mejor recta que resume el comportamiento de la asociación entre \(X\) y \(Y\)?
datos_idh %>% #definición de data frame
na.exclude(idh_2005) %>% #exclusión de datos perdidos
ggplot(aes(y= tasa_mortalidad_infantil_2005, x = usd_ppc_2005)) + #definición del tamaño del lienzo
geom_point(aes(color = tasa_alfabetizacion_2005)) + #definición del tipo de representación y adicionales
labs(title = "Dispersión de mortalidad infantil e ingreso, 2005",
x = "usd_ppc_2005",
y = "tasa de mortalidad 2005") + #definición de etiquetas del gráfico
geom_hline(aes(yintercept = mean(tasa_mortalidad_infantil_2005))) +
geom_vline(aes(xintercept = mean(usd_ppc_2005))) +
stat_smooth(method = "lm", # recta por el método de mínimos cuadrados
col = "#C42126",
se = FALSE,
size = 1)La recta vertical en color negro se refiere al valor de la media para usd_ppc_2005.
La recta horizontal en color negro se refiere al valor de la media para tasa_mortalidad_2005.
La recta en diagonal en color rojo se refiere a la recta del método de mínimos cuadrados ordinarios (OLS).
Pasos para encontrar la línea con mejor ajuste:
Resultado: línea de regresión de mínimos cuadrados ordinarios (Ordinary Least Squares[OLS]).
Utilidad de la recta de mejor ajuste:
El modelo más sencillo para representar la relación existente entre dos o más variables es a través del modelo lineal. En este se asume que la interacción de las variables en la población se ajusta a una recta (y a su ecuación consecuente).
Ecuación para una recta: \[Y = b + mX\]
Ecuación para un modelo de regresión para la población: \[Y = \alpha + \beta*X\] Este es un modelo determinista pues se asume que \(Y\) es explicada completamente por \(X\).
Ecuación para un modelo de regresión para cada caso de la población: \[Y_i = \alpha + \beta*X_i + u_i\] Este es un modelo probabilístico pues incluye un término de error (\(u_i\)), que se comporta de manera aleatoria.
También incluye un componente sistemático que consiste en \(Y_i = \alpha + \beta*X_i\)
Ecuación para un modelo de regresión para cada caso de la muestra: \[\hat{Y_i} = \hat{\alpha} + \hat{\beta}*X_i + \hat{u_i}\] Aquí \(\hat{\alpha}\), \(\hat{\beta}\) y \(\hat{u_i}\) son estimadores de los coeficientes de regresión poblacional.
\(Y_i\) y \(X_i\) son datos conocidos (observaciones registradas en un data frame).
Ahora debemos poner manos a la obra y, así, construir nuestro primer modelo de regresión lineal con las variables de interés.
options(scipen = 999)
modelo_1 <- lm(tasa_mortalidad_infantil_2005 ~ usd_ppc_2005, data = datos_idh, na.action = na.exclude)De esta manera, nuestro primer modelo ya se ha generado y se guardó como un objeto nuevo en la ventana del ambiente.
## [1] "coefficients" "residuals" "effects" "rank"
## [5] "fitted.values" "assign" "qr" "df.residual"
## [9] "xlevels" "call" "terms" "model"
Este consiste en un objeto tipo lista que contiene 12 elementos. Algunos serán llamados posteriormente.
## (Intercept) usd_ppc_2005
## 33.227730594 -0.001699462
\[\hat{Y_i} = 33.23 - 0.0017 * X_i\]
Pero este modelo tiene el problema sobre el comportamiento “no normal” de las variables de interés.
Ahora se construirán dos modelos adicionales para mejorar el comportamiento de las variables.
log(usd_ppc_2005).modelo_2 <- lm(tasa_mortalidad_infantil_2005 ~ log(usd_ppc_2005), data = datos_idh, na.action = na.exclude)
coef(modelo_2)## (Intercept) log(usd_ppc_2005)
## 128.22860 -12.24467
## (Intercept)
## 48862297823972996968210886162892778687274509114953170944.000000000000
## log(usd_ppc_2005)
## 0.000004810707
La ecuación que se puede integrar aquí es \[\hat{Y_i} = 128.23 - 0.000048 * X_i\]
log(usd_ppc_2005) y log(tasa_mortalidad_2005).modelo_3 <- lm(log(tasa_mortalidad_infantil_2005) ~ log(usd_ppc_2005), data = datos_idh, na.action = na.exclude)
coef(modelo_3)## (Intercept) log(usd_ppc_2005)
## 8.0932561 -0.5841914
## (Intercept) log(usd_ppc_2005)
## 3272.3251620 0.5575565
La ecuación que se puede integrar aquí es \[\hat{Y_i} = 8.09 - 0.56 * X_i\]
El análisis inferencial de los modelos de regresión lineal avanza en 2 niveles:
##
## =================================================================================================
## Dependent variable:
## -----------------------------------------------------------------
## tasa_mortalidad_infantil_2005 log(tasa_mortalidad_infantil_2005)
## (1) (2) (3)
## -------------------------------------------------------------------------------------------------
## usd_ppc_2005 -0.002***
## (0.00004)
##
## log(usd_ppc_2005) -12.245*** -0.584***
## (0.261) (0.011)
##
## Constant 33.228*** 128.229*** 8.093***
## (0.281) (2.247) (0.094)
##
## -------------------------------------------------------------------------------------------------
## Observations 2,454 2,454 2,454
## R2 0.402 0.473 0.540
## Adjusted R2 0.402 0.472 0.539
## Residual Std. Error (df = 2452) 6.286 5.905 0.246
## F Statistic (df = 1; 2452) 1,649.904*** 2,196.480*** 2,872.825***
## =================================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
A partir del estadístico de prueba F se puede identificar que los 3 modelos son estadísticamente significativos.
A partir del valor del coeficiente de determinación (R cuadrado), se identifica que el modelo 3 muestra mayor capacidad explicativa o mejor bondad de ajuste.
A partir de los valores de p-values asociados a cada coeficiente de regresión (representados por las estrellas), se identifica que la variable independiente es significativa estadísticamente en cada uno de los 3 modelos.
El coeficiente \(\alpha\) se corresponde con el intercepto de la recta o el valor de la ordenada al origen cuando la recta cruza al eje de la variable Y. Es el valor esperado o promedio de \(Y\) cuando la variable \(X\) adquiere el valor de \(X=0\).
El coeficiente \(\beta\) consiste en la pendiente de la recta o “el cambio promedio en Y por el incremento de X en una unidad. (…), tasa de cambio de Y ante cambio de X” (Agresti y Finaly, 1986: 247, 255). Y asume que dicha tasa es constante en la ecuación de la recta.
Por ejemplo, en el caso del modelo 1:
En el caso de \(\alpha\): “Con un nivel de confianza del 95%, el promedio de la tasa de mortalidad es de 22.32 niños de un año o menos fallecidos por cada 1000 nacimientos”.
En el caso de \(\beta\): “Con un nivel de confianza del 95%, por cada incremento en una unidad del ingreso per cápita (medido en dólares al año), la tasa de mortalidad decrece en 0.002 unidades en promedio.”
Con el fin de poder generalizar el análisis inferencial del modelo, éste debe cumplir algunos supuestos básicos.
Los supuestos se evalúan en 2 dimensiones:
Se evalúan algunos aspectos sobre la forma de la distribución de los residuos (\(u_i\)).
Revisión gráfica de la distribución y prueba de distribución normal.
shapiro.test(modelo_3 $ residuals) # H0: la distribución es normal, Ha: la distribución no es normal##
## Shapiro-Wilk normality test
##
## data: modelo_3$residuals
## W = 0.99354, p-value = 0.000000006156
La gráfica de histograma muestra una distribución parecida a una curva “normal”, pero esto no se confirma en la prueba de normalidad de Shapiro Wilkinson.
Aquí se espera que la media de los residuos se ubique sobre el valor de 0.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.009717 -0.160760 -0.001883 0.000000 0.151487 1.042532
Se observa que la media de los residuos es de 0.
Para confirmar el supuesto de homoscedasticidad se requiere que las curvas de tendencia (rojas) sean planas.
##
## studentized Breusch-Pagan test
##
## data: modelo_3
## BP = 61.266, df = 1, p-value = 0.000000000000004985
A partir del “p-value” se rechaza H0, de manera que los errores no tienen varianza constante.
Se espera no encontrar ningún patrón entre los residuos asociados a cada caso. Pero aparentemente sí existe en los extremos de la distribución.
##
## Durbin-Watson test
##
## data: modelo_3
## DW = 1.6827, p-value = 0.000000000000001639
## alternative hypothesis: true autocorrelation is greater than 0
Aquí se rechaza H0, por lo que los errores no son independientes.
Una manera alternativa para revisar los residuos es mediante algunas gráficas.
Estas se solicitan de la siguiente manera:
El modelo tiene problemas al momento de cumplir los supuestos de normalidad, por lo que valdría la pena re diseñarlo removiendo los casos que alteran la distribución de los residuos.