Saltar a contenido

forecast-arena 🥊

Modelos de series de tiempo que se pelean entre ellos. El de menor error gana el derecho a pronosticar.

Inspirado en Hyndman & Athanasopoulos, Forecasting: Principles and Practice (fpp3).

pip install forecast-arena

La idea en una imagen

No le creas a ningún modelo por default. En cada pronóstico, diez luchadores — desde el humilde naive hasta SARIMA, ETS, Theta y un híbrido de machine learning — compiten en un backtesting honesto. El leaderboard decide, el campeón pronostica, y cada afirmación viene con su evidencia.

from forecast_arena import Arena

result = Arena().compete(y, test_size=12, h=12)

result.leaderboard            # MAE, RMSE, MAPE, sMAPE, MASE por modelo
result.champion               # p. ej. 'ETS'
result.forecast_intervals     # pronóstico + bandas 80/95%
result.residual_diagnostics   # ¿el campeón dejó información en la mesa?
result.interval_report        # ¿las bandas del 95% cubren de verdad el 95%?
result.changepoints           # quiebres estructurales detectados (PELT)
result.plot()                 # todo lo anterior, dibujado

Todo es automático (y todo se puede fijar a mano)

  • Periodicidad: por la frecuencia del índice o por periodograma+ACF.
  • Transformación: detección de multiplicatividad, λ de Box-Cox por el método de Guerrero, y siempre te dice qué hizo y por qué.
  • Quiebres estructurales: PELT encuentra dónde tu serie "cambió de vida" y puedes reportarlo, recortar la historia vieja o modelarlo como variable de intervención.
  • Exógenas: conocidas, pronosticadas en cascada, o mixtas — con la incertidumbre propagada a las bandas.
  • Escala: cientos de series con compete_many, jerarquías que cuadran con forecast_hierarchy, paralelización con n_jobs.

Filosofía

  1. Los benchmarks naive siempre están en el ring: si tu modelo sofisticado no los vence (MASE < 1), no sirve.
  2. El backtesting nunca hace trampa: sin fuga de información, ni siquiera en la cascada de exógenas.
  3. Las bandas de predicción son promesas auditables: cobertura empírica y Winkler score en cada corrida.
  4. Cada decisión automática se reporta con su porqué.

Empieza por la Guía rápida o profundiza en la Metodología.