Regresión Lineal – Teoría aprendeia.com/algoritmo-regresion-lineal-simple-machine-learning/ Ligdi Gonzalez 30 de noviembre de 2018 El modelo de Regresión Lineal es tan simple que muchos argumentan que no es digno de ser clasificado como Machine Learning. Este algoritmo es un método estadístico que te permite resumir y estudiar las relaciones entre dos variables continuas cuantitativas. Aunque puede parecer algo aburrido en comparación con algunos de los algoritmos más modernos, este algoritmo sigue siendo un método de aprendizaje estadístico útil y ampliamente utilizado. Expliquemos un poco mejor este algoritmo. Definición La Regresión Lineal o linear regression es una técnica paramétrica utilizada para predecir variables continuas, dependientes, dado un conjunto de variables independientes. Explicado de manera más sencilla, la Regresión Lineal es un método para predecir la variable dependiente (y) en función de los valores de las variables independientes (X). Se puede usar para los casos donde quieras predecir alguna cantidad continua, por ejemplo, predecir el tráfico en una tienda minorista, predecir el tiempo de permanencia de un usuario o el número de páginas visitas en un blog, etc. Es de naturaleza paramétrica porque hace ciertas suposiciones basadas en el conjunto de datos. Si el conjunto de datos sigue esas suposiciones, la regresión arroja resultados increíbles, de lo contrario, tiene dificultades para proporcionar una precisión convincente. 1/9 Variables independientes y dependientes Como pudiste ver en el concepto de la Regresión Lineal se menciona que se utilizan variables dependientes e independientes dentro de este algoritmo, por lo que antes de continuar con la explicación de este algoritmo es bueno que tengas claro de qué se trata este tipo de variables para que puedas entender las siguientes explicaciones. Las variables independientes o características, son variables que se manipulan para determinar el valor de una variable dependiente. Simplemente, son las características que queremos usar para predecir algún valor dado de y. Normalmente en Machine Learning vienen declarado como X. Por otra parte la variable dependiente u objetivo, depende de los valores de la variable independiente. En pocas palabras, es la característica que estamos tratando de predecir. Esto también se puede conocer comúnmente como una variable de respuesta. En Machine Learning esta variable esta definida como y. Representación matemática de la regresión La Regresión Lineal puede ser simple o múltiple, la primera se refiere cuando solamente tenemos una sola variable independiente para realizar la predicción, en cambio en la Regresión Lineal Múltiple se manejan múltiples variables independientes que contribuyen a 2/9 la variable dependiente. Matemáticamente, la Regresión Lineal Simple usa una función lineal para aproximar o predecir la variable dependiente dada como: Donde: y – es la variable dependiente o la variable a predecir. x – es la variable independiente o la variable que usamos para hacer una predicción. a – es la pendiente o el valor que debe ser determinado, se le conoce como coeficiente y es una especie de magnitud de cambio que pasa por y cuando x cambia. b – es la constante que debe ser determinada, se le conoce como intercepto porque cuando x es igual a 0, entonces y = b. Como puedes observar en la fórmula, solo hay una variable independiente involucrada, que vendría siendo “x”. Por su parte, la ecuación de la Regresión Lineal Múltiple es la siguiente: 3/9 Como puedes observar está ecuación es muy parecida a la de Regresión Lineal simple solamente que acá incluimos las n variables independientes con su respectivo coeficiente. Por lo tanto, acá se manejan múltiples coeficientes y, a su vez, es computacionalmente más compleja debido a las variables añadidas. Aunque se cuenta con dos tipos de Regresión Lineal, en la vida real normalmente se utiliza la Regresión Lineal Múltiple debido a que normalmente se cuenta con múltiples variables independiente para realizar el análisis. Objetivo de la Regresión Lineal El objetivo con Regresión Lineal Simple es minimizar la distancia vertical entre todos los datos y nuestra línea, por lo tanto, para determinar la mejor línea, debemos minimizar la distancia entre todos los puntos y la distancia de nuestra línea. Existen muchos métodos 4/9 para cumplir con este objetivo, pero todos estos métodos tienen un solo objetivo que es el de minimizar la distancia. Una forma en que el modelo de regresión encuentre la mejor línea de ajustes es utilizando el criterio de mínimos cuadrados para reducir el error. El error es una parte inevitable del proceso de predicción, no importa cuán poderoso sea el algoritmo que elijamos, siempre habrá un error irreductible, por lo que es imposible que un modelo nos arroje una precisión de 100%, ya que si es así tenemos un error. Sabemos que no podemos eliminar por completo el error, pero aún podemos intentar reducirlo al nivel más bajo. Justamente es en este momento en que se usa la técnica conocida como mínimos cuadrados. La técnica de mínimos cuadrado intenta reducir la suma de los errores al cuadrado, buscando el mejor valor posible de los coeficientes de regresión. Los mínimos cuadrados no es la única técnica para usar en Regresión Lineal pero se selecciona debido: Utiliza un error cuadrado que tiene buenas propiedades matemáticas, por lo que es más fácil diferenciar y calcular el descenso del gradiente. Es fácil de analizar y computacionalmente más rápido, es decir, puede aplicarse rápidamente a conjuntos de datos que tienen miles de características. La interpretación es mucho más fácil que otras técnicas de regresión. Comprendamos en detalle cómo usar estas fórmulas con un ejemplo: 5/9 Se nos da un conjunto de datos con 100 observaciones y 2 variables, altura y peso. Necesitamos predecir el peso dada la altura. La ecuación sería el de Regresión Lineal simple ya que solamente cuenta con una variable independiente y se puede escribir de la siguiente forma: y = ax + b Donde: y – es el peso x – es la altura a, b son los coeficientes a ser calculados Al usar Python o cualquier lenguaje de programación no necesitas saber cómo se calculan estos coeficientes e inclusive el error, razón por la cual a la mayoría de las personas no les importa el cómo calcularla, pero es mi consejo que debes por lo menos tener un conocimiento al respecto para de esta forma te acerques a ser un maestro en estos temas. La formula para calcular estos coeficientes es fácil inclusive si solamente tienes los datos y no tienes acceso a ninguna herramienta estadística para el cálculo podrás hacer la predicción. La fórmula para calcular coeficientes es la siguiente: donde: i = al número de datos Suposiciones sobre la Regresión Lineal Para ajustar una línea de regresión lineal, los datos deben satisfacer algunas suposiciones básicas pero importantes, si tus datos no siguen los suposiciones, sus resultados pueden ser incorrectos y engañosos. Veamos algunas de estas suposiciones: 6/9 Linealidad y aditivo. Debe existir una relación lineal, los datos deben satisfacer algunas suposiciones básicas pero importantes. Por lineal, significa que un cambio en la variable dependiente por 1 cambio de unidad en la variable independiente es constante. Por aditivo, se refiere al efecto de “x” y “y” son independientes de otras variables. Si los datos no siguen las suposiciones, los resultados pueden ser incorrectos y engañosos. Suposición lineal. La regresión lineal supone que la relación entre la entrada y salida es lineal. No es compatible con nada más. Esto puede ser obvio, pero es bueno recordar cuando tenemos muchos atributos. Eliminar el ruido. La regresión lineal asume que sus variables de entrada y salida no son ruidosas. Considera usar operaciones de limpieza de datos que permitan exponer mejor y aclarar la señal en los datos. La presencia de correlación en términos de error se conoce como autocorrelación y afecta de manera drástica los coeficientes de regresión y los valores de error estándar, ya que se basan en la suposición de los términos de error no correlacionados. Eliminar la colinealidad. La regresión lineal se ajustará demasiado a los datos cuando tenga variables de entrada altamente correlacionadas. Considera calcular correlaciones por pares para sus datos de entrada y eliminar los más correlacionados. La presencia de correlación en términos de error se conoce como autocorrelación y afecta de manera drástica los coeficientes de regresión y los valores de error estándar, ya que se basan en la suposición de los términos de error no correlacionados. Distribuciones gaussianas. La regresión lineal hará predicciones más confiables si sus variables de entrada y salida tienen una distribución normal. Podemos obtener algún beneficio utilizando transformaciones en sus variables para hacer que su distribución tenga un aspecto más gaussiano. La presencia de estos supuestos hace que la regresión sea bastante restrictiva, es decir el rendimiento de un modelo de regresión está condicionado al cumplimiento de estas suposiciones. Una vez que se violan estas suposiciones, la regresión hace predicciones tendenciosas y erráticas por lo que se debe tener en cuenta cuando se esté trabajando con este algoritmo. Selección de las variables independientes 7/9 Un punto importante a destacar es que generalmente, cuando se trata de Regresión Lineal múltiple no incluimos todas las variables independientes a la vez y posteriormente comenzamos a minimizar la función de error. Lo primero que se debe hacer es enfocarse en seleccionar las mejores variables independientes que puedan contribuir a la variable dependiente. Para esto, debemos construir una matriz de correlación para todas las variables independiente e incluimos la variable dependiente. El valor de correlación nos da una idea de qué variable es significativa y por qué factor. A partir de esta matriz, elegimos las variables independientes en orden decreciente de valor de correlación y ejecutamos el modelo de regresión para estimar los coeficientes minimizando la función de error. Nos detenemos cuando no hay mejora destacada en la función de estimación mediante la inclusión de la siguiente característica independiente. Este método aún puede complicarse cuando hay un gran número de características independientes que tienen una contribución significativa al decidir nuestra variable dependiente. Este método es explicado mucho mejor en otra publicación. Lo importante que tienes que tomar en cuenta con este método es que agregar más variables independientes no significa que la regresión sea mejor u ofrece mejores predicciones. La Regresión Lineal múltiple y simple tiene diferentes casos de uso, uno no es superior. En algunos casos, agregar más variables independientes puede empeorar las cosas, esto se conoce como ajuste excesivo. Por otra parte, cuando se agrega más variables independientes se crean relaciones entre ellas. Entonces, no solo las variables independientes están potencialmente relacionadas con la variable dependiente, sino que también están potencialmente relacionadas entre sí, esto se conoce como multicolinealidad. El escenario óptimo es que todas las variables independientes de correlacionen con la variable dependiente, pero no entre sí. Respuesta a la pregunta del video Opción 1: Predecir el precio de una acción de la bolsa de valores, utilizando los valores históricos. Respuesta Correcta. Con este algoritmo se puede calcular el precio tomando la data antigua de la acción, aunque no será el mejor algoritmo para predecir este valor, la razón es que en ocasiones la data no será completamente lineal, ya el precio tendrá subidas y bajadas, por lo que es preferible seleccionar otro algoritmo. Opción 2: Predecir si una persona esta enferma tomando en cuenta su altura, peso y temperatura. Respuesta Incorrecta. Con este algoritmo no se puede predecir esto, ya que este es un algoritmo de regresión por lo que la predicción es un número, en cambio en este problema se debe predecir si la persona está enferma o no por lo que es un problema de clasificación. 8/9 Opción 3: Predecir si una persona puede vivir o morir en el hundimiento del Titanic tomando en cuenta la edad, sexo y ubicación de su cabina. Respuesta Incorrecta. Con este algoritmo no se puede predecir esto, ya que este es un algoritmo de regresión por lo que la predicción es un número, en cambio en este problema se debe predecir si la persona vive o muere en el hundimiento del Titanic por lo que es un problema de clasificación. 9/9