Comparacin de de Comparacin tcnicas para la la

  • Slides: 21
Download presentation
Comparación de de Comparación técnicas para la la técnicas obtención de de modelos obtención

Comparación de de Comparación técnicas para la la técnicas obtención de de modelos obtención de de distribución de de especies con RR especies VIIJORNADASDE DEUSUARIOSDE DERR VII SALAMANCA 2015 SALAMANCA Jennifer. Morales. Barbero* Jennifer Dolores. Ferrer. Castán Dolores

Introducción Hutchinson (1957) definía el nicho ecológico de una especie como un hipervolumen de

Introducción Hutchinson (1957) definía el nicho ecológico de una especie como un hipervolumen de n-dimensiones en el que se dan las condiciones ambientales necesarias para que la especie puede sobrevivir. Áreas con una combinación similar de valores de esas mismas variables permitirían la presencia de la especie, generando su distribución potencial. Los modelos de distribución de especies son una representación parcial de la realidad que trata de generar mapas que representen la idoneidad de un espacio para una especie. Nicho potencial Nicho realizado

Introducción Esquema Modelado de distribución de especies Predicción de la distribución potencial de la

Introducción Esquema Modelado de distribución de especies Predicción de la distribución potencial de la especie Variable 2 ria ble 1 Variable 3 Modelado de nicho Va Datos de entrada Evaluación del modelo

Introducción Asunciones: Las variables ambientales determinan el nicho ecológico. La especie se encuentra en

Introducción Asunciones: Las variables ambientales determinan el nicho ecológico. La especie se encuentra en equilibrio o pseudoequilibrio con el ambiente. Incertidumbres: Calidad de capas y datos disponibles. Exactitud, complejidad y naturaleza del modelo. No consideran interacciones bióticas, barreras geográficas, capacidad de dispersión, etc. Aplicaciones: Cartografía automática de especies. Análisis de distribución de especies. Localizaciones de poblaciones desconocidas. Predicción de invasiones biológicas. Reconstrucción de distribuciones del pasado. Predicción de efectos del cambio climático. …

Variables ambientales Datos de entrada library(raster) library(maps) library(mapdata) Importar los datos de las variables

Variables ambientales Datos de entrada library(raster) library(maps) library(mapdata) Importar los datos de las variables predictoras. World. Clim – Global Climate Data http: //www. worldclim. org/ Confirmar extensión, resolución, formato y proyección. bio 1<-raster(“C: /. . . /bio 1. asc") # extensión Península Ibérica, formato. asc. . . predictores <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) class : Raster. Stack dimensions : 240, 336, 80640, 7 (nrow, ncol, ncell, nlayers) resolution : 0. 04166667, 0. 04166667 (x, y) extent : -10, 4, 35, 45 (xmin, xmax, ymin, ymax) coord. ref. : +proj=longlat +ellps=WGS 84 +towgs 84=0, 0, 0, 0 +no_defs names : bio 1, bio 5, bio 7, bio 14, bio 15, bio 3, bio 12 min values : -7, 113, 123, 0, 11, 26, 219 max values : 193, 364, 335, 105, 86, 50, 1757 predictores_6 k <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) predictores_2070<- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) # extensión Península Ibérica, formato. asc, renombrado a bio 1, . . .

Variables ambientales Datos de entrada library(raster) library(maps) library(mapdata) Environmental data World. Clim – Global

Variables ambientales Datos de entrada library(raster) library(maps) library(mapdata) Environmental data World. Clim – Global Climate Data http: //www. worldclim. org/ bio 1<-raster(“C: /. . . /bio 1. asc") # extension Península Ibérica. I, format. asc. . . predictors <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) class : Raster. Stack dimensions : 240, 336, 80640, 7 (nrow, ncol, ncell, nlayers) resolution : 0. 04166667, 0. 04166667 (x, y) extent : -10, 4, 35, 45 (xmin, xmax, ymin, ymax) coord. ref. : +proj=longlat +ellps=WGS 84 +towgs 84=0, 0, 0, 0 +no_defs names : bio 1, bio 5, bio 7, bio 14, bio 15, bio 3, bio 12 min values : -7, 113, 123, 0, 11, 26, 219 max values : 193, 364, 335, 105, 86, 50, 1757 predictors_6 k <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) # extensión PI, format. asc, renombrado a bio 1, . . .

Variable respuesta (Presencias) Datos de entrada Importar datos de ocurrencia de la especie Global

Variable respuesta (Presencias) Datos de entrada Importar datos de ocurrencia de la especie Global Biodiversity Information Facility (http: //www. gbif. org) Limpieza de datos Eliminar registros duplicados sp. occ <-read. csv("C: /…/Sorex_granarius. csv", header=T, sep=", ") # formato. csv. 2 columnas (Longitude/Latitude). 2 decimales. coordinates(sp. occ)<-c("longitude", "latitude") presclim <- extract(predictores, sp. occ, method='bilinear', buffer=NULL, fun=NULL, df=TRUE) #Extraer valores del raster. pres=rep(1, nrow(presclim)) presclim = data. frame(presclim, pres) presencias<-cbind(presclim, sp. occ)

Datos de entrada Variable respuesta (“background points”) library(dismo) #cf Dolores Ferrer Castán https: //ecologicaconciencia.

Datos de entrada Variable respuesta (“background points”) library(dismo) #cf Dolores Ferrer Castán https: //ecologicaconciencia. wordpress. com/ abs <-read. csv("C: /…/backgroundpoints. csv", header=T) # 500 puntos background, formato. csv; latitud y longitud, redondeado a 2 dígitos; sin duplicados coordinates(abs)<- c("longitude", "latitude") absclim <- extract(predictores, abs, method='bilinear', buffer=NULL, fun=NULL, df=TRUE) # extraer valores del raster pres = rep(0, nrow(absclim)) absclim = data. frame(absclim, pres) ausencias <- cbind(absclim, background) presabs <- rbind(presencias, ausencias) presabs = data. frame(presabs) presabs[!duplicated(presabs[, 8: 9]), ] # [, columna longitude: latitude] 1 2 3 4 5 6 ID 1 2 3 4 5 6 bio 1 85. 96 100. 66 86. 74 93. 74 84. 49 86. 78 bio 2 83. 48 88. 00 77. 66 87. 31 87. 96 89. 00 bio 7 252. 97 265. 91 233. 66 262. 12 255. 04 257. 97 bio 12 706. 28 694. 94 821. 35 713. 20 714. 50 659. 96 bio 15 pres longitude latitude 14. 49 1 8. 02 49. 50 18. 25 1 8. 09 48. 99 14. 02 1 7. 31 50. 63 16. 31 1 8. 00 49. 12 15. 63 1 7. 51 49. 39 16. 00 1 7. 65 49. 47 Estudio de correlación entre variables cor. test(variable 1, variable 2, alternative=" two. sided", method="pearson")

Variable respuesta (“background points”) Datos de entrada

Variable respuesta (“background points”) Datos de entrada

Tipos de algoritmo Modelado de nicho Métodos de regresión: Métodos basados en árboles de

Tipos de algoritmo Modelado de nicho Métodos de regresión: Métodos basados en árboles de decisión: Modelos Aditivos Generalizados (GAMs; Random Forest (RF; Breiman, 2001). Hastie y Tibshirani, 1990; Yee y Mitchell, 1991) Modelos Lineales Generalizados (GLM; Mc. Cullagh y Nelder, 1989)) Distribución binomial de los errores y vinculación logística. Selección de variables paso a paso hacia delante Datos de presencia y “ausencia”. 500 “background points” Selecciona puntos al azar (muestreo con reemplazo) para crear diferentes sets de datos Al crear los árboles, las variables se eligen en cada nodo del árbol Crea un árbol de decisión con cada set de datos, obteniendo diferentes árboles (cada set contiene diferentes puntos y diferentes variables) Predice los nuevos datos usando el "voto mayoritario", donde clasificará como "positivo" si la mayoría de los árboles predicen la observación como positiva Datos de presencia y “ausencia” 500 “background points” 500 árboles.

Modelado de nicho Probabilidad de ocurrencia de la especie GAMs P < 0, 0001

Modelado de nicho Probabilidad de ocurrencia de la especie GAMs P < 0, 0001 BIO 5 BIO 7 P < 0, 0001 BIO 14 BIO 15 P < 0, 01 BIO 12 Relación entre la presencia de Sorex granarius con las variables ambientales más relevantes. Las líneas de regresión han sido generadas mediante modelos aditivos generalizados (GAMs) del paquete “gam”.

Modelado de nicho Evaluación Matriz de confusión Curva ROC (Receiver Operating Characteristic) Presencia real

Modelado de nicho Evaluación Matriz de confusión Curva ROC (Receiver Operating Characteristic) Presencia real Ausencia real Presencia predicha A Verdadero positivo B Falso negativo Error Comisión (sobrepredicción) Ausencia predicha C Falso negativo Error Omisión (subpredicción) D Verdadero negativo A/(A+C) SENSIBILIDAD (Fracción de verdaderos positivos) C/(A+C) TASA OMISIÓN (Fracción de falsos positivos) D/(D+B) ESPECIFICIDAD (Fracción de verdaderos negativos) AUC (Area under the curve) (0. 5 -1) [0. 5, 0. 6): Test malo. [0. 6, 0. 75): Test regular. [0. 75, 0. 9): Test bueno. [0. 9, 0. 97): Test muy bueno. [0. 97, 1): Test excelente.

Métodos de modelado y Evaluación Modelado de nicho GLMs (paso a paso hacia adelante)

Métodos de modelado y Evaluación Modelado de nicho GLMs (paso a paso hacia adelante) modelo <- glm (pres ~ I(bio 14^2)+bio 1+I(bio 7^2)+I(bio 7^3)+bio 5+bio 15+I(bio 15^2)+I(bio 15^3), binomial, data=presabs) presencias <-read. table("C: /…/sorex_granarius. txt", header=T, dec=", ")# 2 columnas (longitude; latitude) ausencias <-read. table("C: /…/backgroundpoints. txt", header=T, dec=", ") coordinates(presencias)<-c(“longitude", “latitude") coordinates(ausencias)<-c(“longitude", “latitude") e <- evaluate(presencias, ausencias, modelo, predictores) e class n presences n absences AUC cor max TPR+TNR at : : : Model. Evaluation 172 469 0. 9437571 0. 4896901 -1. 190812 plot(e, 'ROC', col='blue', cex=0. 1)

Métodos de modelado y Evaluación Modelado de nicho Random Forest library(random. Forest) modelo <-

Métodos de modelado y Evaluación Modelado de nicho Random Forest library(random. Forest) modelo <- pres ~ bio 1 + bio 3 + bio 5 + bio 7 + bio 12 + bio 14 + bio 15 correlacionadas RF <- random. Forest(modelo, data=presabs) e <- evaluate(presencias, ausencias, RF, predictores) e class n presences n absences AUC cor max TPR+TNR at : : : Model. Evaluation 172 469 0. 9945331 0. 9196274 0. 3918667 plot(e, 'ROC', col=‘red', cex=0. 1) #variables no

Predicción de Modelos Modelado de nicho GLMs (paso a paso hacia adelante) modelo <-

Predicción de Modelos Modelado de nicho GLMs (paso a paso hacia adelante) modelo <- glm (pres ~ I(bio 14^2)+bio 1+I(bio 7^2)+I(bio 7^3)+bio 5+b io 15+I(bio 15^2)+I(bio 15^3), binomial, data=presabs) predictores <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) summary(modelo) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 3. 433 e+01 1. 178 e+01 2. 914 0. 003568 ** I(bio 14^2) -4. 965 e-03 7. 089 e-04 -7. 004 2. 49 e-12 *** bio 1 -5. 534 e-01 8. 140 e-02 -6. 798 1. 06 e-11 *** I(bio 7^2) -1. 517 e-03 2. 236 e-04 -6. 784 1. 17 e-11 *** I(bio 7^3) 2. 042 e-06 3. 657 e-07 5. 585 2. 34 e-08 *** bio 5 4. 721 e-01 8. 952 e-02 5. 273 1. 34 e-07 *** bio 15 -2. 436 e+00 7. 020 e-01 -3. 469 0. 000522 *** I(bio 15^2) 7. 347 e-02 1. 978 e-02 3. 714 0. 000204 *** I(bio 15^3) -7. 257 e-04 1. 797 e-04 -4. 039 5. 36 e-05 *** -- Null deviance: 745. 60 on 640 degrees of freedom Residual deviance: 327. 97 on 632 degrees of freedom AIC: 345. 97 (745. 6 -327. 97)*100/745. 6 [1] 56. 01261 # %varianza explicado numerador <- exp(3. 432890 e+01 -(4. 965115 e 03*bio 14)-(5. 533876 e-01*bio 1)-(1. 517093 e 03*bio 7)+(2. 042169 e 06*bio 7*bio 7)+(4. 720571 e-01*bio 5)(2. 435548 e+00*bio 15)+(7. 346630 e-02*bio 15)(7. 257137 e-04*bio 15*bio 15)) denominador <- 1+numerador cociente <- numerador/denominador plot(cociente)

Modelado de nicho Predicción de Modelos Random Forest modelo <- pres ~ bio 1

Modelado de nicho Predicción de Modelos Random Forest modelo <- pres ~ bio 1 + bio 3 + bio 5 + bio 7 + bio 12 + bio 14 + bio 15 predictores <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) RF <- random. Forest(modelo, data=presabs) Coefficients: (Intercept) bio 1 4. 06898 -0. 04518 0. 01953 -0. 00980 bio 5 bio 7 bio 14 0. 03665 -0. 02849 Degrees of Freedom: 640 Total (i. e. Null); Residual Null Deviance: 125. 8 Residual Deviance: 80. 2 AIC: 500. 8 RF Call: random. Forest(formula = model, data = Type of random forest: Number of trees: No. of variables tried at each split: bio 15 635 presabs) regression 500 2 Mean of squared residuals: 0. 06779842 % Var explained: 65. 47 p<-predict(predictores, RF) plot(p)

Proyección de modelos en espacio y tiempo GLMs (modelo hacia adelante) modelo <- glm

Proyección de modelos en espacio y tiempo GLMs (modelo hacia adelante) modelo <- glm (pres ~ I(bio 14^2)+bio 1+I(bio 7^2)+I(bio 7^3)+bio 5+bio 15+I( bio 15^2)+I(bio 15^3), binomial, data=presabs) predictores_6 k <- stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) summary(modelo) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 3. 433 e+01 1. 178 e+01 2. 914 0. 003568 ** I(bio 14^2) -4. 965 e-03 7. 089 e-04 -7. 004 2. 49 e-12 *** Bio 1 -5. 534 e-01 8. 140 e-02 -6. 798 1. 06 e-11 *** I(bio 7^2) -1. 517 e-03 2. 236 e-04 -6. 784 1. 17 e-11 *** I(bio 7^3) 2. 042 e-06 3. 657 e-07 5. 585 2. 34 e-08 *** bio 5 4. 721 e-01 8. 952 e-02 5. 273 1. 34 e-07 *** bio 15 -2. 436 e+00 7. 020 e-01 -3. 469 0. 000522 *** I(bio 15^2) 7. 347 e-02 1. 978 e-02 3. 714 0. 000204 *** I(bio 15^3) -7. 257 e-04 1. 797 e-04 -4. 039 5. 36 e-05 *** Modelado de nicho #Opción 1: modelo con coeficientes de presente. numerador <- exp(3. 432890 e+01 -(4. 965115 e 03*bio 14)-(5. 533876 e-01*bio 1)-(1. 517093 e 03*bio 7)+(2. 042169 e 06*bio 7*bio 7)+(4. 720571 e-01*bio 5)(2. 435548 e+00*bio 15)+(7. 346630 e-02*bio 15)(7. 257137 e-04*bio 15*bio 15)) denominador <- 1+numerador cociente <- numerador/denominador plot(cociente) #Opción 2: función predict pred <- predict(predictores_6 k, modelo, type="response") plot(pred)

Proyección de modelos en espacio y tiempo Random Forest modelo <- pres ~ bio

Proyección de modelos en espacio y tiempo Random Forest modelo <- pres ~ bio 1+bio 3+bio 5+bio 7+bio 12+bio 14+bio 15 RF <- random. Forest(modelo, data=presabs) predictors_6 k <-stack(bio 1, bio 3, bio 5, bio 7, bio 12, bio 14, bio 15) pred <- predict(predictores_6 k, RF, type="response") plot(pred) Modelos consenso: models<-(stack(pred 1, pred 2, pred. N)) plot(mean(models)) Modelado de nicho

Binario Modelado de nicho e=evaluate(presencias, ausencias, modelo, predictores) pr <-predict(predictores, modelo) tr<-threshold(e, 'spec_sens') #

Binario Modelado de nicho e=evaluate(presencias, ausencias, modelo, predictores) pr <-predict(predictores, modelo) tr<-threshold(e, 'spec_sens') # umbral en el cual la suma de sensibibidad y especificidad es mayor. bin<-pr > tr plot(bin) GLMs (paso a paso hacia delante) Random Forest

Modelado de nicho Random Forest GLMs (paso a paso hacia adelante) Resumen Resultados Medio

Modelado de nicho Random Forest GLMs (paso a paso hacia adelante) Resumen Resultados Medio Holoceno Presente 2070 AUC=0. 943 56. 01 %varianza explicado AUC=0. 994 65. 47 %varianza explicado

¡¡MUCHAS GRACIAS por su atención!!

¡¡MUCHAS GRACIAS por su atención!!