Saltar al contenido

lección 8

Evaluar un pronóstico, y cerrar

Evaluar un pronóstico con honestidad: walk-forward, bandas de incertidumbre, por qué el error crece con el horizonte, y el cierre del oficio.

⏱ 55 min

En septiembre de 2008, en vísperas de la crisis financiera más grave en ochenta años, prácticamente todos los modelos de predicción económica del mundo coincidían en que el año siguiente sería tranquilo. Habían sido entrenados con décadas de datos en los que nunca había pasado nada parecido a lo que estaba a punto de pasar, así que, con toda la precisión matemática del mundo, predijeron la continuación de un pasado que estaba a punto de dejar de existir. No fallaron por un error de cálculo. Fallaron porque el futuro dejó de parecerse al pasado, y ningún modelo que aprende del pasado puede ver venir eso. Esta lección trata de cómo se evalúa un pronóstico con honestidad, y la crisis de 2008 es el recordatorio de por qué importa: porque la pregunta no es solo "¿acierta mi modelo?", sino "¿cuánto me puedo fiar de él, y cuándo debería dejar de fiarme del todo?".

Ya sabes construir pronósticos y compararlos con una línea base sobre un corte temporal. Esa comparación es el mínimo imprescindible, pero tiene un punto débil: mide el modelo sobre un único trozo de futuro, el último. ¿Y si ese último trozo fue atípicamente fácil o atípicamente difícil? Un solo corte temporal es una sola foto, y una foto puede engañar. Lo que vas a aprender ahora es a evaluar un pronóstico con todas las de la ley: a validarlo sobre varios tramos de futuro en vez de uno, a acompañar cada predicción de una medida de cuánto te puedes fiar de ella, a entender por qué fiarte menos cuanto más lejos miras, y a reconocer las series que, sencillamente, no se dejan predecir.

## Un corte no basta: la validación walk-forward

Cuando trabajas con datos sin orden temporal y quieres una evaluación robusta, no te fías de una sola partición: repartes los datos en varios trozos y validas varias veces, cada vez con un trozo distinto como prueba, para que el resultado no dependa de qué filas cayeron por azar en el conjunto de prueba. Esa idea de validar varias veces es sólida, pero su versión habitual —coger trozos al azar— está prohibida con series temporales por lo que ya sabes: barajar el tiempo es entrenar con el futuro. Hace falta una versión que respete el calendario, y existe. Se llama validación walk-forward, que se podría traducir como "avanzando en el tiempo", y es la forma honesta de validar un pronóstico varias veces.

La idea es imitar lo que de verdad ocurre en producción, repetido. Empiezas entrenando con un tramo inicial de la serie y pronosticas el siguiente trozo; mides el error. Después avanzas: incorporas ese trozo que acabas de predecir a los datos de entrenamiento —ahora ya es pasado conocido, como lo sería en la vida real—, reentrenas, y pronosticas el trozo siguiente; mides el error otra vez. Y así, avanzando por la serie como avanzaría el calendario, acumulando varios errores en varios tramos distintos de futuro. El error final es el promedio de todos esos, y es muchísimo más fiable que el de un solo corte, porque mide cómo se comporta el modelo en muchos momentos distintos, no solo en el último.

La validación walk-forward entrena con el pasado y predice el trozo siguiente, avanzando por el calendario; el error final promedia varias vueltas y nunca entrena con el futuro.

Hay dos variantes del walk-forward según qué hagas con la ventana de entrenamiento al avanzar. En la ventana creciente, cada vuelta añade los datos nuevos a todo lo anterior, así que el entrenamiento se hace cada vez más grande; es la opción natural cuando crees que todo el historial sigue siendo relevante. En la ventana deslizante, mantienes el tamaño del entrenamiento fijo y lo vas desplazando, olvidando lo más antiguo a medida que incorporas lo nuevo; es la opción adecuada cuando el pasado lejano ya no representa cómo se comporta la serie ahora, porque el negocio cambió, cambiaron los hábitos, cambió el régimen. Elegir entre las dos no es un detalle técnico: es una afirmación sobre cuánto del pasado sigue siendo válido para predecir el presente.

## Un pronóstico sin banda de incertidumbre es mentira

Aquí viene la idea que más distingue a quien entiende el pronóstico de quien solo lo calcula. Un pronóstico que dice "el mes que viene venderemos 10.000 unidades" es, literalmente, falso. No porque el número esté mal, sino porque está incompleto hasta el punto de engañar. Nadie puede saber que venderás exactamente 10.000. Lo honesto es decir "venderemos alrededor de 10.000, y con una confianza razonable entre 8.500 y 11.500". Ese rango —el intervalo de confianza o banda de incertidumbre del pronóstico— no es un adorno estadístico ni una muestra de inseguridad: es parte esencial de la predicción, y a menudo es más útil que el número central. Dar un pronóstico puntual sin su banda es ocultar lo único que de verdad necesita saber quien va a tomar una decisión con él.

La razón es que las decisiones se toman con el rango, no con el punto. Si gestionas el stock de una tienda y te digo que venderás "alrededor de 10.000", no sabes cuánto pedir. Si te digo que casi seguro venderás entre 8.500 y 11.500, ya puedes decidir: si quedarte sin stock es catastrófico, pides para el extremo alto; si lo que duele es el almacén lleno, pides cerca del centro y asumes algún día de ruptura. La anchura del intervalo es información de negocio pura: un intervalo estrecho dice "fíate, esto es predecible"; uno ancho dice "cuidado, aquí hay mucha incertidumbre, prepara un plan B". Un modelo que solo da el número central te obliga a decidir a ciegas sobre lo más importante, que es cuánto puede desviarse la realidad de tu predicción.

Los modelos que has visto producen estos intervalos de forma natural, porque por dentro estiman no solo el valor esperado sino cuánta variabilidad cabe esperar a su alrededor. Cuando le pides a un modelo su pronóstico, puedes pedirle también el intervalo, y lo que obtienes es, para cada paso futuro, un valor central y un rango por encima y por debajo. La clave está en entender qué controla la anchura de ese rango, y aquí aparece la segunda gran idea de la lección, que casi nadie explica bien.

## Por qué el error crece con el horizonte

Predecir mañana es relativamente fácil; predecir dentro de un año es muy difícil; esto lo sabe cualquiera por intuición. Lo que no todo el mundo sabe es que esa dificultad creciente se puede ver, medir y dibujar, y que es la razón de que las bandas de incertidumbre de un pronóstico se ensanchen a medida que miras más lejos. La causa es acumulativa: cuando predices dentro de dos pasos, estás usando tu predicción del primer paso —que ya tiene un error— como base para la del segundo. El error del primer paso se arrastra al segundo, y el del segundo al tercero, y así. La incertidumbre no se suma, se acumula y se amplifica: cada paso hacia el futuro construye sobre un cimiento un poco más tembloroso que el anterior.

Por eso la banda de un pronóstico tiene siempre la misma forma inconfundible: un embudo que se abre hacia el futuro. Pegada al presente es estrecha, porque sabes casi con certeza lo que viene inmediatamente. Lejos en el futuro es ancha, a veces tanto que el intervalo abarca desde "muy bien" hasta "muy mal" y el pronóstico deja de ser útil para decidir nada. Esa forma de embudo es una de las imágenes más honestas de todo el oficio: dice visualmente lo que es verdad, que tu capacidad de predecir se degrada con la distancia, y le pone límite a tu propia confianza. Un pronóstico dibujado con su banda es un pronóstico que te está diciendo hasta dónde puedes fiarte de él.

La banda arranca estrecha junto al presente y se abre con el horizonte, porque el error de cada paso se arrastra al siguiente. El embudo pone límite honesto a tu confianza.

Consejo de senior: cuando entregues un pronóstico, entrega siempre la banda, y cuando te den uno sin banda, pídela antes de usarlo para nada. Un número solo —"venderemos 10.000"— invita a tratarlo como una certeza, y las certezas falsas son las que arruinan planes. He visto decisiones de inversión tomadas sobre el punto central de un pronóstico cuya banda, de haberla mirado, abarcaba desde ganar dinero hasta perderlo. La banda no es la letra pequeña del pronóstico: muchas veces es la parte que de verdad informa la decisión. Un pronosticador honesto comunica su incertidumbre tan claramente como su predicción.

1import numpy as np
2import pandas as pd
3from statsmodels.tsa.arima.model import ARIMA
4
5np.random.seed(42)
6n = 90
7e = np.random.normal(0, 1, n)
8x = np.zeros(n)
9for t in range(1, n):
10 x[t] = 0.6 * x[t-1] + e[t]
11serie = pd.Series(np.cumsum(x) + np.linspace(0, 25, n))
12
13modelo = ARIMA(serie, order=(1, 1, 1)).fit()
14
15# get_forecast da el pronostico Y su intervalo de confianza
16res = modelo.get_forecast(steps=12)
17media = res.predicted_mean
18intervalo = res.conf_int() # columnas: limite inferior y superior
19anchos = intervalo.iloc[:, 1] - intervalo.iloc[:, 0]
20
21# El ancho de la banda crece con el horizonte: el ultimo paso es mas ancho que el primero
22print(f"La banda del paso 12 es mas ancha que la del paso 1: {anchos.iloc[-1] > anchos.iloc[0]}")
23print(f"La banda nunca se estrecha al avanzar: {bool((anchos.diff().dropna() >= -1e-6).all())}")

get_forecast devuelve el pronóstico con su intervalo; se comprueba que la banda se ensancha con el horizonte

## Cuándo NO se puede predecir

La lección más difícil de aceptar en el pronóstico es que hay series que no se pueden predecir mejor que lo trivial, y que reconocerlas a tiempo es tan valioso como construir un buen modelo para las que sí. Hay dos grandes familias de series que se resisten. La primera son las series dominadas por el ruido: aquellas donde, una vez quitadas la tendencia y la estacionalidad, lo que queda es prácticamente aleatorio. El ejemplo clásico es el precio diario de una acción. Hay un resultado famoso en finanzas, el del paseo aleatorio, que viene a decir que los cambios de precio de un activo son esencialmente impredecibles a partir de su propio pasado, porque si fueran predecibles alguien ya habría comprado o vendido aprovechándolo, borrando el patrón. Para una serie así, el pronóstico ingenuo —"mañana igual que hoy"— es casi imposible de batir, y empeñarse en ello es perseguir ruido.

La segunda familia son las series con cambios de régimen: series que se comportan de una manera durante un tiempo y de repente, por un acontecimiento externo, cambian a un comportamiento completamente distinto. Una pandemia que vacía las calles de un día para otro. Una ley que prohíbe un producto. Una crisis financiera. En estos casos el modelo no falla por ser malo, sino porque el futuro ha dejado de parecerse al pasado con el que aprendió, y ningún método que mire solo el pasado puede anticipar un cambio que no tiene precedente en ese pasado. Es exactamente lo que les pasó a los modelos económicos en 2008: predecían bien hasta que el régimen cambió, y entonces su precisión histórica se volvió irrelevante de golpe.

Saber reconocer estas situaciones es parte del oficio, no una derrota. Ante una serie dominada por el ruido, lo honesto es decir "esto no se puede predecir mejor que lo trivial, no inviertas en un modelo que no va a ganar" en vez de entregar un modelo complejo que da la ilusión de control sin la sustancia. Ante una serie con riesgo de cambio de régimen, lo honesto es acompañar el pronóstico de la advertencia de que vale mientras el mundo siga pareciéndose a cuando se entrenó, y de que ningún modelo verá venir una ruptura. Un pronosticador maduro no es el que siempre entrega un número: es el que sabe cuándo el número que podría entregar no significaría nada, y lo dice.

Las dos series que se resisten: la dominada por ruido, donde no hay patrón que exprimir, y la de cambio de régimen, donde el modelo sigue el pasado mientras el mundo ya ha cambiado.

Un modelo que acertó bien durante meses puede desplomarse de un día para otro si cambia el régimen de la serie, y lo peor es que seguirá dando pronósticos con bandas estrechas y aspecto confiado mientras se equivoca por completo. La precisión pasada no garantiza la futura cuando el mundo cambia. Por eso un pronóstico en producción no se deja solo: se vigila su error real a medida que llegan los datos nuevos, y en cuanto ese error se dispara de forma sostenida —en cuanto el modelo empieza a fallar más de lo que su banda prometía— es la señal de que el régimen pudo cambiar y de que el modelo entrenado con el mundo anterior ya no sirve.

## El cierre: lo que de verdad has aprendido

Has recorrido un camino largo. Empezó por entender el dato antes de tocar ningún algoritmo: qué es una serie temporal, por qué el orden es información y barajarlo la destruye, cómo se separa en tendencia, estacionalidad y ruido, qué significa que sea estacionaria y cómo conseguirlo diferenciando, cómo se mide su memoria con la autocorrelación. Solo después llegaron los modelos: la línea base que hay que batir, el suavizado exponencial que mueve el forecasting del mundo real, ARIMA que reúne todas las piezas del diagnóstico. Y ahora, la evaluación honesta: validar avanzando por el calendario, acompañar cada predicción de su incertidumbre, aceptar que el error crece con el horizonte y reconocer las series que no se dejan predecir. Si miras el camino entero, verás que la parte de "entrenar el modelo" ocupaba una fracción minúscula. El noventa por ciento fue entender, preparar y evaluar. Como siempre.

Y esto no es casualidad ni una peculiaridad de las series temporales: es el oficio entero, el mismo que has venido practicando desde el principio, visto por última vez con otra ropa. Antes de celebrar un resultado, preguntaste qué tendría que ser cierto para que fuera mentira. Pediste siempre la línea base antes de pensar en nada sofisticado, porque un número bueno no existe en abstracto, solo en comparación con lo trivial. Partiste los datos de forma que el modelo no pudiera mirar un futuro que todavía no existe, porque engañarte en la validación es engañarte del todo. Separaste la señal del ruido en vez de pretender predecir lo impredecible. Expresaste tu incertidumbre en vez de disfrazarla de certeza. Y comprobaste cada afirmación en lugar de creértela.

Esa manera de trabajar —medir con honestidad, desconfiar de lo que sale demasiado bien, buscar la explicación trivial antes que la elegante, no dar por bueno un resultado hasta que ha sobrevivido a un intento serio de tumbarlo, y decir con claridad hasta dónde llega lo que sabes y dónde empieza lo que no— no es de las series temporales ni de ningún modelo concreto. Es lo que convierte a alguien que llama a una función en alguien en cuyos resultados se puede confiar. Los algoritmos cambiarán, las librerías cambiarán, saldrán métodos nuevos que harán parecer antiguos a los de hoy. Lo que no cambia es la pregunta que te has acostumbrado a hacerte: ¿me puedo creer esto, de verdad? Quien sale sabiendo hacer esa pregunta, y teniendo el método para contestarla con honestidad, tiene lo único de este oficio que no se queda obsoleto.

Regístrate para guardar tu progreso.