Cómo realizar una regresión de mínimos cuadrados ponderados en R

Uno de los supuestos clave de la regresión lineal es que los residuos se distribuyen con la misma varianza en cada nivel de la variable predictora. Esta suposición se conoce como homocedasticidad .

Cuando se viola este supuesto, decimos que la heterocedasticidad está presente en los residuos. Cuando esto ocurre, los resultados de la regresión se vuelven poco fiables.

Una forma de manejar este problema es usar la regresión de mínimos cuadrados ponderados , que coloca ponderaciones en las observaciones de manera que aquellas con una pequeña varianza de error reciben más peso, ya que contienen más información en comparación con las observaciones con una mayor varianza de error.

Este tutorial proporciona un ejemplo paso a paso de cómo realizar una regresión de mínimos cuadrados ponderados en R.

Paso 1: crear los datos

El siguiente código crea un marco de datos que contiene la cantidad de horas estudiadas y la puntuación del examen correspondiente para 16 estudiantes:

df <- data.frame (horas = c (1, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8),
                 puntuación = c (48, 78, 72, 70, 66, 92, 93, 75, 75, 80, 95, 97, 90, 96, 99, 99))

Paso 2: realizar una regresión lineal

A continuación, usaremos la función lm () para ajustar un modelo de regresión lineal simple que usa las horas como variable predictora y la puntuación como variable de respuesta :

#ajustar modelo de modelo de regresión lineal simple
 <- lm (puntuación ~ horas, datos = df)

#Ver resumen del resumen del modelo
 (modelo)

Llamada:
lm (fórmula = puntuación ~ horas, datos = gl)

Derechos residuales de autor:
    Mín. 1T Mediana 3T Máx. 
-17,967 -5,970 -0,719 7,531 15,032 

Coeficientes:
            Estimar Std. Valor t de error Pr (> | t |)    
(Intercepción) 60.467 5.128 11.791 1.17e-08 ***
horas 5.500 1.127 4.879 0.000244 ***
---
Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

Error estándar residual: 9.224 en 14 grados de libertad
R cuadrado múltiple: 0,6296, R cuadrado ajustado: 0,6032 
Estadístico F: 23,8 en 1 y 14 DF, valor de p: 0,0002438

Paso 3: prueba de heterocedasticidad

A continuación, crearemos una gráfica de valores residuales frente a ajustados para verificar visualmente la heterocedasticidad:

#create parcela residual versus parcela ajustada
 ( ajustado (modelo), resid (modelo), xlab = ' Valores ajustados', ylab = ' Residuales ')

#add una línea horizontal en 0 
 abline (0,0)

Podemos ver en la gráfica que los residuos exhiben una forma de «cono», no están distribuidos con la misma varianza en toda la gráfica.

Para probar formalmente la heterocedasticidad, podemos realizar una prueba de Breusch-Pagan:

#cargar biblioteca de paquetes
 lmtest (lmtest)

#realice la prueba de Breusch-Pagan
bptest (modelo)

	prueba Studentized Breusch-Pagan

modelo de datos
BP = 3.9597, gl = 1, valor p = 0.0466

La prueba Breusch–Pagan utiliza la siguiente nulo y alternati cinco hipótesis :

  • Hipótesis nula (H 0 ): la homocedasticidad está presente (los residuos se distribuyen con la misma varianza)
  • Hipótesis alternativa (H A ): Heteroscedasticidad está presente (los residuos no se distribuyen con la misma varianza)

Dado que el valor p de la prueba es 0.0466 , rechazaremos la hipótesis nula y concluiremos que la heterocedasticidad es un problema en este modelo.

Paso 4: realizar una regresión de mínimos cuadrados ponderados

Dado que la heterocedasticidad está presente, realizaremos mínimos cuadrados ponderados definiendo los pesos de tal manera que se dé más peso a las observaciones con menor varianza:

#definir pesos para usar
 wt <- 1 / lm ( abs (modelo $ residuales) ~ modelo $ valores ajustados) $ ajustado. valores ^ 2

# realizar regresión de mínimos cuadrados ponderados
 wls_model <- lm (puntuación ~ horas, datos = gl, pesos = peso)

#ver resumen del resumen del modelo
 (wls_model)

Llamada:
lm (fórmula = puntuación ~ horas, datos = gl, pesos = peso)

Residuos ponderados:
    Mín. 1T Mediana 3T Máx. 
-2.0167 -0.9263 -0.2589 0.9873 1.6977 

Coeficientes:
            Estimar Std. Valor t de error Pr (> | t |)    
(Intercepción) 63.9689 5.1587 12.400 6.13e-09 ***
horas 4.7091 0.8709 5.407 9.24e-05 ***
---
Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

Error estándar residual: 1,199 en 14 grados de libertad
R cuadrado múltiple: 0,6762, R cuadrado ajustado: 0,6531 
Estadístico F: 29,24 en 1 y 14 DF, valor p: 9,236e-05

A partir de la salida, podemos ver que la estimación del coeficiente para la variable predictora horas cambió un poco y el ajuste general del modelo mejoró.

El modelo de mínimos cuadrados ponderados tiene un error estándar residual de 1,199 en comparación con 9,224 en el original simple modelo de regresión lineal.

Esto indica que los valores predichos producidos por el modelo de mínimos cuadrados ponderados están mucho más cerca de las observaciones reales en comparación con los valores predichos producidos por el modelo de regresión lineal simple.

El modelo de mínimos cuadrados ponderados también tiene un R-cuadrado de .6762 en comparación con .6296 en el modelo de regresión lineal simple original.

Esto indica que el modelo de mínimos cuadrados ponderados es capaz de explicar más la varianza en los puntajes de los exámenes en comparación con el modelo de regresión lineal simple.

Estas métricas indican que el modelo de mínimos cuadrados ponderados ofrece un mejor ajuste a los datos en comparación con el modelo de regresión lineal simple.

Recursos adicionales

Cómo realizar una regresión lineal simple en R
Cómo realizar una regresión lineal múltiple en R
Cómo realizar una regresión de cuantiles en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una variable aleatoria sigue una distribución de Bernoulli si solo tiene dos resultados posibles: 0 o 1. Por ejemplo, supongamos…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!