lección 1
Qué tiene de especial una serie temporal
Cuando el dato lleva fecha, el orden es la información: barajar las filas lo destruye y no mirar el futuro pasa a ser una ley física.
⏱ 50 min
En 1972, el gobierno estadounidense publicó una cifra que cambió cómo se mira la economía: la tasa de desempleo "desestacionalizada". El dato en bruto subía todos los eneros y bajaba todos los junios, año tras año, con una regularidad de reloj. Durante décadas, cada enero los periódicos titulaban "sube el paro" y cada verano "baja el paro", y los dos titulares eran rigurosamente ciertos y rigurosamente inútiles: el paro subía en enero porque terminaban los contratos de Navidad, no porque la economía empeorase. Alguien se dio cuenta de que para saber si la economía iba a mejor o a peor había que quitarle a la serie ese latido anual que se repetía siempre igual. Esa idea —que una serie de números con fecha esconde varios patrones superpuestos y que separarlos es el primer trabajo— es el corazón de todo lo que vamos a hacer con el tiempo.
Hasta ahora, cuando trabajabas con datos, cada fila era independiente de las demás. Un cliente, una transacción, una medición: podías ordenarlos como quisieras, barajarlos, partirlos al azar en dos montones para entrenar y validar, y nada cambiaba. El cliente de la fila 3 no sabía nada del cliente de la fila 2. Una serie temporal rompe ese supuesto de raíz. Una serie temporal es una secuencia de observaciones tomadas en instantes sucesivos y ordenadas por el tiempo: las ventas de cada día, la temperatura de cada hora, el número de usuarios conectados cada minuto. Y en esa secuencia, el valor de hoy no es independiente del de ayer. Las ventas de hoy se parecen a las de ayer. La temperatura de esta hora se parece a la de la anterior. El orden no es decoración: el orden es el dato.
## La fila de hoy depende de la de ayer
Esta es la propiedad que lo cambia todo, y conviene detenerse en ella porque es contraria a casi todo lo que has hecho con datos hasta ahora. En una tabla de clientes, borrar la fila 500 no afecta en nada a la fila 501. En una serie temporal, cada observación está correlacionada con las que tiene cerca en el tiempo. A esto se le llama autocorrelación —la correlación de una serie consigo misma en instantes distintos— y es la huella que distingue una serie temporal de un montón de números cualquiera. Si te doy la temperatura de Madrid a las tres de la tarde y te pido que adivines la de las cuatro, no partes de cero: sabes que estará cerca. Esa dependencia entre instantes vecinos es información aprovechable, y buena parte del trabajo con series consiste en exprimirla.
La consecuencia práctica es inmediata y severa: no puedes barajar las filas. Cuando se trabaja con datos sin orden temporal, mezclar las filas al azar es inofensivo e incluso recomendable, porque rompe cualquier orden accidental que hubiera en el fichero. Con una serie temporal, barajar es destruir el dato. Si tienes las ventas diarias de un año y las ordenas al azar, has borrado toda la información: ya no sabes qué día vino antes que cuál, ya no se ve la subida de diciembre ni la caída de agosto, ya no hay tendencia ni estacionalidad. Lo que te queda es una lista de números sin sentido. La fecha no es una columna más que puedes ignorar: es el eje sobre el que se apoya todo lo demás.
## La regla de no mirar el futuro deja de ser opcional
Hay una regla que ya conoces de cualquier trabajo serio de modelado: para saber si un modelo funciona, se le pide que prediga datos que no ha visto. Se parten los datos en dos, se entrena con unos y se mide con otros, y nunca se usan los datos de prueba para tomar decisiones durante el entrenamiento. Mirar los datos de prueba antes de tiempo es la forma más común de engañarse a uno mismo: el modelo parece buenísimo porque ya conocía las respuestas. En datos sin tiempo, esa regla es una buena práctica. En series temporales, es física.
La diferencia es sutil pero decisiva. Cuando partes al azar un conjunto de datos sin orden temporal, da igual qué filas van a entrenar y cuáles a prueba, porque todas son contemporáneas: son fotos del mismo momento. Pero cuando el dato tiene fecha, partir al azar significa que algunas filas de enero caen en prueba y algunas de diciembre caen en entrenamiento. Y entonces estás entrenando un modelo con diciembre para que prediga enero: le estás enseñando el futuro para que adivine el pasado. Eso no es solo trampa estadística, es imposible en la vida real. El día que ese modelo salga a producción, el futuro todavía no habrá ocurrido. No existirá ningún diciembre con el que entrenar para predecir el enero que viene. Un modelo validado barajando el tiempo da un número precioso en tu portátil y se derrumba el primer día que lo pones a predecir de verdad.
Por eso la partición de una serie temporal es siempre por tiempo, nunca al azar: los datos antiguos van a entrenamiento y los recientes a prueba, respetando la frontera del calendario. Entrenas con todo lo anterior a una fecha de corte y mides con todo lo posterior. Es la única forma de simular honestamente lo que el modelo tendrá que hacer en producción: usar el pasado para adivinar un futuro que todavía no conoce. Esta será la regla de oro de todo lo que hagas con el tiempo, y es tan importante que vale la pena dibujarla.
El error más caro con series temporales no es elegir mal el modelo: es partir los datos al azar. Si usas la partición aleatoria de siempre con datos que llevan fecha, tu modelo acaba conociendo el futuro durante el entrenamiento, tu métrica de validación sale espectacular, y el modelo se desploma el primer día de producción. Cuando veas una columna de fechas, lo primero que tienes que preguntarte es: ¿he partido esto por tiempo o por azar?
## La frecuencia: cada cuánto late la serie
Antes de mirar los patrones hay un detalle que condiciona todo lo demás y que es fácil pasar por alto: cada cuánto se toma una observación. A ese ritmo se le llama frecuencia o granularidad de la serie, y puede ser cualquiera: una medición por segundo en un sensor industrial, una por minuto en el tráfico de una web, una por hora en el consumo eléctrico, una por día en las ventas, una por mes en los datos macroeconómicos. La frecuencia no es un dato administrativo: determina qué patrones puedes ver y cuáles no. Con datos mensuales nunca verás el patrón de los fines de semana, por mucho que exista, porque cada punto ya resume un mes entero. Es como preguntar por el color de un sonido: la información simplemente no está en esa resolución.
Esto tiene una consecuencia práctica que aparece constantemente. A menudo recibes datos a una frecuencia muy fina —cada venta, con su sello de tiempo al segundo— y la pregunta de negocio es a una frecuencia mucho más gruesa —cómo van las ventas semanales—. Pasar de lo fino a lo grueso se llama remuestrear o agregar, y es una de las primeras operaciones que harás con casi cualquier serie: agrupar los eventos sueltos en cubos de tiempo regulares (sumar las ventas de cada día, promediar la temperatura de cada hora) para obtener una serie con un latido constante. Esa regularidad importa, porque la mayoría de las herramientas de series temporales esperan observaciones espaciadas de forma uniforme: una por día, sin huecos ni días repetidos. Si tu serie tiene días que faltan —festivos sin registro, un sensor que se apagó—, decidir qué hacer con esos huecos es un paso previo obligatorio, porque un hueco mal tratado se interpreta como una caída real que nunca ocurrió.
La elección de la frecuencia también es una decisión de análisis, no solo una característica de los datos. Si miras las ventas minuto a minuto, el ruido te ahogará: cada minuto salta tanto por azar que no verás nada. Si las miras año a año, suavizas tanto que pierdes la estacionalidad y los detalles que importan. La frecuencia adecuada es la que deja ver el patrón que te interesa sin ahogarlo en ruido ni aplastarlo por exceso de suavizado, y casi siempre coincide con la unidad en la que se toman las decisiones del negocio: si se planifica el stock por semanas, la serie útil es semanal. Elegir mal la granularidad es un error silencioso: la serie se dibuja igual de bien, pero el patrón que buscabas no aparece porque lo estás mirando a la resolución equivocada.
## Las cuatro piezas de una serie: tendencia, estacionalidad, ciclo y ruido
Volvamos a la tasa de desempleo del principio. Lo que descubrió aquel analista es que casi cualquier serie temporal del mundo real es la suma de varios patrones superpuestos, cada uno con un significado distinto, y que no se entiende la serie hasta que no se separan. Son cuatro, y conviene reconocerlos de vista porque todo el trabajo posterior consiste en identificarlos, separarlos y a veces predecirlos.
La tendencia es el movimiento de fondo, la dirección a largo plazo: hacia dónde va la serie si te alejas y entornas los ojos. Las ventas de una empresa que crece tienen una tendencia creciente; los suscriptores de un periódico de papel, decreciente. La tendencia es la pregunta que de verdad le importa a dirección: ¿esto sube o baja, quitando el ruido del día a día? Y es justo la que queda tapada por los otros tres patrones si no se los quita primero.
La estacionalidad es el patrón que se repite a intervalos fijos y conocidos: todos los diciembres, todos los lunes, todas las mañanas. Es el latido anual del desempleo, el pico de ventas de Navidad, la caída del tráfico web los fines de semana, el aumento del consumo eléctrico a las ocho de la tarde. La clave de la estacionalidad es que su periodo es fijo y predecible: sabes exactamente cuándo va a volver, porque está atada al calendario o al reloj. Esto la hace muy fácil de aprovechar: una vez que sabes que cada diciembre vendes el triple, puedes planificar el stock con un año de antelación.
El ciclo se confunde a menudo con la estacionalidad, pero es distinto y conviene no mezclarlos. Un ciclo también es una oscilación que sube y baja, pero su periodo no es fijo: no sabes cuándo va a volver. Los ciclos económicos de expansión y recesión duran entre tres y diez años, sin un reloj que los marque. Una estacionalidad te dice "en diciembre"; un ciclo te dice "en algún momento de los próximos años". Esa falta de regularidad es lo que hace a los ciclos mucho más difíciles de predecir, y por eso en la práctica muchas veces se agrupan con el ruido o con la tendencia a largo plazo.
El ruido —también llamado componente irregular o residuo— es todo lo que queda cuando has quitado los tres anteriores: las fluctuaciones aleatorias e impredecibles que no responden a ningún patrón. Una huelga de transporte que hunde las ventas de un día, una noticia viral que dispara las visitas una tarde, el error de un sensor. El ruido no se puede predecir, por definición: si pudieras predecirlo, no sería ruido, sería un patrón. El objetivo de modelar una serie no es eliminar el ruido —es imposible— sino separar lo que es señal (tendencia y estacionalidad, que se repiten y se pueden anticipar) de lo que es ruido (que no).
## Tres ejemplos reales para fijar la idea
Las ventas diarias de una tienda tienen las cuatro piezas de manual. Una tendencia creciente si el negocio va bien. Una estacionalidad doble: semanal (los sábados se vende más) y anual (diciembre dispara, agosto hunde). Un ciclo ligado a la economía general. Y ruido: el día que llovió y no vino nadie, el día que un influencer la nombró. Cuando el responsable de la tienda dice "este agosto hemos vendido menos que en julio", no está diciendo nada: agosto siempre vende menos. La pregunta buena es "este agosto, comparado con agostos anteriores, ¿hemos vendido más o menos?", y para responderla hay que haberle quitado antes la estacionalidad.
La temperatura de una ciudad es casi pura estacionalidad: un patrón anual larguísimo (verano caliente, invierno frío) montado sobre otro diario (mediodía caliente, madrugada fría). La tendencia es pequeña pero existe y es importante: el calentamiento global es exactamente la tendencia creciente que queda cuando le quitas a la serie de temperaturas sus dos estacionalidades. Es el ejemplo perfecto de por qué separar las piezas importa: el patrón que de verdad preocupa es el más pequeño de todos, y está completamente tapado por los grandes.
El tráfico de una web mezcla las cuatro de forma reconocible. Estacionalidad semanal (los días laborables suben, el fin de semana baja, si es una web de trabajo) o al revés (si es de ocio). Estacionalidad diaria (picos a mediodía y por la noche). Tendencia según crezca o decaiga el proyecto. Y un ruido con picos enormes e irrepetibles: el día que una noticia se hizo viral. Si no sabes que el lunes siempre sube respecto al domingo, confundirás ese salto normal con un efecto de algo que lanzaste el lunes, y te atribuirás un mérito que era del calendario.
Consejo de senior: cuando alguien te traiga una serie temporal y te pregunte "¿esto está subiendo?", tu primera reacción no debe ser calcular, sino preguntar "¿comparado con cuándo?". Comparar diciembre con noviembre no dice nada si diciembre siempre es más alto. La comparación honesta en una serie estacional es contra el mismo periodo del ciclo anterior (este diciembre contra el diciembre pasado) o contra la serie a la que ya le has quitado la estacionalidad. Ese reflejo —desconfiar de cualquier comparación que no controle la estacionalidad— te ahorrará conclusiones falsas durante toda tu carrera.
## Por qué este orden de ideas y no otro
Todo lo que viene después de aquí se apoya en estas dos ideas. Separar una serie en sus piezas exige entender primero que esas piezas existen y se superponen. Comprobar si una serie es tratable por un modelo exige entender primero que el orden importa y que la dependencia entre instantes es real. Y elegir bien los parámetros de un modelo de predicción exige entender primero qué es esa autocorrelación que hace que el valor de hoy se parezca al de ayer. No hay ningún algoritmo en lo que sigue que puedas usar con honestidad sin tener claras estas dos cosas: que barajar destruye el dato, y que mirar el futuro durante el entrenamiento es la trampa que más caro se paga.
Ya sabes que una serie temporal es distinta de cualquier tabla que hayas tocado: el orden es información, barajar la borra, y la partición va por el calendario. También sabes que lo que observas es la suma de varias piezas con significados distintos. Lo siguiente es poner nombre a cada pieza con números, no solo de vista: separar una serie real en su tendencia, su estacionalidad y su ruido, y verlas una a una.
## comentarios
Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.
Inicia sesión para comentar y responder.
cargando comentarios...
Regístrate para guardar tu progreso.