
Una tarde de lluvia intensa en Valdivia, de esas donde el agua no cae, sino que se instala como una cortina gris frente a la ventana, me quedé mirando la pantalla esperando que el primer modelo de Maxent terminara de correr sin lanzar un error de Java, buscando entender por qué los helechos crecen donde crecen y no un metro más allá. El vapor empañaba los vidrios y el sonido constante de la lluvia golpeando el techo de zinc se mezclaba con el zumbido del ventilador de la laptop, que parecía estar haciendo un esfuerzo sobrehumano para procesar esos archivos raster tan pesados que apenas entiendo cómo funcionan todavía.
Todo esto empezó hace tiempo, a mediados de octubre, cuando me dio por pensar que si podía ver el bosque desde arriba con las imágenes satelitales, también podría predecir dónde se esconderían mis plantas favoritas si el clima sigue cambiando como dicen. Pero claro, una cosa es querer y otra muy distinta es enfrentarse a RStudio un sábado por la mañana cuando no eres programadora ni geógrafa, sino solo alguien que guarda sus errores en un cuaderno para no llorar cuando el código se pone rojo.
La pelea inicial con Java y los archivos perdidos
Lo primero que aprendí es que Maxent es como ese invitado especial que necesita una alfombra roja antes de entrar a la fiesta. No basta con instalar un paquete en R y ya está; resulta que Maxent es un software que corre sobre Java, y si no tienes el Java Runtime Environment (JRE) bien puesto en tu sistema, R simplemente te ignora. Pasé casi todo un fin de semana intentando entender por qué el paquete 'dismo' no encontraba el famoso archivo maxent.jar.

Y entonces, después de descargar la versión estable de Maxent 3.4.4 y pelear con las rutas de las carpetas, me di cuenta de que mi computador no sabía dónde estaba parado. Literalmente. Mirar fijamente una pantalla llena de texto rojo porque olvidé que las proyecciones de los mapas climáticos y los puntos de GPS no coincidían fue mi momento de mayor frustración. Es increíble cómo un pequeño detalle como el WGS 84 (que ahora sé que tiene el código EPSG 4326) puede hacer que tus helechos aparezcan en medio del Océano Pacífico en vez de en la selva valdiviana.
Si te pasa lo mismo, no te desesperes. Yo tuve que aprender a golpes que las coordenadas que descargas de sitios como GBIF —donde la gente sube fotos de lo que ve— tienen que hablar el mismo idioma que tus mapas de clima. Si quieres saber más de cómo empecé con estas herramientas, hace poco escribí sobre por qué elegí RStudio para estudiar el bosque nativo chileno y cómo eso me cambió la forma de mirar el patio de mi casa.
Descargando el clima en 19 dimensiones
Una vez que logré que R y Java se llevaran bien (fue como una tregua de invierno), me tocó bajar los datos del clima. Ahí aparecieron las famosas 19 variables bioclimáticas estándar de WorldClim. Al principio, para mí eran solo números: BIO1, BIO12, BIO15... pero cuando te detienes a leer qué es cada una, te das cuenta de que son el resumen del clima que respiramos. BIO1 es la temperatura media anual, BIO12 es la precipitación anual (que aquí en Valdivia es mucha, créanme), y así.
El problema es que la mayoría de los tutoriales te dicen que metas las 19 variables a la juguera y dejes que Maxent decida. Pero aquí es donde me puse un poco porfiada. Un sábado, mientras tomaba un mate largo, me puse a pensar: ¿realmente le importa a un helecho la temperatura media del trimestre más seco si aquí siempre está húmedo? Y ahí es donde entra mi pequeño gran descubrimiento (o mi opinión personal, al menos): olvídate de la selección automática de variables en MaxEnt; priorizar el conocimiento ecológico sobre la correlación estadística evita modelos sobreajustados que fallan en proyecciones climáticas futuras.

A veces, menos es más. Si pones demasiadas variables que se parecen entre sí, el modelo se vuelve loco y empieza a 'memorizar' los puntos en vez de aprender qué le gusta a la planta. Fue después de tres fines de semana de intentos fallidos que decidí usar solo 5 o 6 variables que de verdad tuvieran sentido para mi bosque. A veces me sentía como si estuviera cocinando a ciegas, pero cuando entiendes que la estadística no reemplaza lo que ves cuando sales a caminar, todo empieza a cuadrar.
El misterio de la Máxima Entropía y los puntos de fondo
Maxent significa 'Maximum Entropy', algo que suena a ciencia ficción pero que, en mi cabeza de aprendiz, funciona como un juego de equilibrio. Como solo tenemos puntos de donde la planta *sí* está (presencias de GBIF o iNaturalist), el modelo necesita compararlos con 'algo'. Esos son los puntos de background o fondo. Básicamente, el modelo intenta encontrar la distribución más plana (con más entropía) que sea posible, pero que a la vez respete los límites de donde sabemos que la planta vive.
Me costó entender la diferencia entre 'presencia-ausencia' y esto de 'solo presencia'. En mi barrio, yo sé dónde no hay helechos porque hay una calle pavimentada, pero para el modelo, si no hay un punto marcado, no significa necesariamente que la planta no pueda vivir ahí. Es un concepto un poco volado, lo sé, pero cuando ves el mapa coloreándose en la pantalla, te juro que se siente como magia. Es como si el computador estuviera soñando con los lugares donde el helecho se sentiría feliz.
Si te trabas con los mapas, a veces el problema no es el modelo, sino cómo manejas los datos pesados. A mí me pasó mil veces hasta que encontré una solución a errores comunes al cargar rasters pesados en R que me salvó la vida (y la memoria RAM de mi pobre laptop).
Ver el bosque a través del código
Finalmente, un sábado por la mañana, después de una noche de tormenta que casi corta la luz, corrí el código definitivo. No hubo errores rojos. No hubo mensajes extraños de Java. Solo una barra de progreso que avanzó tranquila mientras yo miraba por la ventana cómo el viento movía los arrayanes. Cuando apareció el mapa final, con sus colores amarillos y rojos indicando la probabilidad de presencia, sentí un alivio inmenso.

Lo más bonito fue comparar ese mapa con mis propias caminatas. El modelo decía que en la quebrada que está a dos kilómetros de mi casa había una probabilidad altísima de encontrar la especie que estaba estudiando, y yo sabía que era cierto porque la había visto ahí el verano pasado. Es un momento 'eureka' muy potente: darte cuenta de que la programación, con todo lo difícil y frustrante que puede ser para alguien que no sabe nada de eso, es solo una herramienta para mirar mejor la naturaleza.
Claro que no es perfecto. He aprendido que hay que ser humilde con los resultados. Un mapa no es el bosque, es solo una sombra de lo que creemos entender. Si te interesa este camino, te cuento más sobre lo que aprendí usando Maxent en R para modelar especies en otro de mis diarios de fin de semana, donde detallo más esas pequeñas trampas en las que caí para que tú no tengas que tropezar con la misma piedra.
Ahora, mientras el invierno de 2026 se siente cada vez más cerca y el frío empieza a colarse por debajo de la puerta, guardo mis scripts y mis notas. Aprender modelado de nicho no me hizo experta, pero me dio una excusa para observar el bosque con más atención, para preguntarme por qué el agua corre por donde corre y por qué la vida insiste en brotar justo en ese rincón sombreado que el modelo, por fin, logró predecir.