Lo que aprendí usando Maxent en R para modelar especies

Aviso corto: en esta entrada hay enlaces de afiliado. Si alguien compra un curso a través de ellos, yo recibo una comisión, sin que a ustedes les cueste nada extra.

La primera vez que corrí un modelo con puntos de presencia mal filtrados, Maxent me devolvió un mapa con bosque denso justo en un sector que hoy es puro pavimento, y el programa no avisa que algo anda mal; el resultado se ve igual de prolijo. Esa es la advertencia más seria que puedo dar sobre el modelado de nicho con Maxent en R: el algoritmo confía ciegamente en lo que le entregas, así que si el insumo viene torcido, la salida también lo va a estar. Lo que sigue es más un resumen práctico que un diario: las cosas que reviso ahora antes de correr un modelo, después de meterme en esto de la teledetección para principiantes en RStudio espacial, aprendiendo de forma autodidacta y sin nadie al lado que me revise el código.

Antes de seguir, el detalle de siempre: algunos de los cursos que menciono más abajo tienen enlace de afiliado, y si alguien termina comprando uno yo recibo una comisión — un 54% en el de teledetección y un 62% en el de Maxent, que ayuda bastante a pagar la cuenta de la luz en este invierno eterno — sin costo extra para ustedes. Solo recomiendo lo que de verdad usé, porque lo que no probé no lo pongo acá con la cara en alto.

Todo parte de una pregunta de nicho ecológico: qué necesita una especie para vivir en un lugar y no en otro, y qué tan bien se puede estimar eso con capas de clima y un puñado de puntos donde alguien la vio. Ahí es donde entra Maxent, pero antes de llegar al modelo en sí hay pasos que no se pueden saltar.

Capas alineadas: punto de partida

Antes de tocar Maxent siquiera, hay una pregunta que decide si el resultado va a servir: ¿están todas mis capas alineadas, en el mismo formato y con la misma resolución? Si todavía no sabes qué es un archivo raster ni cómo se abre uno en RStudio sin que se caiga la sesión, ese es el primer paso, no el modelo de especies. Maxent se basa en un principio de entropía máxima que no voy a diseccionar acá, pero lo que sí puedo decir es que el resultado depende completamente de la calidad de las capas que le entregas. Cuando confirmé que necesitaba una guía más ordenada que puros tutoriales sueltos, entré al curso de Teledetección Satelital con R y R-Studio, que ordena justo ese tramo: cómo cargar la imagen, cómo revisarla, cómo llegar a un mapa que no haya que borrar después.

Consola de RStudio marcando un error de código, típico al aprender teledetección para principiantes

Las proyecciones: el paso que arruina todo si se salta

Las proyecciones son, para mí, la trampa más común y la que menos se nota hasta que ya es tarde: tus puntos de presencia pueden estar en un sistema de coordenadas y tus capas ambientales en otro, y R no siempre tira un error rojo evidente — a veces el mapa simplemente te sale con las especies flotando en el mar. Ya dejé el detalle de cómo corregir proyecciones cartográficas en R en otra entrada, así que acá solo va la regla que uso ahora: reviso el sistema de referencia de cada capa antes de juntarlas, no después. La vez que encontré ese error yo sola, sin nadie al lado explicándome el mensaje de la consola, entendí para qué servía cada parámetro del sistema de coordenadas, algo que ningún tutorial de RStudio me había aclarado tan bien como ese rato frente a la pantalla.

Puntos de presencia desplazados en el mapa por una proyección mal alineada en R espacial

Variables bioclimáticas: la parte que se decide con criterio, no al azar

Elegir variables es más criterio que ciencia exacta, al menos al principio: no tiene sentido meter temperatura máxima si a la especie que te importa lo que la limita es la humedad, así que antes de correr el modelo me pregunto qué necesita realmente esa planta o ese animal para sobrevivir, no qué variable tengo más a mano. Además de las capas climáticas clásicas, ahora sumo índices como el NDVI, que se calculan a partir de bandas espectrales del satélite y ayudan a distinguir si el bosque sigue en pie o si ya lo reemplazaron por otra cosa; hay paquetes de R espacial que traen funciones ya armadas para esto, y antes de meter el raster al modelo a veces toca recortarlo al límite exacto de la zona que me interesa, porque si no, Maxent procesa territorio que no aporta nada al análisis. Para esta parte específica, la de nicho y variables, uso más el curso de Modelado de Nicho Ecológico con Maxent en R, que es más corto y va directo a esto sin rodeos.

Filtrar los puntos de presencia antes de confiar en el mapa

Los puntos de presencia son la parte que menos se revisa y la que más arruina el modelo si vienen mal: si tengo tres registros casi pegados en el mismo lugar, el modelo cree que ahí hay más presencia real de la que hay, y el mapa final miente sin que se note a simple vista. Lo que hago ahora es revisar la densidad de puntos por zona y sacar los que están demasiado juntos, aunque eso signifique quedarme con menos datos: prefiero un modelo honesto con pocos puntos que uno inflado con puntos repetidos. Sé, porque camino seguido por los cerros cerca de Barrio Alemania, en Valdivia, que hay tramos que el modelo marca como bosque cerrado y que en realidad son matorral raleado hace años; ahí el filtro de puntos no basta, hay que mirar también qué tan realista es la variable ambiental que estás usando. Antes de llegar a este método intenté meterme directo a artículos científicos sobre teledetección, pensando que ahí iba a estar la explicación clara, y lo único que logré fue sentirme más perdida, porque el vocabulario técnico daba por sentadas cosas que yo todavía no sabía. Ese tramo autodidacta, el de aprender a filtrar y desconfiar de mis propios datos, lo cuento con más calma en esta otra entrada sobre aprender teledetección con R sin ser programadora, así que acá lo dejo solo como regla práctica.

Validar el resultado antes de creer en el color verde

Mapa de probabilidad generado con Maxent en R mostrando el modelado de nicho de una especie

Un mapa de Maxent siempre se ve convincente, tenga sentido o no, así que antes de darlo por bueno reviso dos cosas: si el área de mayor probabilidad coincide con lugares donde de verdad he visto la especie, y si el modelo se sostiene incluso en las zonas donde no tengo datos, no solo donde sí los tengo. La primera vez que el mapa de probabilidad salió en un verde intenso sobre fondo negro, sentí el clic seco del trackpad al guardar el archivo, como si el computador también llevara rato esperando ese resultado, pero ese verde bonito no reemplaza la validación, solo la hace más fácil de aguantar. Raimundo, un conocido del grupo de senderismo, me preguntó hace poco si esto servía para notar si el bosque donde él fotografía hongos cambia de un año a otro: tiene una paciencia infinita para esperar horas a que aparezca el hongo que busca, pero apenas ve la consola llena de líneas rojas se desespera y me pasa el mouse. A Isidora, compañera del mismo camino autodidacta, la conocí comentando los mismos tutoriales en inglés que ninguna de las dos entendía del todo; ella anota cada paso a mano en un cuaderno de papel antes de pasarlo en limpio, y más de una vez ese cuaderno escaneado me ha resuelto algo que ningún foro me resolvió. Si están recién partiendo con esto y quieren una base más ordenada de la que tuve yo al partir, el curso de Teledetección Satelital con R sigue siendo el que más me sirvió para no perder mis puntos en el medio del Pacífico de nuevo.

Ahora sí, a preparar otro café: la lluvia no da tregua y todavía me quedan capas por procesar. Suerte con sus mapas.

Artículos relacionados