🌲 🌉 Species distribution models with BART 🌉 🌲
Bayesian additive regression trees (BARTs) are an exciting alternative to other popular classification tree methods being used in ecology, like random forests or boosted regression trees. Whereas boosted regression trees fit an ensemble of trees each explaining smaller fractions of variance, BART starts by fitting a sum-of-trees model and then uses Bayesian "backfitting" with an MCMC algorithm to create a posterior draw.
BART does well with model-free variable selection and handles irrelevant predictors well; the Bayesian aspect also comes with perks, like posterior distributions on predictions (without having to bootstrap, like you do with BRTs) and automated confidence intervals on partial dependency plots. So far, it also seems to avoid the problem BRTs have for niche modeling: with no automated selection of tree depth or tree complexity, BRTs tend to overfit especially with randomly-generated pseudoabsences and ensembling over subsets. In previous "bake-offs", BART commonly outperforms other methods.
Are BARTs new to ecology?
No, there is nothing new under the sun. Yen et al. used BARTs to examine habitat selection of birds back in 2011. But so far, no, no one is using them for species distribution modeling (as far as I can tell).
What does embarcadero do?
This package is basically a wrapper around 'dbarts' with a few tools
- spatial prediction
- variable importance
- stepwise variable elimination
- AUC calculation
- a 95% credible interval from the posterior distribution
- automatic Nice Plots for partials, including multiple ways to visualize posterior draws
- spatial projection of partials ("spartials")
In future versions I'd hope to include:
- parallelized prediction to Make More Faster
- compatibility with other BART engines/possibility to select one manually
- explicitly-spatial adaptations of BART (spatial priors)
How do I install?
# install.packages('devtools') devtools::install_github('cjcarlson/embarcadero')
Can I help?
Please! Reach out to email@example.com if you want to help with development or otherwise are interested in being one of the first users.
Why is it called embarcadero?
Because of Embarcadero BART station, and because I'm homesick for Humphry Slocombe.