Neith
Neith versión Beta
FerMar

11. ANEXO 2 - REGLA combo_rule

REGLA PARA LA SELECCIÓN MEJOR COMBINACIÓN DE MODELOS ESTRATEGIA 3

1) single_top1 — usar sólo el mejor modelo

  • Cuándo: cuando la lógica del Paso 5 decide no mezclar (p. ej., porque top-1 es claramente dominante o no hay top-2 válido).
  • Qué hace: toma directamente el modelo_top1 elegido en la selección previa (top-1 por MASE12).
  • Dónde se justifica/documenta: la Estrategia 3 trabaja con top-2 por serie y puede optar por no combinar (modelo único) según la calidad/condiciones. Esto se describe en el flujo de Estrategia 3 (selección y ensembles) y en la memoria (pasos 4–6).

2) mean50_50 — promedio simple de top-1 y top-2

  • Cuándo: cuando no hay información fiable para ponderar por calidad (o como fallback de la ponderación por error).
  • Qué hace: calcula
  • Dónde está en el código: en la rama de INTERMITENTE (TSB + ADIDA/MAPA), si no se dispone de MASEs válidos se cae a promedio 50/50.
  • Contexto: el cuaderno describe el Paso 5 como “ensembles y predicción 2024” combinando los top-2.

3) weighted_by_inv_MASE12 — promedio ponderado por 1/MASE12

  • Cuándo: cuando hay métricas MASE12 por modelo disponibles (derivadas de la validación rolling) para esa pareja.
  • Qué hace: si existen MASE12 válidos de ambos modelos, se pesa cada uno con el inverso de su error (más peso al que menos error tiene):

  • Dónde está en el código: mismo bloque de INTERMITENTE (TSB + ADIDA/MAPA); si hay MASEs válidos, se usa la ponderación por 1/MASE12.
  • Contexto: el cuaderno y la memoria señalan que el Paso 5 re-entrena con todo 2021–2023 y combina top-2 con reglas simples o ponderadas, coherentes con la filosofía “champion–challenger”.

4) Fallbacks — fallback_snaive12 / baseline_cero

  • Cuándo:
  • Por reglas del Paso 5 si un entrenamiento falla/insuficiente, o si la serie es de cero estructural.
  • Por gobernanza del Paso 6 si el top-1 no supera a SNaive12 en 2024 se fuerza SNaive12.
  • Qué hacen:
  • baseline_cero: predicción 0 para series con cero estructural (train todo en cero) y monitorización de “cero→actividad”.
  • fallback_snaive12 (en el CSV puede verse como fallback_snaive12_cv): usar SNaive12 cuando el candidato falla o no mejora.
  • Dónde se ve:
  • Logs y notas del cuaderno con listados extensos de “baseline_cero registrado” (bandera flag_all_zero_train=1).
  • Justificación y pasos de gobernanza comparando contra SNaive12 en 2024 (regla de reemplazo).

5) Referencias:

https://www.datarobot.com/blog/introducing-mlops-champion-challenger-models/

https://robjhyndman.com/nyc2018/1-3-ForecastEvaluation.pdf

https://otexts.com/fpp3/combinations.html

https://robjhyndman.com/publications/combinations/

https://stats.stackexchange.com/questions/163074/assigning-weights-to-an-averaged-forecast