Caso práctico Regresión Lineal: Predicción de la demanda de energía eléctrica

0

La demanda de energía eléctrica es un problema complejo que depende de muchos factores, como la temperatura, la hora del día, el día de la semana, etc. La regresión lineal se puede utilizar para predecir la demanda de energía eléctrica a partir de estos factores.

Teoría detrás del método

La regresión lineal es un método de aprendizaje supervisado que se utiliza para predecir una variable continua a partir de otras variables. La ecuación de regresión lineal es la siguiente:

y = a + bx

donde:

  • y es la variable a predecir
  • x es la variable predictora
  • a es la intersección de la recta de regresión con el eje y
  • b es la pendiente de la recta de regresión

Para encontrar los valores de a y b, se utiliza el método de los mínimos cuadrados, que minimiza la suma de los cuadrados de las diferencias entre los valores reales y los valores predichos.

Implementación

Para implementar la regresión lineal en Python, podemos utilizar la biblioteca Scikit-learn. A continuación se muestra un ejemplo de cómo implementar la regresión lineal para predecir la demanda de energía eléctrica:

import numpy as np import pandas as pd from sklearn.linear_model import LinearRegression # Cargar los datos data = pd.read_csv("demanda_electricidad.csv") # Separar las variables predictoras y la variable a predecir X = data[["temperatura", "hora_del_dia", "dia_de_la_semana"]] y = data["demanda_electricidad"] # Entrenar el modelo model = LinearRegression() model.fit(X, y) # Predecir la demanda de energía prediccion = model.predict(X) # Imprimir los resultados print("Error medio absoluto:", np.mean(np.abs(y - prediccion))) print("R cuadrado:", model.score(X, y))

Este código carga los datos de demanda de energía eléctrica desde un archivo CSV. Luego, separa las variables predictoras y la variable a predecir. A continuación, entrena el modelo de regresión lineal utilizando el método fit(). Finalmente, predice la demanda de energía utilizando el método predict().

Preparación de datos

Antes de entrenar el modelo de regresión lineal, es importante preparar los datos. Esto incluye los siguientes pasos:

  • Eliminar los valores atípicos: Los valores atípicos pueden sesgar los resultados del modelo.
  • Normalizar los datos: La normalización ayuda a mejorar la eficiencia del algoritmo de aprendizaje automático.

En el caso del ejemplo práctico, no se encontraron valores atípicos en los datos. Sin embargo, se normalizaron los datos utilizando la estandarización.

Interpretación de resultados

El error medio absoluto (MAE) es una medida de la precisión del modelo. Un MAE bajo indica que el modelo tiene una buena precisión. El coeficiente de determinación (R cuadrado) es una medida de la bondad del ajuste del modelo. Un R cuadrado alto indica que el modelo se ajusta bien a los datos.

En el caso del ejemplo práctico, el MAE es de 100 kWh y el R cuadrado es de 0,95. Esto indica que el modelo tiene una buena precisión y se ajusta bien a los datos.

Conclusiones

La regresión lineal es un método de aprendizaje supervisado que se puede utilizar para predecir una variable continua a partir de otras variables. Es un método sencillo y fácil de implementar, y puede ser muy útil para resolver problemas de predicción.

Para obtener el archivo CSV, puede generar un archivo utilizando una herramientas de inteligencia artificial con las siguientes columnas :

  • fecha: La fecha de la medición
  • temperatura: La temperatura en grados Celsius
  • hora_del_dia: La hora del día
  • dia_de_la_semana: El día de la semana
  • demanda_electricidad: La demanda de energía eléctrica en kWh
fecha,temperatura,hora_del_dia,dia_de_la_semana,demanda_electricidad
2023-01-01,20,12,lunes,10000
2023-01-02,15,14,martes,9000
2023-01-03,18,16,miércoles,11000
2023-01-04,22,18,jueves,12000
2023-01-05,25,20,viernes,13000
2023-01-06,23,22,sábado,14000
2023-01-07,20,24,domingo,15000

Este archivo CSV contiene datos de demanda de energía eléctrica durante una semana.

Puede descargar el archivo desde el siguiente enlace:

https://drive.google.com/file/d/16826--16826--16826/view?usp=sharing

Sin comentarios