Introducción al análisis de datos LiDAR para estudios ecológicos usando análisis topológico de datos

Parte 1

Dr. José Luis León Medina

CIMAT Mérida

8 de julio de 2026

Objetivos del curso

  1. Argumentar por qué la estructura de un bosque no se captura solo con estadísticos de primer orden (altura media, p95, densidad).
  2. Explicar intuitivamente la homología persistente (sin recurrir al formalismo de las demostraciones) y distinguir sus dos construcciones según el dato: nube de puntos (complejo de Vietoris–Rips) frente a función sobre una malla (complejo cúbico).
  3. Aplicar TDA a un modelo de altura de dosel (CHM) LiDAR tratándolo como una imagen: detectar copas significativas y separar señal de ruido.
  4. Particionar un levantamiento en regiones ecológicamente coherentes usando descriptores topológicos, en un notebook reproducible con datos públicos.

Bloque 1: Motivación

¿Cuántos árboles hay aquí?

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.

¿Qué medimos hoy en un bosque?

Con LiDAR o inventario, los descriptores habituales son estadísticos de primer orden:

  • Altura media, p95, altura dominante
  • Densidad de retornos, cobertura de dosel (fracción > 2 m)
  • Biomasa vía alometría altura → biomasa aérea (AGB)

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.

Dos doseles con el mismo p95

La forma también importa

Preguntas ecológicas que dependen de la estructura, no del promedio:

  • ¿Cuántas copas dominantes hay y cómo se espacian? → competencia, madurez
  • ¿El dosel es continuo o está fragmentado en parches? → perturbación, regeneración
  • ¿Hay zonas con estructura distinta por borde, inundación o salinidad? → zonación ecológica
  • ¿Dónde termina un tipo de rodal y empieza otro? → estratificación del paisaje

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.

La idea de “la forma de los datos”

El TDA hace una sola pregunta: al mover una escala (un umbral, un radio), ¿qué aparece, cuánto dura, y cuándo desaparece?

  • Lo que persiste a lo largo de muchas escalas es estructura real.
  • Lo que aparece y muere enseguida es ruido.

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.

Bloque 2: ¿Qué es el Análisis Topológico de datos (TDA)?

Los ladrillos: los n-simplejos

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.

Pegándolos bien: el complejo simplicial

Si pegamos símplejos por sus caras obtenemos un complejo simplicial, una forma hecha de piezas simples. La regla:

  • Toda cara de un simplejo del complejo también está en el complejo.
  • Dos símplejos se tocan solo en una cara común (no se cruzan).

Este es el objeto sobre el que se define la homología.

Homología: grupos que miden agujeros

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:

  • H_0: componentes conexas
  • H_1: lazos (agujeros 1D)
  • H_2: cavidades.
  • La homología no mira la geometría exacta: dos formas deformables una en otra tienen los mismos H_k.

Los números de Betti en ejemplos

En cada complejo, b_0 es el número de piezas separadas y b_1 el número de lazos que rodean un hueco:

  • El triángulo hueco y el relleno tienen las mismas aristas, pero solo el hueco encierra un lazo (b_1=1); en el relleno el interior forma parte del complejo, así que no hay hueco que rodear (b_1=0).
  • La figura de ocho tiene dos lazos independientes (b_1=2) sobre una sola pieza (b_0=1).

De homología a persistencia

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.

Qué significa calcularla

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.

Dos enfoques

Construcción 1: nubes de puntos (Vietoris–Rips)

Partimos de puntos en un espacio (p. ej. la nube LiDAR 3D, o árboles como puntos).

  • Alrededor de cada punto crecemos una bola de radio \varepsilon.
  • Al crecer \varepsilon, las bolas se tocan y forman un complejo (Vietoris–Rips).
  • Registramos cuándo aparecen y desaparecen componentes (H₀) y agujeros (H₁).

Es el TDA “de libro de texto”. Potente, pero:

  • Costoso en nubes densas (millones de puntos).
  • La escala \varepsilon es un radio métrico, no siempre interpretable.

Ejemplo

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).

En 3D hay cavidades: aparece H₂

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.

Construcción 2: funciones sobre una malla (complejo cúbico)

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.

  • No crecemos bolas: barremos un umbral de altura.
  • El “complejo” son los píxeles; su conexión es la vecindad de la malla.
  • Es mucho más rápido de calcular que Vietoris-Rips, y el umbral es una altura real, no un radio abstracto, lo que lo hace más interpretable.

Filtración de superniveles: bajar el nivel del mar

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.

Nacimiento, muerte, prominencia

  • Una copa nace en su cima, a la altura h_\text{cima}.
  • Muere cuando, al bajar el nivel, se conecta con una copa más alta: ocurre en la silla que las separa, a la altura h_\text{silla}.
  • Su persistencia = prominencia: \pi = h_\text{cima} - h_\text{silla}

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ómo leer los dos resúmenes

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í.

¿Por qué funciona? Estabilidad

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:

  • Los descriptores topológicos no son frágiles al ruido del sensor.
  • Podemos poner un umbral con base estadística: si el ruido tiene tamaño típico \varepsilon, toda copa con \pi > \varepsilon es distinguible del ruido.
  • Da una noción de reproducibilidad: dos mitades del mismo dato deben dar diagramas parecidos. (Este es, de hecho, el eje central del paper del proyecto.)

Por qué la persistencia y no “contar picos”

Contar máximos locales con un filtro de vecindad es tentador pero frágil:

  • Depende del tamaño de ventana elegido a mano.
  • Un poco de ruido crea o borra picos arbitrariamente.
  • No da una medida de cuán prominente es cada pico.

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.

Diccionario para el notebook

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.

Para practicar

El notebook: complejo cúbico sobre imágenes

Un enlace a Google Colab para correr y comprobar el método cúbico (Parte 2), con datos sintéticos.

→ Abrir el notebook en Colab

Si Colab avisa “Google no creó este notebook…”, dale Ejecutar de todos modos.