Clase 7: Series temporales
Eje II: Aprendizaje supervisado
Objetivo
Introducir el análisis de series temporales: datos donde el orden importa, porque cada observación es un momento. La clase recorre cómo se mira una serie (qué es tendencia, qué es estacionalidad y qué queda como resto), cómo se la separa en esas tres piezas, y cómo se pronostica y se evalúa ese pronóstico sin hacer trampa con el futuro.
La primera mitad de la clase termina la evaluación de clasificadores de la Clase 6 (matriz de confusión, sensibilidad y especificidad, precisión, curva ROC y AUC), con las diapositivas de esa clase.
Contenidos
- Qué es una serie temporal y qué preguntas contesta: cuánto va a haber, si un cambio es real o se repite todos los años, si un evento dejó marca.
- Tendencia y estacionalidad, anual y semanal. Y un caso donde el total esconde dos ritmos semanales opuestos que se cancelan.
- Descomposición: la media móvil para sacar la tendencia, la descomposición clásica paso a paso, sus dos problemas, y STL como la versión que los resuelve.
- El resto: donde aparecen los días en que pasó algo (un incidente, los feriados).
- Pronosticar y evaluar: por qué el k-fold al azar miente con una serie, la partición temporal (el test son los días más nuevos), los tres métodos de referencia (media, naive y naive estacional), el MAE y el origen móvil.
- Mención al análisis de supervivencia: modelar el tiempo hasta un evento.
La clase sigue en Nimbus, pero con una tabla distinta a las de las clases anteriores: nimbus_soporte_diario.csv, tres años de tickets diarios de la mesa de ayuda, separados en clientes empresa y particulares. No tiene empleado_id: es una serie de la empresa, no un dato por empleado.
Notebooks
La notebook sigue el mismo recorrido que las diapositivas. Carga la serie, mira la tendencia y las dos estacionalidades, la descompone con medias móviles y con STL, busca en el resto los días en que pasó algo, y termina pronosticando octubre de 2025 con los tres métodos de referencia, comparados por MAE, y repitiendo la evaluación con cinco ventanas distintas.
| Lenguaje | Leer en el sitio | Ejecutar en Colab | Descargar |
|---|---|---|---|
| Python | Notebook renderizada | .ipynb |
Igual que las Clases 4 y 6, esta clase no tiene par en R: el recorrido está sólo en Python. Quien quiera reproducirlo en R tiene el camino hecho en la lectura obligatoria, que está escrita en R (paquetes fable y feasts).
Los datos
El archivo se lee por URL desde la notebook, sin bajar nada.
| Archivo | Contenido | URL |
|---|---|---|
nimbus_soporte_diario.csv |
1.096 días (2023-2025): tickets diarios de la mesa de ayuda, en total y separados en empresas y particulares | /data/toy-nimbus/nimbus_soporte_diario.csv |
Slides
La primera mitad de la clase usa las diapositivas de la Clase 6 (el bloque de evaluación).
Lo que viene
La pre-entrega es en la Clase 8 y vale el 20% de la nota: el algoritmo y las variables definidos, con una justificación coherente con el tipo de problema.
Lecturas
Obligatoria:
- Hyndman, R. J. & Athanasopoulos, G. (2021). Forecasting: Principles and Practice (3.ª ed., capítulos seleccionados). OTexts. Libro web gratuito en https://otexts.com/fpp3/. Está escrito en R; el lado Python de la clase se trabaja con
statsmodels.
Recursos de consulta:
- Los videos de FPP3, cortos y uno por sección, de los propios autores del libro.
- Documentación de
STLen statsmodels, la descomposición que usa la notebook.