I'm using biomod2 in R and my ensemble model performs worse on the evaluation data (drastically lower ROC, 0.835) than any of the individual models (ROC ranges 0.89-0.97). What could be causing this? Code example below. I'm using a 70/30 training/evaluation split as well. Note: ROC performance for training data is equivalent between individual models vs ensemble. Thank you!
myBiomodModelOutHyacinthBig <- BIOMOD_Modeling( chuck.sp.bm, models = c('GLM', 'GAM', 'RF', 'GBM'), # four algorithms NbRunEval=3, # number of iterations DataSplit=70, # used for internal data calibration VarImport=10, # num of bootstraps to determine var importance models.eval.meth = c('TSS','ROC','ACCURACY'), # performance metrics do.full.models=FALSE, # run using all training data rescal.all.models = T, # need for ensemble compatibility ) myBiomodEMHyacinth <- BIOMOD_EnsembleModeling(modeling.output = myBiomodModelOutHyacinthBig, chosen.models = 'all', em.by = 'all', eval.metric = c('TSS'), eval.metric.quality.threshold = c(0.7), prob.mean = TRUE, prob.mean.weight = FALSE, prob.cv = FALSE, prob.ci = FALSE, prob.median = FALSE)