Erre Datos

Variables bioclimáticas frente a dinámicas: Cuáles elegir para tu modelo

Eran pasadas las ocho de una noche de lluvia de esas que solo tenemos en San José durante noviembre, y yo estaba ahí, con los ojos rojos frente a la pantalla, viendo un mapa que no tenía ningún sentido. Según mi modelo de MaxEnt, un jilguero de montaña debería estar viviendo feliz de la vida justo en medio de un centro comercial que terminaron de construir hace dos años. El algoritmo me decía que el clima ahí era perfecto, y técnicamente tenía razón: la temperatura y la lluvia cuadraban. El problema era que mi modelo ignoraba por completo que donde antes había bosque, ahora hay asfalto y un parqueo gigante. Esa noche, mientras veía el reflejo azul de la consola de RStudio en mi taza de café fría mientras espero que el comando 'predict' termine de procesar, entendí que no basta con bajar datos climáticos y darle a 'run'.

Si estás aquí es porque probablemente ya pasaste por la fase de descargar las famosas variables de WorldClim y te sentiste un genio porque el script no te tiró error a la primera. Pero luego ves los resultados y te das cuenta de que algo falta. La pelea entre usar variables bioclimáticas (estáticas) o variables dinámicas (como el uso de suelo o el verdor de la vegetación) es el pan de cada día para los que, como yo, aprendimos esto a pura terquedad y Google, sin ser biólogos de carrera.

La zona de confort: Las 19 variables de WorldClim

Cuando uno empieza en esto del modelado de nicho ecológico, lo primero que te tiran por la cabeza son las 19 variables bioclimáticas de WorldClim. Son como el kit básico de supervivencia. Estas variables, que van de la BIO1 a la BIO19, no son más que promedios de temperatura y precipitación procesados para que tengan un sentido biológico (como la temperatura del cuarto más frío o la lluvia del trimestre más seco).

Lo bueno de estas variables es que son fáciles de conseguir y están estandarizadas a una resolución de 30 segundos de arco, lo que viene siendo más o menos 1 km² en el ecuador. Para alguien que trabaja en logística como yo, tener todo en cajitas de 1 km² suena ideal. Es el estándar de la industria y, para ser honestos, la mayoría de los tutoriales de R que vas a encontrar se basan en ellas. El problema es que el clima es solo una parte de la historia.

Hacia finales del año pasado, me pasé varias semanas de pruebas intentando modelar una especie migratoria que solo llega a ciertas zonas de Guanacaste cuando el bosque está bien verde. Usar solo la precipitación anual era como tratar de predecir el tráfico de San José usando solo el promedio de lluvia del mes: te da una idea, pero te vas a comer todas las presas porque te faltan los datos del momento exacto.

Primer plano de pantalla con error de código en R y cuaderno de campo con coordenadas.

El choque con la realidad y las variables dinámicas

Ahí es donde entran las variables dinámicas. Si las bioclimáticas son la foto vieja de la casa, las dinámicas son el video de seguridad en tiempo real. Estamos hablando del NDVI (que mide qué tan verde está la biomasa mediante sensores satelitales) o los mapas de cobertura de suelo que cambian cada año.

Intentar meter esto en R fue donde mi frustración alcanzó niveles épicos. Recuerdo un domingo de pajareo en el campo donde me llevé la laptop pensando que iba a avanzar, y lo único que conseguí fue la frustración de ver un error de 'coordinates out of bounds' porque olvidé que mis capas climáticas y de satélite no tenían la misma extensión. Fue un dolor de cabeza de casi un mes entender que si una capa tiene un píxel más que la otra, o si el sistema de coordenadas no es exactamente el mismo, R simplemente te manda a freír espárragos.

Las variables dinámicas son tentadoras porque parecen más 'reales'. Te dicen si hay bosque hoy, no si el clima permitiría que hubiera bosque teóricamente. Pero aquí es donde entra mi gran lección aprendida después de romper el código tres veces: el peligro del sobreajuste estadístico.

El peligro de perseguir el ruido

Aquí es donde me pongo un poco serio (dentro de lo que cabe para alguien que aprendió esto por hobby). Existe una tendencia a creer que cuantas más capas dinámicas le metas al modelo, mejor será. Pero mi experiencia me dice que incorporar variables dinámicas en modelos de nicho suele generar sobreajuste estadístico. Es preferible usar promedios bioclimáticos estáticos para capturar la viabilidad real del hábitat en lugar de ruido temporal.

¿A qué me refiero con esto? Si usas el NDVI de un mes específico, podrías estar capturando una anomalía (un año que fue inusualmente seco, por ejemplo) y el modelo va a pensar que la especie solo vive bajo esas condiciones ultra específicas. Al final, el modelo se vuelve tan 'fino' que pierde la capacidad de predecir dónde más podría vivir el animal. Se vuelve un mapa de 'dónde estuvo el bicho ese martes' en lugar de un mapa de nicho ecológico. Si quieres que tus mapas no solo se vean bien sino que sirvan para algo, a veces menos es más. Para mejorar esto, me sirvió mucho revisar algunos consejos sobre qué curso de R elegir para mejorar la estética de tus mapas ecológicos, porque me ayudó a entender que la claridad visual también depende de la calidad de los datos que eliges.

¿Cuándo elegir qué? Mi regla de pulgar

Después de pelearme con MaxEnt y sus iteraciones por defecto en MaxEnt (que suelen ser 500, aunque yo a veces las subo para ver si el modelo converge mejor), he llegado a una conclusión de aficionado terco:

Hacia finales de mayo de este año, logré finalmente stackear capas de uso de suelo actualizadas con mis variables climáticas en R. Fue un momento de gloria. Por primera vez, el AUC (esa métrica que te dice qué tan bueno es tu modelo) empezó a tener sentido biológico y no solo estadístico. Ya no tenía jilgueros en Multiplaza, pero tampoco tenía áreas gigantescas marcadas como 'hábitat' que en realidad son potreros pelados.

Lo que realmente vale la pena pagar (y lo que no)

Si estás empezando, no gastes plata en bases de datos climáticas caras. WorldClim es gratis y es el estándar por una razón. En lo que sí vale la pena invertir es en formación que te enseñe a limpiar tus propios datos. Yo perdí meses tratando de entender por qué mis capas no alineaban hasta que hice un curso que me explicó el pre-procesamiento espacial.

A veces, el problema no es el código de R, sino que se te acaba la batería en medio del campo tratando de validar puntos de presencia. Por eso siempre recomiendo andar bien preparado, como mencioné en mi nota sobre mejores baterías externas para laptops en salidas de campo de modelado en R, porque no hay nada más triste que tener el script perfecto y que la laptop se muera antes de que termine de correr el modelo.

También, si sientes que la parte de los números te está sobrepasando (a mí me pasaba que veía los resultados y no sabía si el p-value era bueno o si el modelo estaba alucinando), dale una mirada a los mejores cursos de estadística para ecología orientados a modelado de nicho. Te ahorran semanas de buscar en foros de hace diez años.

Reflexión final de un logístico metido a pajarero

Al final del día, entender la diferencia entre 'donde puede vivir' y 'donde realmente queda bosque' es lo que separa un mapa bonito que pegas en la pared de una herramienta de conservación real. No te frustres si el comando 'raster::stack' te tira error por milésima vez. Es parte del proceso de aprendizaje de cualquier aficionado que quiere responder sus propias preguntas.

Aprender a elegir las variables no es solo una cuestión de estadística, es conocer a la especie. Si sabes que ese pajarito que tanto te gusta necesita un tipo de bosque específico que está desapareciendo, métele la variable dinámica de cobertura forestal, pero hazlo con cuidado, sin saturar al modelo con ruido que no necesita. Al final, lo que buscamos es la verdad que hay detrás de los datos, aunque nos cueste un par de tazas de café frío y unas cuantas noches de lluvia en San José.

Artículos relacionados