Computational Modeling of Infectious Disease: With Applications in Python

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Computational Modeling of Infectious Disease provides an illustrated compendium of tools and tactics for analyzing infectious diseases using cutting-edge computational methods. From simple S(E)IR models through time series analysis to geospatial models, this book is both a guided tour through the computational analysis of infectious diseases and a quick-reference manual for practitioners. Chapters are accompanied by extensive practical examples in Python, illustrating applications from start to finish. The text is designed for researchers and practicing infectious disease forecasters, modelers, data scientists, and those who wish to learn more about analysis of infectious disease processes in the real world.

Author(s): Chris Von Csefalvay
Publisher: Academic Press
Year: 2023

Language: English
Pages: 475
City: London

Front Cover
Computational Modeling of Infectious Disease
Copyright
Contents
List of figures
Biography
Chris von Csefalvay
Foreword
Preface
1 Introduction
1.1 Why we model infectious disease
1.2 A brief history of the discipline
1.3 What this book is about
1.4 The computational mindset
1.5 Who this book is for
1.6 What this book is not about
1.7 How to use this book
1.7.1 Prerequisites
1.7.2 Software specifications
1.7.2.1 Ellipses and omissions
1.7.2.2 Line lengths
1.7.2.3 Typing
1.7.2.4 Standard imports
1.7.2.5 Plotting and visualization
1.7.3 A note on structure
1.7.4 Language and terminology
1.7.5 Conventions
1.7.5.1 Compartment definitions
1.7.5.2 A note on symbols
1.7.5.3 Symbols in code
1.7.5.4 R versus R
1.7.6 Flows and multiple infection
1.7.7 A note on matrix multiplication
1.8 Definitions, computational examples, and practice notes
2 Simple compartmental models
2.1 The intuition of compartmental models
2.1.1 Case study: influenza A outbreak on Tristan da Cunha
2.1.2 Defining compartments
2.1.3 The principle of mass action
2.1.4 A basic SIR model
2.1.5 The basic reproduction number R0
2.1.6 The time-dependent reproduction number Rt
2.1.7 Threshold conditions of epidemics
2.1.8 Density-dependence, frequency-dependence, and other factors
2.1.9 Peak severity of epidemics
2.1.10 The final size of epidemics
2.1.11 Epidemic burnout
2.2 Modeling mortality and vital dynamics
2.2.1 Case study: births and deaths in HIV
2.2.2 A multioutcome SIR model: SIRD
2.2.2.1 Governing equation
2.2.2.2 Blighted lives
2.2.3 Modeling births
2.2.3.1 Naive births
2.2.3.2 Modeling vertical transmission of disease
2.2.3.3 Disease-related effects on fecundity (DREF)
2.2.4 Modeling natural mortality
2.2.5 Constant-population naive-birth isotropic mortality model
2.2.6 R0 in combined demographic models
2.2.7 Funerary transmission
2.3 Models of immunity
2.3.1 Case study: periodicity in syphilis incidence
2.3.2 No-immunity models (SI)
2.3.2.1 SI models with no vital dynamics and no recovery
2.3.2.2 SI models with clearance (SIS models)
2.3.3 Modeling loss of immunity
2.3.4 Maternal immunity
2.4 Models with latent periods, asymptomatic infection, and carrier states
2.4.1 Case study: the true story of “typhoid Mary”
2.4.2 Modeling the latent period: SEIR models
2.4.3 Models of recovery into carrier state
2.4.3.1 Recovery into carrier state with equal infectiousness
2.4.3.2 Accounting for reduced infectiousness
2.4.3.3 R0 in models with a carrier state
2.5 Empirical parameter estimation
2.5.1 Case study: early estimation of the R0 of Covid-19
2.5.2 Next-generation matrices
2.5.3 Determining R0 from epidemiological data
2.5.3.1 Contact tracing
2.5.3.2 Wallinga-Lipsitch method
2.5.3.3 Hesterbeek-Dietz (final epidemic size) method
2.5.3.4 Mean age at infection
2.5.4 Estimating Rt
2.5.5 Estimating recovery rate
2.5.6 Estimating vital dynamic parameters
2.5.6.1 Mortality
2.5.6.2 Birth rate
2.5.7 Estimating waning rate
2.5.8 Multiparameter estimation by nonlinear curve fitting
3 Host factors
3.1 Heterogeneity of transmission risk
3.1.1 Case study: determinants of hepatitis C transmission
3.1.2 Modeling risk-heterogeneous populations
3.1.2.1 Analysis of the WAIFW matrix
3.1.2.2 Coupled dynamics in risk-heterogeneous models
3.1.3 R0 for risk-heterogeneous populations
3.1.4 Superspreading and supershedding
3.1.5 Treatment effect
3.1.6 Hospitalization
3.1.7 Vulnerability estimation from WAIFW matrices
3.2 Continuous and semicontinuous heterogeneities
3.2.1 Case study: age-dependent transmission heterogeneities
3.2.2 Semidiscrete heterogeneities
3.2.3 Discretized continuous heterogeneities
3.2.4 Inference of mixing matrices
3.2.5 Age-dependent continuous heterogeneities
4 Host-vector and multihost systems
4.1 Pure vector-borne diseases
4.1.1 Case study: malaria
4.1.2 The basic dynamics of a vector-borne disease
4.1.3 The Ross malaria model
4.1.4 Basic reproductive number of the Ross malaria model
4.1.5 Stability of the Ross malaria model
4.1.6 Temporal dynamics between planes
4.1.7 Parameter inference in vector-borne diseases
4.2 Zoonotic disease
4.2.1 Case study: Zaire ebolavirus and the 2013–16 West African outbreak
4.2.2 Modeling host-transmissible zoonoses
4.2.3 Reservoir hosts and reinfection
4.2.4 Seasonal variance of zoonotic transmission
4.2.5 Zoonoses and birth dynamics
5 Multipathogen dynamics
5.1 Multipathogen systems with cross-immunity
5.1.1 Case study: too much of a good thing?
5.1.2 Simple multipathogen models with perfect cross-immunity
5.1.3 Incomplete cross-immunity
5.1.4 Antibody-dependent enhancement
5.1.5 Antimicrobial resistance as a multipathogen problem
5.1.6 Microscale models of antimicrobial treatment and immunity
5.2 Multipathogen systems without cross-immunity
5.2.1 Case study: pertussis and measles
5.2.2 Simple multipathogen systems without cross-immunity and without coinfection
5.2.3 Multipathogen systems without cross-immunity and with coinfection
5.2.4 The coinfection matrix
5.2.5 Multipathogen facilitation
6 Modeling the control of infectious disease
6.1 Modeling vaccination
6.1.1 Case study: measles vaccination over the years
6.1.2 Modeling vaccines effective against both illness and transmission
6.1.2.1 Initial vaccination
6.1.2.2 Fixed-rate vaccination
6.1.2.3 Pulse vaccination
6.1.2.4 Seasonally rate-varying vaccination
6.1.3 Risk-targeted vaccination
6.1.4 Game theoretical perspectives on vaccination
6.2 Duration and effectiveness of vaccine-induced immunity
6.2.1 Case study: Marek’s disease
6.2.2 Incomplete effect of vaccines
6.2.3 Waning immunity
6.2.4 Mutating out of immunity
6.2.5 Boosting
6.3 Isolation and quarantine
6.3.1 Case study: nonpharmaceutical interventions against Covid-19
6.3.2 General quarantine
6.3.3 Quarantines and healthcare capacity
6.3.4 Circuit breakers
6.3.5 Quarantine of the infectious
6.3.6 Post-exposure quarantine
6.3.7 Shielding (quarantine of high-risk susceptibles)
7 Temporal dynamics of epidemics
7.1 Equilibrium states and stability analysis
7.1.1 Case study: pandemics, epidemics, and endemics
7.1.2 Disease-free and endemic equilibria
7.1.3 Identifying equilibria
7.1.4 Equilibrium stability analysis
7.1.5 Bifurcations and equilibria
7.1.6 Equilibria of SEIR models
7.1.7 Equilibria of SIS models
7.1.8 Equilibria of SIRS models
7.2 Seasonality and periodicity in infectious diseases
7.2.1 Case study: Farr’s Law and smallpox in Britain
7.2.2 Seasonality and decomposition
7.2.3 Perennial processes
7.2.4 Continuous wavelet transform (CWT)
7.3 Temporal forcing
7.3.1 Case study: summer, school, and poliomyelitis
7.3.2 Sinusoidal forcing
7.3.3 Term-time forcing
7.3.4 Non-β forcing
7.3.5 Bifurcations and chaos
8 Spatial dynamics of epidemics
8.1 Spatial lattice models
8.1.1 Case study: the game of life (and death)
8.1.2 Simple spatial lattices
8.1.3 Spatial interaction in lattices
8.1.4 Influence
8.1.5 Neighborhood and quorum sensing
8.2 Computational geospatial infectious disease analysis
8.2.1 Case study: space to (stop) spread
8.2.2 Spatial autocorrelation
8.2.3 Infectious disease and the urban space
8.2.4 Access heterogeneities in space
8.2.5 Site selection and facility location
8.2.6 Spatial graph interdiction
9 Agent-based modeling
9.1 The fundamentals of agent-based modeling
9.1.1 Case study: Schelling’s surprising result
9.1.2 Simulating disease processes with ABMs
9.1.2.1 Defining the model
9.1.2.2 Defining states
9.1.2.3 Defining the agent class
9.1.2.4 Grids and spaces
9.1.2.5 Activation and steps
9.1.2.6 Parametrization, reporting and data collection
9.1.2.7 Populating and seeding models
9.1.2.8 Batch running, iteration and space exploration
9.1.3 Models of infection
9.1.4 ABMs of heterogeneous populations
9.1.5 Population generation and synthesis
9.1.6 Host-vector models
9.1.7 Multiple concurrent epidemics
9.1.8 Epidemic competition
9.1.9 Opinion dynamics
9.2 Agent-based models of disease control
9.2.1 Case study: the anti-vaccine epidemic
9.2.2 ABMs of quarantine
9.2.3 ABMs of vaccination
9.2.4 Vaccine and prophylaxis allocation
9.2.5 ABMs of treatment effects
9.3 Agent-based models of mobility
9.3.1 Case study: MEV-1
9.3.2 Spatial graph agent-based models with mobility
9.3.3 Homesick agents
A Fundamentals of Python syntax
A.1 Executing Python
A.1.1 REPL
A.1.2 Notebook environments
A.2 Basic syntactic rules
A.2.1 Spaces and indents
A.2.2 Multi-line code
A.2.3 Comments
A.3 Identifiers and variables
A.3.1 Valid names
A.3.2 Assignment
A.3.3 Typing
A.3.4 Numbers
A.3.5 Strings
A.3.6 Booleans
A.4 Functions
A.4.1 Function syntax
A.4.2 Positional arguments and keyword arguments
A.4.3 Unpacking parameters
A.4.4 Destructuring assignment
A.4.5 Side effects
A.4.6 Lambdas
A.4.7 Global variables and variable scope
A.5 Control flow and operations
A.5.1 Conditional statements
A.5.2 Iterative (looping) statements
A.5.3 Transfer of control flow
A.5.4 Exception handling
A.6 Collections and iterables
A.6.1 Iteration and indexation
A.6.2 Indexing
A.6.3 Tuples
A.6.4 Lists
A.6.5 Sets
A.6.6 Dictionaries
A.6.7 Comprehensions
A.6.8 Generators
A.6.9 Ranges and enumerations
A.6.10 Itertools
A.7 Arithmetics and basic operations
A.7.1 Arithmetic operations
A.7.2 Comparison operators
A.7.3 Set and logical operators
A.8 Program structure
A.8.1 Imports
A.8.2 Main call
A.8.3 Environments
A.9 Object-oriented programming
A.9.1 Initialization
A.9.2 Attribute access and self
A.9.3 Inheritance
A.9.4 Multiple inheritance and the MRO
A.10 Ancillary tools
A.10.1 Linting
A.10.2 Type enforcement
A.11 Beyond the standard library
A.11.1 NumPy
A.11.1.1 Arrays
A.11.1.2 Indexing
A.11.1.3 Broadcasting
A.11.1.4 Vectorization and universal functions
A.11.2 Pandas
A.11.2.1 Structure
A.11.2.2 Indexing
A.11.2.3 Filtering
A.11.2.4 Window functions
A.11.2.5 Aggregation
A.11.2.6 Function application
A.11.3 SciPy
A.11.3.1 ODE solving
A.11.3.2 Minimization
A.11.3.3 Curve fitting
A.12 Where to find help
References
Index
Back Cover