ESTE SITIO SE ENCUENTRA EN CONSTRUCCIÓN
PASOS PARA PREDECIR CON UN EXTREME GRADIENT BOOSTING
Carga de los datos
Se importan los datos y se organizan para ser procesados posteriormente.
Matriz de correlación
Se observa la fuerza de la relación que existe entre la variable objetivo y los predictores.
Normalización
Se hace el escalado de todo el DataFrame mediante la normalización min-max.
Ajuste
Se utiliza la biblioteca XGBoost para ajustar el dataset de entrenamiento, acompañado de algunos métodos de optimización.
Model predictions
Se hacen las predicciones con el XGBoost y se contrasta el valor esperado con la realidad.
ACERCA DEL EXTREME GRADIENT BOOSTING
Extreme Gradient Boosting (XGBoost) o Refuerzo de Gradientes Extremo es actualmente una de las mejores implementaciones de árboles potenciados por gradiente. Fue publicado el 27 de marzo de 2014 por Tianqi Chen como un proyecto de investigación y se ha convertido en uno de los algoritmos de aprendizaje automático más implementado para clasificación y regresión. XGBoost fue diseñado utilizando los principios generales de aumento de gradiente. Mientras que los árboles potenciados por gradientes se construyen secuencialmente, aprendiendo lentamente de los datos para mejorar su predicción en iteraciones posteriores, XGBoost construye árboles en paralelo [1]. En el libro de Brownlee (2016) se presentan diversos casos de uso de la técnica con implementaciones en python.
XGBOOST PARA REGRESIÓN
Carga de los datos
Se cargan los datos utilizados como caso de estudio, consisten en series temporales de generación de energía eléctrica para la variable dependiente u objetivos y series de registros meteorológicos para los predictores o variables explicativas, los cuales se describen a continuación:
- Temperatura del Aire Seco (Ts): Temperatura del Aire Seco o Temperatura del Aire o Temperatura del Termómetro Seco (ºC).
- Temperatura de Rocío (Td): Temperatura de Rocío o Temperatura del Punto de Rocío es la temperatura a la cual empieza a condensarse el vapor de agua contenido en el aire, produciendo rocío, neblina, etc. (ºC).
- Humedad Relativa del aire (HR): Humedad que contiene una Masa de Aire en Relación (cuociente) a la máxima humedad absoluta que puede contener (%).
- Temperatura Mínima AM (Tmin): Temperatura Mínima AM Absoluta y Fecha-Hora (momento) de Ocurrencia que se determina en un período de 12 horas. Intervalo 12 horas : (00 a 12 UTC), Caso Isla de Pascua (03 a 15 UTC) (ºC).
- Temperatura Máxima PM (Tmax): Temperatura Máxima PM Absoluta y Fecha-Hora (momento) de Ocurrencia que se determina en un período de 12 horas. Intervalo 12 horas : (12 a 00 UTC), Caso Isla de Pascua (15 a 03 UTC) (ºC).
- Agua Caida, Total Diario (RR24): Cantidad de Precipitación Líquida Caída o Acumulada durante un Período de 24 Horas (Día) (mm).
- Viento a 10 m. de Altura (FF1): Viento Medio de Superficie; Dirección (10 m. de Altura), indica la Dirección Verdadera desde donde sopla el viento (Dirección en °).
- Viento a 10 m. de Altura (FF2): Viento Medio de Superficie; Rapidez (10 m. de Altura), indica la Dirección Verdadera desde donde sopla el viento (Rapidez en kt).
- Generacion diaria de energia (GE): Generación bruta diaria, expresado en megawatts (MW).
Se puede descargar los datos (df_energy) pulsando el botón:
El entorno de desarrollo integrado (IDE) y algunos de los requisitos considerados para ejecutar los algoritmos se ilustran en los Badges, los de color verde corresponden a las bibliotecas y módulos implementados, el IDE es de color azul y el lenguaje se muestra en coral. Al hacer clic en el Badge de GitLab se puede tener acceso al repositorio con todos los códigos.
# Libraries ############################################################################################################
import os
import glob
import pandas as pd
import numpy as np
from datetime import datetime
Se construye una matriz de correlación para comprender si hay o no relaciones entre la generación de energía eléctrica (y) y las variables meteorológicas (X). Se consideraron 14 variables para examinar la correlación, se trazaron los datos de la correlación como una matriz codificada por colores, las cuales se muestran en la Figura 1. En la matriz codificada por colores se puede observar que la humedad relativa del aire (Hr), la temperatura de rocío (Td) y el componente temporal (Year, Weekday) son las variables que presentan mayor correlación con niveles de generación de energía (GE).
# Parametros del gráfico
params = {'axes.titlesize':'10',
'xtick.labelsize':'10',
'ytick.labelsize':'10',
'xtick.color':'#222222',
'ytick.color':'#222222',
'figure.figsize': (15,8)
}
plt.style.use('ggplot')
plt.rcParams.update(params)
plt.figure(facecolor='#F4F4F2',
alpha=0.8)
# Gráfico de las correlaciones
sns.heatmap(df_sample.corr(method='spearman'),
cmap="Pastel1",
annot=True)
# Se guarda el gráfico en la carpeta del proyecto
plt.savefig('./Corr.png', bbox_inches='tight')
plt.show()
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
REFERENCES
[1]
Quinto, B. (2020). Next-Generation Machine Learning with Spark: Covers XGBoost, LightGBM, Spark NLP, Distributed Deep Learning with Keras, and More. Apress.
[2]
Brownlee, J. (2016). XGBoost With python: Gradient boosted trees with XGBoost and scikit-learn. Machine Learning Mastery.
[1] Llatas Salvador, I., Bravo De Guenni, L. y Perez Hernandez, M. (2008). Análisis De Datos Con Técnicas Bayesianas. Los Teques, Venezuela: IVIC – Instituto Venezolano de Investigaciones Científicas
[2] Dobson, A. J., & Barnett, A. G. (2018). An introduction to generalized linear models. Chapman and Hall/CRC.