Repositorio de la Tarea 2 de Análisis de Series de Tiempo. El objetivo fue construir un modelo de pronóstico que minimizara el error WMAE sobre el conjunto de evaluación provisto por la cátedra.
- 1º lugar del curso: se obtuvo el WMAE más bajo de toda la sección.
- Métrica alcanzada: WMAE = 1850.7. Modelado con Darts; el modelo ganador fue Prophet (Darts) con ajuste y validación específicos para el desafío.
La siguiente imagen corresponde al anuncio oficial de resultados compartido por el equipo docente.
Nota: la imagen está en la raíz del repositorio como
Evidencia.png.
Implementada en T2_CristianBaezaT.ipynb usando Darts con el modelo Prophet.
-
Block Bootstrap + Prophet (10 combinaciones)
- Generación de múltiples muestras de entrenamiento respetando la dependencia temporal con bloques de 8 semanas.
- 10 modelos Prophet por combinación con parámetros optimizados mediante Grid Search.
- Ensamble mediante promedio para reducir varianza.
-
Grid Search de Hiperparámetros
changepoint_prior_scale: [0.05, 0.1, 0.5]seasonality_prior_scale: [5, 10, 15]seasonality_mode: ['multiplicative', 'additive']- Validación temporal con últimas 8 semanas de train.
-
Completado con Promedio Histórico
- Para las 3,151 combinaciones restantes: promedio histórico de ventas por tienda-departamento.
- Asegura cobertura completa del test set (76,903 predicciones).
-
Manejo de Festivos
- Inclusión automática de festivos estadounidenses mediante
add_country_holidays('US').
- Inclusión automática de festivos estadounidenses mediante
Resultados generados
- ✅
submission.csv: 76,903 predicciones en formatoStore_Dept_Fecha. - ✅ Cobertura completa de todas las combinaciones tienda–departamento.
- ✅ Validación visual: gráficos muestran patrones estacionales coherentes.
- ✅ Predicciones no negativas: se aplica
np.maximum(predictions, 0).
Ventajas de la estrategia
- ✅ Híbrida: combina modelos sofisticados (Prophet) con baseline robusto (promedio).
- ✅ Eficiente: enfoca recursos computacionales en un subsample representativo.
- ✅ Robusta: bootstrap reduce sobreajuste; el ensamble reduce varianza.
- ✅ Completa: garantiza predicción para todos los registros requeridos.
- Requisitos sugeridos (Python 3.10+):
pandas,numpy,scikit-learn,darts[prophet],matplotlib,seaborn. - Abra y ejecute el cuaderno principal del proyecto:
T2_CristianBaezaT.ipynb
- El flujo de trabajo produce los archivos de salida (por ejemplo
submission.csv) en la carpeta raíz del repositorio.
Instalación rápida (ejemplo):
pip install pandas numpy scikit-learn "darts[prophet]" matplotlib seaborn.
- El foco del proyecto fue la optimización de WMAE; Prophet (Darts) fue el mejor desempeño en validación/competencia.
- Para replicación exacta, mantenga la estructura de
data/y ejecute el cuaderno de principio a fin.
