Como ya dijimos, el objetivo del forecasting es construir modelos que sean precisos en los datos que no tienes. Sin embargo, a primera vista, esto parece ser otra idea disparatada de algún matemático, tanto extraña como totalmente impráctica.

Pero en nuestra experiencia, medir la real forecast accuracy es un problema de negocio real. Fallar en esto cuesta dinero. De hecho, cuanto mayor es la empresa, mayor es el costo.

¿Aún sin pistas sobre el real forecast error?

Mira nuestro último slidecast de 9min (los guiones se encuentran a continuación).

video de youtube

Guiones del slidecast:

Sobreajuste: tus forecasts pueden no ser tan buenos como indica la medida

La forecast accuracy es crítica para muchas industrias como el comercio minorista, la manufactura o los servicios. Si haces over-forecast de la demanda de tus clientes, tus costos se disparan porque tendrás demasiado personal, demasiado inventario. Pero si haces under-forecast de la demanda de tus clientes, tus clientes se enojan porque no pueden comprar tu producto o porque tienen que esperar demasiado para ser atendidos.

En este slidecast, voy a introducir un problema poco conocido en forecasting llamado sobreajuste.

Este problema es poco conocido por dos razones. Primero, es un problema sutil, no obvio y contraintuitivo en muchos aspectos. Segundo, es un problema que ha desconcertado a los matemáticos desde el siglo XIX. Fue solo a finales de los noventa, hace poco más de 10 años, que la comunidad científica empezó a comprender realmente este problema tanto a nivel teórico como práctico.

Antes de continuar, permíteme ir a la conclusión. El sobreajuste tiene un impacto muy fuerte en tus forecasts. El sobreajuste puede hacerte creer que tienes un forecast error del 10% mientras que tu real forecast error es del 20%, y eso no sería una situación peor.

El sobreajuste es un problema de negocio muy real. El sobreajuste cuesta dinero.

Además, no hay solución para el sobreajuste. Las modernas teorías estadísticas están construidas sobre este mismo concepto. El sobreajuste juega un papel central en esas teorías; sin importar cómo se aborde la estadística, el sobreajuste ha llegado para quedarse.

El problema clave es definir lo que realmente significa la forecast accuracy.

Intuitivamente, la forma más sencilla de medir la forecast accuracy consiste en hacer un forecast y esperar a que ocurra el evento pronosticado; de modo que podamos comparar el forecast con su resultado correspondiente.

Sin embargo, este método tiene una gran desventaja: solo te indica la precisión de forecasts pasados. Desde una perspectiva de negocio, poco importa saber si forecasts pasados fueron buenos o malos, ya que de todos modos no puedes cambiarlos. Lo que realmente importa es asegurarse de que los forecasts que están por venir sean verdaderamente precisos.

Luego, hay otro problema: a menos que el método utilizado para producir los forecasts sea estrictamente idéntico de un forecast al siguiente, no hay razón para creer que la precisión pasada pueda utilizarse como un indicador confiable de la precisión futura.

Desde el siglo XVIII, los matemáticos han introducido la noción de modelo estadístico. El aspecto principal de los modelos estadísticos no es, a pesar de la creencia popular, proporcionar forecasts buenos o malos, sino proporcionar forecasts repetibles.

Con un modelo estadístico, obtienes un proceso que automatiza la producción de forecasts. No garantiza que los forecasts sean buenos, pero al menos, si los forecasts son pobres, puedes analizar el modelo más a fondo.

Consideremos la siguiente serie de tiempo. Ilustraremos el problema del sobreajuste considerando modelos estadísticos sucesivos.

Comencemos con un modelo lineal simple. Como puedes ver, la línea no se ajusta realmente bien a los puntos de la serie de tiempo. Como resultado, tenemos un error grande, de más del 50%. Este modelo realmente no se ajusta a los datos.

Luego, podemos aumentar la complejidad del modelo. Ahora tenemos un modelo que sigue aproximadamente lo que parece ser el promedio local de la serie de tiempo. Este nuevo modelo se ve mucho mejor que el anterior, y de hecho el error se ha reducido a una quinta parte, alcanzando ahora el 10%.

Tenemos un buen modelo aquí, pero ¿podemos reducir aún más el error? Bueno, la respuesta es simple: sí, podemos producir un modelo que logra un error de menos del 1%.

Como puedes ver, es bastante fácil; solo tenemos que diseñar un modelo que pase por casi todos los puntos de la serie de tiempo.

¿Pero podemos realmente confiar en que este modelo sea 1% preciso en forecasts futuros? ¡Obviamente, no podemos! Este modelo solo está micro-optimizando pequeñas fluctuaciones del pasado que no son más que variaciones aleatorias. Intuitivamente, no podemos forecastar el verdadero azar; solo podemos forecastar patrones como la tendencia, la estacionalidad, etc.

Ahora, si comparamos los dos últimos modelos, tenemos un problema obvio: según nuestra medida de error, el modelo de la derecha - el de 1% de error - es diez veces mejor que el modelo de la izquierda.

Aunque es obvio que el mejor modelo es el de la izquierda. Este modelo está suavizando las fluctuaciones aleatorias de la serie de tiempo.

Así, hay algo mal con la forma en que estamos midiendo el error. Este error, como se ilustra en los gráficos anteriores, se conoce como el error empírico. Es el error que se obtiene a través de medidas en tus datos históricos.

Sin embargo, lo que realmente nos interesa se conoce como el error real. El error real se define como el error de tu modelo de forecasting en los datos que no tienes, es decir: datos futuros.

Aunque, esta definición parece una completa paradoja: ¡¿cómo puedes medir algo si, precisamente, no tienes los datos?!

Desde el siglo XIX, los estadísticos han estado analizando este problema mediante un enfoque conocido como la compensación entre sesgo y varianza.

Si observamos los tres modelos que tenemos, podemos decir que el modelo lineal tiene un bias alto: no importa qué modelo lineal elijamos, nunca logrará ajustarse realmente a los datos, a menos que, por supuesto, los datos mismos estén distribuidos linealmente; pero en la mayoría de las situaciones, el modelo lineal solo aproximará la distribución de los datos.

Luego, el modelo lineal tiene una varianza baja: intuitivamente, agregar o quitar un punto en la serie de tiempo no va a afectar demasiado el modelo resultante. Este modelo es bastante estable.

En el otro extremo, el modelo de la derecha tiene un bias muy bajo: se ajusta, es decir, sobreajusta a la mayoría de los puntos de la serie de tiempo. Sin embargo, la varianza es muy alta: agregar o quitar un solo punto probablemente provocará cambios importantes en este modelo. No hay estabilidad alguna.

En el centro, tenemos un modelo que equilibra tanto el bias como la varianza; y este es exactamente el camino a seguir.

Sin embargo, el principal problema con el enfoque de bias versus varianza es que aún no tenemos idea de lo que realmente está sucediendo con el error real; es decir, el error en los datos que no tenemos.

Esta compensación suele ser más una heurística que un verdadero criterio estadístico.

Desde finales de los noventa, el campo del aprendizaje estadístico, una teoría más amplia que abarca el statistical forecasting, ha logrado un avance significativo tanto a nivel teórico como práctico.

Esta teoría es compleja, pero una ecuación simple nos proporciona importantes ideas sobre los resultados. Esta teoría nos dice que el error real está acotado superiormente por la suma del error empírico y otro valor llamado el riesgo estructural.

Como hemos visto previamente, el error empírico es simplemente el error medido en los datos históricos.

El riesgo estructural es un criterio teórico que puede calcularse explícitamente para ciertas clases de modelos, y estimarse para la mayoría de las otras clases.

Volviendo a nuestro ejemplo inicial, podemos ver que el riesgo estructural aumenta con la complejidad del modelo.

Ahora, si cuantificamos esos riesgos estructurales, nos da la siguiente perspectiva.

Aún no conocemos el error real - ese valor no se puede medir directamente de todos modos - pero vemos que el modelo del centro tiene la cota superior más baja del error real.

La teoría del aprendizaje estadístico no nos da el valor del error real, sino que nos proporciona una cota superior; y el objetivo es elegir el modelo que logre la cota superior más baja.

Esta cota superior actúa como un valor máximo para el error real.

En comparación con la compensación entre sesgo y varianza, vemos que la teoría del aprendizaje estadístico nos ofrece una estimación cuantitativa del error real.

El riesgo estructural es difícil de estimar en la práctica. Sin embargo, hasta el momento, sigue siendo la mejor solución conocida para evitar el sobreajuste.

Hemos visto previamente que una manera obvia de terminar con problemas de sobreajuste era aumentar la complejidad del modelo.

Pero también existe otra forma, una manera más sutil, de acabar con problemas de sobreajuste: esto puede suceder al aumentar la complejidad de los datos.

Agregar puntos extra a los datos generalmente reduce los problemas de sobreajuste, pero si comienzas a agregar dimensiones extra a los datos, entonces es probable que termines con problemas de sobreajuste incluso si los modelos mismos permanecen sin cambios.

Según nuestra experiencia en Lokad, esta situación es frecuentemente encontrada en organizaciones que refinan, año tras año, sus propios modelos de forecasting con entradas de datos cada vez mayores, sin atender explícitamente el riesgo estructural que se esconde en sus modelos.

En altas dimensiones, incluso los modelos lineales están sujetos a problemas de sobreajuste.

Esto concluye esta breve presentación sobre el sobreajuste. Si hay que recordar una cosa, recuerda que sin tener en cuenta el riesgo estructural, tu medida del forecast error es probablemente muy engañosa; y cuanto más grande es tu empresa, más dinero te costará.

Muchas gracias por tu interés. Estaremos encantados de responder a tus preguntas en nuestros foros.


Comentarios de los lectores (9)

Interesante presentación de diapositivas Mark (hace 3 años)


Vaya, qué gran video, gracias por ayudarme a comprender el sobreajuste. Melford McRae (hace 4 años)


Por cierto, he intentado ver la presentación en varios navegadores y no he podido visualizarla. Parece que nunca se carga. ¿Alguien en Lokad puede revisarla y ver cuál podría ser el problema? Shaun Snapp (hace 4 años)


Acabo de publicar un video actualizado que funciona. Joannes Vermorel (hace 4 años)


Parece que SlideShare no mantuvo sus archivos a lo largo de los años :-( Aquí están el archivo de audio https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.mp3 y el archivo de PowerPoint https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.pptx. Los remezclaré como un video de YouTube. Joannes Vermorel (hace 4 años)


Este es un problema bastante espinoso. No hay otra manera de medir un modelo de forecasting que comprobándolo contra su rendimiento histórico, pero existe la tendencia a sobreajustar para obtener “the best accuracy.” Esto sería un problema mayor si un porcentaje mayor de empresas usara realmente su procedimiento de mejor ajuste en los sistemas de forecasting que compran o realmente afinara los modelos. Me interesaría participar en una discusión sobre cómo prevenir el sobreajuste al usar un procedimiento de mejor ajuste. Shaun Snapp (hace 4 años)


Publiqué una respuesta de seguimiento en https://blog.lokad.com/journal/2014/5/20/how-to-mitigate-overfitting-when-forecasting-demand. ¡Espero que ayude! Joannes Vermorel (hace 4 años)


Gracias por la presentación de diapositivas. Me ayudó a comprender el sobreajuste, sin entrar en los detalles matemáticos. Shyam Prasad Murarka (hace 8 años)


Gracias por la presentación de diapositivas. Abhishek (hace 8 años)