![Page 1: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/1.jpg)
Ecologie et Dynamique des Systèmes Anthropisés FRE 3498 CNRS-UPJV www.u-picardie.fr/edysan
Photo: Jonathan Lenoir
5th IRSAE Summer School – Bø – 04-08/08/2014
Data analysis in R: linking species distribution data to climatic data
![Page 2: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/2.jpg)
Niche & Distribution
Niche & Distribution Data Presence-Absence Presence-Only 1/90
htt
p:/
/sci
ence
asa
verb
.file
s.w
ord
pre
ss.c
om
/20
10
/10
/tw
o_v
ar_
exp
erim
ent.
pn
g
![Page 3: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/3.jpg)
The niche concept
2/90
Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009)
Niche & Distribution Data Presence-Absence Presence-Only
![Page 4: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/4.jpg)
Climatic gradient 1
The niche concept
3/90
The Hutchinson’s “fundamental niche” (Pulliam, 2000)
= 1.0
Presence
Absence
Clim
atic
gra
die
nt
2
Focal species distribution
Niche & Distribution Data Presence-Absence Presence-Only
![Page 5: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/5.jpg)
Climatic gradient 1
= 1.0
The niche concept
4/90
The Hutchinson’s “realized niche” (Pulliam, 2000)
Presence
Absence
Clim
atic
gra
die
nt
2
Focal species distribution
Dominant competitor
Niche & Distribution Data Presence-Absence Presence-Only
![Page 6: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/6.jpg)
Climatic gradient 1
= 1.0
The niche concept
5/90
The dispersal limitation effect (Pulliam, 2000)
Presence
Absence
Clim
atic
gra
die
nt
2
Focal species distribution
Dominant competitor
Niche & Distribution Data Presence-Absence Presence-Only
![Page 7: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/7.jpg)
Climatic gradient 1
= 1.0
The niche concept
6/90
The source-sink dynamic effect (Pulliam, 2000)
Presence
Absence
Clim
atic
gra
die
nt
2
Focal species distribution
Dominant competitor
Source
Sink
Niche & Distribution Data Presence-Absence Presence-Only
![Page 8: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/8.jpg)
The niche concept
7/90
Modified from Soberon (2007) & Anderson (2013)
Niche & Distribution Data Presence-Absence Presence-Only
Assisted Migration
![Page 9: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/9.jpg)
The niche concept
8/90
Lessons from biological invasions (Guisan et al., 2014)
Niche & Distribution Data Presence-Absence Presence-Only
![Page 10: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/10.jpg)
The niche concept
9/90
Lessons from biological invasions (Guisan et al., 2014)
Niche & Distribution Data Presence-Absence Presence-Only
![Page 11: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/11.jpg)
The n-dimensions of the niche
10/90
scenopoetic factors (i.e., broad-scale conditions): Grinnell bionomic factors (i.e., resource-consumer dynamics): Elton
The Grinnellian niche & the Eltonian niche (Soberon, 2007)
Niche & Distribution Data Presence-Absence Presence-Only
indirect variables (e.g., elevation, slope & aspect) direct variables (e.g., air temperature & soil pH) resource variables (e.g., nutrients, soil or air water & light)
Variables to consider to capture the niche (Austin & Smith, 1989)
![Page 12: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/12.jpg)
Towards modelling species distribution
11/90
Example for plant distribution (Guisan & Zimmermann, 2000)
Niche & Distribution Data Presence-Absence Presence-Only
![Page 13: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/13.jpg)
Species distribution models (SDMs)
12/90
The modelling trade-off (Guisan & Zimmermann, 2000)
Niche & Distribution Data Presence-Absence Presence-Only
![Page 14: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/14.jpg)
Species distribution models (SDMs)
13/90
Four main types of SDMs regarding the algorithm
Niche & Distribution Data Presence-Absence Presence-Only
profile methods regression methods machine learning methods geographic methods
Two main types of SDMs regarding the response variable
presence-only models presence-absence models
NB: profile methods are always presence-only models but machine learning & regression methods can be either presence-absence or presence-only models depending on whether survey-absence or pseudo-absence/background data have been generated
![Page 15: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/15.jpg)
Species distribution models (SDMs)
14/90 Niche & Distribution Data Presence-Absence Presence-Only
If you also have survey-absence data from a well designed survey
use regression or machine learning methods do not use profile methods
If you only have occurrences, you can still substitute absences with
background data (do not depend on where occurrences are) pseudo-absence data (depend on where occurrences are)
NB: survey-absence data can be biased due to detectability issues
CCL: be careful not to get mixed up between presence-absence (survey-absence) & presence-only (pseudo-absence/background) models when using regression or machine learning methods
![Page 16: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/16.jpg)
Species distribution models (SDMs)
15/90
The BIOCLIM Algorithm: BIOCLIM (P) The Domain Algorithm: Domain (P) Generalized Linear Models: GLMs (R) Generalized Linear Mixed Models: GLMMs (R) Generalized Additive Models: GAMs (R) Generalized Additive Mixed Models: GAMMs (R) Structural Equation Models: SEMs (R) Random Forests: RFs (ML) Boosted Regreesion Trees: BRTs (ML) Artificial Neural Networks: ANNs (ML) The Maximum Entropy Approach: Maxent (ML) Auto-Logistic Models: SAR (R- and ML-compatible) Residual Auto-Covariate Models: RAC (R- and ML-compatible)
Few Profile (P), Regression (R) & Machine Learning (ML) methods
Niche & Distribution Data Presence-Absence Presence-Only
![Page 17: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/17.jpg)
Species distribution models (SDMs)
16/90
GLMs tipically used with presence-absence (survey-absence) data Maxent classically used with presence-only (background) data
During this course, we will specifically focus on
Niche & Distribution Data Presence-Absence Presence-Only
![Page 18: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/18.jpg)
Data
17/90 Niche & Distribution Data Presence-Absence Presence-Only
htt
p:/
/fr.
wik
iped
ia.o
rg/w
iki/
%C
3%
89
rab
le_s
yco
mo
re#
med
iavi
ewe
r/Fi
chie
r:M
ap
le_l
eave
s.jp
g
![Page 19: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/19.jpg)
The dependent or response variable (Y)
18/90 Niche & Distribution Data Presence-Absence Presence-Only
Distribution of Sycamore maple (Acer pseudoplatanus L.)
presence-only data (1) @ GBIF (http://www.gbif.org/) presence-absence data (0/1) @ IGN (http://www.ign.fr/)
![Page 20: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/20.jpg)
The independent or predictor variables (Xi)
19/90 Niche & Distribution Data Presence-Absence Presence-Only
Climatic variables @ WorldClim (http://www.worldclim.org/)
Annual Mean Temperature (BIO1) Max Temperature of Warmest Month (BIO5) Min Temperature of Coldest Month (BIO6) Temperature Annual Range (BIO7 = BIO5-BIO6) Annual Precipitation (BIO12) Precipitation of Wettest Month (BIO13) Precipitation of Driest Month (BIO14) Precipitation Seasonality (Coefficient of Variation) (BIO15) Water Balance (sum of monthly prec. minus monthly PET) (WBAL)
![Page 21: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/21.jpg)
Quick look at the data in R
20/90 Niche & Distribution Data Presence-Absence Presence-Only
Import data into R
> setwd("C:/Users/admin2/Documents/Enseignements/IRSAE-2014")
> ap <- read.table("Data/FR/apPAfr.txt", header=TRUE, sep="\t")
> str(ap)
'data.frame': 46589 obs. of 15 variables:
$ x : num 5.75 7.15 4.99 -0.76 1.16 ...
$ y : num 48.3 48.8 47.8 43 47.2 ...
$ year : int 2005 2005 2005 2005 2005 ...
$ pa : int 1 0 0 0 0 ...
$ wbal : int 88 -27 67 239 -164 ...
$ bio1 : num 8.7 9.1 9.1 8.5 11 ...
$ bio5 : num 22.2 23.1 22.7 21.9 24.6 ...
$ bio6 : num -2.6 -2.3 -2.2 -2.4 0.2 ...
$ bio7 : num 24.8 25.4 24.9 24.3 24.4 ...
$ bio12: int 852 750 849 1068 697 ...
$ bio13: int 87 78 85 114 67 ...
$ bio14: int 55 50 55 60 50 ...
$ bio15: int 14 15 15 15 9 ...
![Page 22: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/22.jpg)
Quick look at the data in R
21/90 Niche & Distribution Data Presence-Absence Presence-Only
Plot the empirical distribution of Sycamore maple on a map
![Page 23: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/23.jpg)
Quick look at the data in R
22/90 Niche & Distribution Data Presence-Absence Presence-Only
Plot the empirical distribution of Sycamore maple on a map
> library(raster)
> fr <- getData("GADM", country="FRA", level=0, path="Data/FR")
> projection(fr)
[1] "+proj=longlat +ellps=WGS84 +datum=WGS84 +towgs84=0,0,0"
> plot(fr)
> occ <- which(ap$pa==1)
> length(occ)
[1] 6455
> abs <- which(ap$pa==0)
> length(abs)
[1] 40134
> points(ap$x[abs], ap$y[abs], pch=4, col="red", cex=0.1)
> points(ap$x[occ], ap$y[occ], pch=3, col="green", cex=0.1)
> leg <- c("Presence", "Absence")
> legend("bottomleft", leg, pch=c(3, 4), col=c("green", "red"))
![Page 24: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/24.jpg)
Quick look at the data in R
23/90 Niche & Distribution Data Presence-Absence Presence-Only
Import raster layers of all predictor variables
> TMEAN <- raster("Data/FR/bio1.tif")
> TMAX <- raster("Data/FR/bio5.tif")
> TMIN <- raster("Data/FR/bio6.tif")
> TSEA <- raster("Data/FR/bio7.tif")
> PANN <- raster("Data/FR/bio12.tif")
> PMAX <- raster("Data/FR/bio13.tif")
> PMIN <- raster("Data/FR/bio14.tif")
> PSEA <- raster("Data/FR/bio15.tif")
> WBAL <- raster("Data/FR/wbal.tif")
![Page 25: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/25.jpg)
Quick look at the data in R
24/90 Niche & Distribution Data Presence-Absence Presence-Only
Plot predictor variables
![Page 26: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/26.jpg)
Quick look at the data in R
25/90 Niche & Distribution Data Presence-Absence Presence-Only
Plot predictor variables
> library(fBasics)
> colT <- rev(divPalette(n=100, name="RdYlBu"))
> colP <- seqPalette(n=100, name="YlGnBu")
> colWBAL <- divPalette(n=100, name="RdYlGn")
> par(mfrow=c(3, 3), mai=c(bottom=0.1, 0, top=0.2, 0))
> plot(TMEAN, col=colT, axes=FALSE, main="tmean")
> plot(TMIN, col=colT, axes=FALSE, main="tmin")
> plot(TMAX, col=colT, axes=FALSE, main="tmax")
> plot(PANN, col=colP, axes=FALSE, main="pann")
> plot(PMIN, col=colP, axes=FALSE, main="pmin")
> plot(PMAX, col=colP, axes=FALSE, main="pmax")
> plot(TSEA, col=colT, axes=FALSE, main="tsea")
> plot(PSEA, col=colP, axes=FALSE, main="psea")
> plot(WBAL, col=colWBAL, axes=FALSE, main="wbal")
![Page 27: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/27.jpg)
Data preparation
26/90 Niche & Distribution Data Presence-Absence Presence-Only
Remove NA values & check correlations among predictors
> dim(ap)
[1] 46589 15
> ap <- na.omit(ap)
> dim(ap)
[1] 46549 15
> round(cor(ap[, 7:15]), 2)
wbal bio1 bio5 bio6 bio7 bio12 bio13 bio14 bio15
wbal 1.00
bio1 -0.70 1.00
bio5 -0.74 0.86 1.00
bio6 -0.58 0.91 0.59 1.00
bio7 -0.13 -0.13 0.39 -0.51 1.00
bio12 0.91 -0.46 -0.43 -0.46 0.07 1.00
bio13 0.76 -0.21 -0.29 -0.16 -0.12 0.88 1.00
bio14 0.75 -0.61 -0.47 -0.63 0.21 0.77 0.43 1.00
bio15 -0.12 0.37 0.15 0.46 -0.36 -0.13 0.31 -0.66 1.00
![Page 28: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/28.jpg)
Data preparation
27/90 Niche & Distribution Data Presence-Absence Presence-Only
Remove highly correlated variables to avoid multicollinearity issues
> ap <- ap[, c(-8, -9, -12, -13, -14)]
> names(ap)[8:10] <- c("tmin", "tsea", "psea")
> str(ap)
'data.frame': 46549 obs. of 10 variables:
$ x : num 5.75 7.15 4.99 -0.76 1.16 ...
$ y : num 48.3 48.8 47.8 43 47.2 ...
$ day : int 29 24 13 26 14 ...
$ month: int 6 3 9 7 3 ...
$ year : int 2005 2005 2005 2005 2005 ...
$ pa : int 1 0 0 0 0 ...
$ wbal : int 88 -27 67 239 -164 ...
$ tmin : num -2.6 -2.3 -2.2 -2.4 0.2 ...
$ tsea : num 24.8 25.4 24.9 24.3 24.4 ...
$ psea : int 14 15 15 15 9 ...
![Page 29: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/29.jpg)
Presence-Absence
28/90 Niche & Distribution Data Presence-Absence Presence-Only
![Page 30: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/30.jpg)
The case of presence-absence data (0/1) or logistic regression
Generalized Linear Models (GLMs)
29/90 Niche & Distribution Data Presence-Absence Presence-Only
Y: the response variable which values p [0 : 1] Xi: explanatory variables being either qualitative or quantitative i: coefficient parameters : the error term (mean 0 & variance dependent on the Xis)
𝑙𝑜𝑔𝑖𝑡 𝑌 = 𝑙𝑛𝑝
1 − 𝑝= 𝛽0 +𝛽1𝑋1 + 𝛽2𝑋2 +⋯+ 𝛽𝑘𝑋𝑘 + 𝜀
𝑝 =1
1 + 𝑒− 𝛽0+𝛽1𝑋1+𝛽2𝑋2+⋯+𝛽𝑘𝑋𝑘+𝜀∈ 0 ∶ 1
![Page 31: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/31.jpg)
Generalized Linear Models (GLMs)
30/90 Niche & Distribution Data Presence-Absence Presence-Only
GLMs’ properties
the family distribution (gaussian, poisson, binomial, gamma) the linear predictor (η = 0 + 1X1 + 2X2 + ... + kXk) the link function (identity, log, logit, inverse)
R syntax
glm(formula, family, data, …) family=gaussian(link="identity") family=poisson(link="log") family=binomial (link="logit") formula=y~x formula=y~poly(x, 2) formula=y~x1+x2 formula=y~x1+x2+x1:x2
![Page 32: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/32.jpg)
Generalized Linear Models (GLMs)
31/90 Niche & Distribution Data Presence-Absence Presence-Only
Split the original dataset into train (4/5) & test (1/5) datasets
> library(dismo)
> fold <- kfold(ap, k=5)
> calib <- ap[which(fold!=1), ]
> dim(calib)
[1] 37239 10
> write.table(calib, "Data/FR/calib.txt", sep="\t")
> valid <- ap[which(fold==1), ]
> dim(valid)
[1] 9310 10
> write.table(valid, "Data/FR/valid.txt", sep="\t")
Divide the initial dataset into five groups of similar sizes
![Page 33: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/33.jpg)
Generalized Linear Models (GLMs)
32/90 Niche & Distribution Data Presence-Absence Presence-Only
Model fitting: Akaike Information Criterion (AIC) & goodness of fit
> M1 <- glm(pa~tmin, family=binomial, data=calib)
> summary(M1)
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.411640 0.021762 -110.82 <2e-16 ***
tmin -0.379508 0.007279 -52.14 <2e-16 ***
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 29952 on 37238 degrees of freedom
Residual deviance: 26924 on 37237 degrees of freedom
AIC: 26928
> k <- length(M1$coefficients)
> aic <- (2*k)-(2*logLik(M1)[[1]])
> round(aic)
[1] 26928
> gof <- (M1$null.deviance-M1$deviance)/M1$null.deviance
> gof
[1] 0.1010928
Formula for AIC
Formula for goodness of fit
Number of parametres
![Page 34: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/34.jpg)
Generalized Linear Models (GLMs)
33/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: linear or response predictions?
> tmin <- calib$tmin[1:5]
> tmin <- data.frame(tmin)
> tmin
tmin
1 -2.6
2 -2.3
3 -2.4
4 0.2
5 -1.6
> predict(M1, newdata=tmin)
1 2 3 4 5
-1.424919 -1.538772 -1.500821 -2.487542 -1.804427
> predict(M1, newdata=tmin, type="response")
1 2 3 4 5
0.19389155 0.17671390 0.18230312 0.07673617 0.14131298
Raw predictions from the linear
predictor (η)
𝑝[0, 1]
![Page 35: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/35.jpg)
Generalized Linear Models (GLMs)
34/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: plot response curve
> xmax <- max(calib$tmin)
> xmin <- min(calib$tmin)
> tmin <- seq(xmin, xmax, length.out=30)
> tmin <- data.frame(tmin)
> p <- predict(M1, newdata=tmin, type="response")
> plot(tmin$tmin, p, type="l", lwd=2, cex.lab=1.5)
![Page 36: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/36.jpg)
Generalized Linear Models (GLMs)
35/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: plot response curve & empirical data
![Page 37: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/37.jpg)
Generalized Linear Models (GLMs)
36/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: plot response curve & empirical data
> occ <- which(calib$pa==1)
> abs <- which(calib$pa==0)
> hall <- hist(calib$tmin, breaks=tmin$tmin, plot=FALSE)
> hocc <- hist(calib$tmin[occ], breaks=tmin$tmin, plot=FALSE)
> mat <- matrix(c(2, 1), 2, 1, byrow=TRUE)
> nf <- layout(mat, width=4, height=c(1,3), respect=TRUE)
> layout.show(nf)
> par(mar=c(5, 4, 1, 1))
> plot(calib$tmin, calib$pa, type="n", cex.lab=1.5)
> points(calib$tmin[occ], calib$pa[occ], col="green", pch=3)
> points(calib$tmin[abs], calib$pa[abs], col="red", pch=4)
> lines(tmin$tmin, p, lwd=2)
> par(mar=c(0, 4, 1, 1))
> barplot(hall$counts, axes=FALSE, col="red")
> barplot(hocc$counts, axes=FALSE, col="green", add=TRUE)
![Page 38: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/38.jpg)
Generalized Linear Models (GLMs)
37/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: map probabilities of occurrence
> tmin <- getValues(TMIN)
> tmin <- data.frame(tmin)
> p <- predict(M1, newdata=tmin, type="response")
> p <- setValues(TMIN, p)
> colAP <- seqPalette(n=100, name="Greens")
> plot(p, col=colAP)
![Page 39: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/39.jpg)
Generalized Linear Models (GLMs)
38/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: map predicted occurrences & absences
> p <- getValues(p)
> n <- rep(1, length(p))
> size <- rep(1, length(p))
> p <- rbinom(n=n, size=size, prob=p)
> p <- setValues(TMIN, p)
> plot(p, col=c("gray", "green"), legend=FALSE)
![Page 40: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/40.jpg)
Generalized Linear Models (GLMs)
39/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: Area Under Curve (AUC), sensitivity & specificity
> p <- predict(M1, newdata=valid, type="response")
> occ <- which(valid$pa==1)
> abs <- which(valid$pa==0)
> e <- evaluate(p=p[occ], a=p[abs])
> class(e)
[1] "ModelEvaluation"
attr(,"package")
[1] "dismo"
> e
class : ModelEvaluation
n presences : 1293
n absences : 8017
AUC : 0.7226648
cor : 0.2876606
max TPR+TNR at : 0.1183897
![Page 41: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/41.jpg)
Generalized Linear Models (GLMs)
40/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: confusion matrix
true positive (tp) true negative (tn) false positive (fp) false negative (fn)
Observations
1 0
Pre
dic
tio
ns
1 tp fp
0 fn tn
sensitivity or True Positive Rate (TPR) specificity or True Negative Rate (TNR)
Sensitivity & specificity
𝑇𝑃𝑅 =𝑡𝑝
𝑡𝑝 + 𝑓𝑛∈ 0 ∶ 1
𝐹𝑃𝑅 =𝑓𝑝
𝑓𝑝 + 𝑡𝑛= 1 − 𝑇𝑁𝑅 ∈ 0 ∶ 1
𝑇𝑁𝑅 =𝑡𝑛
𝑓𝑝 + 𝑡𝑛∈ 0 ∶ 1
![Page 42: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/42.jpg)
Generalized Linear Models (GLMs)
41/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: confusion matrix for several threshold values
> head(e@t, 4)
[1] 0.00569990 0.00690331 0.00868921 0.00972660
> head(e@confusion, 4)
tp fp fn tn
[1,] 1293 8017 0 0
[2,] 1293 8009 0 8
[3,] 1293 8001 0 16
[4,] 1293 7997 0 20
> tail(e@t, 4)
[1] 0.6928991 0.7672997 0.7673997 0.7674997
> tail(e@confusion, 4)
tp fp fn tn
[235,] 1 8 1292 8009
[236,] 0 2 1293 8015
[237,] 0 2 1293 8015
[238,] 0 0 1293 8017
Vector of threshold
values
Each row is the confusion matrix of a given threshold
value
![Page 43: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/43.jpg)
Generalized Linear Models (GLMs)
42/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: Receiver Operating Characteristic (ROC) curve
> plot(e, "ROC", cex.lab=1.5, col="blue", type="l", lwd=2)
![Page 44: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/44.jpg)
Generalized Linear Models (GLMs)
43/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: threshold value maximizing TPR + TNR
> plot(e@t, e@TPR+e@TNR, type="l", lwd=2, cex.lab=1.5)
> max(e@TPR+e@TNR)
[1] 1.350668
> e@t[which(e@TPR+e@TNR==max(e@TPR+e@TNR))]
[1] 0.1183897
![Page 45: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/45.jpg)
> mat <- e@confusion[which(e@TPR+e@TNR==max(e@TPR+e@TNR)), ]
> mat
tp fp fn tn
980 3265 313 4752
> num <- (mat[1]*mat[4])-(mat[3]*mat[2])
> den <- (mat[1]+mat[2])*(mat[3]+mat[4])
> tss <- num/den
> tss
[1] 0.1690632
Generalized Linear Models (GLMs)
44/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: True Skill Statistic (TSS) at max[TPR + TNR]
Observations
1 0
Pre
dic
tio
ns
1 tp fp
0 fn tn
𝑇𝑆𝑆 =𝑡𝑝 ∗ 𝑡𝑛 − (𝑓𝑛 ∗ 𝑓𝑝)
𝑡𝑝 + 𝑓𝑛 ∗ (𝑓𝑝 + 𝑡𝑛)∈ −1 ∶ 1
![Page 46: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/46.jpg)
Generalized Linear Models (GLMs)
45/90 Niche & Distribution Data Presence-Absence Presence-Only
Model fitting: test for second-order polynomial relationship
> M2 <- glm(pa~poly(tmin, 2), family=binomial, data=calib)
> summary(M2)
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.11902 0.01983 -106.844 < 2e-16 ***
poly(tmin, 2)1 -183.17107 4.28577 -42.739 < 2e-16 ***
poly(tmin, 2)2 -30.51618 3.77913 -8.075 6.75e-16 ***
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 29952 on 37238 degrees of freedom
Residual deviance: 26856 on 37236 degrees of freedom
AIC: 26862
> AIC(M1)
[1] 26927.64
Drop in AIC from M1 to
M2, but is it significant?
![Page 47: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/47.jpg)
Generalized Linear Models (GLMs)
46/90 Niche & Distribution Data Presence-Absence Presence-Only
Model fitting: is it worth complicating the initial model?
> anova(M1, M2, test="Chisq")
Analysis of Deviance Table
Model 1: pa ~ tmin
Model 2: pa ~ poly(tmin, 2)
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 37237 26924
2 37236 26856 1 68.009 < 2.2e-16 ***
![Page 48: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/48.jpg)
Generalized Linear Models (GLMs)
47/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare response curves from M1 & M2
![Page 49: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/49.jpg)
Generalized Linear Models (GLMs)
48/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare response curves from M1 & M2
> xmax <- max(calib$tmin)
> xmin <- min(calib$tmin)
> tmin <- seq(xmin, xmax, length.out=30)
> tmin <- data.frame(tmin)
> p1 <- predict(M1, newdata=tmin, type="response")
> p2 <- predict(M2, newdata=tmin, type="response")
> plot(calib$tmin, calib$pa, type="n", cex.lab=1.5)
> lines(tmin$tmin, p1, lty=2, lwd=2, cex.lab=1.5)
> lines(tmin$tmin, p2, lwd=2, cex.lab=1.5)
> leg <- c("M1", "M2")
> legend(x="topright", leg, lwd=c(2, 2), lty=c(2, 1))
![Page 50: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/50.jpg)
Generalized Linear Models (GLMs)
49/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: is M2 performing better than M1?
> p <- predict(M2, newdata=valid, type="response")
> occ <- which(valid$pa==1)
> abs <- which(valid$pa==0)
> e <- evaluate(p=p[occ], a=p[abs])
> e
class : ModelEvaluation
n presences : 1293
n absences : 8017
AUC : 0.7226648
cor : 0.2900685
max TPR+TNR at : 0.1241536
![Page 51: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/51.jpg)
Generalized Linear Models (GLMs)
50/90 Niche & Distribution Data Presence-Absence Presence-Only
Model fitting: test the full model
> f <- ~.+poly(tsea, 2)+poly(psea, 2)+ poly(wbal, 2)
> M3 <- update(M2, f)
> summary(M3)
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.32488 0.02461 -94.487 < 2e-16 ***
poly(tmin, 2)1 -267.56293 9.11505 -29.354 < 2e-16 ***
poly(tmin, 2)2 -117.68537 6.38682 -18.426 < 2e-16 ***
poly(tsea, 2)1 -137.51657 6.16349 -22.311 < 2e-16 ***
poly(tsea, 2)2 69.54516 4.09620 16.978 < 2e-16 ***
poly(psea, 2)1 -63.20803 7.18893 -8.792 < 2e-16 ***
poly(psea, 2)2 52.39951 6.42492 8.156 3.47e-16 ***
poly(wbal, 2)1 2.17989 5.74146 0.380 0.704
poly(wbal, 2)2 19.19854 3.64584 5.266 1.40e-07 ***
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 29952 on 37238 degrees of freedom
Residual deviance: 25728 on 37230 degrees of freedom
AIC: 25746
![Page 52: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/52.jpg)
Generalized Linear Models (GLMs)
51/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare response curves from M1, M2 & M3
![Page 53: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/53.jpg)
Generalized Linear Models (GLMs)
52/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare response curves from M1, M2 & M3
> xmax <- max(calib$tmin)
> xmin <- min(calib$tmin)
> tmin <- seq(xmin, xmax, length.out=30)
> tsea <- rep(mean(calib$tsea), 30)
> psea <- rep(mean(calib$psea), 30)
> wbal <- rep(mean(calib$wbal), 30)
> predictors <- cbind(tmin, tsea, psea, wbal)
> predictors <- data.frame(predictors)
> p1 <- predict(M1, newdata=predictors, type="response")
> p2 <- predict(M2, newdata=predictors, type="response")
> p3 <- predict(M3, newdata=predictors, type="response")
> plot(calib$tmin, calib$pa, type="n", cex.lab=1.5)
> lines(predictors$tmin, p1, lty=3, lwd=2, cex.lab=1.5)
> lines(predictors$tmin, p2, lty=2, lwd=2, cex.lab=1.5)
> lines(predictors$tmin, p3, lwd=2, cex.lab=1.5)
> leg <- c("M1", "M2", "M3")
> legend(x="topright", leg, lwd=c(2, 2, 2), lty=c(3, 2, 1))
![Page 54: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/54.jpg)
Generalized Linear Models (GLMs)
53/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare probability maps from M1, M2 & M3
> predictors <- stack(TMIN, TSEA, PSEA, WBAL)
> names(predictors)
[1] "bio6" "bio7" "bio15" "wbal"
> names(predictors) <- c("tmin", "tsea", "psea", "wbal")
> p1 <- predict(predictors, M1, type="response")
> p2 <- predict(predictors, M2, type="response")
> p3 <- predict(predictors, M3, type="response")
![Page 55: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/55.jpg)
Generalized Linear Models (GLMs)
54/90 Niche & Distribution Data Presence-Absence Presence-Only
Model prediction: compare probability maps from M1, M2 & M3
> windows(12, 4)
> par(mfrow=c(1, 3), mar=c(1, 1, 2, 4))
> plot(p1, col=colAP, axes=FALSE, main="M1")
> plot(p2, col=colAP, axes=FALSE, main="M2")
> plot(p3, col=colAP, axes=FALSE, main="M3")
![Page 56: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/56.jpg)
Generalized Linear Models (GLMs)
55/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation: is M3 performing better than M1 & M2?
> p <- predict(M3, newdata=valid, type="response")
> occ <- which(valid$pa==1)
> abs <- which(valid$pa==0)
> e <- evaluate(p=p[occ], a=p[abs])
> e
class : ModelEvaluation
n presences : 1293
n absences : 8017
AUC : 0.7651777
cor : 0.3129263
max TPR+TNR at : 0.1226597
Yes, it does
![Page 57: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/57.jpg)
Generalized Linear Models (GLMs)
56/90 Niche & Distribution Data Presence-Absence Presence-Only
Model selection: which model shall I use between M1, M2 & M3?
> library(AICcmodavg)
> Mcands <- list(M1, M2, M3)
> Mnames <- c("M1", "M2", "M3")
> aictab(cand.set=Mcands, modnames=Mnames, second.ord=FALSE)
Model selection based on AIC :
K AIC Delta_AIC AICWt Cum.Wt LL
M3 9 25745.85 0.00 1 1 -12863.92
M2 3 26861.63 1115.78 0 1 -13427.81
M1 2 26927.64 1181.79 0 1 -13461.82
𝐴𝐼𝐶𝑊𝑡𝑖 =𝑒−
12∆𝐴𝐼𝐶𝑖
𝑒−12∆𝐴𝐼𝐶𝑘𝑁
𝑘=1
NB: if ΔAICi 0, the ith model is having some support and can be also considered in addition to the best model (cf. model averaging)
Where N is the total number of candidate
models
M3 is the best model
![Page 58: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/58.jpg)
Generalized Linear Models (GLMs)
57/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): raw data
> plot(predict(M3), residuals(M3), type="n", cex.lab=1.5)
> occ <- which(calib$pa==1)
> abs <- which(calib$pa==0)
> points(predict(M3)[occ], residuals(M3)[occ], col="green")
> points(predict(M3)[abs], residuals(M3)[abs], col="red")
> abline(h=0, lty=2, lwd=2)
Not meaningful for residuals’
diagnosis
![Page 59: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/59.jpg)
Generalized Linear Models (GLMs)
58/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): using a spline function
![Page 60: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/60.jpg)
Generalized Linear Models (GLMs)
59/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): using a spline function
> library(splines)
> resVSfit <- lm(residuals(M3)~bs(predict(M3), degree=8))
> Y <- predict(resVSfit, se=TRUE)
> cisup <- Y$fit+2*Y$se.fit
> ciinf <- Y$fit-2*Y$se.fit
> ord <- order(predict(M3))
> x.coord <- c(predict(M3)[rev(ord)], predict(M3)[ord])
> y.coord <- c(ciinf[rev(ord)], cisup[ord])
> plot(predict(M3), residuals(M3), type="n", cex.lab=1.5)
> polygon(x.coord, y.coord, col="grey", border="grey")
> lines(predict(M3)[ord], ciinf[ord], lty=2, lwd=2, col="red")
> lines(predict(M3)[ord], cisup[ord], lty=2, lwd=2, col="red")
> abline(h=0, lty=2, lwd=2)
![Page 61: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/61.jpg)
Generalized Linear Models (GLMs)
60/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): spatial autocorrelation
> library(spdep)
> sel <- sample(c(1:nrow(calib)), 1000, replace=FALSE)
> xy <- as.matrix(cbind(calib$x[sel], calib$y[sel]))
> nb <- dnearneigh(xy, d1=0, d2=25, longlat=TRUE)
> nb
Neighbour list object:
Number of regions: 1000
Number of nonzero links: 4578
Percentage nonzero weights: 0.4578
Average number of links: 4.578
49 regions with no links:
4 26 40 41 44 62 77 107 132 153 ...
In kms
![Page 62: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/62.jpg)
Generalized Linear Models (GLMs)
61/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): spatial autocorrelation
> plot(nb, xy, cex=0.7, pch=20)
Neighboorhood relationships
![Page 63: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/63.jpg)
Generalized Linear Models (GLMs)
62/90 Niche & Distribution Data Presence-Absence Presence-Only
Check residuals from the best model (M3): spatial autocorrelation
> z <- residuals(M3)[sel]
> c <- sp.correlogram(nb, z, "I", order=15, zero.policy=TRUE)
> plot(correlog.res)
Spatial autocorrelation in the residuals of M3 remains significant within 0-75 kms
![Page 64: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/64.jpg)
Generalized Linear Models (GLMs)
63/90 Niche & Distribution Data Presence-Absence Presence-Only
Solutions
look at relationships between the residuals & the predictors look for additional predictors able to capture the spatial signal incorporate an autocovariate in the model’s predictors (SAR/RAC) incorporate spatial eigenvectors (PCNMs) in the model’s predictors
NB: if you incorporate an autocovariate in the model’s predictors, compute it so that it captures spatial autocorrelation in the residuals (cf. 0-75 kms)
![Page 65: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/65.jpg)
Presence-Only
64/90 Niche & Distribution Data Presence-Absence Presence-Only
![Page 66: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/66.jpg)
Maximum entropy modelling (Maxent)
65/90 Niche & Distribution Data Presence-Absence Presence-Only
Key papers (Phillips et al., 2006; Elith et al., 2011)
![Page 67: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/67.jpg)
Maximum entropy modelling (Maxent)
66/90 Niche & Distribution Data Presence-Absence Presence-Only
Main concepts & terms used in Maxent (Elith et al., 2011)
occurrences: geographic coordinates where a species is present background: a random sample of coordinates from the mask mask: a grid of locations to be sampled for the background covariates: set of predictor variables at each sampled location features: transformations (linear, quadratic, product, hinge, etc.) regularization: smoothing of the model to limit complexity prevalence: 0.5 by default (the strongest assumption)
NB: background points can be sampled at locations where species occurrences have been recorded and thus there is independency between the background sample & occurrence records, which is not the case for pseudo-absences
![Page 68: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/68.jpg)
Maximum entropy modelling (Maxent)
67/90 Niche & Distribution Data Presence-Absence Presence-Only
Background matters (VanDerWal et al., 2009)
![Page 69: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/69.jpg)
Maximum entropy modelling (Maxent)
68/90 Niche & Distribution Data Presence-Absence Presence-Only
Background matters (VanDerWal et al., 2009)
![Page 70: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/70.jpg)
Maximum entropy modelling (Maxent)
69/90 Niche & Distribution Data Presence-Absence Presence-Only
Some golden rules for Maxent modelling (Elith et al. 2011)
make a mask including the full environmental range of the species use the mask to exclude areas which were probably not surveyed exclude also areas where the species cannot have dispersed use a reduced set of covariates based on meaningful assumptions project covariate grids using equal area projections (area effect) use product features only if you are interested in interactions increase regularization parameters to get more diffused outputs decrease regularization parameters to get more localized outputs tune the prevalence parameter for cross-species comparisons
![Page 71: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/71.jpg)
Maximum entropy modelling (Maxent)
70/90 Niche & Distribution Data Presence-Absence Presence-Only
1. Download Maxent
![Page 72: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/72.jpg)
Maximum entropy modelling (Maxent)
71/90 Niche & Distribution Data Presence-Absence Presence-Only
2. Copy/paste the file “maxent.jar” into C:/…/R/library/dismo/java
![Page 73: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/73.jpg)
Maximum entropy modelling (Maxent)
72/90 Niche & Distribution Data Presence-Absence Presence-Only
3. Use the maxent() function from the R-package “dismo”
![Page 74: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/74.jpg)
Maximum entropy modelling (Maxent)
73/90 Niche & Distribution Data Presence-Absence Presence-Only
Application: distribution of Acer Pseudoplatanus L. in France
we assume that we only have occurrence records across France we use the French territory as a mask for the background sample
![Page 75: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/75.jpg)
Maximum entropy modelling (Maxent)
74/90 Niche & Distribution Data Presence-Absence Presence-Only
Prepare the occurrence records to be used for training the model
> library(rgdal)
> EPSG <- make_EPSG()
> laea <- EPSG[which(EPSG$code==3035), "prj4"]
> occ <- which(calib$pa==1)
> occtrain <- data.frame(cbind(calib$x[occ], calib$y[occ]))
> names(occtrain) <- c("lon", "lat")
> occtrain <- SpatialPoints(occtrain, fr@proj4string)
> occtrain <- spTransform(occtrain, CRS(laea))
![Page 76: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/76.jpg)
Maximum entropy modelling (Maxent)
75/90 Niche & Distribution Data Presence-Absence Presence-Only
Prepare the mask & covariates
> mask <- rasterize(fr, TMIN, field=1)
> crs <- CRS(laea)
> res <- c(1000, 1000)
> mask <- projectRaster(mask, method="ngb", res=res, crs=crs)
> predictors <- stack(TMIN, TSEA, PSEA, WBAL)
> predictors <- projectRaster(predictors, mask)
> predictors <- predictors*mask
> names(predictors)
[1] "layer.1" "layer.2" "layer.3" "layer.4"
> names(predictors) <- c("tmin", "tsea", "psea", "wbal")
![Page 77: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/77.jpg)
Maximum entropy modelling (Maxent)
76/90 Niche & Distribution Data Presence-Absence Presence-Only
Fit the model with Maxent’s default parameters
> arg <- c("responsecurves=TRUE")
> M4 <- maxent(x=predictors, p=occtrain, args=arg)
> class(M4)
[1] "MaxEnt"
attr(,"package")
[1] "dismo"
> M4
Display all Maxent’s
outputs on an html page
![Page 78: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/78.jpg)
Maximum entropy modelling (Maxent)
77/90 Niche & Distribution Data Presence-Absence Presence-Only
Maxent’s outputs
![Page 79: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/79.jpg)
Maximum entropy modelling (Maxent)
78/90 Niche & Distribution Data Presence-Absence Presence-Only
Variable contributions
> plot(M4, pch=20, cex.lab=1.5, col="blue")
![Page 80: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/80.jpg)
Maximum entropy modelling (Maxent)
79/90 Niche & Distribution Data Presence-Absence Presence-Only
Response curves
> response(M4, cex.lab=1.5, col="black")
![Page 81: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/81.jpg)
Maximum entropy modelling (Maxent)
80/90 Niche & Distribution Data Presence-Absence Presence-Only
Predictions of the geographic distribution of Sycamore maple
> p4 <- predict(M4, predictors)
> p4
class : RasterLayer
dimensions : 1182, 1206, 1425492 (nrow, ncol, ncell)
resolution : 1000, 1000 (x, y)
extent : 3086567, 4292567, 2025783, 3207783
coord. ref. : +proj=laea +lat_0=52 +lon_0=10 ...
data source : in memory
names : layer
values : 0.007738914, 0.8186277 (min, max)
![Page 82: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/82.jpg)
Maximum entropy modelling (Maxent)
81/90 Niche & Distribution Data Presence-Absence Presence-Only
Predictions of the geographic distribution of Sycamore maple
> plot(p4, col=colAP, axes=FALSE, box=FALSE)
![Page 83: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/83.jpg)
Maximum entropy modelling (Maxent)
82/90 Niche & Distribution Data Presence-Absence Presence-Only
Occurrence records from the train dataset overlaid on the map
> points(occtrain, pch=3, cex=0.5)
![Page 84: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/84.jpg)
Maximum entropy modelling (Maxent)
83/90 Niche & Distribution Data Presence-Absence Presence-Only
Predictions from GLM & Maxent with the same set of predictors
![Page 85: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/85.jpg)
Maximum entropy modelling (Maxent)
84/90 Niche & Distribution Data Presence-Absence Presence-Only
Predictions from GLM & Maxent with the same set of predictors
> windows(16, 8)
> par(mfrow=c(1, 2), mar=c(1, 1, 2, 4))
> p3 <- projectRaster(p3, mask)
> p3 <- p3*mask
> plot(p3, col=colAP, axes=FALSE, main="GLM")
> plot(p4, col=colAP, axes=FALSE, main="Maxent")
![Page 86: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/86.jpg)
Maximum entropy modelling (Maxent)
85/90 Niche & Distribution Data Presence-Absence Presence-Only
Evaluation of maxent performances
> occ <- which(valid$pa==1)
> occtest <- data.frame(cbind(valid$x[occ], valid$y[occ]))
> names(occtest) <- c("lon", "lat")
> occtest <- SpatialPoints(occtest, fr@proj4string)
> occtest <- spTransform(occtest, CRS(laea))
> bg <- randomPoints(mask=mask, n=nrow(valid)-length(occ))
> e <- evaluate(model=M4, p=occtest, a=bg, x=predictors)
> e
class : ModelEvaluation
n presences : 1354
n absences : 7940
AUC : 0.8145358
cor : 0.3862409
max TPR+TNR at : 0.3821696
Performs better than M3 (GLM)
![Page 87: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/87.jpg)
Maximum entropy modelling (Maxent)
86/90 Niche & Distribution Data Presence-Absence Presence-Only
Change Maxent’s default parameters to fit a smother model
> a1 <- c("product=FALSE")
> a2 <- c("threshold=FALSE")
> a3 <- c("hinge=FALSE")
> a4 <- c("responsecurves=TRUE")
> M5 <- maxent(predictors, occtrain, args=c(a1, a2, a3, a4))
![Page 88: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/88.jpg)
Maximum entropy modelling (Maxent)
87/90 Niche & Distribution Data Presence-Absence Presence-Only
Response curves
> response(M5, cex.lab=1.5, col="black")
![Page 89: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/89.jpg)
Maximum entropy modelling (Maxent)
88/90 Niche & Distribution Data Presence-Absence Presence-Only
Compare predictions between M4 & M5
![Page 90: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/90.jpg)
Maximum entropy modelling (Maxent)
89/90 Niche & Distribution Data Presence-Absence Presence-Only
Predictions from GLM & Maxent with the same set of predictors
> windows(16, 8)
> par(mfrow=c(1, 2), mar=c(1, 1, 2, 4))
> p5 <- predict(M5, predictors)
> plot(p4, col=colAP, axes=FALSE, main="M4 (Maxent)")
> plot(p5, col=colAP, axes=FALSE, main="M5 (Maxent)")
![Page 91: Data analysis in R: linking species distribution data to ... · PDF fileThe niche concept 2/90 Key papers (Pulliam, 2000; Soberon, 2007; Colwell & Rangel, 2009) Niche & Distribution](https://reader031.vdocument.in/reader031/viewer/2022030407/5a8733a47f8b9afc5d8da48a/html5/thumbnails/91.jpg)
Maximum entropy modelling (Maxent)
90/90 Niche & Distribution Data Presence-Absence Presence-Only
Model evaluation
> e <- evaluate(model=M5, p=occtest, a=bg, x=predictors)
> e
class : ModelEvaluation
n presences : 1354
n absences : 7940
AUC : 0.8001492
cor : 0.3670693
max TPR+TNR at : 0.4720257