Al comenzar siempre es importante establecer el idioma adecuado para que el programa reconozca caractreres especiales. En el caso de definir al idioma español, la instrucción a utilizar es:
Sys.setlocale("LC_ALL", "en_US.UTF-8")
## [1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/C"
También es importante instalar las librerías que se utilizarán posteriormente:
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.3 ✓ purrr 0.3.4
## ✓ tibble 3.1.3 ✓ dplyr 1.0.7
## ✓ tidyr 1.1.3 ✓ stringr 1.4.0
## ✓ readr 2.0.1 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Además es muy relevante establecer la ubicación del directorio de trabajo, con el fin que el programa identifique el archivo del que extraerá y, también, guardará la información solicitada.
getwd() ##directorio actual
## [1] "/Users/Gustavo 1/Dropbox/R/Rmarkdown"
setwd("~/Dropbox/R") ##Esta permite cambiar y definir el directorio deseado
list.files() ##Esta permite enlistas los archivos dentro del directorio
## [1] "_f33dc7a6f28c9f1b7593f7d02d195d31_intro_to_data_Coursera.html"
## [2] "200613COVID19MEXICO.csv"
## [3] "api13.1.dta"
## [4] "apilog.dta"
## [5] "autoestima.csv"
## [6] "avgpm25.csv"
## [7] "Base Voto x Mujeres Experimento 1 copia.csv"
## [8] "base_alternancias.csv"
## [9] "Base_datos_Informe_Pais.xlsx"
## [10] "base_municipios_final_datos_01.csv"
## [11] "base_voto_mujeres_2012_2018.csv"
## [12] "base_votos_2015_2018.csv"
## [13] "Bertrand_data.dta"
## [14] "Card and Krueger (1994).dta"
## [15] "Clase 2 DGAPA.xlsx"
## [16] "Clase 4 DGAPA.xlsx"
## [17] "Componente principal SPP.jpeg"
## [18] "Concentrado_Elecciones_Federales_1976_2018 copia.csv"
## [19] "concentrado.csv"
## [20] "concentradohogar 1.dta"
## [21] "concentradohogar.dta"
## [22] "concentradohogardia3.dta"
## [23] "conejos.csv"
## [24] "Copia de factorial 3x2x2.csv"
## [25] "copia_semillas.csv"
## [26] "cuadro_latino.csv"
## [27] "Curso Intro a R I y II"
## [28] "curso_data_ibero"
## [29] "data_clientelismo.csv"
## [30] "data_clientelismo.dta"
## [31] "datos_2_fac_aleat.csv"
## [32] "datos_computos_distritos_diputado.txt"
## [33] "datos_covid1.txt"
## [34] "datos_covid2.csv"
## [35] "datos_covid3.xlsx"
## [36] "datos_gc.csv"
## [37] "datos_morena_frag.xlsx"
## [38] "datos_repeticiones.csv"
## [39] "datos_telas.csv"
## [40] "datosgen.txt"
## [41] "Dee.dta"
## [42] "diccionario_datos_covid19"
## [43] "Diferencia_votos_DIP_FED_2015.csv"
## [44] "diminish.txt"
## [45] "ENCOVID_19_abril"
## [46] "encuesta_abierta_morena_2020.xlsx"
## [47] "Encuesta_Gea.dta"
## [48] "encuesta_nina_w_ 2016"
## [49] "enpol_sec_5_6.csv"
## [50] "enpol_sec7_1.csv"
## [51] "enpol_sec8_9_10.csv"
## [52] "experim_azucar.csv"
## [53] "figura1pulpo.csv"
## [54] "guia_ponencia_morena.docx"
## [55] "ICI_2018.xlsx"
## [56] "idh_mpio_2000_2005.csv"
## [57] "idh_mpio_2000_2005.xls"
## [58] "indices_spp_subnacional_1980_2018.xlsx"
## [59] "jerarquico_cruzado.csv"
## [60] "Latinobarometro_2018_Esp_Spss_v20190303.sav"
## [61] "Latinobarometro_2018_Esp_Stata_v20190303.dta"
## [62] "Latinobarometro2016Esp_v20170205.dta"
## [63] "mediciones_repetidas.csv"
## [64] "Mi_Exportación.xlsx"
## [65] "modelo_jerarquico.csv"
## [66] "morena_nueva_encuesta_2020.xlsx"
## [67] "morena-bd-integrada-estimación-empresas.xlsx"
## [68] "NES96.dta"
## [69] "partylevel_20130907.csv"
## [70] "presid06computo.dta"
## [71] "Principal Component Analysis R Program and Output.pdf"
## [72] "rdrobust_senate.dta"
## [73] "resultados_diputadosfederales_2018.csv"
## [74] "Rmarkdown"
## [75] "rubiaprom.csv"
## [76] "scripts"
## [77] "SDEMT319_10.dta"
## [78] "sdemt319_10.sav"
## [79] "SDEMT319.dta"
## [80] "Tabasco_votos_dip_loc_2018_dif.csv"
## [81] "tarea_hipertension.csv"
## [82] "TiposErrores.png"
## [83] "Voto electronico.csv"
## [84] "voto_cand_socioec_2012.csv"
## [85] "voto_cand_socioec_2015.csv"
## [86] "voto_cand_socioec_2018.csv"
## [87] "votos_diputados_2015.csv"
## [88] "votos_mujeres_2012_2018_copia.csv"
## [89] "votos_mujeres_2012_2018.csv"
Una vez establecido el directorio de trabajo, se debe cargar la base de datos o data frame en el ambiente del programa, con el que se analizará la información. Para ello habrá que “cargar” la información sobre el Índice de Desarrollo Humano generado por el PNUD-ONU para cada uno de los municipios en México en el año 2000 y 2005.
datos_idh <- read.csv("~/Dropbox/R/idh_mpio_2000_2005.csv", header = TRUE) #ruta de acceso a los datos, 'header = TRUE' en caso de que el archivo cuente con nombres de las variables.
Y ahora se debe explorar la estructura de la matriz de datos para identificar las dimensiones de la base así como el tipo de variables registradas en el data frame.
str(datos_idh)
## 'data.frame': 2454 obs. of 22 variables:
## $ id_mpio : int 9014 19019 20350 9016 9003 19046 8019 28009 15054 15020 ...
## $ entidad : Factor w/ 32 levels "Aguascalientes",..: 9 19 20 9 9 19 6 28 15 15 ...
## $ mpio : Factor w/ 2315 levels "Abalá","Abasolo",..: 205 1521 1572 944 441 1495 333 370 927 372 ...
## $ clasificacion_2000 : int 1 2 16 4 3 6 13 21 9 20 ...
## $ grado_idh_2005 : Factor w/ 3 levels "alto","bajo",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ 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 ...
En esta actividad se hará una revisión de la técnica de la regresión lineal simple con el fin de, por un lado, describir la relación existente entre dos y más variables así como, también, realizar un proceso inferencia para evaluar el efecto estadístico que una Variable Indepeniente (VI) puede ejercer sobre otra Variable Dependiente (VD), y que se identifica como el “efecto causal” (KKV, 1994).
El análisis de las relaciones bivariadas se ubican en el límite de las investigaciones descriptivas, referidas a aquellas de alcance correlacional o de diferencia entre grupos, y las investigaciones causales explicativas (KKV, 1997; Hernández S. et al, 2010).
Esta consideración es importante para tener presente el tipo de conocimiento que se genera en el proceso investigativo así como, también, en cuanto al resultado obtenido por el análisis estadístico realizado y sus técnicas de análisis de datos llevadas a cabo. Por tanto, en este documento se revisará la parte descriptiva, por un lado, y la parte inferencial, por el otro, del análisis de regresión lineal simple.
Al iniciar el análisis bivariado siempre es importante preguntarnos si existe relación entre las variables de interés, por lo que un primer paso es evaluar el tamaño de la asociación existente y, así, describir la relación entre ambas.
En el caso de variables continuas, un primer paso para adentrarse a describir la asociación existente consiste en una revisión visual o gráfica del comportamiento bivariado, para lo que es útil el diagrama de dispersión. Para ello se utilizará como variable de interés a la Tasa de mortalidad infantil para el año 2005, y como variable de asociación se retoma el Ingreso per cápita en USD para el año 2005. También se decidió incluir una tercer variable o interviniente (Z), que consiste en el puntaje de la tasa de alfabetización de cada municipio para el año 2005, y que se representa mediante el color de los puntos.
Gráfico con ggplot y varias “capas” con más información:
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
stat_smooth(method = "lm",
col = "#C42126",
se = FALSE,
size = 1) # definición de la línea de asociación
## `geom_smooth()` using formula 'y ~ x'
A partir del gráfico se dispersión se pueden observar distintos elementos: 1. los puntos de intersección para cada par de variables (Xi, Yi) de la matriz de datos, 2. también se identifica el sentido de su interacción en donde se tiende a incrementar la variable de interés (Y = tasa de mortalidad infantil en 2005) a medida que decrece la variable de asociación (X = ingreso per cápita en USD en 2005).
El sentido de la asociación se confirma con la recta de mejor ajuste -en color rojo- que muestra una tendencia negativa y que intenta resumir el comporamiento de la asociación bivariada.
Asimismo se introdujo una variable interviniente (Z = tasa de alfabetización del 2005) con el fin de identificar su asociación con las variables analizadas, que permitió identificar que los casos con elevada tasa de alfabetización en el año 2005 estan asociados a casos con un nivel de ingresos ingreso alto en 2005 y, a su vez, con un bajo nivel en la tasa de mortalidad infantil para el mismo año.
Hasta aquí se ha identificado de manera visual que existe una asociación con sentido indirecto o “negativo” entre las variables de interés y su variable de asociación. Sin embargo hace falta establecer la fuerza de dicha asociación, y para ello es útil realizar un análisis basado en el Coeficiente de Correlación de Pearson (\(r\)). Este permite tener un acercamiento a dos elementos de la asociación existente entre estas: i. confirmar el sentido de la asociación así como a ii. medir la fuerza de su asociación.
Una manera simple de calcular el coeficiente de correlación de Pearson es a partir de la función cor.test(), que arroja información diversa además del valor de \(r\): 1. el valor de \(r\), 2. un intervalo de confianza sobre los valores probables de \(r\) al 95% de nivel de confianza y 3. el p-value asociado a la hipótesis nula para el valor poblacional de \(r\) (la H0 plantea que \(r\) = 0).
cor.test(datos_idh $ usd_ppc_2005, #definición de variable X
datos_idh $ tasa_mortalidad_infantil_2005, #definición de variable Y
use = "complete.obs") #excluir casos perdidos
##
## Pearson's product-moment correlation
##
## data: datos_idh$usd_ppc_2005 and datos_idh$tasa_mortalidad_infantil_2005
## t = -40.619, df = 2452, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.6572889 -0.6099533
## sample estimates:
## cor
## -0.6342151
A partir del valor del valor del coeficiente de correlación \(r\) se puede identificar que el sentido de la asociación es indirecto o “negativo” (a medida que una variable se incrementa en una unidad, la otra decrece en una proporción igual al valor de \(r\) calculado) dado que el signo del valor del coeficiente es negativo, y también se puede medir la fuerza de la asociación (valor absoluto del coeficiente “r”), que es de 0.63 (en valores absolutos).
Esto permite identificar que la asociación entre ambas variables es fuerte, e inclusive se puede establecer que esta asociación es estadísticamente significativa con un nivel de significancia (\(\alpha\)) igual a 0.05 (donde el p-value [ p < 2.2 e-16] es menor que un nivel \(\alpha = 0.05\)).
Sin embargo se debe recordar que el coeficiente de correlación \(r\) es una medida bidireccional (Salkind, 2013), donde la asociación existente entre X y Y es constante cuando se evalúa la relación en el sentido X -> Y, así como de Y -> X. Esto supone que, si bien se cuenta con una variable de interés (Y = tasa de mortalidad infantil en el año 2005) y una varible de asociación (X = ingreso per capita en USD en 2005), al final no queda claro si se está trabajando con una variable dependiente (VD, Y) y con una variable independiente (VI, X).
Por tanto el coeficiente \(r\) no se puede considerar como una medida de efecto causal, y por ello no se puede definir la influencia que puede existir entre una VI sobre una VD, y tampoco permite dar el paso para transitar de una investigación de corte descriptiva a una de alcance causal - explicativo (Hernández S., et al. 2010).
Al estudiar la relación existente entre variables se pueden evaluar tres dimensiones de esta: 1. por un lado se puede analizar si existe asociación entre las variables, para lo que es útil las pruebas de hipótesis de independencia estadísica. 2. También se puede medir la fuerza de dicha asociación mediante el coeficiente de correlación de Pearson (r) en el caso de variables continuas. 3. Se puede identificar, finalmente, la forma de esta relación mediante el análisis de regresión (Agresti y Finaly, 1986: 244).
En el caso de la descripción de la forma de dicha de la relación existente entre dos variables se adentra en el terreno del estudio del efecto causal, en donde se busca identificar el nivel de influencia de una variable independiente (VI, X) sobre otra variable dependiente (VD, Y). En este caso se asume que la relación analizada es unidireccional -a diferencia del caso del análisis de asociación, medido mediante el coeficiente \(r\) que es de tipo bidireccional-, en donde el efecto causal medido en la relación X -> Y no es idéntico al efecto de Y -> X. De esta manera se busca “describir la manera en que la distribución de una variable (Y) cambia al observar los diferentes valores de otra variable (X)” (Agresti y Finaly, 1986: 245).
A partir de conocer la forma de la relación existente entre la VD y VI también se pueden plantear otro tipo de interrogantes en la investigación, del tipo: ¿Cuál es el efecto que ejerce la Variable Independiente (VI = X) sobre el comportamiento de la Variable Dependiente (VD = Y) para los datos de la muestra?
La descripción de la forma de la relación existente entre dos variables se puede representar -o modelar- mediante una función algebráica, de manera que existen diversas formas para describir dicha relación bivariada. En este sentido, 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).
Vale mencionar que el concepto de “modelo” se refiere a una “representación” resumida del mundo o de un fenómeno en la realidad, en el que se incluyen solo variable que se consideran muy relevantes para explicar el comportamiento del fenómeno de interés. Los modelos no necesitan ser copia fiel de todas las variables que operan en la realidad, solo requiere incorporar las variables que el investigador considera relevantes para realizar su análisis.
La función algebráica de una recta para representar la relación lineal entre X -> Y es \[Y = \alpha + \beta{X}\]
donde: \(Y\) representa a la variable dependiente que se quiere explicar, \(X\) representa a la variable independiente, que se considera la causa de Y, \(\alpha\) consiste en el intercepto de la recta o la ordenada al origen, \(\beta\) consiste en el valor de la pendiente que adopta la recta de la relación entre X -> Y.
En el caso del diseño de un modelo de regresión lineal simple, se deben tener en consideración algunas precondiciones: 1. Se incluyen solamente dos variables: una Variable Dependiente (VD, o Y) y una Variable Independiente (VI, o X), 2. La VD es de tipo cuantitativa y está en una escala de medición intervalar (razón o intervalo).
A continuación se guardarán las variables a utilizar como objetos en los que se les asignaron los nombre de “VI” al ingreso per cápita para el año 2005 y “VD” a la tasa de mortalidad infantil para el año 2005.
VI <- datos_idh $ usd_ppc_2005
VD <- datos_idh $ tasa_mortalidad_infantil_2005
Como se observa en la gráfica de dispersión arriba, la recta que representa la relación o el efecto causal de VI sobre VD no necesariamente cruza por encima de todos los puntos que representan la relación, pero se desea encontrar la “mejor” línea o la recta de mejor ajuste que ayude a resumir de mejor manera dicha interacción bivaridada.
Para encontrar la recta de mejor ajuste es necesario contar con un criterio de comparación sobre todas las rectas que se pueden trazar en la relación de las variables analizadas. El criterio que se utilizará en el modelo de regresión lineal consiste en medir la diferencia existente entre los valores observados de la VD (\(Yi\)) frente a los valores esperados (\(\hat{Y}\)) a calcular según la ecuación lineal de la recta de ajuste utilizada para resumir la relación bivariada.
Los valores observados corresponden a aquellos registrados en el data frame para cada caso -i en la variable medida (\(Yi\)). Mientras que los valores esperados (\(\hat{Y}\)) corresponden a los valores calculados tras introducir el valor de X observado para cada caso -i en la ecuación de la recta estimada, para resumir la relación entre las variables VI y VD. En este criterio se considera que no necesariamente \(Yi = \hat{Yi}\) para el mismo caso -i o valor de \(Xi\). Y a partir de dicho criterio, se considera que la recta de mejor ajuste será aquella en donde la diferencia entre \(Y-\hat{Y}\) sea la menor posible. Esta diferencia será denominada como el error de predicción del modelo de regresión lineal, basado en la recta de mejor ajuste.
Asimismo se debe tener presente que al desarrollar la ecuación lineal para describir a la línea de mejor ajuste bivariada entre X y Y, pueden existir dos tipos de modelos: 1. el modelo determinista en “donde para cada valor particular de X corresponde un solo valor fijo de Y” (Agresti y Finlay, 1986: 248), y 2. un modelo probabilístico donde “en la relación entre dos variables X y Y, este tipo de modelo permite la variabilidad en los valores de Y para cada valor de X” (Agresti y Finlay, 1986: 248).
En el caso de los modelos contemporáneos, en donde se considera la existencia de una diferencia entre \(Yi = \hat{Yi}\), estos son de corte probabilísta. Y en estos, \(\alpha + \beta{X}\) no representan los valores exactos de Y como una función de X sino que representan la media (\(\mu\)) de esos valores. De manera que, para cada valor dado de X, se busca estimar \(\alpha + \beta{X}\), que es la media de la distribución condicional de Y (\(E(Y | X) = E(Y) = \bar{Y}\)) para la porción de la población que registra cada valor de X" (Agresti y Finlay, 1986: 248).
De manera que la media de la distribución condicional de Y dado X en la población se representa: \[E(Y|X) = E(Y) = \alpha + \beta{X}\]
Y dicha ecuación de la media condicional de Y dado X se corresponde con la función de regresión (a la media) lineal (Agresti y Finlay, 1986: 249).
A partir de los comandos del sistema base de R, se utilizará el script lm(VD ~ VI, data = ) para diseñar el modelo que permitirá estimar el efecto de VI sobre VD y, también, conocer los valores de los coeficientes de regresión, de la siguiente manera:
modelo_1 <- lm(VD ~ VI, data = datos_idh)
str(modelo_1)
## List of 12
## $ coefficients : Named num [1:2] 33.2277 -0.0017
## ..- attr(*, "names")= chr [1:2] "(Intercept)" "VI"
## $ residuals : Named num [1:2454] 17.07769 27.42684 -0.00539 10.69296 7.25189 ...
## ..- attr(*, "names")= chr [1:2454] "1" "2" "3" "4" ...
## $ effects : Named num [1:2454] -1142.63 255.33 -1.87 8.05 4.88 ...
## ..- attr(*, "names")= chr [1:2454] "(Intercept)" "VI" "" "" ...
## $ rank : int 2
## $ fitted.values: Named num [1:2454] -14.058 -24.236 5.287 -3.394 -0.292 ...
## ..- attr(*, "names")= chr [1:2454] "1" "2" "3" "4" ...
## $ assign : int [1:2] 0 1
## $ qr :List of 5
## ..$ qr : num [1:2454, 1:2] -49.5379 0.0202 0.0202 0.0202 0.0202 ...
## .. ..- attr(*, "dimnames")=List of 2
## .. .. ..$ : chr [1:2454] "1" "2" "3" "4" ...
## .. .. ..$ : chr [1:2] "(Intercept)" "VI"
## .. ..- attr(*, "assign")= int [1:2] 0 1
## ..$ qraux: num [1:2] 1.02 1.18
## ..$ pivot: int [1:2] 1 2
## ..$ tol : num 1e-07
## ..$ rank : int 2
## ..- attr(*, "class")= chr "qr"
## $ df.residual : int 2452
## $ xlevels : Named list()
## $ call : language lm(formula = VD ~ VI, data = datos_idh)
## $ terms :Classes 'terms', 'formula' language VD ~ VI
## .. ..- attr(*, "variables")= language list(VD, VI)
## .. ..- attr(*, "factors")= int [1:2, 1] 0 1
## .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. ..$ : chr [1:2] "VD" "VI"
## .. .. .. ..$ : chr "VI"
## .. ..- attr(*, "term.labels")= chr "VI"
## .. ..- attr(*, "order")= int 1
## .. ..- attr(*, "intercept")= int 1
## .. ..- attr(*, "response")= int 1
## .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
## .. ..- attr(*, "predvars")= language list(VD, VI)
## .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
## .. .. ..- attr(*, "names")= chr [1:2] "VD" "VI"
## $ model :'data.frame': 2454 obs. of 2 variables:
## ..$ VD: num [1:2454] 3.02 3.19 5.28 7.3 6.96 ...
## ..$ VI: num [1:2454] 27824 33813 16441 21549 19724 ...
## ..- attr(*, "terms")=Classes 'terms', 'formula' language VD ~ VI
## .. .. ..- attr(*, "variables")= language list(VD, VI)
## .. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
## .. .. .. ..- attr(*, "dimnames")=List of 2
## .. .. .. .. ..$ : chr [1:2] "VD" "VI"
## .. .. .. .. ..$ : chr "VI"
## .. .. ..- attr(*, "term.labels")= chr "VI"
## .. .. ..- attr(*, "order")= int 1
## .. .. ..- attr(*, "intercept")= int 1
## .. .. ..- attr(*, "response")= int 1
## .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv>
## .. .. ..- attr(*, "predvars")= language list(VD, VI)
## .. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
## .. .. .. ..- attr(*, "names")= chr [1:2] "VD" "VI"
## - attr(*, "class")= chr "lm"
De esta manera se ha diseñado un modelo para evaluar el efecto causal de VI sobre VD, y los resultados se han guardado como un objeto denominado “modelo_1”.
A su vez, al ver la estructura del objeto “modelo_1” se puede identificar que es un objeto del tipo “lista”, y que contiene varios elementos: coefficients, residuals, effects, rank, fitted.values, assign, qr, df.residual, xlevels, call, terms, model. Es importante tenerlos en cuenta pues estos elementos serán llamados posteriormente.
Como se mencionó arriba, los elementos que integran a la función de una recta consisten en los valores de \(Y\), los valores de \(X\), así como los coeficientes \(\alpha\) y \(\beta\).
Además, los coeficientes de la recta -que se denominarán coeficientes de regresión \(\alpha\) y \(\beta\)- consisten en valores desconocidos al inicio del análisis para medir el efecto causal entre una VI y una VD, puesto que en un data frame se tiene información de los valores para las variables \(Y\) y \(X\), y por tanto se consideran como “fijos”.
En el caso del coeficiente \(\alpha\), este 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. Asimismo, este punto se corresponde con el valor esperado o promedio de Y cuando la variable X adquiere el valor de \(X = 0\).
Por su parte, el coeficiente \(\beta\) consiste en la pendiente de la recta, aunque también es considerado como “el cambio en Y por el incremento de X en una unidad. (…), tasa de cambio de Y ante cambio de X” (Agresti y Finaly, 1986: 247). Y dicha tasa es constante en la ecuación de la recta. Y es a partir de ambos coeficientes como se considera estimar o medir el efecto causal de una VI sobre una VD.
Para conocer el valor de los coeficientes de regresión calculados en los datos de la muestra, solamente, y así describir el efecto de VI sobre VD, se mandan a llamar desde la lista de contenido de los resultados del objeto “modelo_1”, de la siguiente manera:
coefficients(modelo_1)
## (Intercept) VI
## 33.227730594 -0.001699462
En los resultados se observan los valores de los coeficientes de regresión que se encuentran en la columna de estimate o estimadores puntuales, donde \(a = 33.227\) y \(b = -0.001699462\). Con esta información se puede construir la siguiente ecuación de regresión: \(\hat{Y} = 33.227 - (0.001699462*X)\).
¿Cómo asegurar la mejor aproximación de la relación entre dos variables?, o ¿cómo estimar la mejor recta de ajuste posible entre las variables analizadas?
Si bien se busca modelar la ecuación de la recta que mejor ajuste a la relación bivariada, como se refirió arriba, los coeficiente de regresión \(\alpha\), \(\beta\) y \(\sigma\) son desconocidos pero se desea calcularlos para, así, describir dicha recta para la población.
Si bien se considera que la ecuación \(E(Y|X) = E(Y) = \alpha + \beta{X}\) se refiere a la relación bivariada en la población, estos coeficientes se desean estimar a partir de los datos existentes en la muestra mediante la función: \(\hat{Y}= a+bX\), y que se le considera una ecuación de predicción; donde \(\hat{Y}\) se corresponde con el valor de la media de \(Y\) estimada para un valor de \(X\) en la muestra.
Pero, entonces, ¿cómo calcular \(a\) y \(b\) de la ecuación de predicción?
La meta del cálculo de estos estimadores consiste en “encontrar los valores de \(a\) y \(b\) correspondientes a la línea que se ubique más cercanamente, en algún sentido, a los puntos del diagrama de dispersión” (Agresti y Finlay, 1986: 253).
De manera que para calcular los coeficientes de la ecuación de predicción que describan a la recta de mejor ajuste, se utilizará el método de mínimos cuadrados. A partir de este método se intenta encontrar la recta que registre el menor tamaño del error (\(\varepsilon\) para la población) o de los residuos (\(e\)) para la muestra.
A partir del método de mínimos cuadrados, la función para el cálculo del estimador \(b\) en la muestra es: \[b = \frac{\Sigma(Xi-\bar{X})(Yi-\bar{Y})}{\Sigma(Xi-\bar{X})^2}\]
La función para el cálculo del estimado \(a\) es: \[a= \bar{Y}-b\bar{X}\]
Interpretación de \(a\): indica el valor esperado o promedio de Y cuando la variable X adquiere el valor de \(X = 0\), específicamente se refiere al estadístico descriptivo de la media de Y.
Interpretación de \(b\): “Indica que, en promedio, un incremento en 1 unidad de X corresponde a un cambio en \(b\) unidades de Y” (Agresti y Finlay, 1986: 255).
La función de regresión lineal consiste en un “una función matemática que describe la manera en que la media de los valores de una VD cambia acorde a los valores de una VI” (Agresti y Finlay, 1986: 249). Y dicha función o ecuación está integrada por dos coeficientes de regresión: \(\alpha\) y \(\beta\), que posteriormente deberán ser estimados.
Esto es, “para cada valor fijo de X hay una distribución condicional de valores de Y alrededor de la media de \(\alpha + \beta{X}\) con una desviación estándar \(\sigma\)” (Agresti y Finlay, 1986: 249). Dicha desviación estándar \(\sigma\) es la medida de variabilidad que existe en la distribución de todos los valores de \(Y\) observados que tienen el mismo valor fijo de \(X\).
A partir de esta medida de variabilidad existente en los modelos probabilísticos se reconoce que puede existir una diferencia entre \(Yi\) y \(\hat{Yi}\) para cada valor fijo de \(X\), y que esto se traduce en un error (\(\varepsilon\)) dentro del modelo para estimar a \(\hat{Y}\).
El error (\(\varepsilon\)) es la desviación que hay entre una observación particular respecto de la media \(E(Y|X) = E(Y) = \alpha + \beta{X}\), o que también se corresponde con la diferencia: \(\varepsilon = Y - \hat{Y}\)" (Agresti y Finlay, 1986: 249). De manera que existe un valor particular de \(\varepsilon\) para cada miembro de la población que cuenta con un valor de \(Y\).
El modelo de regresión lineal para un valor fijo de Y es: \[Y = \alpha + \beta{X} + \varepsilon\]
En términos del análisis de la relación bivariada, el error se conceptualiza como "la representación del efecto acumulado sobre la VD de todas las influencias de otras variables no representadas en el modelo \(E(Y|X) = E(Y) = \alpha + \beta{X}\), por lo que \(Y = \alpha + \beta{X} + \varepsilon\).
Los errores de predicción poblacionales (\(\varepsilon\)) o residuos muestrales (\(e\)) consiste en la diferencia entre los valores observados de \(Y\) y los valores estimados o predichos \(\hat{Y}\), de manera que \(e= Y-\hat{Y}\) (Agresti y Finlay, 1986: 256), donde \(e\) es un estimador de \(\varepsilon\) para la población. Y, de manera gráfica, se refiere a la distancia vertical entre cada \(Yi\) y la línea de regresión, o su correspondiente \(\hat{Y}\).
Gráfica sobre la distribución de los residuos:
ggplot(modelo_1, aes(x = residuals(modelo_1))) +
geom_density()
A partir de dicha gráfica se espera que los residuos se distribuyan lo más parecido a una “normal”, con media (lo más cercana a) 0 y desviación estándar constante, pues esto será un requisito importante para la evaluació inferencial del modelo de regresión y sus coeficientes.
Los residuos son un elemento importante para evaluar la bondad de ajuste de la recta de regresión estimada, pues se desea que la recta de predicción o de regresión lineal presente los residuos más pequeños. “Mientras menor sea el valor absoluto del residuo, mejor será la predicción ya que el valor predicho está más cercano al valor observado” (Agresti y Finlay, 1986: 257).
Hasta aquí se ha realizado el análisis descriptivo de la relación unidireccional existente entre X y Y, representado por una ecuación de regresión que supone una relación con forma lineal del tipo \(\hat{Y}=a+b{X}\). Para ello se han calculado los valores de los coeficientes de regresión \(a\) y \(b\) para los datos incluidos en la muestra, sin embargo aún se desconocen los valores de los parámetros poblacionales de dicha relación (X, Y).
Para avanzar en el proceso de análisis inferencial de los valores poblacionales y, así, generalizar los valores de la pendiente \(b\) a \(\beta\), se deben realizar algunas pruebas de significancia estadística en dos dimensiónes: 1. Una sobre la bondad de ajuste del modelo en general, para lo que se evaluará el valor de \(r^2\) o el tamaño del coeficiente de determinación, 2. otra sobre los valores de los coeficientes de regresión individualmente, en donde se analizará su p-value, calculado a través de sus valor “t-student” y sus grados de libertad respectivos.
El coeficiente de determinación (\(r^2\)) es otra medida de asociación que se evalúa por la bondad de la variable independiente X como predictor de Y (Agresti y Finlay, 1986: 265).
De esta manera, el valor de \(r^2\) permite evaluar la proporción del tamaño del error de predicción que se genera si se busca predecir el comportamiento de Y a partir de la ecuación \(\hat{Y}=a+b{X}\) en vez de realización dicha predicción solamente mediante \(\bar{Y}\). Esto se puede interpretar como: “usando la función de X dada la ecuación lineal de predicción \(\hat{Y}=a+b{X}\) para predecir Y, la cantidad de error (medido por la \(SSE\)) es \(r^2 *100\)% más pequeño que cuando se usa a \(\bar{Y}\) como predictor.” (Agresi y Finlay, 1986: 267).
Debido a que el coeficiente \(r^2\) basa su cálculo en el tamaño de los residuos o errores de predicción, entonces también sirve como medida para evaluar la bondad de ajuste de los coeficientes que dan forma a la ecuación de regresión. Lo que permite expresar, a su vez, “como el \(r^2 * 100\)% de variabilidad de Y que es explicada por X en una relación lineal” (Agresti y Finlay, 1986: 267).
Los valores del coeficiente de determinación \(r^2\) siempre serán positivos derivado de ser el resultado de un exponente al cuadrado, y sus valores siempre se ubicarán entre los límites de \((0,1)\). De manera que, a medida que \(r^2\) tiende a 1 entonces X tiene una capacidad explicativa cada vez mayor de la variablidad de Y, y esto supone que la ecuación de regresión que la implica se ajusta de mejor manera al comportamiento de Y.
La manera de identificar el valor del coeficiente de determinación del modelo es a través del script summary(modelo), que arroja información diversa sobre la bondad de ajuste del modelo en general, y que también permite evaluarlo inferencialmente.
options(scipen = 999)
summary(modelo_1)
##
## Call:
## lm(formula = VD ~ VI, data = datos_idh)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.713 -3.971 -1.014 2.921 50.455
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.22773059 0.28051681 118.45 <0.0000000000000002 ***
## VI -0.00169946 0.00004184 -40.62 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.286 on 2452 degrees of freedom
## Multiple R-squared: 0.4022, Adjusted R-squared: 0.402
## F-statistic: 1650 on 1 and 2452 DF, p-value: < 0.00000000000000022
Los elementos que permiten evaluar la bondad de ajuste del modelo se ubican al final de los resultados arrojados.
El valor del coeficiente de determinación del modelo simple está señalado como “Multiple R-squared: 0.4022”. Esto indica que el modelo donde VI -> VD, permite explicar una proporción de 0.4022, o el 40.22%, del comportamiento de Y.
Por otro lado, se muestran los valores del “F-statistic”, así como sus grados de libertad (“DF”), asociados al modelo. Estos elemenentos permiten calcular un valor probabilístico asociado a la Hipótesis nula del modelo mismo (o “p-value”), que platea que (H0) \(r^2 = 0\), o que el modelo no explica nada del comportamiento de Y.
En el caso analizado, se calculó un “p-value” de 2e-16 (que es igual a una probabilidad de 0.0000000000000002), y al compararlo con un criterio de decisión o nivel de significancia (alfa)" de 0.05 (valor discrecional y estándar para el ámbito de las Ciencias Sociales), se observó que el p-value calculado es menor que el nivel de significancia. Esto permite tomar la decisión de rechazar a la H0 sobre \(r^2\) y, a su vez, aceptar que el modelo de regresión lineal sí es generalizable a la población de estudio.
En el caso de la prueba inferencial para los valores de la pendiente, lo que se desea es evaluar la probabilidad de ocurrencia de la H0 del estimador puntual de los coeficientes de regresión, correspondiente al valor de \(b\) en la ecuación de regresión. De manera que la hipótesis nula (H0) para la pendiente de la recta de regresión poblacional será \(H0: \beta = 0\), mientras que la hipótesis alternativa consiste en \(Ha: \beta = b\).
A partir de asumir el supuesto de distribución normal de los valores de Y, y de los residuos asociados a esta variable, se utiliza al estadístico de prueba t de Student y sus grados de libertad respectivos para, así, calcular la probabilidad asociada a la H0 para cada coeficiente de regresión.
En el output de resultados del modelo de regresión presentada arriba se pueden observar una tabla intermedia denominada “Coefficients:”, en la que se enlistan varios elementos: 1. la variable independiente y la ordenada al origen, 2. el tamaño de su error estándar, 3. el valor t-student respectivo, y 4. el p-value asociado a cada estimador o coeficiente de regresión (Pr(>|t|)).
Con los resultados presentados se puede confirmar que el valor de es \(\beta = -0.00169946\), mientras que tiene un error estándar de 0.00004184 unidades de desviación estándar, así como el valor correspondiente en unidades “t-student” igual a -40.62. Todo esto permite calcular un p-value que es menor a 0.0000000000000002.
Al comparar el p-value calculado (de <2e-16) con el criterio de decisión (o nivel de significancia [alfa] = 0.05), se identificó que el p-value es mucho menos al nivel de significancia y, por tanto, se puede tomar la decisión de RECHAZAR a la H0 asociada al coeficiente de regresión \(\beta = 0\). Complementariamente se considera que es posible generalizar el valor de \(\beta = -0.00169946\) al resto de la población estudiada.
Finalmente se realiza una evaluación del comportamiento en la distribución de los residuos, con el fin de establecer si se cumplen los supuestos de normalidad del modelo y, así, la pertinencia de los resultados calculados.
Una manera de realizar dicha evaluación es mediante una revisión visual a partir de la generación de 4 gráficas sobre la relación entre los residuos y los valores ajustados, que genera el sistema base con el script plot(modelo), de la siguiente manera:
plot(modelo_1)
Este comando genera automáticamente 4 gráficas:
Sin embargo, en la gráfica presentada arriba se observa que la nube de puntos muestra una tendencia enn forma de curva U, especialmente provocado por los casos “atípicos” referidos con los números: 2418, 2450 y 2453. De manera que no necesariamente se cumple el supuesto de “Homoscedasticidad”.
En la gráfica Q-Q presentada arriba se observa que los casos con los valores residuales estandarizados más grandes tienden a alejarse de la recta de 45 grados de inclinación; esto indica que la distribución de los residuos tiene un sesgo hacia la derecha, y ello puede estar provocado por los casos “atípicos” identificados como 2418, 2450 y 2453.
En el ejemplo analizado se observa que la curva de tendencia no es completamente horizontal sino que se comporta como una curva, anulando el cumplimiento de los supuestos.
En la gráfica correspondiente arriba se observa que la linea de tendencia tiende a incrementarse hacia la derecha. A su vez se identifican 2 casos que cuentan con los valores de residuos más amplios, que corresponden a los casos 2 y 1575. Estos tienden a incrementan la variabilidad de la distribución de los residuos del modelo y ejercen un efecto importante sobre la distribución de la recta, además que tienden hacia las curvas de Cook, con lo que se rompen los supuestos de normalidad..
Hasta aquí se puede evaluar que el modelo de regresión simple diseñado para las VI y VD correspondientes tiene problemas al momento de cumplir los supuestos de normalidad, por lo que valdría la pena rediseñar el modelo removiendo los casos que alteran la distribución de los residuos.