Parte 1
CIMAT Mérida
8 de julio de 2026
A simple vista no se pueden contar ni delimitar las copas de este manglar cerrado. Un promedio (altura media, cobertura) tampoco lo resuelve: resume el conjunto, no su organización. Para leer cómo se organiza el dosel hace falta mirar su forma, no solo su promedio. Ahí es donde el TDA aporta una vía.
Manglar de los Sundarbans (el mayor del mundo). Fuente: Wikimedia Commons, CC BY-SA 4.0.
Con LiDAR o inventario, los descriptores habituales son estadísticos de primer orden:
Todos comparten una limitación: resumen la distribución de alturas ignorando cómo están organizadas en el espacio. Colapsan un paisaje a un histograma.
La estructura del dosel (cómo se distribuyen, agrupan y conectan las copas) porta información ecológica que un estadístico de primer orden no puede ver.
Preguntas ecológicas que dependen de la estructura, no del promedio:
La estadística espacial clásica (variogramas, Moran’s I) ayuda, pero mide autocorrelación de un valor escalar. No describe la forma de la superficie: sus máximos, sillas, cuencas, y cómo se conectan al cambiar de escala.
Esa forma es precisamente lo que el análisis topológico de datos cuantifica.
El TDA hace una sola pregunta: al mover una escala (un umbral, un radio), ¿qué aparece, cuánto dura, y cuándo desaparece?
A ese “cuánto dura” lo llamamos persistencia, y es notablemente estable frente al ruido de los datos.
Tip
¿Por qué importa para estudios ecológicos? Da un criterio para separar copa real de ruido del sensor sin fijar umbrales manualmente, y con estadística que lo respalda.
Un n-simplejo es la pieza más simple de dimensión n, la envoltura convexa de n+1 puntos: el punto (0), la arista (1), el triángulo relleno (2), el tetraedro (3), y así en dimensiones mayores.
Si pegamos símplejos por sus caras obtenemos un complejo simplicial, una forma hecha de piezas simples. La regla:
Este es el objeto sobre el que se define la homología.
La homología asocia a cada complejo simplicial, de forma automática y solo a partir de cómo están pegadas sus piezas, un grupo H_k por cada dimensión k. Con coeficientes en \mathbb{Z}_2, cada H_k es un espacio vectorial, y su dimensión
b_k \;=\; \dim H_k
(el número de Betti) cuenta cuántos agujeros independientes de dimensión k hay:
En cada complejo, b_0 es el número de piezas separadas y b_1 el número de lazos que rodean un hueco:
Aplicada a datos (una nube de puntos o una imagen) no hay un único complejo simplicial: hay que fijar una escala \theta, y esa elección es arbitraria. En vez de fijar un valor, los recorremos todos: construimos de forma controlada una sucesión encajada de complejos, uno por cada valor de \theta:
X_{\theta_1} \subseteq X_{\theta_2} \subseteq \cdots \subseteq X_{\theta_k}
Eso es una filtración. La persistencia registra, a lo largo de ella, qué clases de homología nacen, cuánto sobreviven al crecer \theta, y cuándo se fusionan o desaparecen.
Computacionalmente, el método convierte la forma en una tabla finita de piezas y sus fronteras. Después reduce matrices, como álgebra lineal sobre \mathbb{Z}_2.
Partimos de puntos en un espacio (p. ej. la nube LiDAR 3D, o árboles como puntos).
Es el TDA “de libro de texto”. Potente, pero:
Al crecer \varepsilon, cada rasgo sube desde la diagonal (su muerte = el ε actual) y se congela al morir. El punto H₁ que se aleja de la diagonal es el agujero persistente (señal); los H₀ que mueren enseguida quedan pegados a ella (ruido).
Al crecer ε: b₀ baja de 12 → 1 (las piezas se conectan); aparecen muchos 1-ciclos efímeros (b₁, naranja) que mueren al taparse las caras (pegados a la diagonal = ruido); y nace la cavidad (b₂=1, H₂ verde), que persiste hasta que los tetraedros rellenan el interior.
Cuando el dato es una imagen, es decir, una función escalar sobre una malla regular, hay un camino más directo y barato: el complejo cúbico con filtración por niveles.
Bajamos un umbral \theta desde arriba. A cada nivel, la región \{x : f(x) \ge \theta\} son las “islas” que asoman. Al bajar \theta: nacen islas nuevas (cimas) y se fusionan islas vecinas.
Una prominencia grande = una copa que sobresale claramente de su entorno. Pequeña = un bulto que apenas se distingue del dosel vecino (o del ruido).
Código de barras (barcode)
Cada copa es una barra que va de su silla a su cima. Barras largas = copas robustas; barras cortas ≈ ruido. Contar barras largas = contar copas significativas.
Diagrama de persistencia
Cada copa es un punto (cima, silla). Los puntos lejos de la diagonal son los de gran prominencia, la estructura real. Los pegados a la diagonal son ruido.
Ambos son el mismo objeto matemático, dibujado de dos maneras. Todo lo que sigue (contar copas, medir diversidad estructural, comparar tiles) se lee de aquí.
No vamos a demostrar teoremas, pero una propiedad justifica todo el enfoque:
Teorema de estabilidad (Cohen–Steiner, Edelsbrunner & Harer, 2007). Si perturbas la superficie por a lo sumo \varepsilon (en norma del supremo), el diagrama de persistencia se mueve a lo sumo \varepsilon. Perturbaciones pequeñas ⇒ diagramas casi idénticos.
Consecuencias prácticas, que son las que nos interesan:
Contar máximos locales con un filtro de vecindad es tentador pero frágil:
La persistencia resuelve las tres: la prominencia es una medida continua, con un umbral \varepsilon_\text{min} derivado del ruido, y estable por el teorema anterior. Es “contar picos”, pero hecho bien y con teoría detrás.
Todo lo abstracto de este bloque, traducido al dosel, es lo que verás en el notebook:
| En matemáticas | En el CHM (dosel) |
|---|---|
| función f(i,j) | altura del dosel en cada píxel |
| supernivel \{f \ge \theta\} | zonas por encima de una altura |
| componente H_0 | isla de dosel = copa candidata |
| nacimiento | cima de la copa |
| muerte | silla que la une a una copa más alta |
| persistencia | prominencia = cima − silla |
| cerca de la diagonal | ruido / bultos débiles |
| lejos de la diagonal | copa significativa |
El notebook es este mismo diccionario, en código. No es código suelto.
Un enlace a Google Colab para correr y comprobar el método cúbico (Parte 2), con datos sintéticos.
Si Colab avisa “Google no creó este notebook…”, dale Ejecutar de todos modos.
LiDAR + TDA para estudios ecológicos - Parte 1