Estadística para el Análisis Sociológico | Lección 12 Regresión Lineal Simple y Múltiple

Marylia Cruz

Estadística Bivariada

  • La elección de tipo de prueba para el análisis bivariado depende del tipo de las variables.

¿Para qué sirven los modelos de regresión lineal?

Introducción

¿Cuál es la variable que van a explicar en sus trabajos grupales?

¿Cuáles son sus variables independientes?

Introducción

  • Una asociación entre variables no implica una relación causal entre ellas

  • ¿Qué se necesita para poder establecer la existencia de una relación causal entre dos variables?

  • Que exista una asociación entre las dos variables.

  • Una apropiada secuencia en el tiempo La eliminación de explicaciones alternativas.

  • Una posibilidad para eliminar explicaciones alternativas es contralar la relación entre dos variables por el efecto de una tercera variable (control estadístico)

Regresión lineal simple

Ejemplo 1

Un sociólogo desea investigar si existe una relación entre el nivel de pobreza y la tasa de criminalidad en diferentes barrios de una ciudad.

Variable dependiente (Y): Tasa de criminalidad (número de crímenes por cada 1000 habitantes).

Variable independiente (X): Porcentaje de la población que vive en pobreza en el barrio.

Regresión lineal simple

Ejemplo 1

Modelo de regresión:

Y=a+bX

Donde:

𝑎 es la intersección (o valor de ingreso cuando el nivel educativo es cero).

b es la pendiente (muestra cuánto cambia el ingreso por cada año adicional de educación).

Regresión lineal simple

Si se tiene los datos de https://celiv.untref.edu.ar/delincuencia-y-pobreza.html

library (rio)
data=import("CriminalidadyPobreza.xlsx")
names(data)
[1] "Pais"          "PoPobreza"     "RobosX100000"  "Victimizacion"

Regresión lineal simple

modelo=lm(RobosX100000~PoPobreza,data=data )
summary(modelo)

Call:
lm(formula = RobosX100000 ~ PoPobreza, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-272.21 -210.23  -77.23   91.24  474.91 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  693.523    169.828   4.084  0.00112 **
PoPobreza     -9.396      4.546  -2.067  0.05773 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 270.9 on 14 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.2338,    Adjusted R-squared:  0.1791 
F-statistic: 4.273 on 1 and 14 DF,  p-value: 0.05773

Regresión lineal simple

plot(RobosX100000, PoPobreza, main="Regresión Lineal: Robos x 100 000", 
     xlab="Poblacion en pobreza", ylab="Robos x 100 000", pch=19, col="blue")
abline(modelo, col="red", lwd=2)  # Agregar la recta de regresión (en rojo)

Introducción

Control estadístico

¿Qué deberíamos y que no deberíamos concluir sobre la siguiente situación?

Dentro de una muestra de estudiantes de primer, segundo y tercer grado de educación primaria; se observa una correlación de Pearson de 0.87 entre talla (en centímetros) y comprensión lectora

¿Significa esto la que talla (de los estudiantes de primaria) tiene un efecto sobre su capacidad para comprender lo que leen?

¿Qué significaría controlar esta relación por un tercera variable?

Introducción

La lógica del control estadístico

  • Cuando decimos que vamos a controlar la relación entre X1 e Y por una tercera variables (X2)—en este caso X2 será el grado que cursan los estudiantes—, lo que estamos haciendo es observar qué sucede con la relación entre X1 e Y cuando se mantiene constante el valor de la variable de control (X2)

Introducción

Ejemplo: Talla y comprensión lectora

Primer grado: Promedio comprensión lectora es 2.7 Segundo grado: Promedio comprensión lectora es 3.7 Tercer grado: Promedio comprensión lectora es 4.7

Lo que en realidad está sucediendo es que la relación entre talla y comprensión lectora es espuria. Si hay alguno relación, es entre grado y comprensión lectora

Control estadístico

Control estadístico

Control estadístico

Relación Espuria

Interacción entre variables

Causa múltiple

Regresión lineal múltiple

  • Un modelo de regresión lineal tiene como variable dependiente una variable numérica o intervalar

  • Las variables explicativas (independientes) que son parte del modelo suelen ser numéricas o intervalares; sin embargo, es posible incorporar variables explicativas ordinales o categóricas Un modelo de regresión lineal puede ser bivariado o multivariado

Nota: El modelo de regresión lineal que se va a considerar aquí es el que se establece a partir del método de la recta de mínimos cuadrados

Regresión lineal múltiple

  • Un modelo de regresión lineal bivariado (o un análisis de regresión lineal bivariado) sirve para:

  • Establecer la existencia o no de una relación (asociación) lineal multicausal.

  • Calcular una medida del impacto o influencia que tiene las variables explicativas sobre la variable dependiente.

Regresión lineal múltiple

  • Una medida de la dirección y la fuerza de asociación (lineal) entre la variable explicativa y la variable dependiente

  • Una medida de la magnitud o el grado de variación de la variable dependiente que es explicado por las variables explicativas.

Todo esto a través de pruebas de significancia que consideran una hipótesis nula y una hipótesis alterna sobre la relación estadística que existe entre estas dos variables

Modelo estadístico

Regresión lineal múltiple : Gráficas

Prueba Global

Estimadores/Coeficientes

R cuadrado

Una regresión lineal genera:

  • Un coeficiente de regresión (lineal) que estima el efecto de la variable independiente sobre la variable dependiente

  • Una medida (R cuadrado) que indica en qué medida la variable independiente explica la variación en la variable dependiente

R cuadrado

  • Siempre y cuando se observe (o exista) una relación lineal, se puede calcular una ecuación lineal que predice los cambios en Y a partir de los cambios en X

  • Una regresión lineal a partir de la recta de mínimos cuadrados es aquella en la cual la ecuación que predice los cambios es la “mejor” línea en cuanto a la reducción de las distancias entre los valores observados y los valores que se predicen (suma de errores al cuadrado).

R cuadrado

Variables independientes

Variables independientes

Preguntas básicas

Ejemplo 1

Ejemplo 1: Diccionario de datos

Ejemplo 1: Construir el indicador

En R Studio: Construir el indicador

library(rio)
data=import("AcosoCallejero2019.sav")
names(data)
 [1] "SERIE"    "NVONRO"   "NSEGRUP"  "SEXO"     "GEDAD"    "EDAD"    
 [7] "P12A"     "P12B"     "P12C"     "P12D"     "P12E"     "P12F"    
[13] "P12G"     "P12H"     "NIVELEDU"
data$suma=data$P12A+data$P12B+data$P12C+data$P12D+data$P12E+data$P12F+data$P12G+data$P12H
summary(data$suma)
data$indicador=(data$suma/8)*100
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   0.000   0.000   1.465   3.000   8.000       1 

Ejercicios:

  1. Un(a) investigador(a) en Ciencias Sociales tiene la hipótesis que la incidencia de acoso callejero está vinculada con la edad, siendo que la edad del entrevistado podría explicar la incidencia del acoso callejero. Compruebe la hipótesis del investigador, utilizando la variable edad en años (no grupo de edad). Realice el gráfico respectivo. Interprete y elabore las conclusiones correspondientes.

  2. Ahora realice el mismo ejercio utilizando la variable grupos de edad.

Ejercicios:

  1. El investigador o la investigadora acude a revisar la literatura sobre la incidencia de acoso callejero y decide agregar más variables vinculadas a la incidencia de acoso callejero como la edad y el sexo. Compruebe la hipótesis del investigador. Interprete y elabore las conclusiones correspondientes. Realice el gráfico correspondiente.

  2. El investigador o la investigadora desea corroborrar que el nivel socioeconómico no influye en la incidencia de acoso callejero.

Ejercicios:

  1. El investigador o la investigadora desea corroborrar que el nivel educativo (Dos niveles: Secundaria o menos y Educación superior o más) no influye en la incidencia de acoso callejero.

Ejercicio 1

modelo1=lm(indicador ~ EDAD, data = data)
summary(modelo1)

Call:
lm(formula = indicador ~ EDAD, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-30.288 -17.748  -6.638  12.535  89.840 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 39.34547    2.55986  15.370   <2e-16 ***
EDAD        -0.50319    0.05687  -8.848   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 24.78 on 677 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.1036,    Adjusted R-squared:  0.1023 
F-statistic: 78.29 on 1 and 677 DF,  p-value: < 2.2e-16

Ejercicio 1 - Interpretación

Ejercicio 1 - Interpretación

Ejercicio 1 - Interpretación

Ejercicio 1 - Gráfico

Ejercicio 2

data$GEDAD=as.factor(data$GEDAD)
data$GEDAD=factor(data$GEDAD,
                levels = levels(data$GEDAD),
                labels = c("18a29","30a44","masde44"))
table(data$GEDAD)

  18a29   30a44 masde44 
    197     216     267 
library(fastDummies) #install.packages("fastDummies")
data=dummy_cols(data,  select_columns = c("GEDAD"))
names(data)[18:20]

Ejercicio 2

Dado que GEDAD es una variable politómica, la convierto en tres variables dicotómicas.

[1] "GEDAD_18a29"   "GEDAD_30a44"   "GEDAD_masde44"
table(data$GEDAD_18a29)
table(data$GEDAD_30a44)
table(data$GEDAD_masde44)

  0   1 
483 197 

  0   1 
464 216 

  0   1 
413 267 

Ejercicio 2 - Interpretación

GEDAD_masde44 es la variable de referencia, por ello no la coloco en el modelo. Quien decide que colocar que variable colocar como variable de referencia es el investigación o se brinda en la indicación.

modelo2=lm(indicador ~ GEDAD_18a29+GEDAD_30a44, data = data)
summary(modelo2)

Call:
lm(formula = indicador ~ GEDAD_18a29 + GEDAD_30a44, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-26.967 -21.570  -9.316  15.684  90.684 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)    9.316      1.535   6.070 2.14e-09 ***
GEDAD_18a29   17.651      2.356   7.493 2.12e-13 ***
GEDAD_30a44   12.253      2.298   5.332 1.33e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 25.08 on 676 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.0833,    Adjusted R-squared:  0.08059 
F-statistic: 30.72 on 2 and 676 DF,  p-value: 1.707e-13

Ejercicio 2 - Interpretación

Ejercicio 2 - Interpretación

Ejercicio 2 - Interpretación

Ejercicio 2 - Interpretación

Ejercicio 2 - Gráfico

Ejercicio 2 - Tabla

summ(modelo2)
Observations 679 (1 missing obs. deleted)
Dependent variable indicador
Type OLS linear regression
F(2,676) 30.72
0.08
Adj. R² 0.08
Est. S.E. t val. p
(Intercept) 9.32 1.53 6.07 0.00
GEDAD_18a29 17.65 2.36 7.49 0.00
GEDAD_30a44 12.25 2.30 5.33 0.00
Standard errors: OLS

Ejercicio 3

data$SEXO=as.factor(data$SEXO)
data$SEXO=factor(data$SEXO,
                levels = levels(data$SEXO),
                labels = c("Hombre","Mujer"))
library(fastDummies) #install.packages("fastDummies")
data=dummy_cols(data,  select_columns = c("SEXO"))
names(data)[21:22]
[1] "SEXO_Hombre" "SEXO_Mujer" 
modelo3=lm(indicador ~ EDAD+SEXO, data = data)
summary(modelo3)

Call:
lm(formula = indicador ~ EDAD + SEXO, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-39.026 -15.934  -5.977  10.451 100.494 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 28.37965    2.50560  11.326   <2e-16 ***
EDAD        -0.49783    0.05176  -9.618   <2e-16 ***
SEXOMujer   20.60331    1.73279  11.890   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 22.55 on 676 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.2587,    Adjusted R-squared:  0.2565 
F-statistic: 117.9 on 2 and 676 DF,  p-value: < 2.2e-16

Ejercicio 3- Interpretación

Ejercicio 3- Interpretación

Ejercicio 3- Interpretación

Ejercicio 3- Interpretación

Ejercicio 3- Interpretación

El indice de acoso callejero estimado para una mujer de 18 años será de 40%. (Se dice 40% porque el indicador va de 0 a 100%).

IAC=28.37965+(-0.49783*18)+(20.60331*1)
IAC
[1] 40.02202

Ejercicio 3- Gráfico

library(jtools)
plot_coefs(modelo3)

Ejercicio 3 - Tabla

summ(modelo3)

Ejercicio 4

data$NSEGRUP=as.factor(data$NSEGRUP)
data$NSEGRUP=factor(data$NSEGRUP,
                levels = levels(data$NSEGRUP),
                labels = c("AyB","C","DyE"))
table(data$NSEGRUP)

AyB   C DyE 
163 330 187 
library(fastDummies) #install.packages("fastDummies")
data=dummy_cols(data,  select_columns = c("NSEGRUP"))
names(data)[23:25]
[1] "NSEGRUP_AyB" "NSEGRUP_C"   "NSEGRUP_DyE"
table(data$NSEGRUP_AyB)
table(data$NSEGRUP_C)
table(data$NSEGRUP_DyE)

  0   1 
517 163 

  0   1 
350 330 

  0   1 
493 187 

Ejercicio 4

modelo4=lm(indicador ~ NSEGRUP_AyB+NSEGRUP_C,data = data)
summary(modelo4)

Call:
lm(formula = indicador ~ NSEGRUP_AyB + NSEGRUP_C, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
-20.17 -18.58 -17.25  17.33  82.75 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   18.583      1.914   9.710   <2e-16 ***
NSEGRUP_AyB    1.586      2.804   0.566    0.572    
NSEGRUP_C     -1.334      2.397  -0.556    0.578    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 26.17 on 676 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.002042,  Adjusted R-squared:  -0.0009107 
F-statistic: 0.6916 on 2 and 676 DF,  p-value: 0.5011

Ejercicio 5

data$NIVELEDU=as.factor(data$NIVELEDU)
data <- data %>%
  mutate(edu = case_when(
  NIVELEDU == 1 ~ "Secundaria o menos",
  NIVELEDU  == 2 ~ "Secundaria o menos",
 TRUE ~ "Estudios superiores"))
table(data$edu)

EstudiosSuperiores   Secundariaomenos 
               309                371 
library(fastDummies) #install.packages("fastDummies")
data=dummy_cols(data,  select_columns = c("edu"))
names(data)[27:28]
[1] "edu_EstudiosSuperiores" "edu_Secundariaomenos"  

Ejercicio 5


Call:
lm(formula = indicador ~ edu_EstudiosSuperiores, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
-19.68 -17.18 -17.18  17.82  82.82 

Coefficients:
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)              17.183      1.357   12.66   <2e-16 ***
edu_EstudiosSuperiores    2.500      2.016    1.24    0.215    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 26.15 on 677 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.002268,  Adjusted R-squared:  0.0007938 
F-statistic: 1.539 on 1 and 677 DF,  p-value: 0.2152