Package: | EpiModel |
Type: | Package |
Version: | 2.5.0 |
Date: | 2024-10-10 |
License: | GPL-3 |
LazyLoad: | yes |
EpiModel provides functionality for three classes of epidemic models:
Deterministic Compartmental Models: these continuous-time models are solved using ordinary differential equations. EpiModel allows for easy specification of sensitivity analyses to compare multiple scenarios of the same model across different parameter values.
Stochastic Individual Contact Models: a novel class of individual-based, microsimulation models that were developed to add random variation in all components of the transmission system, from infection to recovery to vital dynamics (arrivals and departures).
Stochastic Network Models: with the underlying statistical framework of temporal exponential random graph models (ERGMs) recently developed in the Statnet suite of software in R, network models over epidemics simulate edge (e.g., partnership) formation and dissolution stochastically according to a specified statistical model, with disease spread across that network.
EpiModel supports three infectious disease types to be run across all of the three classes.
Susceptible-Infectious (SI): a two-state disease in which there is life-long infection without recovery. HIV/AIDS is one example, although for this case it is common to model infection stages as separate compartments.
Susceptible-Infectious-Recovered (SIR): a three-stage disease in which one has life-long recovery with immunity after infection. Measles is one example, but modern models for the disease also require consideration of vaccination patterns in the population.
Susceptible-Infectious-Susceptible (SIS): a two-stage disease in which one may transition back and forth from the susceptible to infected states throughout life. Examples include bacterial sexually transmitted diseases like gonorrhea.
These basic disease types may be extended in any arbitrarily complex way to simulate specific diseases for research questions.
EpiModel uses three model setup functions for each model class to input the necessary parameters, initial conditions, and control settings:
param.dcm
, param.icm
, and
param.net
are used to input epidemic parameters for each
of the three model classes. Parameters include the rate of contacts or
acts between actors, the probability of transmission per contact, and
recovery and demographic rates for models that include those
transitions.
init.dcm
, init.icm
, and
init.net
are used to input the initial conditions for
each class. The main conditions are limited to the numbers or, if
applicable, the specific agents in the population who are infected or
recovered at the simulation outset.
control.dcm
, control.icm
, and
control.net
are used to specify the remaining control
settings for each simulation. The core controls for base model
types include the disease type, number of time steps, and number of
simulations. Controls are also used to input new model functions (for
DCMs) and new model modules (for ICMs and network models) to allow the
user to simulate fully original epidemic models in EpiModel. See the
documentation for the specific control functions help pages.
With the models parameterized, the functions for simulating epidemic models are:
dcm
for deterministic compartmental models.
icm
for individual contact models.
Network models are simulated in a three-step process:
netest
estimates the statistical model for the network
structure itself (i.e., how partnerships form and dissolve over time
given the parameterization of those processes). This function is a
wrapper around the ergm
and tergm
functions in the
ergm
and tergm
packages. The current statistical
framework for model simulation is called "egocentric inference":
target statistics summarizing these formation and dissolution
processes collected from an egocentric sample of the population.
netdx
runs diagnostics on the dynamic model fit by
simulating the base network over time to ensure the model fits the
targets for formation and dissolution.
netsim
simulates the stochastic network epidemic
models, with a given network model fit in netest
. Here
the function requires this model fit object along with the
parameters, initial conditions, and control settings as defined
above.
Maintainer: Samuel Jenness samuel.m.jenness@emory.edu
Authors:
Steven M. Goodreau goodreau@uw.edu
Martina Morris morrism@uw.edu
Adrien Le Guillou contact@aleguillou.org
Chad Klumb cklumb@gmail.com
Other contributors:
Skye Bender-deMoll skyebend@uw.edu [contributor]
The EpiModel software package provides tools for building, solving, and visualizing mathematical models of infectious disease dynamics. These tools allow users to simulate epidemic models in multiple frameworks for both pedagogical purposes ("base models") and novel research purposes ("extension models").
The EpiModel website is at https://www.epimodel.org/, and the source code is at https://github.com/EpiModel/EpiModel. Bug reports and feature requests are welcome.
Our primary methods paper on EpiModel is published in the Journal of Statistical Software. If you use EpiModel for any research or teaching purposes, please cite this reference:
Jenness SM, Goodreau SM, and Morris M. EpiModel: An R Package for Mathematical Modeling of Infectious Disease over Networks. Journal of Statistical Software. 2018; 84(8): 1-47. tools:::Rd_expr_doi("10.18637/jss.v084.i08").
We have also developed two extension packages for modeling specific disease
dynamics. For HIV and bacterial sexually transmitted infections, we have
developed EpiModelHIV
, which is available on Github at
https://github.com/EpiModel/EpiModelHIV. For COVID-19, we have
developed EpiModelCOVID
, which is available at
https://github.com/EpiModel/EpiModelCOVID.
Useful links: