Cómo realizar una regresión cuantílica en R

La regresión lineal es un método que podemos utilizar para comprender la relación entre una o más variables predictoras y una variable de respuesta .

Normalmente, cuando realizamos una regresión lineal, nos interesa estimar el valor medio de la variable de respuesta.

Sin embargo, podríamos utilizar un método conocido como regresión cuantílica para estimar cualquier valor de percentil o cuantil del valor de respuesta, como el percentil 70, el percentil 90, el percentil 98, etc.

Para realizar la regresión de cuantiles en R podemos usar la función rq () del paquete quantreg , que usa la siguiente sintaxis:

biblioteca (quantreg)

modelo <- rq (y ~ x, datos = conjunto de datos, tau = 0.5 )

dónde:

  • y: la variable de respuesta
  • x: la (s) variable (s) predictoras
  • datos: el nombre del conjunto de datos
  • tau: El percentil a encontrar. El valor predeterminado es la mediana (tau = 0.5) pero puede ver esto en cualquier número entre 0 y 1.

Este tutorial proporciona un ejemplo paso a paso de cómo utilizar esta función para realizar una regresión de cuantiles en R.

Paso 1: ingrese los datos

Para este ejemplo, crearemos un conjunto de datos que contiene las horas estudiadas y el puntaje del examen recibido por 100 estudiantes diferentes en alguna universidad:

#Haga que este ejemplo sea reproducible
 set.seed (0)

#create marco de datos 
horas <- runif (100, 1, 10)
puntuación <- 60 + 2 * horas + rnorm (100, media = 0, de = .45 * horas)
df <- data.frame (horas, puntuación)

#ver las primeras seis filas
cabeza (df)

     puntaje de horas
1 9.070275 79.22682
2 3.389578 66.20457
3 4.349115 73.47623
4 6.155680 70.10823
5 9.173870 78.12119
6 2.815137 65.94716

Paso 2: realizar una regresión cuantílica

A continuación, ajustaremos un modelo de regresión por cuantiles utilizando las horas estudiadas como variable predictiva y la puntuación del examen como variable de respuesta.

Usaremos el modelo para predecir el percentil 90 esperado de los puntajes de los exámenes según la cantidad de horas estudiadas:

biblioteca (quantreg)

#fit model
 model <- rq (puntuación ~ horas, datos = gl, tau = 0,9 )

#Ver resumen del resumen del modelo
 (modelo)

Llamar: rq (fórmula = puntuación ~ horas, tau = 0,9, datos = gl)

tau: [1] 0,9

Coeficientes:
            coeficientes bd inferior bd superior
(Intercepción) 60.25185 59.27193 62.56459
horas 2.43746 1.98094 2.76989

En el resultado, podemos ver la ecuación de regresión estimada:

Percentil 90 de la puntuación del examen = 60,25 + 2,437 * (horas)

Por ejemplo, se espera que el percentil 90 de las puntuaciones para todos los estudiantes que estudian 8 horas sea 79,75:

Percentil 90 de la puntuación del examen = 60,25 + 2,437 * (8) = 79,75 .

La salida también muestra los límites de confianza superior e inferior para la intersección y las horas variables de predicción.

Paso 3: Visualice los resultados

También podemos visualizar los resultados de la regresión creando un diagrama de dispersión con la ecuación de regresión cuantílica ajustada superpuesta en el diagrama:

biblioteca (ggplot2)

#crear un diagrama de dispersión con la línea de regresión cuantílica
 ggplot (df, aes (horas, puntuación)) +
  geom_point () + 
  geom_abline (intersección = coef (modelo) [1], pendiente = coef (modelo) [2])

Ejemplo de regresión cuantílica en R

A diferencia de una línea de regresión lineal tradicional, observe que esta línea ajustada no atraviesa el corazón de los datos. En cambio, pasa por el percentil 90 estimado en cada nivel de la variable predictora.

Podemos ver la diferencia entre la ecuación de regresión cuantílica ajustada y la ecuación de regresión lineal simple agregando el argumento geom_smooth () :

biblioteca (ggplot2)

#crear un diagrama de dispersión con una línea de regresión cuantílica y una línea de regresión lineal simple
 ggplot (df, aes (horas, puntuación)) +
  geom_point () + 
  geom_abline (intersección = coef (modelo) [1], pendiente = coef (modelo) [2]) +
  geom_smooth (método = " lm ", se = F )

Gráfica de regresión cuantílica vs regresión lineal simple

La línea negra muestra la línea de regresión de cuantiles ajustados para el percentil 90 y la línea azul muestra la línea de regresión lineal simple, que estima el valor medio de la variable de respuesta.

Como era de esperar, la línea de regresión lineal simple atraviesa los datos y nos muestra el valor medio estimado de las puntuaciones de los exámenes en cada nivel de horas.

Recursos adicionales

Cómo realizar una regresión lineal simple en R (paso a paso)
Cómo realizar una regresión lineal múltiple en R
Cómo realizar una regresión cuadrática en R

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

Deja un comentario

Muchas pruebas estadísticas requieren que una o más variables se distribuyan normalmente para que los resultados de la prueba sean…
statologos comunidad-2

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

You have Successfully Subscribed!