5

I am trying to run an ensemble species distribution, however the the results I am getting for MAXENT.Phillips model are not reasonable projections compared to the Random Forest and Boosted Regression models that I am using.

The projection for MAXENT deviates heavily from the other projections. I attached a picture demonstrating first the Random Forest projection, then the Boosted Regression, and on the right is the MAXENT projection, which appears to not be strict at all with it's predictions.

[BIOMOD 2070 Projection of Random Forest, Boosted Regression and MAXENT]

Using the same environmental variables, presence and background points, I ran a projection in the 'Dismo' package and obtained results more reasonable and in agreement to the Random Forest and Boosted models in BIOMOD2.

This leads me to believe that I have not adjusted a default setting in BIOMOD, but I am at a loss for what I need to do.

I included my code below. Why am I getting such different projections in MAXENT?

For the environmental variables, I used the getdata function.

ext.1<-extent(95,115,25,45) 
bio.15 <- getData('worldclim',var='bio',res=2.5) 
bio.15<-crop(bio.15,ext.1) 
bio.15<-stack(bio.15)

And for the projection environmental variables:

bio.70<-getData('CMIP5',var='bio',res=2.5,rcp=85,model='AC',year=70)
bio.70<-crop(bio.70,ext.1)
bio.70<-stack(bio.70)
names(bio.70)<-names(bio.15)

Beyond that, I kept everything relatively similar to the BIOMOD2 vignette. The link to the csv is here csv_link:

file<-paste([csv_link])
data.short<-read.table(file,header=TRUE,sep=",")
resp.name<-'GiantPanda'
resp.test<-as.numeric(panda.data.short[,1])
resp.xy.test<-data.frame(panda.data.short[,c("POINT_X","POINT_Y")])
ensemble.test<-BIOMOD_FormatingData(resp.var=resp.test,
                               expl.var=bio.15,
                               resp.xy=resp.xy.test,
                               resp.name=resp.name)

The .jar file is in the working directory, and there are no spaces in the working directory

ensembleoption<-BIOMOD_ModelingOptions()

ensemble.out.test<-BIOMOD_Modeling(
  ensemble.test,
  models=c('RF','GBM','MAXENT.Phillips'),
  models.options=ensembleoption,
  NbRunEval=1,
  DataSplit=70,
  Prevalence=NULL,
  VarImport=1,
  models.eval.meth=c('TSS','ROC'),
  SaveObj=TRUE,
  rescal.all.models=FALSE, 
  do.full.models=FALSE,
  modeling.id="3_28")

Then the projection is:

proj.future<-BIOMOD_Projection(
  modeling.output=ensemble.out.test,
  new.env=bio.70,
  proj.name='projection_future_3_28',
  selected.models='all',
  binary.meth=NULL,
  compress='xz',
  build.clamping.mask=T,
  output.format='.grd')
1

The issue here is that you are not using pseudo absences (but only true absences). This setting is not obtimal at all for MAXENT that is optimize design to spot te difference between presences and the rest (backgroud wich random pseudo-absences is from a computing point of view the same even if it is slightly diferent philosophically.. but I'll not go on this point here). Then to get more reasonable results you should:

  • use the background_data_dir option from BIOMOD_ModellingOptions(MAXENT.Phillips = list(background_data_dir = ... )) where you have to give the path to a directory where your environmental raster file are stored as .ascii files

OR

  • use some random pseudo absences sampling at BIOMOD_FormattingData() step.
  • Originally in the CSV link it should be presence and background points, not true-absence. What I am still curious about though is why these two packages for MAXENT have extremely different outputs. Does the BIOMOD2 package assume these data are 'true-absence' while the Dismo package assumes these data are 'background'? – B. R. Oct 30 '17 at 16:36
  • Depends how they have been seted up at BIOMOD_FormattingData() stage. Presences are considered as presences, absences as absences and pseudo-absences as backgroud (that is why is highly recommended to use a large amount of random sampled pseudo-absences to be close to the backgroud concept) – Damien Georges Oct 31 '17 at 17:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.