Skip to content

AlexBarria/CEIA_project

Repository files navigation

CEIA_project

Este repositorio contiene el código correspondiente al proyecto final de la Especialización en inteligencia artificial (CEIA) de la Universidad de Buenos Aires (UBA).

En el mismo se aborda el problema de modelar un equipo de extracción de aceite vegetal para evaluar si es posible hacer una estimación puntual del contenido de materia grasa teniendo como variables de entrada distintos datos de sensores de campo. Otro objetivo importante del proyecto es conocer mejor el comportamiento del proceso a partir del análisis de datos.

Inicialmente el trabajo se divide en 4 etapas:

  • Import data: El objetivo de esta etapa es desarrollar una cadena de procesamiento de datos que reciba los archivos entregados por el sistema de control, y sea capaz de estructurarlos de manera que faciliten el análisis y procesamiento posterior. se realiza la importación de datos provenientes de un sistema SCADA y se estructuran para poder trabajar luego. Se alinean los timestamps, corrigen nombres de las features, se agrupan en un solo formato todos los chunks de datos.

Figura 1: pipeline para la importación de datos

  • Data processing: se realiza un análisis exploratorio de los datos, detección de outliers, evaluación de correlaciones y normalización de los datos.

Figura 2: matriz de correlación (Pearson) de los datos

Figura 3: criterio de la información mutua con respecto a la variable que se intenta predecir

Figura 4: distribuciones originales de los datos

Figura 5: detección de outliers en la variable velocidad_extractor

Figura 6: análisis de concentraciones dentro del extractor

  • Feature selection: se seleccionan las features que mayor información aportan a distintos modelos, para seleccionar las variables se utiliza el criterio de la información mutua y análisis de correlaciones. También se utilizaron métoso de selección como RFE y SFS. En base a los resultados se armá el dataset final para entrenar los modelos de Machine learning y Deep learning.

  • Model selection: en esta sección comenzamos a trabajar con los datos procesados provenientes de la etapa anterior para seleccionar el modelo que mejor performa sobre los datos. Fue probado un modelo de cada familia, considerando: support vector machine, random forest, XGBoost y redes neuronales MLP. Fue realizada una breve búsqueda de hiperparámetros utilizando GridSearch.

Figura 7: métricas sobre el set de validación

Figura 8: métricas sobre el set de validación luego del fine tuning

Figura 9: métricas obtenidas para distintos ohorizontes temporales

Figura 10: métricas obtenidas sobre el set de test

Ajuste de hiperparámetros utilizando OPTUNA: En base al análisis realizado se decidió utilizar un modelo de la familia XGBOOST. Para realizar el ajuste fino de los hiperparámetros se utilizó el framework OPTUNA, el cual aportó explicabilidad al impacto de cada hiparparámetro en la performance del modelo.

A continuación se pueden ver algunas imágenes obtenidas durante el ajuste fino de hiperparámetros.

Figura 11: gráfico de coordenadas paralelas

Figura 12: historial de optimización de HPs

Figura 13: importancia de los HPs para el modelo desarrollado

Figura 14: gráfico de contorno para un subconjunto en particular de HPs

Prueba en el conjunto de test:

Finalmente, con el modelo obtenido luego del ajuste fino de hiperparámetros, se realizó una prueba sobre el conjunto de test.

Figura 15: predicciones sobre el conjunto de test

Análisis utilizando SHAP values:

Para aportar mayor explicabilidad a las decisiones tomadas por el modelo desarrollado se realizó un análisis utilizando valores SHAP.

A continuación se ve un gráfico de los valores SHAP para todas las características de entrada al modelo y también un gráfico específico para las características más importantes que se encontraron en el análisis.

Figura 16: valores SHAP obtenidos en el conjunto de test

Figura 17: valores SHAP obtenidos para la variable humedad de semilla

Figura 18: valores SHAP obtenidos para la variable temperatura de laminado

About

Proyecto final de la carrera de especialización (en desarrollo). Análisis de modelos de machine learning y deep learning para estimación de materia grasa en extractor de aceite vegetal. Enfoque primario como problema de regresión. Actual tratamiento como serie temporal.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors