Evaluando propuestas

Mejora de la previsión de la demanda de una compañía importadora mediante técnicas de Machine Learning

Publicado el 04 Septiembre, 2024 en Programación y Tecnología

Sobre este proyecto

Abierto

Necesito desarrollar modelos de series de tiempo como: LSTM, Prophet, Sarimax, Holt Winters, XGBOOST u otros en menos de 7 días, estos modelos tienen que tener la siguiente estructura:

Parte 1: Preparación y Análisis Exploratorio
1. Definición del Problema y Objetivos
Objetivo del proyecto: generar proyecciones diarias para los próximos 120 días a más de tres productos en cuatro zonas.
Establece las métricas de evaluación: rmse, mae, mape, etc.

2. Recolección y Comprensión de Datos
Datos Principales: Incluye las ventas diarias por producto y zona.
Variables Exógenas: Considera variables macroeconómicas, precios, clima, festividades, etc.
Datos de Festividades: Codifica las festividades y feriados a nivel diario.

3. Preprocesamiento de Datos
Limpieza de Datos: Identifica y trata valores faltantes, outliers y errores en los datos.
Normalización/Escalado: Aplica técnicas de escalado como Min-Max o Z-score para normalizar los datos.
Codificación de Variables Categóricas: Aplica codificación (e.g., One-hot encoding) a variables categóricas como Nombre_Festividad.
Segmentación de Datos: Segmenta los datos por producto y zona para crear subseries temporales.

4. Análisis Exploratorio de Datos (EDA)
Visualización de Series Temporales: Gráfica las series temporales para identificar patrones, tendencias y estacionalidades.
Matriz de Correlación: Calcula y visualiza la correlación entre las variables.
Análisis de Estacionalidad y Tendencias: Usa técnicas como descomposición STL para separar las componentes de la serie.

5. Ingeniería de Atributos
Lags y Rolling Windows: Crea lags y promedios móviles para capturar dependencias temporales.
Transformaciones de Variables: Aplica transformaciones logarítmicas o de raíz cuadrada para estabilizar la varianza.
Interacción entre Variables: Genera nuevas variables mediante la combinación o interacción de otras.
Variables de Festividades: Genera indicadores de proximidad a festividades y eventos.

Parte 2: Modelado y Validación
6. División del Conjunto de Datos
Train-Test Split: Divide los datos en conjuntos de entrenamiento y prueba, respetando la estructura temporal.
Cross-Validation: Implementa validación cruzada con ventanas deslizantes (time series cross-validation).

7. Test de Estacionariedad y Ruido Blanco
ADF Test: Evalúa la estacionariedad de las series temporales.
KPSS Test: Complementa el Adf para confirmar la estacionariedad.
acf/pacf: revisa la autocorrelación para identificar patrones persistentes en los residuos.

8. Selección de Variables Importantes
Matriz de Correlación: Identifica multicolinealidad y elimina variables redundantes.
Feature Importance (XGBoost): Utiliza la importancia de características para filtrar variables.
Análisis de Componentes Principales (PCA): Reduce la dimensionalidad si es necesario.

9. Modelado Predictivo
LSTM:
Preprocesa los datos en secuencias temporales.
Ajusta hiperparámetros (unidades LSTM, capas, tasa de aprendizaje).
Entrena el modelo y evalúa el rendimiento en el conjunto de prueba.
Prophet:
Modela estacionalidad diaria, semanal, y anual.
Incluye efectos de feriados y eventos especiales.
Evalúa el modelo usando validación cruzada incorporada.
XGBoost:
Ajusta parámetros como learning_rate, max_depth, n_estimators.
Usa GridSearchCV para encontrar la mejor configuración.
Evalúa el modelo en base a las métricas establecidas.
SARIMAX:
Identifica el orden del modelo usando acf y pacf.
Incorpora variables exógenas.
Ajusta los parámetros y evalúa el modelo usando aic, bic.
Holt-Winters:
Optimiza alfa, beta, y gamma para capturar tendencia y estacionalidad.
Evalúa el modelo usando rmse, mae, y mape.

10. Evaluación y Comparación de Modelos
Métricas de Evaluación: Compara los modelos utilizando métricas consistentes.
Backtesting: Realiza backtesting para validar la capacidad del modelo de predecir en series temporales.
Análisis de Residuos: Revisa los residuos del modelo para asegurar que no haya patrones no modelados.

11. Análisis de Sensibilidad
Evaluación de Impacto: Evalúa cómo los cambios en las variables exógenas afectan la precisión del modelo.
Simulación de Escenarios: Modela escenarios optimistas, pesimistas y de caso base.

12. Implementación y Validación Final
Pipeline de Producción: Implementa un pipeline que automatice el proceso desde la ingestión de datos hasta la predicción final.
Documentación y Reporte: Documenta todos los pasos del proyecto, los resultados y las recomendaciones para la implementación en producción.

13. Conclusión y Recomendaciones
Resumen de Resultados: Presenta un resumen de los hallazgos y el rendimiento de los modelos.
Recomendaciones: Sugiere posibles mejoras, expansiones del modelo o futuras investigaciones.

Los códigos tienen que estar bien explicados y ordenados, con la finalidad de seguir avanzando con resto de productos.

Contexto general del proyecto

El objetivo principal es recomendar la aplicación de técnicas de machine learning y/o modelos estadisticos para mejorar la previsión de la demanda entre un retail y una empresa importadora, con el fin de garantizar la disponibilidad del producto y optimizar la gestión de inventario. Objetivos especificos: 1. Analizar las variables que influyen en la demanda de productos en el retail con el fin de obtener información útil para la toma de decisiones en la gestión de inventario y planificación de las compras. 2. Identificar y utilizar diversos modelos predictivos de Machine Learning y modelos estadisticos de series de tiempo con el objetivo de analizar los datos históricos de demanda y detectar patrones que mejoren la precisión de la previsión. 3. Evaluar la precisión y el rendimiento de los modelos desarrollados. Comparar los resultados obtenidos y seleccionar el modelo más adecuado. 4. Analizar el impacto económico de la implementación del modelo en la gestión de la demanda. Identificar áreas de mejora y proponer recomendaciones para seguir optimizando el proceso y garantizar su continua eficacia en el tiempo.

Categoría Programación y Tecnología
Subcategoría Data Science
Tamaño del proyecto Medio
¿Es un proyecto o una posición? Un proyecto
Disponibilidad requerida Según se necesite

Plazo de Entrega: 11 Septiembre, 2024

Habilidades necesarias