Examples of available tools
Introduction
In the course so far we introduced key concepts and methods in nowcasting and forecasting of infectious disease dynamics, using a combination of R and (mostly) stan. Being able to understand these concepts and implement them in stan comes with the ability to create and adapt models that are tailor made to any given situation and specific characteristics of any given data set. At the same time, there is value in using and contributing to open-source tools that implement some or all of the methods we have encountered in the course. These tools have varying levels of flexibility to deal with different kinds of epidemiological problems and data. Whilst they will never have the flexibility of completely custom approaches, using and contributing to them avoids duplication, improves the chances of finding errors, and helps discussing and ultimately enforcing best practice.
Slides
Objective
The aim of this session is to try out some of the tools that are available that use some of the ideas we have discussed in this course.
Source file
The source file of this session is located at sessions/examples-of-available-tools.qmd
.
Installing tools
In order to install the tools mentioned below, refer to the installation instructions supplied with each of the packages.
Trying out available tools
We are going to suggest trying three tools that implement several or all the concepts introduced in this course:
EpiEstim
EpiEstim implements the renewal equation on a time series of infections in a Bayesian framework, i.e. the model in estimate-r.stan
in the session on \(R_t\) estimation. In combination with the projections package in can be used for forecasting.
The EpiEstim vignette is a good starting point for a walkthrough of \(R_t\) estimation and forecasting.
EpiNow2
EpiNow2 implements the renewal equation on a time series of delayed outcomes including nowcasts with a known reporting delay distribution, as well as forecasts using a Gaussian Process or random walk model, i.e. the models introduced here except the joint inference of nowcasts and delays and/or reproduction numbers.
The example of nowcasting, \(R_t\) estimation and forecasting with EpiNow2 is a good place to find out more about how to use EpiNow2 with linelist data.
Epinowcast
Epinowcast was created to replace EpiNow2. It implements all the models discussed in the course with a frontend to work with line lists, data by reference and report date or cumulative data snapshots. Whilst this model can also be used for forecasts (as we have seen) this does not currently have a user-facing interface in the package.
The vignette on estimating the effective reproduction number in real-time for a single timeseries with reporting delays is a good example of joint nowcasting and reproduction number estimation from an aggregated time series of reference (outcome) and reporting counts. This example does not start from a line list but does contain information about using the package for transforming between line list and appropriately aggregated data.
Going further
There are many other R packages that can be used for \(R_t\) estimation, nowcasting and forecasting. We invite readers to suggest further additions on our discussion board.