¿Qué es la regresión cuantílica?

Autor: | Última modificación: 24 de octubre de 2022 | Tiempo de Lectura: 2 minutos
Temas en este post:

La regresión cuantílica es un tipo de regresión lineal, pero con unas pequeñas diferencias. En este artículo te contamos cuáles son.

¿Cómo funciona la regresión cuantílica?

El objetivo principal de la regresión lineal es minimizar el error cuadrático medio, es decir:

¿Qué es la regresión cuantílica? 1

Si tenemos una serie de puntos en una sola coordenada, el valor que minimiza esos puntos es la media.

Si, en cualquier caso, no quieres hallar la media, sino que quieres que te converja a la mediana o al percentil 50 o 75, por ejemplo (siempre y cuando no sea la media), tendrás que usar la regresión cuantílica.

Tomando una estructura similar a la de la regresión lineal, el modelo de la regresión cuantílica sería:

¿Qué es la regresión cuantílica? 2

Con la regresión cuantílica podemos decirle a la recta que, en lugar de ir a la media, vaya a cualquier otro punto.

En Python este es un paquete instalado dentro del statsmodel y en R ya viene instalado dentro de los paquetes por defecto.

rq

Podemos realizar una regresión por cuantiles usando la función rq. Así, podremos especificar qué cuantil condicional queremos. El valor predeterminado es 0.5, que corresponde a la media.

Veamos un ejemplo: vamos a ajustar una regresión cuantílica de millas por galón frente al peso de un automóvil. Así, podremos hacer un análisis de regresión que se salga del intervalo de confianza:

rqfit <- rq(mpg ~ wt, data = mtcars)
rqfit

Imprimiremos el resultado:

sumamry (rqfit)

Ahora, haremos un análisis comparativo entre la regresión cuantílica y la regresión lineal en un gráfico:

plot(mpg ~ wt, data = mtcars, pch = 16, main = "mpg ~ wt")
abline(lm(mpg ~ wt, data = mtcars), col = "red", lty = 2)
abline(rq(mpg ~ wt, data = mtcars), col = "blue", lty = 2)
legend("topright", legend = c("lm", "rq"), col = c("red", "blue"), lty = 2)

El resultado:

regresión cuantílica gráfica

quantreg

En Python podremos usar el paquete quantreg dentro del statsmodel para ejecutar una regresión cuantílica.

En el siguiente ejemplo, analizaremos la relación entre los ingresos y los gastos en alimentos para una muestra de hogares en determinado año:

import statsmodels.api as sm
import statsmodels.formula.api as smf
data = sm.datasets.engel.load_pandas().data
data.head()
¿Qué es la regresión cuantílica? 3
mod = smf.quantreg('foodexp ~ income', data)
res = mod.fit(q=.5)
print(res.summary())
regresión cuantílica resultado

Conclusiones

Has aprendido cómo funciona la regresión cuantílica y cuáles son sus ventajas. Esta posee un enfoque de modelado estadístico muy maleable, ya que utiliza modelos de regresión lineal para ajustar los cuantiles de respuesta sin necesidad de proponer una distribución paramétrica.

También, hemos visto que la regresión cuantílica puede predecir los niveles de cuantiles de las observaciones al mismo tiempo que se ajustan los efectos de las covariables.

Herramientas como quantreg y rq nos brindan la posibilidad de ajustar y construir cuantiles a partir de los modelos de regresión, haciéndolos factibles para aplicaciones con números elevados de datos.

De todo esto podemos concluir que el mundo del Big Data abarca muchísimas disciplinas, por lo que te gustará saber que puedes aprenderlas todas en un solo lugar: el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Te formarás en todo lo necesario para poder conseguir un buen empleo en uno de los mercados laborales más prolíficos y mejor pagados en la actualidad. ¡Inscríbete y empieza a modelar tu futuro!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.