Course information

Instructors: Jeff Doser

Venue: Zoom


Course description

Management and conservation of wildlife in the 21st century involves myriad data collection approaches to provide scientific-based information to guide management decisions or answer ecological questions. These approaches range from traditional field-based line transects or surveys, to numerous automated approaches such as camera trapping, acoustic recording units, or GPS tags, to complex (and big) genetic data, to public science data. Such disparate data types require state-of-the-art statistical approaches to account for the many complexities inherent in the different ways we collect data to inform wildlife management and conservation. Bayesian analysis has become increasingly common due to its great flexibility in analyzing complex data sets with a variety of different observational and/or sampling biases. In this workshop, I will provide a gentle introduction to Bayesian modeling and its application in wildlife ecology. I will introduce the foundational concepts of Bayesian statistics and how it relates to more traditional approaches, and then we will take a guided tour of how to implement different types of statistical models in a Bayesian framework using the R package brms. I do not assume any previous experience with Bayesian statistics. Participants with basic knowledge of program R and statistical analysis will experience a gentler learning curve.

Prior to the course getting started

This course offers lecture, discussion, and hands-on exercises on Bayesian approaches in wildlife ecology and conservation. I encourage you to work along with me on the exercises. To participate in the exercises, you’ll need a recent version of R (\(\geqslant\) 4.2).

Installing R packages

In the exercises, we will use a variety of R packages for exploratory data anlysis, visualizations, and fitting Bayesian models. I encourage you to install the packages below if you do not have them. The code below can be run in R to only install those packages that don’t currently exist on your system.

required.packages <- c('brms', 'ggplot2', 'nimble', 'MCMCvis', 'coda', 'loo', 
                       'sf', 'stars', 'spAbundance', 'spOccupancy')
new.packages <- required.packages[!(required.packages %in% installed.packages()[, 'Package'])]
if (length(new.packages) > 0) {
  install.packages(new.packages)
}

Course outline

This 8-hour workshop will cover the following topics:

  1. Model building and modes of inference – Frequentist vs. Bayesian inference
  2. The basics of Bayesian inference – how does it work?
  3. Bayesian linear models
  4. Bayesian generalized linear models
  5. Hierarchical Bayesian models

We will have a 30 min lunch break from 12:30-1pm CST, as well as a couple 15 min breaks dispersed throughout the day.

Model fitting will primarily be done using the brms package. Code to fit the same models in NIMBLE will also be provided for direct comparison with the models fit in brms. I will only spend a short amount of time introducing NIMBLE and rather this additional code is given for those interested in further learning NIMBLE after the course.

Additional materials will also be provided on the following topics:


GitHub Code Repository

Code for all exercises and examples in the course, as well as the associated lectures, are all available on GitHub.