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

| Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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:

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:

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()
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!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado