Práctica 5. Regresión múltiple 1

Materiales de la sesión del 29 Apr 2022

Índice

Objetivo de la práctica

En esta práctica nos enfocaremos en el concepto de regresión múltiple, a partir de la incorporación de dos o más predictores en el modelo. Para ello utilizaremos el ejemplo 3.1 de Wooldridge (2010) cap. 3 (Análisis de regresion múltiple) (p.68-80) sobre las determinantes del promedio en la universidad.

Librerías

pacman::p_load(ggpubr, #graficos
               dplyr, #manipulacion de datos
               sjPlot, #tablas
               gridExtra, #unir graficos
               texreg, #mostrar regresion multiple
               summarytools, #estadisticos descriptivos
               wooldridge) #paquete con los ejemplos del libro

Datos

Los datos a utilizar corresponden a la base de datos gpa1 que incluye una muestra de 141 estudiantes de una universidad. La base contiene las variables:

  • colGPA: (col:college, GPA:notas) promedio general de calificaciones de la universidad, en escala de 0 a 4 puntos

  • hsGPA: (hs: high school) promedio general de calificaciones en la enseñanza media, en escala de 0 a 4 puntos

  • ACT: puntaje en el examen de admisión a la universidad, que va de 16 a 33 puntos

Primero, se cargará la base de datos que contiene la librería wooldridge y se seleccionarán las variables señaladas

data('gpa1') # Cargar base de datos
gpa1 <- dplyr::select(gpa1, colGPA, hsGPA, ACT) #Seleccion de variables

Explorar base de datos

A partir de la siguiente tabla se obtienen estadísticos descriptivos que luego serán relevantes para la interpretación de nuestros modelos.

view(dfSummary(gpa1, headings = FALSE, method = 'render'))

Modelo de regresión simple

Si solo nos centramos en el análisis de regresión simple, intuitivamente partiremos por predecir las calificaciones de la universidad a partir del puntaje obtenido en la prueba de admisión a esta. Formalmente

\[\widehat{colGPA} = b_{0} +b_{1}ACT \]

col_actmodel<-lm(colGPA ~ ACT, data=gpa1) #Crear regresion simple
summary(col_actmodel)
## 
## Call:
## lm(formula = colGPA ~ ACT, data = gpa1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.85251 -0.25251 -0.04426  0.26400  0.89336 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.40298    0.26420   9.095  8.8e-16 ***
## ACT          0.02706    0.01086   2.491   0.0139 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3656 on 139 degrees of freedom
## Multiple R-squared:  0.04275,    Adjusted R-squared:  0.03586 
## F-statistic: 6.207 on 1 and 139 DF,  p-value: 0.0139

En formato publicable:

sjPlot::tab_model(col_actmodel, show.ci=FALSE) #Tabla resumen de resultados
  col GPA
Predictors Estimates p
(Intercept) 2.40 <0.001
ACT 0.03 0.014
Observations 141
R2 / R2 adjusted 0.043 / 0.036

En consecuencia, nuestro modelo que relaciona el promedio de calificaciones en la universidad solo con el puntaje obtenido en el examen de admisión señala que por cada punto adicional que se obtiene en la prueba de admisión, el promedio de la universidad aumenta en 0.027 (aproximado en la tabla de sjPlot a 0.03) puntos en promedio.

\[\widehat{colGPA} = 2.40 +0.0271ACT \]

Ahora bien, si miramos nuestro \(R^2\) notaremos que \(ACT\) solo explica en un 4.3% la varianza de \(colGPA\). Por ello, incluiremos el promedio de las calificaciones de la enseñanza media (\(hsGPA\)) para intentar predecir mejor el promedio general de las calificaciones en la universidad.

Relacion entre variables

Se grafican las variables que determinarían \(colGPA\) para comparar sus distribuciones y sus pendientes (\(b\)) de sus respectivas regresiones simples.

#Grafico x1 = ACT
gact <- ggscatter(gpa1, x = "ACT", y = "colGPA",
          shape = 21, size = 3, # Forma y tamaño de puntos
   add = "reg.line", #Agregar recta de regresion
   cor.coef = TRUE)# Agregar coeficiente correlacion
#Grafico x2 = hsGPA
ghsGPA <- ggscatter(gpa1, x = "hsGPA", y = "colGPA",
          shape = 21, size = 3,
   add = "reg.line",
   cor.coef = TRUE)
grid.arrange(gact, ghsGPA, nrow = 1) # Unir graficos

Con el gráfico anterior podemos notar que, si bien ambas variables tienen una asociación positiva con \(colGPA\), el tamaño efecto de esta relación es distinto. Incluso, \(hsGPA\) que no había sido considerada en nuestro modelo inicial, tiene una asociación más grande con nuestra variable dependiente. Ahora bien, ¿cómo incide \(ACT\) y \(hsGPA\) en conjunto sobre \(colGPA\)?

Modelo de regresión multiple

Para estimar el modelo de regresión multiple se debe realizar el mismo procedimiento de la regresión simple, solo que ahora deben señalar un (+) y el segundo predictor

Grabar / exportar tablas :Exportar tablas modelo <- lm(y ~ x1 + x2 , data = data)

col_actmodel<-lm(colGPA ~ ACT, data=gpa1)
col_hsmodel<-lm(colGPA ~  hsGPA, data=gpa1)
col_model <- lm(colGPA ~ ACT + hsGPA, data = gpa1)
sjPlot::tab_model(list(col_actmodel, col_hsmodel,col_model), # los modelos estimados
  show.ci=FALSE, # no mostrar intervalo de confianza (por defecto lo hace)
  p.style = "stars", # asteriscos de significación estadística
  dv.labels = c("Modelo 1", "Modelo 2", "Modelo 3"), # etiquetas de modelos o variables dep.
  string.pred = "Predictores", string.est = "β") # nombre predictores y símbolo beta en tabla
  Modelo 1 Modelo 2 Modelo 3
Predictores β β β
(Intercept) 2.40 *** 1.42 *** 1.29 ***
ACT 0.03 * 0.01
hsGPA 0.48 *** 0.45 ***
Observations 141 141 141
R2 / R2 adjusted 0.043 / 0.036 0.172 / 0.166 0.176 / 0.164
  • p<0.05   ** p<0.01   *** p<0.001

\[\widehat{colGPA} = 1.29 +0.0094 \dot\ ACT + 0.453\dot\ hsGPA \]

Interpretación

¿Cómo se interpreta esta ecuación general de \(colGPA\) con dos predictores?

Intercepto

  • El intercepto 1.29 indica la predicción del promedio general de calificaciones en la universidad (\(colGPA\)) si \(hsGPA\) y \(ACT\) son ambos cero. Este intercepto no tiene mucho significado debido a que eso implica un individuo ficticio que no haya asistido a la enseñanza media ni haya rendido la prueba de admisión, por lo cual no es parte de nuestra pregunta por las determinantes del promedio en la universidad.

Coeficientes de regresión

  • Fijémonos en los coeficientes de regresión de \(hsGPA\). Como era de esperar en función de los gráficos que habíamos presentado, existe una relación positiva entre \(hsGPA\) y \(colGPA\): con \(ACT\) constante, cada punto más en \(hsGPA\) se relaciona con un aumento en 0.453 puntos adicionales en \(colGPA\), es decir, casi medio punto.

En otras palabras, si se eligen dos estudiantes, A y B, y estos tienen la misma puntación en el exámen de admisión (\(ACT\)), pero el promedio en la enseñanza media de A es superior al de B (\(hsGPA\)), entonces se predice que en la universidad el estudiante A tendrá un promedio general de 0.45 puntos más altos que el estudiante B.

  • Fijémonos ahora en el coeficiente de regresión de \(ACT\): si \(hsGPA\) permanece constante, un aumento en un punto de \(ACT\) solo produce un aumento en 0.0094 puntos en \(colGPA\), es decir, un cambio muy pequeño.

De hecho, un cambio de 10 puntos en el examen de admisión \(ACT\) tendrá un efecto sobre \(colGPA\) de menos de una décima de punto, es decir, menor al cambio que tiene \(hsGPA\). Además, la posibilidad de tener un cambio de 10 puntos en \(ACT\) es muy grande pues como mostramos en los estadísticos descriptivos de nuestras variables el promedio de puntaje en \(colGPA\) es 24 puntos con una desviación estándar de 2.8, lo que hace poco posible ese cambio en la realidad.

Con esto podemos decir que el puntaje en el examen de admisión \(ACT\) no es un fuerte predictor del promedio de calificaciones en la universidad \(colGPA\).

Comparando el modelo de regresión simple con múltiple

Iniciamos este práctico mostrando un análisis de regresión simple con un predictor para el promedio de calificaciones en la universidad: el promedio en el examen de admisión (\(ACT\)).

Obtuvimos que por cada punto de aumento de \(ACT\), \(colGPA\) aumentaba en 0.0271 puntos sus calificaciones, es decir, casi el triple de lo que fue estimado en el modelo de regresión múltiple (tal como se señala en Modelo 1)

¿Cuál de los dos modelos es más certero?

Esto lo podemos definir a partir de la bondad de ajuste de nuestros modelos. Por un lado, el \(R^2\) del modelo 1 es de 4.3% mientras que en el modelo 3 el \(R^2ajustado\) es de 16%, es decir, las variables que se contienen en el modelo explican más la varianza de nuestra variable dependiente.

¿Por qué utilizar R^2 ajustado?

Hasta ahora habíamos utilizado \(R^2\) que nos señalaba qué porcentaje de la variación de la variable dependiente es explicada por la variable independiente.

Ahora bien, es esperable que a medida que añadimos más variables a una regresión, el \(R^2\) tiende a aumentar a pesar de que la contribución de cada una de las variables nuevas no tenga relevancia estadística.

Por ello, el \(R^2\) ajustado se utiliza en la regresión múltiple para analizar en conjunto la intensidad que tienen las variables independientes en explicar la variable dependiente. Es decir, el \(R^2\) ajustado nos dice qué porcentaje de variación de la variable dependiente es explicado colectivamente por todas las variables independientes.

En consecuencia, \(R^2\) ajustado nos permite determinar mejor si es que añadir una nueva variable al modelo permite explicar una mayor parte de la variación de la variable dependiente.

En el ejercicio anterior bien podemos hacer este análisis comparando los \(R^2\) de nuestros modelos 1 y 2 para luego mirar el resultado de nuestro \(R^2\) ajustado en nuestro modelo 3. Como podremos notar el \(R^2\) del modelo 2 es de 17%, mientras que el \(R^2\) del modelo 3 es de 18% y el \(R^2\) ajustado de 16%.

En palabras más simples, si solo miramos el \(R^2\) llegaremos a la conclusión de que aunque por mínimo que sea, nuestro modelo 3 ajusta mejor que el modelo 2 pues la variable \(ACT\) permitiría predecir mejor \(colGPA\) en conjunto a \(hsGPA\). Sin embargo, \(R^2 ajustado\) del modelo 3 (16%) es menor que la del modelo 2 (17%) por lo que la incorporación de \(ACT\) al modelo múltiple no tiene un aporte significativo.

De hecho, un punto no menor es que \(ACT\) pierde significancia estadística en el modelo 3, mientras que \(hsGPA\) sigue siendo significativa con un 99% confianza (la significancia estadística lo revisaremos más adelante).

Resumen Práctica 5:

En esta práctica revisamos los siguientes contenidos

  • Repaso de regresión lineal simple
  • Estimación de regresión lineal múltiple
  • Interpretar regresión lineal múltiple
  • Comparar regresión múltiple y simple
  • Diferencia entre \(R^2\) ajustado y \(R^2\)

Reporte de progreso

Completar el reporte de progreso correspondiente a esta práctica aquí.

Foro práctica 5