Descargar

Una breve guía didáctica sobre Maxent


Partes: 1, 2

  1. Efectuando una corrida
  2. Mirando una predicción
  3. Formatos de salida
  4. Análisis estadístico
  5. ¿Cuáles variables importan más?
  6. ¿Cómo depende la predicción de las variables?
  7. Tipos de características y curvas de respuesta
  8. El formato SWD
  9. Corrida de lotes ("Batch running")
  10. Haciendo proyecciones
  11. Analizando la salida de Maxent en R

Esta guía didáctica da una introducción básica para el uso del MaxEnt, programa para el modelado de la distribución geográfica de las especies en base a la máxima entropía, escrito por Steven Phillips, Miro Dudik y Rob Schapire, con el apoyo de los laboratorios de investigación de AT&T, la Universidad de Princeton y el Centro para la Biodiversidad y Conservación del Museo Americano de Historia Natural. Para más detalles sobre la teoría del modelado en base a máxima entropía, así como sobre la descripción de los datos empleados y los tipos principales de análisis estadísticos usados aquí, vea:

Steven J. Phillips, Robert P. Anderson and Robert E. Schapire, Maximum entropy modeling of species geographic distributions. Ecological Modelling, Vol 190/3-4 pp 231-259, 2006.

Un segundo artículo, el cual describe las características agregadas más recientemente al programa MaxEnt es: Steven J. Phillips and Miroslav Dudik, Modeling of species distributions with Maxent: new extensions and a comprehensive evaluation. Ecography, to appear.

Los datos ambientales que usaremos consisten en datos climáticos y de elevación de Sudamérica, además de una capa de vegetación potencial. Nuestra especie de muestra será Bradypus variegatus, la Pereza de Tres Dedos. Esta guía didáctica asumirá que todos los archivos de datos estarán localizados en el mismo directorio como archivos del programa MaxEnt; de otro modo, Usted deberá usar la ruta (i.e., c:datamaxenttutorial) delante de los nombres de los archivos empleados aquí.

Comenzando

Descargando: El programa consiste de un archivo jar, maxent.jar, el cual puede ser usado en cualquier computador que tenga Java versión 1.4 o posterior. Maxent puede ser descargado, junto con la literatura asociada, desde www.cs.princeton.edu/~schapire/maxent; el ambiente de tiempo de ejecución de Java puede obtenerse desde java.sun.com/javase/downloads. Si Usted está usando Windows (como asumimos), Usted debería descargar también el archivo maxent.bat y guardarlo en el mismo directorio de maxent.jar. El sitio web tiene un archivo llamado "readme.txt", el cual contiene instrucciones para instalar el programa en su computador.

Iniciando: Si Usted está usando Microsoft Windows, simplemente haga clic sobre el archivo maxent.bat. De otro modo, escriba "java -mx512m -jar maxent.jar" en una ventana de comandos (donde "512" puede reemplazarse por la cantidad de megabytes de memoria que Usted quiera poner a disposición del programa). Aparecerá la siguiente pantalla:

edu.red

Para efectuar una corrida, Usted deberá proporcionar un archivo que contenga las localidades de presencia ("muestras"), un directorio que contenga las variables ambientales y un directorio de salida. En nuestro caso, las localidades de presencia están en el archivo "samplesbradypus.csv", las capas ambientales están en el directorio "layers", y las salidas irán en el directorio "outputs". Usted puede ingresar estas localidades manualmente, o navegando para buscarlas. Mientras está navegando para buscar las variables ambientales, recuerde que Usted está buscando el directorio que las contiene, no necesita navegar hasta llegar a los archivos en dicho directorio. El programa se ve así una vez ingresados los archivos para Bradypus:

edu.red

El archivo "samplesbradypus.csv" contiene las localidades de presencia en formato .csv. Las primeras líneas son como siguen:

species,longitude,latitude

bradypus_variegatus,-65.4,-10.3833

bradypus_variegatus,-65.3833,-10.3833

bradypus_variegatus,-65.1333,-16.8

bradypus_variegatus,-63.6667,-17.45

bradypus_variegatus,-63.85,-17.4

Pueden haber múltiples especies en el mismo archivo de muestras, en cuyo caso más especies aparecerán en el panel junto con Bradypus. Se pueden usar sistemas de coordenadas diferentes a latitud y longitud, siempre y cuando se considere que los archivos de muestras y las capas ambientales usen el mismo sistema de coordenadas. La coodenada "x" (longitud, en nuestro caso) debe venir antes de la coordenada "y" (latitud) en el archivo de muestras. Si los datos de presencia tienen registros duplicados (múltiples registros de la misma especie en la misma cuadrícula), éstos pueden ser eliminados haciendo clic en el botón "Settings" ("Configuración") y seleccionando "Delete duplicates" ("Borrar duplicados").

El directorio "layers" ("capas") contiene un número de cuadrículas (raster grids) en ASCII (en el formato .asc de ESRI), cada uno de los cuales describe una variable ambiental. Todas las cuadrículas deben tener los mismos límites geográficos y tamaño de celda (i.e. todos los encabezados de los archivos ASCII deben coincidir perfectamente unos con otros). Una de nuestras variables, "ecoreg", es una variable categórica que describe los tipos de vegetación portenciales. Las categorías deben ser indicadas por números, más que por letras o palabras. Usted debe decirle al programa cuales variables son categóricas, como se ha hecho anteriormente en el cuadro.

Efectuando una corrida

Simplemente presione el botón "Run" ("Correr"). Un monitor de progreso describe los pasos que están siendo tomados. Después de que las capas ambientales están cargadas y los primeros pasos se han tomado, el progreso hacia el entrenamiento del modelo de maxent se muestra así:

edu.red

La ganancia se relaciona estrechamente con la desviación, una medida de precisión de ajuste usada generalmente tanto en modelos aditivos como lineales. Comienza en cero e incrementa hacia una asíntota durante la corrida. Durante este proceso, Maxent genera una distribución de probabilidad de los píxeles en la cuadrícula, comenzando desde la distribución uniforme mejorando reiteradamente el ajuste de los datos. La ganancia se define como la probabilidad logarítmica promedio de la muestras de presencia, menos una constante que hace que la distribución uniforme tenga cero ganancia. Al final de la corrida, la ganancia indica qué tan concentrado está el modelo alrededor de las muestras de presencia; por ejemplo, si la ganancia es dos, esto significa que la verosimilitud promedio de las muestras de presencia es exp(2) ˜ 7,4 veces más alta que un píxel aleatorio de fondo. Note que Maxent no está calculando directamente la "probabilidad de ocurrencia". La probabilidad que el programa le asigna a cada píxel es típicamente muy pequeña, dado que los valores deben sumar uno entre todos los píxeles en la cuadrícula (aunque nosotros regresaremos a este punto cuando comparemos formatos de salida).

La corrida produce múltiples archivos de salida, de los cuales el más importante para analizar su modelo es un archivo html llamado "bradypus.html". Parte de este archivo proporciona los índices para las otras salidas, como esto:

edu.red

Mirando una predicción

Para ver otras salidas (más interesantes) que pueda haber en bradypus.html, activaremos un par de opciones y correremos nuevamente el modelo. Presione el botón "Make pictures of predictions" ("Hacer una imagen de las predicciones"), luego haga clic en "Settings", y escriba "25" en la entrada "Random test percentage" ("Porcentaje de prueba aleatorio"). Luego, presione nuevamente el botón "Run". Luego de completada la corrida, el archivo bradypus.html contiene una imagen como esta:

edu.red

La imagen usa los colores para indicar la probabilidad que las condiciones son adecuadas, el rojo indica una alta probabilidad de condiciones adecuadas para la especie, verde indica las condiciones típicas de aquéllos lugares donde la especie se encuentra, y sombras más tenues de azul indican una baja probabilidad de condiciones adecuadas. Para el caso de Bradypus, vemos que las condiciones adecuadas predichas como altamente probables abarcan la mayor parte de las tierras bajas de Centroamérica, las tierras bajas húmedas del noroeste de Sudamérica, la cuenca del Amazonas, islas del Caribe y gran parte de la foresta Atlántica en el sureste de Brasil. El indicado es un archivo de imagen (.png) al cual Usted puede simplemente hacerle clic (en Windows) o abrir en la mayoría de los programas de procesamiento de imágenes. Si Usted quiere copiar estas imágenes o si quiere abrirlas con otro programa, encontrará a los archivos .png en el directorio llamado "plots" que ha sido creado como una salida durante la corrida.

Los puntos de prueba son una muestra aleatoria tomada de las localidades de presencia de la especie. La misma muestra aleatoria es usada cada vez que Usted corre Maxent sobre el mismo conjunto de datos, a menos que Usted seleccione la opción "random seed" en el menú de configuración. De modo alterno, datos de prueba alternos para una o más especies pueden proveerse en un archivo aparte, dándole el nombre de "Test sample file" ("Archivo de muestra de prueba") en el menú de configuración.

Formatos de salida

Maxent sustenta tres formatos de salida para los valores del modelo: crudo, cumulativo y logístico. Primero, la salida cruda la constituye el modelo exponencial de Maxent per se. Segundo, el valor cumulativo correspondiente a un valor crudo de r es el porcentaje de la distribución de Maxent cuyo valor crudo es al menos r. La salida cumulativa se interpreta mejor en términos de la tasa de omisión predicha: Si configuramos un umbral cumulativo de c, la predicción binaria resultante tendrá una tasa de omisión de c% sobre las muestras deducidas a partir de la misma distribución de Maxtent y podremos predecir una tasa de omisión similar para muestras deducidas a partir de la distribución de la especie. Tercero, si c es el exponencial de la entropía de la distribución de Maxent, entonces el valor logístico correspondiente a un dato crudo de r es c·r/(1+c·r). Esta es una función logística, porque los valores crudos son una función exponencial de las variables ambientales. Los tres formatos de salida están relacionados de manera monótona, pero están a escalas diferentes y tienen diferentes interpretaciones. La salida por defecto es logística, lo cual es más fácil de conceptualizar: Proporciona un estimado entre cero y uno de probabilidad de presencia. Note que la probabilidad de presencia depende de detalles del diseño de muestreo, tales como el tamaño de la parcela y (para organismos altamente móviles) tiempo de observación; la salida logística estima la probabilidad de presencia asumiendo que el diseño de muestreo es tal que las localidades de presencia típicas tienen una probabilidad de presencia de alrededor de 0,5. La imagen antes expuesta del modelo de Bradypus usa el formato logístico. Comparativamente, se obtiene la siguiente imagen cuando se usa el formato crudo:

edu.red

Note que hemos usado una escala logarítmica para los colores. Una escala lineal proporcionaría una imagen mayormente azul con unos pocos píxeles rojos (Usted puede verificar esto deseleccionando "Logscale pictures" en el menú de configuración) pues el formato crudo típicamente le otorga valores relativamente altos a un pequeño número de lugares – lo cual puede pensarse como un artefacto de la salida cruda dada por una distribución exponencial.

Al emplear el formato cumulativo se obtiene la siguiente imagen:

edu.red

Como en el caso de la salida cruda, hemos usado una escala logarítmica para colorear la imagen para resaltar las diferencias entre los valores más bajos. La salida cumulativa puede ser interpretada como una predicción de las condiciones adecuadas para la especie por arriba de un umbral en el rango aproximado de 1-20 (o del amarillo al naranja en ésta imagen), dependiendo del nivel de omisión predicho que es aceptable para la aplicación.

Análisis estadístico

El "25" que introdujimos en el "random test percentage" le indica al programa que debe escoger de manera aleatoria y apartar el 25% de los registros de muestras para usarlos en la prueba. Esto permite al programa efectuar algunos análisis estadísticos simples. La mayor parte de los análisis empleados usan un umbral para hacer una predicción binaria, estando las condiciones adecuadas por arriba de dicho umbral y las inadecuadas por debajo. La primera gráfica muestra como la omisión de prueba y la de entrenamiento así como el área predicha varían con la escogencia del umbral cumulativo, como se vé en la siguiente gráfica:

edu.red

Aquí vemos que la omisión sobre las muestras de prueba se ajusta muy bien a la tasa de omisión predicha, la tasa de omisión para los datos de prueba de la distribución de Maxent por sí misma. La tasa de omisión predicha es una línea recta, definida por el formato de salida cumulativo. En algunas situaciones, la línea de la tasa de omisión se ubica por debajo de la línea de omisión: Una razón común para ello es que los datos de prueba y aprendizaje no sean independientes, por ejemplo si éstos derivan de los mismos datos de presencia autocorrelacionados espacialmente.

La siguiente gráfica nos muestra la curva operada por el receptor (ROC, por sus siglas en inglés) tanto para los datos de entrenamiento como para los de prueba, mostrada abajo. También se proporciona el área bajo la curva (AUC, por sus siglas en inglés) ROC; si hay datos de prueba disponibles, el error estándar del AUC para éstos se darán posteriormente en la página web.

edu.red

Las líneas azul y roja serán idénticas si Usted usa los mismos datos para el entrenamiento y para la prueba. Si Usted divide los datos en dos porciones, una para el entrenamiento y otra para la prueba, es normal que la línea roja (entrenamiento) muestre una mayor AUC que la línea azul (prueba). La línea roja (entrenamiento) muestra el "ajuste" del modelo a los datos de entrenamiento y es la auténtica prueba de la capacidad que tienen los modelos de predecir. La línea turquesa muestra lo que Usted esperaría si su modelo no fuese mejor que el azar. Si la línea azul (la línea de prueba) se ubicase por debajo de la línea turquesa, entonces esto indicaría que su modelo se desempeña peor de lo que lo haría un modelo aleatorio. Mientras más cerca se encuentre la línea azul del tope superior izquierdo, mejor será el modelo para predecir las presencias contenidas en la muestra de prueba de los datos. La siguiente es una buena referencia de inicio para obtener información más detallada sobre las estadísticas relacionadas con las AUC: Fielding, A.H. & Bell, J.F. (2007) A review of methods for the assessment of prediction errors in conservation presence/ absence models. Environmental Conservation 24(1): 38-49. Dado que nosostros contamos solamente con datos de presencia y no con datos de ausencia, "fractional predicted area" ("el área fraccionada predicha" o la fracción del total del área de estudio predicha presentes) es empleada en lugar de la tasa mayormente usada (la fracción de ausencias predichas presentes). Para profundizar en la discusión sobre esta alternativa, vea el artículo aparecido en Ecological Modelling mencionado en la primera página de esta guía. Es importante notar que los valores de las AUC tienden a ser mayores para especies con rangos estrechos en relación al área estudiada descrita por los datos ambientales. Esto no necesariamente indica que los modelos sean mejores; por el contrario, este comportamiento es un artefacto de las estadísticas de las AUC.

Si los datos de prueba estan disponibles, el programa automáticamente calcula la significancia estadística de la predicción, usando una prueba binomial de omisión. Para Bradypus, esta da:

edu.red

Para información más detallada sobre la estadística binomial, vea el artículo aparecido en Ecological Modelling arriba mencionado.

¿Cuáles variables importan más?

Una aplicación natural del modelado de la distribución de especies es contestar la pregunta de ¿cuáles son las variables más importantes para la especie cuya distribuciónes está siendo modelada? Hay más de una manera para contestar esto; aquí delinearemos las maneras posibles en las cuales Maxent puede ser usado para ello.

Mientras se está entrenando al modelo Maxent, podemos rastrear cuáles son las variables ambientales que contribuyen en mayor medida al modelo. Cada paso del algoritmo de Maxent incrementa la ganancia del modelo mediante la modificación del coeficiente para una única característica; el programa asigna el incremento en la ganancia a la(s) variable(s) ambiental(es) de las cuales depende dicha característica. Haciendo una conversión a porcentajes al final del proceso de entrenamiento, obtenemos la siguiente tabla:

edu.red

Estos valores de contribución porcentual únicamente están definidos de manera heurística: ellos dependen de la ruta particular que usa el código Maxent para obtener la solución optima y un algoritmo diferente podría obtener la misma solución por medio de una ruta distinta, lo cual resultaría en valores de contribución porcentual diferentes. Más aun, cuando hay variables ambientales altamente correlacionadas, las contribuciones porcentuales deberían ser interpretadas con precaución. En nuestro ejemplo de Bradypus, la precipitación anual está altamente correlacionada con la precipitación de octubre y julio. Aunque la tabla arriba expuesta muestra que Maxent usó la variable "precipitación de octubre" más que cualquier otra, pero usó muy poco a la precipitación anual, esto no necesariamente implica que la precipitación de octubre sea mucho más importante para la especie que la precipitación anual.

A fin de estimar cuales son las variables más importantes en el modelo, podemos correr también una prueba de jackknife seleccionando "Do jackknife to measure variable important" ("Hacer un jackknife para medir la importancia de la variable") en la casilla de verificación. Cuando presionamos nuevamente el botón "Run", se crea un conjunto de modelos. En cada oportunidad se excluye una variable y se crea un modelo con las remanentes. Entonces se crea un modelo usando cada variable de manera aislada. Adicionalmente, se crea un modelo usando todas las variables, tal y como se hizo anteriormente. Los resultados de la prueba de jackknife aparecen como tres gráficos de barras en los archivos "bradypus.html" y el primero de éstos es mostrado abajo.

edu.red

Vemos que si Maxent usa solamente pre6190_l1 (precipitación promedio de enero) casi no obtiene ganancia, así que la variable no es (por sí misma) útil para estimar la distribución de Bradypus. Por otra parte, la precipitación de octubre (pre6190_l10) permite un ajuste razonablemente bueno a los datos de entrenamiento. Las barras azul claro sugieren que ninguna variable contiene una cantidad sustancial de información útil, que no esté contenida en las otras variables, dado que no decrece de manera considerable la ganancia del entrenamiento cuando se omite una variable dada.

El archivo bradypus.html tiene dos gráficas adicionales de jackknife, las cuales prueban la ganancia o el AUC en lugar de la ganancia del entrenamiento, como se muestra abajo.

edu.red

edu.red

La comparación de las tres gráficas de jackknife plots puede ser muy informativa. La gráfica correspondiente al AUC muestra que la precipitación anual (pre6190_ann) es la variable que por si sola predice de manera más efectiva la distribución de los datos de frecuencia que fueron puestos de lado para usarlos como prueba, cuando el desempeño para la predicción es medido mediante el AUC, aun cuando apenas fue usado por el modelo construido usando todas las variables. La importancia relativa de la precipitación anual también incrementa en la gráfica de la ganancia de la prueba. Adicionalmente, en las gráficas de la ganancia de la prueba y de AUC, algunas de las barras azul claro (especialmente aquellas que representan las variables de precipitación mensual) son más largas que la barra roja, indicando que el desempeño para la predicción mejora cuando las variables correspondientes no son usadas.

Esto nos dice que las variables de precipitación mensual ayudan a que Maxent obtenga un buen ajuste a los datos de entrenamiento, pero la variable precipitación anual generaliza mejor, dando resultados comparativamente mejores sobre los datos de prueba puestos aparte. Dicho de otra manera, los modelos hechos con las variables de precipitación mensual parecen ser menos transferibles. Esto es importante si nuestro objetivo es transferir el modelo, por ejemplo aplicándolo a variables climáticas futuras a fin de estimar su distribución futura bajo el escenario de cambio climático. Tiene sentido que los valores de precipitación mensuales sean menos transferibles: las condiciones potencialmente adecuadas para Bradypus no dependerán de los valores precisos de la precipitación en determinados meses, sino en la precipitación media anual y quizás en la consistencia de las precipitaciones o la carencia de periodos prolongados de sequía. Cuando modelamos a una escala continental, probablemente ocurrirán cambios en los lapsos precisos de los patrones de estacionalidad de la precipitación, afectando la precipitación mensual pero no las condiciones adecuadas para Bradypus.

En general, es mejor usar variables que probablemente sean más relevantes para la especie estudiada. Por ejemplo, el sitio web de Worldclim (www.worldclim.org) provee las variables "BIOCLIM", incluyendo variables derivadas tales como "precipitación en el trimestre más húmedo", más que valores mensuales.

Una última nota sobre las salidas de jackknife: la gráfica de la ganancia de la prueba muestra que el modelo hecho solamente con la precipitación de enero (pre6190_l1) genera una ganancia negativa de la prueba. Esto significa que el modelo es ligeramente peor que un modelo nulo (i.e., una distribución uniforme) para predecir la distribución de las presencias puestas aparte para la prueba. Esto puede considerarse como una evidencia más de que los valores de precipitación mensuales no son la mejor opción como variables para la predicción.

¿Cómo depende la predicción de las variables?

Ahora presione "Create response curves" ("Crear curvas de respuesta"), deseleccione la opción jackknife y corra el modelo nuevamente. Esto produce la siguiente sección a ser añadida al archivo "bradypus.html":

edu.red

Cada una de las imágenes miniatura puede ser seccionada (haciendo clic sobre ellas) para obtener una gráfica más detallada y si Usted desea copiar o abrir estas gráficas con otro programa, los archivos .png pueden encontrarse en el directorio "plots". Mirando a vap6190_ann, vemos que la respuesta es baja para valores de vap6190_ann en el rango de 1-200, pero alta para valores en el rango de 200-300. El valor mostrado en el eje de las "y" es la probabilidad predicha de condiciones favorables, tal y como es dada en el formato de salida logístico, con todas las demás variables configuradas a su valor promedio calculado en base a las localidades de presencia.

Note que si las variables ambientales están correlacionadas, como lo están aquí, las curvas de respuesta marginal pueden ser inconducentes. Por ejemplo, si dos variables altamente correlacionadas tienen curvas de respuesta aproximadamente opuestas la una de la otra, entonces el efecto combinado de ambas variables será bajo para muchos píxeles. Otro ejemplo, vemos que la disponibilidad predicha esta negativamente correlacionada con la precipitación anual (pre6190_ann), si mantienen fijas a las demás variables. En otras palabras, una vez que el efecto de todas las demás variables haya sido considerado, el efecto marginal de aumentar la precipitación anual debe disminuir la disponibilidad predicha. Sin embargo, la precipitación anual está altamente correlacionada con las variables de precipitación anual, así que en realidad no podemos mantener fácilmente fijos los valores mensuales mientras varían los valores anuales. En este caso el programa produce un segundo conjunto de curvas de respuesta, en el cual cada una de las curvas es hecha mediante la generación de un modelo usando sólo la variable correspondiente, The program therefore produces a second set of response curves, in which each curve is made by generating a model using only the corresponding variable, sin tomar en cuenta las otras variables:

edu.red

En contraste con la respuesta marginal a la precipitación anual observada en el primer conjunto de curvas de respuesta, vemos ahora que la disponibilidad predicha generalmente aumenta con el incremento de la precipitación anual.

Tipos de características y curvas de respuesta

Las curvas de respuesta nos permiten ver la diferencia entre tipos de características. Deseleccione "auto features" ("Características automáticas"), seleccione "Threshold features" ("características de umbral") y presione el botón "Run" de nuevo. Observe los perfiles de las características resultantes – se dará cuenta que son funciones en escalera, como esta de pre6190_l10:

edu.red

Si se efectúa la misma corrida usando solamente características claves, el perfil resultante de la característica se ve así:

edu.red

Los contornos de ambos perfiles son similares, pero ellos difieren porque tipos de características distintos permiten perfiles diferentes de curvas de respuesta. El exponente en un modelo Mawent es la sumatoria de las características y una suma de las características de umbral es siempre una función en escalera, de tal modo que la salida logística es también una función en escalera (como lo son las salidas crudas y cumulativas). En comparación, una sumatoria de características clave siempre es una función lineal por tramos. Esto explica la secuencia de segmentos de línea conectadas en la segunda curva de respuesta mostrada arriba (Note que las líneas son ligeramente curvadas, especialmente hacia los valores extremos de la variable; esto es debido a la salida logística aplica una función sigmoidea al exponente de Maxent) Usando todas las clases juntas (la opción por defecto en caso de tener muestras suficientes) permite muchas respuestas complejas para ser cuidadosamente modeladas.Una explicación más profunda de los diversos tipos de características puede encontrarse haciendo clic en el botón de ayuda.

El formato SWD

Otro formato de entrada puede ser muy útil, especialmente cuando sus cuadrículas ambientales sean muy grandes. A falta de un nombre mejor, es llamado "samples with data" (muestras con datos") o simplemente SWD. La versión SWD de nuestro archivo Bradypus, llamada "bradypus_swd.csv", comienza del siguiente modo:

species,longitude,latitude,cld6190_ann,dtr6190_ann,ecoreg,frs6190_ann,h_dem,pre6190_ann,pre6190_l10,pre6190_l1,pre6190_l4,pre6190_l7,tmn6190_ann,tmp6190_ann,tmx6190_ann,vap6190_ann

bradypus_variegatus,-65.4,-10.3833,76.0,104.0,10.0,2.0,121.0,46.0,41.0,84.0,54.0,3.0,192.0,266.0,337.0,279.0

bradypus_variegatus,-65.3833,-10.3833,76.0,104.0,10.0,2.0,121.0,46.0,40.0,84.0,54.0,3.0,192.0,266.0,337.0,279.0

bradypus_variegatus,-65.1333,-16.8,57.0,114.0,10.0,1.0,211.0,65.0,56.0,129.0,58.0,34.0,140.0,244.0,321.0,221.0

bradypus_variegatus,-63.6667,-17.45,57.0,112.0,10.0,3.0,363.0,36.0,33.0,71.0,27.0,13.0,135.0,229.0,307.0,202.0

bradypus_variegatus,-63.85,-17.4,57.0,113.0,10.0,3.0,303.0,39.0,35.0,77.0,29.0,15.0,134.0,229.0,306.0,202.0

Puede ser usado en lugar de un archivo de datos normal. La diferencia radica únicamente en que el programa no necesita mirar en las capas de variables ambientales (los archivos ASCII) para obtener los valores de las variables en los puntos de muestra, en lugar de eso lee los valores de las variables ambientales directamente de la tabla. Así, las capas ambientales son únicamente usadas para leer los datos ambientales de los píxeles de fondo, es decir aquellos píxeles donde la especie no necesariamente ha sido detectada. De hecho, los píxeles de fondo también pueden ser especificados en un archivo con formato SWD. El archivo "background.csv" contiene 10.000 datos de punto de fondo. Los primeros de ellos se ven del siguiente modo:

background,-61.775,6.175,60.0,100.0,10.0,0.0,747.0,55.0,24.0,57.0,45.0,81.0,182.0,239.0,300.0,232.0

background,-66.075,5.325,67.0,116.0,10.0,3.0,1038.0,75.0,16.0,68.0,64.0,145.0,181.0,246.0,331.0,234.0

background,-59.875,-26.325,47.0,129.0,9.0,1.0,73.0,31.0,43.0,32.0,43.0,10.0,97.0,218.0,339.0,189.0

background,-68.375,-15.375,58.0,112.0,10.0,44.0,2039.0,33.0,67.0,31.0,30.0,6.0,101.0,181.0,251.0,133.0

background,-68.525,4.775,72.0,95.0,10.0,0.0,65.0,72.0,16.0,65.0,69.0,133.0,218.0,271.0,346.0,289.0

Podemos correr Maxent con "bradypus_swd.csv" como archivo de muestras y "background.csv" (ambos localizados en el directorio "swd") como archivo de capas ambientales. Trate de correrlo y se dará cuenta que corre mucho más rápido, debido a que no tiene que cargar las grandes cuadrículas ambientales. Otra ventaja es que Usted puede asociar diferentes registros con condiciones ambientales de diferentes periodos de tiempo. Por ejemplo, dos registros obtenidos a 100 años de diferencia el uno del otro en una misma celda de la cuadrícula probablemente reflejan una variación considerable en las condiciones ambientales, pero a menos que Usted use el formato SWD, ambos registros recibirán los mismos valores de variables ambientales. El inconveniente es que no puede elaborar imágenes o cuadrículas como salidas, porque no tienen todos los datos ambientales. El modo de sortear este inconveniente es usando una "proyección", como se describe más adelante.

Corrida de lotes ("Batch running")

En ocasiones usted necesita generar múltiples modelos, quizás con ligeras variaciones en los parámetros de modelado o en las entradas. La generación de modelos puede ser automatizada con argumentos tipo comando, obviando la necesidad de hacer clic y escribiendo repetidamente en la interfase del programa. Los argumentos de línea de comando pueden o bien ser dados desde una ventana de comando (también conocida como "fichero" –"shell" – ), o pueden ser definidos en un archivo de lotes ("batch"). Déle un vistazo al archivo "batchExample.bat" (por ejemplo, haga clic con el botón derecho en el archivo .bat en Windows Explorer y ábralo usando Notepad). Contiene la siguiente línea:

java -mx512m -jar maxent.jar environmentallayers=layers togglelayertype=ecoreg samplesfile=samplesbradypus.csv outputdirectory=outputs redoifexists autorun

El efecto es decirle al programa donde encontrar capas ambientales y archivos de muestras y donde poner las salidas, o indicar que la variable ecoreg es categórica. El indicador "autorun" ("corrida automática") le dice al programa de iniciar la corrida inmediatamente, sin esperar a que el botón "Run" sea presionado. Ahora intente darle doble clic en el archivo para ver que es lo que hace.

Muchos aspectos del programa Maxent pueden ser controlados por argumentos de línes de comando. Presione el botón "Help" para ver todas las posibilidades. Múltiples corridas pueden aparecer en el mismo archivo y pueden ser corridos simplemente una después de la otra. Usted puede cambiar el valor por defecto de muchos de los parámetros agregando argumentos de línea de comandos al archivo "maxent.bat". Muchos de los argumentos de líneas de comandos también tienen abreviaciones, así la corrida descrita en batchExample.bat podría también ser iniciada usando este comando:

java -mx512m -jar maxent.jar –e layers –t eco –s samplesbradypus.csv –o outputs –r -a

Regularización.

El parámetro "multiplicador de regularización" ("regularization multiplier") ubicado en el panel de configuración influye el nivel de enfoque o cuan cercanamente se ajusta la distribución de salida obtenida. Un valor menor que el valor por defecto de 1,0 producirá una distribución de salida más localizada la cual se ajusta estrechamente a los registros de presencia dados, pudiendo ser un ajuste excesivo (ajustándose tan cercanamente a los datos de entrenamiento que el modelo no generaliza bien para identificar los datos de prueba independientes). Un multiplicador de regularización mayor producirá una predicción más extendida, menos localizada. Intente cambiar el multiplicador y examine las imágenes producidas y los cambios en las AUC. Como ejemplo, configurando el multiplicador a tres hace que la siguiente imagen muestre una distribución mucho más difusa que la presentada anteriormente:

edu.red

El potencial de ajustar en exceso se incrementa en la medida que la complejidad del modelo se incrementa. Primero intente configurar el multiplicador con un valor muy bajo (i. e. 0,01) con el conjunto de características por defecto para ver un modelo altamente ajustado en exceso. Luego intente usar el mismo multiplicador de regularización únicamente con características cuadráticas y lineales.

Haciendo proyecciones

Un modelo entrenado con un conjunto de capas ambientales (o archivo SWD) puede ser "proyectado" al aplicársele otro conjunto de capas ambientales (o archivo SWD). Las situaciones en las cuales se requiere de proyecciones inclyen el modelado de la distribución de las especies bajo las condiciones climáticas cambiantes, la aplicación de un modelo de distribución nativa a una especie invasora para explorar el riesgo de invasión en área geográficas diferentes, o simplemente evaluar el modelo bajo un conjunto de localidades de prueba con la finalidad de efectuar análisis estadísticos más profundos. Aquí vamos a llevar a cabo una proyección con un objetivo muy simple: Elaborar una cuadrícula en formato ASCII y su figura asociada como salida cuando las muestras y el fondo están en formato SWD.

Escriba, o navegue, Type in, los archivos de muestras "swdbradypus_swd.csv" y las capas ambientales en "swdbackground.csv", luego ingrese el directorio capas ("layers") en el "Projection Layers Directory" ("Directorio de Capas de Proyección"), cpomo se muestra en la siguiente figura.

edu.red

El directorio de capas de proyección (o archivo SWD) debe contener variables con los mismos nombres que las variables empleadas para el entrenamiento del modelo, pero describiendo unas condiciones diferentes (i.e., una región geográfica diferente o modelo climático diferente). Para ambos conjuntos de datos, los de entrenamiento y los de proyección, el nombre de cada variable es o bien el título de la columna (si se está usando un archivo en formato SWD) o el nombre del archivo pero sin la terminación .asc (si se está usando un directorio de cuadrículas).

Cuando usted presiona "Run", se entrena un modelo usando los datos SWD el cual es posteriormente proyectado sobre cuadrículas ASCII en el directorio "layers". La cuadrícula de salida en formato ASCIII se llama "bradypus_variegatus_layers.asc" y en líneas generales el nombre del directorio es añadido al nombre de la especie, con el fin de distinguirlo de la salida estándar (no proyectada). Si se selecciona "make pictures of predictions" ("hacer figuras de las predicciones"), aparecerá una figura del modelo proyectado en el archivo "bradypus.html".

Analizando la salida de Maxent en R

Maxent produce un cierto número de archivos de salida en cada corrida. Algunos de éstos archivos pueden ser importados por otros programas si Usted quiere efectuar sus propios análisis de las predicciones. Aquí demostramos el uso del paquete estadístico gratuito R con salidas de MaxEnt: Se entiende que esta sección está dirigida a usuarios con experiencia en el uso de R. Usaremos el siguiente par de archivos producidos por Maxent:

bradypus_variegatus.csv

bradypus_variegatus_samplePredictions.csv

El primero de éstos se produjo cuando los datos de fondo son dados en formato SWD y el segundo se produce en todos los casos. Asegúrese que Usted dispone de datos de prueba (por ejemplo, configurando el porcentaje aleatorio de prueba en 25); estaremos evaluando las salidas de MaxEnt usando los mismos datos de prueba que usó Maxent. Primero, iniciamos R e instalamos algunos paquetes (asumiendo que estas es la primera vez que lo estamos usando) y entonces los cargamos escribiendo (o pegando):

install.packages("ROCR", dependencies=TRUE)

install.packages("vcd", dependencies=TRUE)

library(ROCR)

library(vcd)

library(boot)

A través de ésta sección usaremos texto azul para mostrar los códigos y comandos de R y verde para mostrar las salidas de R. Seguidamente nos dirigimos hacia el directorio donde están las salidas de MaxEnt, por ejemplo:

setwd("c:/maxent/tutorial/outputs")

y luego lea en las predicciones de Maxent en los puntos de presencia y de fondo, y extraiga las columnas que necesitamos:

presence <- read.csv("bradypus_variegatus_samplePredictions.csv")

background <- read.csv("bradypus_variegatus.csv")

pp <- presence$Cumulative.prediction # get the column of predictions

testpp <- pp[presence$Test.or.train=="test"] # select only test points

trainpp <- pp[presence$Test.or.train=="train"] # select only test points

bb <- background$Maxent.cumulative.values.at.background.points

Ahora podemos poner los valores de la predicción en el formato requerido por ROCR, el paquete que usaremos para hacer algunos análisis ROC y genere la curva ROC:

combined <- c(testpp, bb) # combine into a single vector

label <- c(rep(1,length(testpp)),rep(0,length(bb))) # labels: 1=present, 0=random

pred <- prediction(combined, label) # labeled predictions

perf <- performance(pred, "tpr", "fpr") # True / false positives, for ROC curve

plot(perf, colorize=TRUE) # Show the ROC curve

performance(pred, "auc")@y.values[[1]] # Calculate the AUC

El comando graficar proporciona el siguiente resultado:

edu.red

Mientras que el comando "performance" ("desempeño") proporciona un AUC de 0,8677759, el cual es consistente con el AUC reportada por MaxEnt. A continuación, como un ejemplo de las pruebas disponibles en R pero no así en MaxEnt, llevaremos a cabo un estimado de la desviación estándar del AUC mediante reiteraciones ("bootstrap").

AUC <- function(p,ind) {

pres <- p[ind]

combined <- c(pres, bb)

label <- c(rep(1,length(pres)),rep(0,length(bb)))

predic <- prediction(combined, label)

return(performance(predic, "auc")@y.values[[1]])

}

b1 <- boot(testpp, AUC, 100) # do 100 bootstrap AUC calculations

b1 # gives estimates of standard error and bias

Esto proporciona la siguiente salida:

ORDINARY NONPARAMETRIC BOOTSTRAP

Call:

boot(data = testpp, statistic = AUC, R = 100)

Bootstrap Statistics :

original bias std. error

t1* 0.8677759 -0.0003724138 0.02972513

y vemos que el estimado por reiteraciones del error estándar (0,02972513) es cercano al error estándar calculado por MaxEnt (0,028). Los resultados de las reiteraciones también pueden ser empleadas para determinar los intervalos de confianza para las AUC:

boot.ci(b1)

dados los siguientes cuatro estimados – vea la sección de recursos al final de ésta guía para referencias que definen y comparan estos estimados.

Intervals :

Level Normal Basic

95% ( 0.8099, 0.9264 ) ( 0.8104, 0.9291 )

Level Percentile BCa

95% ( 0.8064, 0.9252 ) ( 0.7786, 0.9191 )

Aquellos que estén familiarizados con el uso de las reiteraciones notarán que aquí estamos reiterando solamente los valores de presencia. Podríamos también reiterar los valores de fondo, pero los resultados no cambiarían mucho, dado que hay un gran número de valores de fondo (10000).

Como un ejemplo final, investigaremos el cálculo de las estadísticas binomial y Kappa de Cohen para algunas reglas de umbral de ejemplo. Primero, el siguiente código R calcula el índice Kappa para el umbral dado según la predicción de presencia mínima:

confusion <- function(thresh) {

return(cbind(c(length(testpp[testpp>=thresh]), length(testpp[testpp

c(length(bb[bb>=thresh]), length(bb[bb

}

mykappa <- function(thresh) {

return(Kappa(confusion(thresh)))

}

mykappa(min(trainpp))

el cual da un resultado de 0,0072. Si queremos usar el umbral que minimiza la sumatoria de la sensibilidad y de la especificidad en base a los datos de prueba, podemos hacer lo siguiente, usando los valores de la tasa positiva verdadera y de la tasa positiva falsa del objeto "desempeño" ("performance") usado arriba para graficar la curva ROC:

fpr = [email protected][[1]]

tpr = [email protected][[1]]

maxsum = 0

for (i in 1:length([email protected][[1]])) {

sum = tpr[[i]] + (1-fpr[[i]])

if (sum > maxsum) {

maxsum = sum

cutoff = [email protected][[1]][[i]]

Partes: 1, 2
Página siguiente