
Lecture 01
2026-05-05
El estudio de sistemas complejos es fundamental para entender fenómenos en diversas áreas, como:
¿Cómo entendemos y predecimos estos sistemas?
Un sistema complejo es un sistema compuesto por muchos componentes que interactúan entre sí [1].
Ejemplos:

Source: Aguadé-Gorgorió G, Anderson A, Solé R. Modeling tumors as complex ecosystems iScience, 2024; 27
El tráfico en Londres

Taxistas en Nueva York

Sources:
[1] https://phys.org/news/2019-03-laws-physics-untangle-traffic-stock.html
[2]https://medium.com/data-science/new-york-city-taxi-data-visualization-eda-1c8e9b0a7c5

Source: Caldarelli, G et al. The role of complexity for digital twins of cities. Nat Comput Sci (2023)

Source: https://www.wired.com/2015/04/see-diseases-spread-mesmerizing-graphics/

Source: https://www.wired.com/2015/04/see-diseases-spread-mesmerizing-graphics/
Algunas propiedades
No lineales
Multi-escala
Propiedades emergentes
Adaptativos
Ejemplos:
dinámica de un ecosistema
crecimiento tumoral
propagación epidémica
las ciudades
La terória de sistemas complejos se ha desarrollado durante décadas, pero en los últimos años ha habido una revolución:
Ha aumentado exponencialmente
Esto ha transformado la forma en que estudiamos los sistemas complejos
Trabajamos con distintos tipos de datos:
Cada tipo de dato tiene estructura propia
En este curso nos centraremos en datos estructurados
El problema: Tenemos datos… pero también queremos entender el sistema para poder simular escenarios futuros o evaluar intervenciones.
Enfoque inductivo (data-driven)
- basado en datos - estadistica descriptiva
- machine learning - caja negra
Enfoque deductivo (model-driven)
- basado en hipótesis
- inferencias causales - modelos mecanísticos - simulación
Ejemplos:
Ejemplos:
Machine learning - Necesita muchos datos
- Difícil de interpretar
- El problema de la generalización
Modelos - Parámetros desconocidos
- Simplificaciones
- Dificultad para ajustarse a datos reales - Validación
Existe una convergencia entre ambos enfoques:
Estos enfoques combinan la capacidad de los modelos para representar mecanismos con la capacidad de los datos para ajustar y validar esos modelos.
Modelo + datos + actualización continua
Ejemplos:
Módulo 1: - Procesamiento de datos
Módulo 2: - Simulación de sistemas complejos
Módulo 3: - Exploración de modelos e inferencia
Proyecto individual:
Datos - pandas, polars, dask, pyarrow, xarray
Modelado - numpy, xarray, scipy
Visualización - seaborn, matplotlib
Machine learning - scikit-learn, statsmodels
Entorno - Jupyter notebooks / JupyterLab
Trabajaremos con datos espacio-temporales: - Matrices de movilidad
- Series temporales (incidencia)
- Mapas y capas geográficas
- Simulaciones de epimdemias
Datos reales y simulados
Construir un pipeline completo:
datos → simulación → análisis → exploración → inferencia
Empezamos con datos observados
En esta segunda parte trabajaremos con datos de movilidad poblacional.
Estos datos describen el número de viajes entre zonas geográficas en España.
Cada fila del dataset representa:
Al igual que los datos de COVID, estos datos están segmentados por distintas dimensiones:
Por tanto, no representan directamente los flujos totales entre regiones
Queremos construir una representación más simple:
una matriz origen-destino (OD)
Para ello, necesitaremos:
Estos datos pueden interpretarse como:
Esta red será clave para modelar la propagación de enfermedades