DESCRIPCIÓN

Objetivo

Cargar datos trasformados del consumo energético en el Clúster para después analizarlos y generar predicciones futuras del consumo Energético.

Explicación

  • Los datos de los medidores se registran en una base de datos de Serie Temporal (InfluxDB) registrando el consumo del medidor (kWh) con una frecuencia de 1 minuto.
  • Para obtener los datos del consumo de una hora o de un día hay que sacar la diferencia.
  • El reto consisten en realizar un proceso ETL para cargar los datos al Clúster periódicamente (cada semana “lunes a la mañana la carga de la semana anterior” o cada mes “primer día de cada mes”) para que después extraigamos los datos deseados y hagamos predicciones de consumos energéticos futuros.

TAREAS

  • Carga de datos en HDFS tras proceso ETL: Cargar los datos almacenados en la base de datos de serie temporal (InfluxDB), con un job o cron (cada semana, cada mes, …)  para importarlos al Clúster. Se tendrá que realizar un script que ejecute las siguientes tareas.
    • Capturar y Trasformar los Datos: Capturar los datos, agruparlos por horas o días, calcular los consumos, y obtener un Dataframe con las comunas deseadas.
    • Limpiar los Datos: Limpiar los datos faltantes y valores atípicos (conviene realizar técnicas de imputación de datos en vez de quitarlos)
    • Enriquecer los Datos: Con calendarios (festivos, …) y datos meteorológicos de las estaciones mas cercanas (Python metostat)

 

  • Ajustar la Predicción: Genera un script para que se hagan predicciones de consumos energéticos futuros.
    • Extraer los datos de HDFS  
    • Dividir Datos en Entrenamiento y Test
    • Aplicar distintos Algoritmos de Regresión (DecisionTree, RandomFores, XGboost, …)
    • Análisis Exploratorio de modelos y Datos
    • Análisis Visual de Resultados

 

  • Crear Job para ejecución de Script elegido: Crear Script con el algoritmo seleccionado para que se entrene con unos datos X (los últimos 3 meses, un año) y realice predicciones futuras periódicamente (cada cambio de mes, el siguiente mes)
    • Ajustar Script para que obtenga los datos de un periodo concreto para el Entrenamiento:
    • Generar modelo con el algoritmo seleccionado, y guardar el modelo.
    • Añadir predicciones al Dataframe de Entrenamiento y al Dataframe Test (Futuro).
    • Visualizar los datos de forma Gráfica, Real vs. Predicción.

Ejemplos Visuales de Entrenamiento, Test y Predicciones Futuras.

  • Entrenamiento
  • Test
  • Futuro

Leave a reply