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.