8. Modelos de regresión lineal SIMPLE y múltiple
La regresión lineal es uno de los algoritmos más básicos y más utilizados en Machine Learning y Deep Learning para tareas de predicción y análisis. Se utiliza para modelar la relación entre una variable dependiente y una o más variables independientes. Exploraremos los conceptos de regresión lineal simple y múltiple con énfasis en su implementación en Python.
Regresión lineal simple
La regresión lineal simple es el punto de partida para comprender la regresión lineal. Se trata de dos variables: una variable independiente (X) y una variable dependiente (Y). El objetivo es encontrar una línea recta (modelo lineal) que mejor se ajuste a los datos de modo que podamos usar esta línea para predecir el valor de Y, dado un valor de X. Esta línea se llama línea de mejor ajuste y está representada por la ecuación:
Y = a + bX + ε
Dónde:
- a es la intersección: el valor de Y cuando X es 0.
- b es la pendiente de la recta: el cambio en Y por un cambio de una unidad en X.
- ε es el error aleatorio.
Para encontrar los valores de a y b que minimicen el error, generalmente utilizamos el método de mínimos cuadrados. En Python, se pueden utilizar bibliotecas como NumPy, SciPy o marcos más avanzados como scikit-learn para calcular estos parámetros de manera eficiente.
Regresión lineal múltiple
Cuando tenemos más de una variable independiente, el proceso se conoce como Regresión Lineal Múltiple. La ecuación de la regresión lineal múltiple es:
Y = a + b1X1 + b2X2 + ... + bnXn + ε
Dónde:
- X1, X2, ..., Xn son las variables independientes.
- b1, b2, ..., bn son los coeficientes de cada variable independiente.
En el contexto de múltiples variables, todavía estamos tratando de encontrar la línea que mejor se ajuste, pero ahora es una línea en un espacio multidimensional. El proceso de ajuste es más complejo, pero la idea básica sigue siendo la misma: minimizar la suma de cuadrados de los residuos (la diferencia entre los valores observados y predichos).
Implementación en Python
Python ofrece varias bibliotecas que facilitan la implementación de la regresión lineal. Veamos cómo se puede hacer esto usando scikit-learn:
de sklearn.linear_model importar LinearRegression desde sklearn.model_selection importar train_test_split desde sklearn.metrics importar mean_squared_error importar pandas como pd # Cargando el conjunto de datos datos = pd.read_csv('datos.csv') # Dividir el conjunto de datos en variables independientes (X) y dependientes (Y) X = datos.drop('columna_destino', eje=1) Y = datos['target_column'] # Dividir datos en conjuntos de entrenamiento y prueba. X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42) # Creando el modelo de regresión lineal modelo = Regresión Lineal() # Entrenando el modelo con datos de entrenamiento. modelo.fit(tren_X, tren_Y) # Hacer predicciones con datos de prueba Y_pred = modelo.predict(X_test) # Evaluando el modelo mse = error_cuadrado_medio(prueba_Y, pred_Y) print(f'Error cuadrático medio: {mse}')
Este es un ejemplo simplificado, pero captura la esencia de implementar un modelo de regresión lineal en Python.
Consideraciones importantes
Cuando trabajamos con regresión lineal, es crucial comprobar algunos supuestos para que el modelo sea válido:
- Relación lineal: la relación entre las variables independientes y la variable dependiente debe ser lineal.
- Homoscedasticidad: la varianza de los errores residuales debe ser constante.
- Independencia: Las observaciones deben ser independientes entre sí.
- Ausencia de multicolinealidad: Las variables independientes no deben estar altamente correlacionadas entre sí.
Además, es importante realizar una validación cruzada para garantizar que el modelo no se ajuste demasiado a los datos de entrenamiento. Para este fin se pueden utilizar herramientas como la validación cruzada k-fold.
Conclusión
La regresión lineal simple y múltiple son herramientas poderosas para el análisis predictivo y cualquier persona que quiera trabajar con aprendizaje automático y aprendizaje profundo debería dominarlas. Con práctica y comprensión de los conceptos fundamentales, es posible implementar estos modelos en Python y aplicarlos a una multitud de problemas del mundo real.
Aunque este texto ha proporcionado una descripción general de la regresión lineal y su implementación en Python, es importante continuar estudiando y aplicando estos conceptos a diferentes conjuntos de datos para mejorar su comprensión y habilidad en el modelado predictivo.