4.2.9
MASE (Error Absoluto Escalado Medio)
Resumen
- MASE escala el error absoluto por el naïve estacional, lo que permite comparar series con magnitudes distintas.
- Calcula MASE en Python y verifica si tu modelo supera al baseline naïve.
- Entiende el impacto del periodo estacional y cómo evitar denominadores nulos.
1. Definición #
$$ \mathrm{MASE} = \frac{\frac{1}{n} \sum_{i=1}^{n} | y_i - \hat{y}_i |}{\frac{1}{n-m} \sum_{t=m+1}^{n} | y_t - y_{t-m} |} $$- \(m\) es el periodo estacional (1 si no hay estacionalidad).
- El denominador es el MAE de la previsión naïve estacional.
- MASE < 1 indica que el modelo mejora dicho baseline.
2. Implementación en Python #
| |
Si el denominador vale cero, revisa la estacionalidad o aplica un epsilon mínimo.
3. Interpretación #
- MASE < 1: mejor que el naïve estacional.
- MASE = 1: rendimiento equivalente.
- MASE > 1: peor que el baseline.
Al estar escalado, se puede promediar MASE entre series diferentes sin sesgos de magnitud.
4. Uso práctico #
- Forecast de demanda: comparar modelos en SKU con volúmenes muy dispares.
- Selección de modelos: elige el modelo con menor MASE, normaliza el efecto estacional.
- Reportes: explica la mejora relativa (“un 20% mejor que el naïve”) en vez de solo errores absolutos.
5. Precauciones #
- Si el error del naïve estacional es cero (serie muy suave), el MASE es indefinido; revisa el valor de \(m\).
- Series cortas pueden producir denominadores inestables; asegúrate de tener suficientes observaciones.
- Combínalo con MAE/RMSE para mantener contexto sobre el error absoluto.
Resumen #
- MASE compara modelos con un baseline estándar, haciendo la evaluación homogénea entre series.
- El parámetro \(m\) permite soportar patrones estacionales y evita el problema de demanda cero de MAPE.
- Complementa con métricas absolutas para valorar tanto la mejora relativa como el impacto real.