TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
ICPSR - Complex Systems Models in the Social Sciences - Bonus Content - Professor Daniel Martin Katz (Guest: Jon Zelner)
1. Computational models of
infectious disease
transmission
Jon Zelner
Postdoctoral Fellow, Ecology & Evolutionary Biology @ Princeton University
Postdoctoral Fellow, NIH Fogarty International Center Research and
Policy for Infectious Disease Dynamics (RAPIDD) Program
2. Objectives
Dissect an important,
classic model.
Understand strengths and
limitations of the classical
model.
Look at alternative
implementations and
applications to different
problem domains.
3. Why model infectious
disease (ID) transmission?
A wide variety of IDs cause significant
Morbidity: norovirus, seasonal influenza
Mortality: HIV, pandemic influenza
ID transmission is often multi-level but datasets typically only
capture one level at a time.
e.g., households vs. community
Want to relate characteristics of pathogens to quantitative
descriptions of their dynamics.
4. Classical SIR Model
Example of a state-space model
Individuals occupy one three states at any given time:
Susceptible: Susceptible individuals are not infected and may become
infected upon exposure to an infected individual.
Infectious: Infectious individuals are currently ill and may infect susceptibles,
with rate b. Infectious individuals recover with average rate g.
Recovered/Immune: Recovered individuals are no longer infectious and are
considered to be permanently immune, that is, they cannot be re-infected.
S I RbI g
5. SIR Model:
Assumptions
In the classical SIR model,
all individuals are assumed
to be in contact with all
others.
Population assumed to be
infinite.
Individuals subject to
spontaneous recovery with
probability g on every step.
€
dS
dt
= −bSI
dI
dt
= bSI − gI
dR
dt
= gI
!
6. SIR Model: Predictions
Ro is the basic reproductive number
Expected # of new cases generated by a single
infectious individual.
In basic SIR model, Ro = b / g
If Ro >= 1: We should expect to see outbreaks
If Ro < 1: Expect to see fade-out.
Can use this quantity to make predictions about
outbreak dynamics and intervention.
7. SIR Model w/Vital Dynamics
Here, we add simple birth
and death.
Individuals are born and
die at rate mu, so the
population size is
constant.
Ro = b / (g+mu)
8. SIR Model: Vaccination
of Newborns
P is proportion of
newborns vaccinated at
birth.
Model implies that if:
Ro(1-P) < 1, vaccination
is effective
P>= P* = 1 - (1/Ro)
9. Deterministic models approximate
stochastic outbreak dynamics
Random variability is actually the major concept
behind deterministic outbreak models.
Epidemic curve in standard SIR model is the
expected mean epidemic trajectory, given b & g.
Deviations from this trajectory are assumed to be:
Caused by small, random shocks.
Uncorrelated in time, so that a random event at t
is independent of one at t+dt.
12. Modeling transitions from between
emotional states: discontent,
neutral, content.
Individuals in neutral state are
analogous to susceptibles and can
become either content or
discontent.
Additional parameter: a, random
probability per unit of time that
ego will change state from neutral
to content or discontent.
Modeling the diffusion of emotions:
SISa Model (Hill et al.)
13. Modeling the diffusion of emotions:
SISa Model (Hill et al.)
Model was fit to Framingham Heart Study
panel data.
Transitions between states are assumed to
happen slowly (in units of years).
Fit to Framingham data using a linear
regression model:
Y = 1 if alter transitions from neutral to
content from t -> t+1.
Ego’s state is only predictor, a is model
intercept.
14. SIR outbreak model
in Netlogo
This model adds a spatial
component.
As the number of individuals in
the world increases, the rate of
contact between them also
increases.
15. SIR outbreak model
in Netlogo
Download the Model from the
course website:
http://computationallegalstudies.com/icpsr-class
File is Called “SIR Example Netlogo Model”
16. SIR outbreak model
in Netlogo
Model Contains Commented Out Code that
Can Be Turned on by Removing the ;;
Cannot have both Versions of ‘To Recover’
at once so you will have to choose
OFF ON
OFFON
17. Model Setup
This is what happens
when you click setup.
Values are loaded into
turtles and the world.
18. When you click ‘Go’:
Move: Turtles spin into a randomly chosen direction
and then move one step in that direction.
Infect: Turtles take a look at the other individuals on
the patch they occupy after moving, see if any are
susceptible turtles are there, and try to infect them if
they are.
Recover: Infectious turtles check if they’ll be
recovering on this tick, and if so, they switch their
state from infectious to recovered/immune and can
no longer infect anyone.
Update Turtles: This is our first bookkeeping
operation: we’ll take a look and see if any of each
turtle’s variables - e.g., how long the turtle has been
sick for - needs updating, and if so, do it.
19. When you click ‘Go’:
Update Global Variables: Updating the state of
variables that impact the whole turtle world.
I.e., # of individuals who are currently
susceptible, infectious and immune (these
show up in the plot on the bottom-left
corner of the display).
Tick! We advance the time forward one step -
it’s very important to remember to call this or
else nothing will ever happen in the model.
Update plot: Finally, we update the plot on the
bottom-left corner, which tracks the number of
individuals currently in each state, to reflect the
changes over the last step.
21. What happens in this
model?
Predictions from standard SIR model don’t hold,
because contact structure is different.
But that’s kind of the point.
Analysis of this model is potentially more difficult
because we’ve relaxed assumptions about
contact.
23. Writing more efficient code
Give turtles a memory slot
for how long they’ll be
infectious if infected.
When infected, store the
duration.
Turtles count how long
they’ve been sick for and
change state when they
reach the limit.
24. Writing more efficient code
Walk Through the Netlogo Timing Tutorial
http://computationallegalstudies.com/icpsr-class/
25. Alternate models
What if individuals don’t recover spontaneously,
but go through a series of recovery sub-stages?
S bSI RI1 I2 I3 I4
g*4
This yields gamma-distributed recovery times.
More stages = lower variance in recovery
periods
27. Alternate models of
recovery
Assume that recovery
is a function of small,
multiplicative effects,
yielding a lognormal
distribution of recovery
periods.