21
Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero* Dolores Ferrer Castán Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero* Dolores Ferrer Castán

Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Embed Size (px)

Citation preview

Page 1: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

 

Comparación de técnicas para la obtención de modelos de distribución de especies con RVII JORNADAS DE USUARIOS DE R

SALAMANCA 2015

Jennifer Morales Barbero*Dolores Ferrer Castán

Comparación de técnicas para la obtención de modelos de distribución de especies con RVII JORNADAS DE USUARIOS DE R

SALAMANCA 2015

Jennifer Morales Barbero*Dolores Ferrer Castán

Page 2: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

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

Page 3: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Introducción

Variable 3

Variable 2

Variable 1

Datos de entrada Modelado de nicho Predicción de la distribución potencial de

la especie

Evaluación del modelo

Esquema Modelado de distribución de especies

Page 4: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

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.…

Page 5: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Datos de entrada

library(raster)library(maps)library(mapdata)

Importar los datos de las variables predictoras.WorldClim – Global Climate Data http://www.worldclim.org/

Confirmar extensión, resolución, formato y proyección.

bio1<-raster(“C:/.../bio1.asc") # extensión Península Ibérica, formato .asc...predictores <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)class : RasterStack 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=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs names : bio1, bio5, bio7, bio14, bio15, bio3, bio12 min values : -7, 113, 123, 0, 11, 26, 219 max values : 193, 364, 335, 105, 86, 50, 1757

predictores_6k <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)predictores_2070<- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)

# extensión Península Ibérica, formato.asc, renombrado a bio1,...

Variables ambientales

Page 6: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Datos de entrada

library(raster)library(maps)library(mapdata)

Environmental data

WorldClim – Global Climate Data http://www.worldclim.org/

bio1<-raster(“C:/.../bio1.asc")  # extension Península IbéricaI, format .asc...predictors <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)class       : RasterStack 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=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs names       :    bio1, bio5, bio7, bio14, bio15, bio3, bio12 min values  :   -7,    113,   123,     0,         11,      26,   219 max values  : 193,  364,   335,    105,      86,       50,  1757  

predictors_6k <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)# extensión PI, format.asc, renombrado a bio1,...

3640

44

bio1

050100150

bio5

150200250300350

bio7

150200250300

3640

44

bio14

020406080100

bio15

20304050607080

bio3

3035404550

-10 -6 -2 2 4

3640

44

bio12

4006008001000120014001600

Variables ambientales

Page 7: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Importar datos de ocurrencia de la especieGlobal Biodiversity Information Facility (http://www.gbif.org)

Limpieza de datosEliminar 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 entradaVariable respuesta (Presencias)

Page 8: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Datos de entradaVariable respuesta (“background points”)

https://ecologicaconciencia.wordpress.com/library(dismo) #cf Dolores Ferrer Castán

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] ID bio1 bio2 bio7 bio12 bio15 pres longitude latitude1 1 85.96 83.48 252.97 706.28 14.49 1 8.02 49.502 2 100.66 88.00 265.91 694.94 18.25 1 8.09 48.993 3 86.74 77.66 233.66 821.35 14.02 1 7.31 50.634 4 93.74 87.31 262.12 713.20 16.31 1 8.00 49.125 5 84.49 87.96 255.04 714.50 15.63 1 7.51 49.396 6 86.78 89.00 257.97 659.96 16.00 1 7.65 49.47

Estudio de correlación entre variablescor.test(variable1, variable2, alternative="two.sided", method="pearson")

Page 9: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Variable respuesta (“background points”)Datos de entrada

Page 10: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Métodos basados en árboles de decisión:

Random Forest (RF; Breiman, 2001).

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

Métodos de regresión:

Modelos Aditivos Generalizados (GAMs; Hastie y Tibshirani, 1990; Yee y Mitchell, 1991)

Modelos Lineales Generalizados (GLM; McCullagh 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”

Tipos de algoritmo

Page 11: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Modelado de nichoGAMs

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”.

15 20 25 30 35

0.0

0.2

0.4

0.6

0.8

1.0

bio5[ord1]

f[or

d1]

15 20 25 30

0.0

0.2

0.4

0.6

0.8

1.0

bio7[ord1]

f[or

d1]

400 600 800 1200 1600

0.0

0.2

0.4

0.6

0.8

1.0

musaraña$bio12[ord1]

f[or

d1]

0 20 40 60 80

0.0

0.2

0.4

0.6

0.8

1.0

musaraña$bio14[ord1]

f[or

d1]

20 30 40 50 60 70

0.0

0.2

0.4

0.6

0.8

1.0

musaraña$bio15[ord1]

f[or

d1]

BIO1 BIO5 BIO7

BIO12 BIO14 BIO15

5 10 15

0.0

0.2

0.4

0.6

0.8

1.0

bio1[ord1]

f[or

d1]

Probabilidad de ocurrencia de la especie

P < 0,0001P < 0,0001

P < 0,0001P < 0,0001P < 0,0001

P < 0,01

Page 12: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Matriz de confusión Curva ROC (Receiver Operating Characteristic)

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.

Modelado de nicho

Presencia real Ausencia real

Presencia predicha AVerdadero positivo

BFalso negativoError Comisión(sobrepredicción)

Ausencia predichaC

Falso negativoError Omisión(subpredicción)

DVerdadero negativo

Evaluación

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)

Page 13: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

GLMs (paso a paso hacia adelante)

modelo <- glm (pres ~ I(bio14^2)+bio1+I(bio7^2)+I(bio7^3)+bio5+bio15+I(bio15^2)+I(bio15^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)eclass : ModelEvaluation n presences : 172 n absences : 469 AUC : 0.9437571 cor : 0.4896901 max TPR+TNR at : -1.190812plot(e, 'ROC', col='blue', cex=0.1)

Modelado de nicho

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

AUC= 0.944

False postive rate

Tru

e po

sitiv

e ra

te

Métodos de modelado y Evaluación

Page 14: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Random Forest

library(randomForest)

modelo <- pres ~ bio1 + bio3 + bio5 + bio7 + bio12 + bio14 + bio15 #variables no correlacionadasRF <- randomForest(modelo, data=presabs)

e <- evaluate(presencias, ausencias, RF, predictores)eclass : ModelEvaluation n presences : 172 n absences : 469 AUC : 0.9945331 cor : 0.9196274 max TPR+TNR at : 0.3918667plot(e, 'ROC', col=‘red', cex=0.1)

Modelado de nicho

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

AUC= 0.995

False postive rate

Tru

e p

ositi

ve r

ate

Métodos de modelado y Evaluación

Page 15: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

numerador <- exp(3.432890e+01-(4.965115e-03*bio14*bio14)-(5.533876e-01*bio1)-(1.517093e-03*bio7*bio7)+(2.042169e-06*bio7*bio7*bio7)+(4.720571e-01*bio5)-(2.435548e+00*bio15)+(7.346630e-02*bio15*bio15)-(7.257137e-04*bio15*bio15*bio15))denominador <- 1+numeradorcociente <- numerador/denominadorplot(cociente)

GLMs (paso a paso hacia adelante)

modelo <- glm (pres ~ I(bio14^2)+bio1+I(bio7^2)+I(bio7^3)+bio5+bio15+I(bio15^2)+I(bio15^3), binomial, data=presabs)predictores <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)summary(modelo)

Coefficients:                      Estimate       Std. Error      z value      Pr(>|z|)    (Intercept) 3.433e+01 1.178e+01 2.914 0.003568 ** I(bio14^2) -4.965e-03 7.089e-04 -7.004 2.49e-12 ***bio1 -5.534e-01 8.140e-02 -6.798 1.06e-11 ***I(bio7^2) -1.517e-03 2.236e-04 -6.784 1.17e-11 ***I(bio7^3) 2.042e-06 3.657e-07 5.585 2.34e-08 ***bio5 4.721e-01 8.952e-02 5.273 1.34e-07 ***bio15 -2.436e+00 7.020e-01 -3.469 0.000522 ***I(bio15^2) 7.347e-02 1.978e-02 3.714 0.000204 ***I(bio15^3) -7.257e-04 1.797e-04 -4.039 5.36e-05 ***---    Null deviance: 745.60  on 640  degrees of freedomResidual deviance: 327.97  on 632  degrees of freedomAIC: 345.97

(745.6-327.97)*100/745.6[1] 56.01261 # %varianza explicado

Modelado de nicho

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

Predicción de Modelos

Page 16: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

p<-predict(predictores, RF)plot(p)

Random Forest

modelo <- pres ~ bio1 + bio3 + bio5 + bio7 + bio12 + bio14 + bio15predictores <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)RF <- randomForest(modelo, data=presabs)

Coefficients:(Intercept) bio1 bio5 bio7 bio14 bio15 4.06898 -0.04518 0.03665 -0.02849 -0.01953 -0.00980

Degrees of Freedom: 640 Total (i.e. Null); 635 ResidualNull Deviance: 125.8 Residual Deviance: 80.2 AIC: 500.8

RFCall: randomForest(formula = model, data = presabs) Type of random forest: regression Number of trees: 500No. of variables tried at each split: 2

Mean of squared residuals: 0.06779842 % Var explained: 65.47

Modelado de nicho

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

Predicción de Modelos

Page 17: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

GLMs (modelo hacia adelante)

modelo <- glm (pres ~ I(bio14^2)+bio1+I(bio7^2)+I(bio7^3)+bio5+bio15+I(bio15^2)+I(bio15^3), binomial, data=presabs)predictores_6k <- stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)summary(modelo)

Coefficients:                      Estimate        Std. Error      z value     Pr(>|z|)    (Intercept) 3.433e+01 1.178e+01 2.914 0.003568 ** I(bio14^2)  -4.965e-03   7.089e-04 -7.004 2.49e-12 ***Bio1 -5.534e-01 8.140e-02 -6.798 1.06e-11 ***I(bio7^2)  -1.517e-03 2.236e-04 -6.784 1.17e-11 ***I(bio7^3)  2.042e-06 3.657e-07 5.585 2.34e-08 ***bio5  4.721e-01 8.952e-02  5.273 1.34e-07 ***bio15 -2.436e+00  7.020e-01 -3.469  0.000522 ***I(bio15^2)  7.347e-02      1.978e-02  3.714     0.000204 ***I(bio15^3)  -7.257e-04     1.797e-04 -4.039    5.36e-05 ***

Modelado de nicho

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

Proyección de modelos en espacio y tiempo

#Opción 1: modelo con coeficientes de presente.numerador <- exp(3.432890e+01-(4.965115e-03*bio14*bio14)-(5.533876e-01*bio1)-(1.517093e-03*bio7*bio7)+(2.042169e-06*bio7*bio7*bio7)+(4.720571e-01*bio5)-(2.435548e+00*bio15)+(7.346630e-02*bio15*bio15)-(7.257137e-04*bio15*bio15*bio15))denominador <- 1+numeradorcociente <- numerador/denominadorplot(cociente)

#Opción 2: función predictpred <- predict(predictores_6k, modelo, type="response")plot(pred)

Page 18: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Random Forest

modelo <- pres ~ bio1+bio3+bio5+bio7+bio12+bio14+bio15RF <- randomForest(modelo, data=presabs)predictors_6k <-stack(bio1, bio3, bio5, bio7, bio12, bio14, bio15)

pred <- predict(predictores_6k, RF, type="response")plot(pred)

Modelado de nichoProyección de modelos en espacio y tiempo

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

Modelos consenso:models<-(stack(pred1, pred2, predN))plot(mean(models))

Page 19: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Modelado de nichoBinario

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 > trplot(bin)

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

1.0

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

1.0

GLMs(paso a paso hacia delante)

Random Forest

Page 20: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

Modelado de nichoResumen Resultados

-10 -8 -6 -4 -2 0 2 4

36

38

40

42

44

0.0

0.2

0.4

0.6

0.8

-10 -8 -6 -4 -2 0 2 4

36

38

40

42

44

0.0

0.2

0.4

0.6

0.8

-10 -8 -6 -4 -2 0 2 4

36

38

40

42

44

0.0

0.2

0.4

0.6

0.8

-10 -8 -6 -4 -2 0 2 4

36

38

40

42

44

0.0

0.2

0.4

0.6

0.8

AUC=0.94356.01 %varianza 

explicado

 AUC=0.99465.47 %varianza 

explicado

GLM

s(p

aso

a pa

so h

acia

ade

lant

e)Ra

ndom

For

est

-10 -8 -6 -4 -2 0 2 4

3638

4042

44

0.0

0.2

0.4

0.6

0.8

-10 -8 -6 -4 -2 0 2 4

36

38

40

42

44

0.0

0.2

0.4

0.6

0.8

Medio Holoceno Presente 2070

Page 21: Comparación de técnicas para la obtención de modelos de distribución de especies con R VII JORNADAS DE USUARIOS DE R SALAMANCA 2015 Jennifer Morales Barbero*

¡¡MUCHAS GRACIASpor su atención!!