The open-source R package surveillance implements statistical methods for the modeling and monitoring of epidemic phenomena based on (infectious disease) surveillance data. This includes time series of counts, proportions and categorical data as well as spatio-temporal point processes. Potential users are biostatisticians, epidemiologists and others working in, e.g., applied infectious disease epidemiology. However, applications could just as well originate from environmetrics, reliability engineering, econometrics or the social sciences.
The S4 class
"sts" (surveillance time series), created via
linelist2sts(), represents (multivariate) time series of counts. For areal time series, the class can also capture population fractions, a map, and a weight matrix. The
"sts" class supersedes the
Salmon et al. (2016) provide an overall guide to the monitoring capabilities of surveillance. The paper is available as
vignette("monitoringCounts", package = "surveillance") with the package. Further descriptions can be found in a book chapter by Höhle and Mazick (2010, preprint), and – slightly outdated – Höhle (2007) and
vignette("surveillance", package = "surveillance").
Aberration detection in count data time series, e.g.,
Online change-point detection in categorical time series, e.g.,
A Markov Chain approximation for computing the run-length distribution of the proposed likelihood ratio CUSUMs is available as function
See the reference section on outbreak detection for the complete list of algorithms.
These methods have also been used for COVID-19 surveillance, for example:
Meyer et al. (2017) provide an overall guide to the spatio-temporal modeling capabilities of surveillance. The three regression-oriented modeling frameworks for epidemic phenomena are also described in corresponding package vignettes:
vignette("twinstim", package = "surveillance")
"epidataCS"holds the observed events (with covariates) and exogenous covariates on a space-time grid (for the endemic component)
epitest()for space-time interaction
vignette("twinSIR", package = "surveillance")
vignette("hhh4_spacetime", package = "surveillance")for areal time series, and more generally in
vignette("hhh4", package = "surveillance"), including the univariate case
These endemic-epidemic modelling frameworks have proven useful in a wide range of applications, including for COVID-19. We loosely maintain a list of related publications at https://surveillance.R-forge.R-project.org/applications_EE.html.
The stable release version of surveillance is hosted on the Comprehensive R Archive Network (CRAN) at https://CRAN.R-project.org/package=surveillance and can be installed via
The development version of surveillance is hosted on R-Forge at https://R-Forge.R-project.org/projects/surveillance/ in a Subversion (SVN) repository. It can be installed via
install.packages("surveillance", repos = "https://R-Forge.R-project.org")
Contributions are welcome! Please report bugs via e-mail to
Note that (large) new features are unlikely to be included in surveillance. Some extensions have already been developed in separate packages, for example hhh4contacts, HIDDA.forecasting, and hhh4addon.
The authors acknowledge financial support from the following institutions:
The surveillance package is free and open-source software, and you are welcome to redistribute it under the terms of the GNU General Public License, version 2. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.