deepSSF
This website accompanies the paper ‘Predicting animal movement with deepSSF: a deep learning step selection framework’, which can be found on bioRxiv.
We created this website to help with understanding the approach, as well as providing all of the code to prepare the data, train a deepSSF model, generate simulations of animal trajectories, assess the trajectories against the observed data, and validate the next-step-ahead predictions against typical SSF models.
The tools for understanding the approach are mostly contained within the navigation tabs at the top, whereas the scripts for everything else are listed in the left sidebar.
For getting started, I suggest visiting the Getting Started tab first, which has some instructions for setting up Python and accessing the deepSSF code, and a Step Selection Intuition section that walks through the step selection process, making the link to step selection functions (SSFs), which are the foundation for the deepSSF approach. There is also a section on Deep Learning Concepts that has lots of resources to get started, and a deepSSF Model Overview tab which provides information about the deepSSF model that we used, including an example of what it looks like being trained, and then some simulations from the model.
There are also many plots and descriptions in the scripts in the left sidebar, particularly in the deepSSF Training script (where the model is fitted to data). I expect that these will also be helpful to understand the approach.
As I (Scott) didn’t know Python before getting into this paper, there is a mix of R code (because I’m familiar with it) and Python code (because the deep learning libraries, namely Pytorch, are more developed in it). We are working on applying the deepSSF approach to some other datasets and will be continuing to develop the code, so we may work on translating some scripts the other langauage. There exists torch for R, so as far as I’m aware the deepSSF models could also be written in R (although we do have quite a few bespoke components).
As the Python scripts are all written in Jupyter Notebooks, it is straightforward to run them in Google Colab, which provides a Python environment as well as access to GPUs. It can be used for free, although when we were training the model many times we paid a small fee for some computing units. The deepSSF models that we built are not big however, and can be run locally on CPU alone in about an hour (which reduces to about 5 mins on a GPU).
If you want to get in contact, feel free to reach out to scottwforrest@gmail.com
, or you can follow me on Bluesky.