Introducción
La regresión lineal puede parecer algo muy simple, pero en realidad tiene un alcance muy grande para modelar datos. Puede verse desde una perspectiva meramente geométrica, sin embargo, tiene unos supuestos estadísticos que son sumamente importantes que se cumplan si queremos que el modelo funcione y sea aplicable.
En este post, quiero enfocarme en la regresión lineal desde la perspectiva del machine learning, por lo que asume un conocimiento básico previo de éste. Cubrirá los siguientes puntos:
- Qué es la regresión lineal en una y varias variables
- Qué significa que la regresión lineal se puede aplicar mientras se tenga linealidad en los parámetros
- Supuestos para la validez de la regresión lineal
- Cómo se define la función de costo para la regresión lineal
- Diferencia entre la solución cerrada para minimizar la función de costo y el método del gradiente descendiente
- Métodos de regularización para regresión lineal y su interpretación geométrica
Sin más por comentar en la introducción, comencemos con el post.
Regresión
La regresión es una técnica de modelación proveniente de la estadística para modelar y analizar la relación entre variables. Se tiene una variable
Es importante mencionar que, para evitar confusiones con la noción de indepencia de probabilidad, se prefiere nombrar a
El tipo de datos con los que la regresión trabaja son numéricos (flotantes), y vienen en duplas
Para trabajar con regresión, si la dimensión lo permite, suele hacerse un diagrama de dispersión que es una gráfica de los datos representados como puntos. Por ejemplo, consideremos de
En este caso, se ve claramente que los puntos tienen una tendencia lineal, esto es, que se les puede ajustar una recta para modelarlos con un error considerablemente bajo. La ecuación de la recta, es
En este diagrama en partícular, los puntos fueron simulados de una recta
Obtención de datos para regresión
Hay 3 maneras principales para obtener datos que puedan usarse en regresión, los cuales se listan a continuación
- Estudio retrospectivo: Aquí se tienen datos que ya fueron capturados en el pasado, y no necesariamente con una intención de ser analizados científicamente, por lo que pueden no estar en la forma más ideal posible. Los datos y sus resultados ya se tienen, no se puede intervenir ni cambiar nada para mejorar la toma de datos. Este tipo de estudio es muy común en machine learning y big data, donde obtienes datos con ciertas características y ya etiquetados que fueron obtenidos en el pasado.
- Estudio observacional: Como su nombre puede indicarlo, en este tipo de estudio solamente se observa el proceso o experimento que quiere analizarse, interviniendo mínimamente solamente para la captura de los datos. Por temas éticos, este estudio es muy usado en el área médica, pues de lo contrario se estaría imponiendo sobre las personas las condiciones que deben tener (como empezar a fumar, por ejemplo).
- Diseño experimental: Este tipo de estudio posee más estrategia. Aquí se manipulan las variables predictoras (o características) de acuerdo a un diseño experimental, para tener ciertos valores y observar su efecto en la variable respuesta.
Regresión Lineal Simple
La regresión lineal simple es útil cuando existe una tendencia lineal en los datos. Aunque veremos más adelante que va más allá de lo lineal. Se le llama simple porque solo hay una característica
Comparándo con la ecuación de la recta, podemos interpretar los parámetros. Se tiene que
Por otro lado,
Ahora bien, retomando el diagrama de dispersión que se vio anteriormente, el cual tiene proviene de la recta
Obteniendo los coeficientes estimados
Regresión Lineal Múltiple
Para el caso en que la variable respuesta
Haciendo sentido de los parámetros. El parámetro
Concluyendo, en el modelo de regresión simple y múltiple, la linealidad se tiene en los parámetros. Esto extiende más allá el concepto de linealidad aunque las variables regresoras
Regresión Polinomial
Ya vimos que una regresión lineal de
Como su nombre lo indica, la regresión polinomial de una variable
Supuestos de la regresión lineal
Es importante saber cuándo es prudente utilizar un modelo de regresión lineal. Para que se cumplan las condiciones de la regresión lineal simple y múltiple, se tienen los siguientes supuestos necesarios
- Linealidad: La relación entre las variables regresoras
y la variable repuesta debe ser lineal. Notemos que en la regresión polinomial esto va más allá, necesitando solo linealidad en los parámetros. - Homocedasticidad: Significa que la varianza de los errores es constante.
- Normalidad de los errores: Los residulales, es decir los errores, deben seguir una distribución normal con media 0 y varianza
. - Errores independientes (no autocorrelación): Los errores no deben estar correlacionados entre ellos, es otras palabras, deben ser independientes e idénticamente distribuidos.
- No multicolinealidad: No existe correlación entre las variables regresoras.
- No exogeneidad: Las variables regresoras y los errores no están correlacionados.
Mínimos cuadrados ordinarios como función de costo
En machine learning, la base para ajustar los parámetros a nuestros datos, lo que se conoce como aprender, radica en la optimización de una función objetivo. Dicho de otra manera, es minimizar una función de costo, donde dicha función sería una medida del error en las predicciones del modelo.
En la regresión lineal no es la excepción. Es muy conocido el método de mínimos cuadrados para ajustar los parámetros, donde se define la función de costo
Notemos que la diferencia
Nótese que los ejes fueron escalados para una mejor visualización. Ahora, al ajustar los parámetros
Para minimizar dicha función, es mejor expresarla en término de los parámetros
Ajuste de los parámetros minimizando la función de costo
Hay 3 maneras principales de minimizar la función de costo de mínimos cuadrados ordinarios (MCO)
Mi objetivo de este post no es hacer demostraciones matemáticas ni cálculos completos, sino que ilustrar la metodología, así que nos enfocaremos en el método clásico y el de gradiente descendiente. Veamos a más detalle
El método de mínimos cuadrados clásico
Para minimizar la función de costo, los estimados de los parámetros
de acuerdo al criterio de la primer derivada, ésta debe ser 0 para que sea un mínimo.
Simplificando las expresiones, separando las sumatorias y resolviendo para
donde
Para el caso multivariable, se tiene una solución de los parámetros estimados
Así,
El método del gradiente descendiente
Retomando conceptos de cálculo diferencial para una variable, la derivada de una función
El método del gradiente descendiente, las derivadas son respecto a los parámetros
Así, se estarán ajustando los parámetros
Por lo tanto, para el caso de regresión lineal simple, si utilizamos el método del gradiente descendiente tendriamos lo siguiente
¿Cuál usar de los 2 métodos?
La respuesta rádica en la complejidad computacional y el tiempo que toman los cálculos. En machine learning se trabajan con datos demasiado grandes, más de lo que se solía hacer en la estadística convencional, por lo tanto, la forma matricial de obtener los parámetros puede llegar a ser muy costosa computacionalmente hablando si se tienen muchos datos y muchas características (variables regresoras). Así, es más conveniente utilizar el método del gradiente descendiente, que en la práctica suele ser más eficiente.
Métodos de regularización
La regularización en regresión lineal, es para reducir la complejidad del modelo evitando así un sobreajuste. Esto se logra añadiendo un término a la función de costo de MCO, lo que acota los parámetros evitando que crezcan demasiado. Hay 2 casos, Ridge y Lasso, como se verá a continuación.
Regresión Lineal Ridge: limitando el tamaño de los parámetros
La regresión ridge hace que los parámetros
Notemos que el parámetro
A la regresión ridge también se le conoce como regularización L2, debido a que el término
Regresión Lineal Lasso: un selector de características
La regresión lasso actúa como un selector de características, ya que impone que algunos de los parámetros
Igual que en el caso de regresión ridge, el parámetro
A la regresión lasso también se le conoce como regularización L1, debido a que el término
Interpretación geométrica de ridge y lasso
Surge la pregunta, ¿Por qué la regresión ridge encoje los coeficientes pero la regresión lasso fuerza algunos de ellos a ser
La función de costo de mínimos cuadrados ordinarios MCO, es una función convexa, por lo que es posible minimizarla. Ahora bien, si la graficamos en el espacio de los parámetros al minimizar se pueden probar todos las combinaciones de parámetros, sin embargo, al añadir un término de penalización como en ridge y lasso, se hace una constricción en el espacio en el que puede bucarse el mínimo. Veamos la siguiente figura (extraída del libro Introduction to Statistical Learning)
En este caso, es una regresión en 2 dimensiones con
Para el caso de ridge, tenemos la constricción el círculo
Conclusiones
En este post, se vió cómo se define la regresión lineal en una y varias variables, y los supuestos que se deben cumplir para su utilización. Se explicó cómo minimizar su función de costo de mínimos cuadrados ordinarios en la manera clásica y con el método de gradiente descendiente. También, se vieron los métodos de regularización de regresión ridge y lasso, y cómo influyen en los parámetros encojiéndolos o haciendo algunos de ellos
Como trabajo futuro, queda llevar este conocimiento a implementación en código, para ver su funcionalidad práctica. Existen librerías para hacer regresión lineal, ridge y lasso; en Python está scikit-learn
; mientras que en R tenemos stats
y glmnet
.
Recomiendo ampliamente revisar las referencias usadas para este post, hay conocimiento muy bueno en ellas.
Referencias
Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining (2021). Introduction to Linear Regression Analysis. Sixth Edition.
Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani (2023). An Introduction to Statistical Learning with Applications in R. 2nd Edition.
Yunpeng Tai (2021). A Survey Of Regression Algorithms And Connections With Deep Learning.
Mukul Ranjan (2022). How does Lasso regression(L1) encourage zero coefficients but not the L2?. Medium. Post link
Terence Parr. A visual explanation for regularization of linear models. Explained.ai. Post link
User: QuantStyle. What is the computational cost of gradient descent vs linear regression?. StackExchange. Post link