MODELING EPIDEMICS
FROM ZOMBIES TO EBOLA
A Thesis
Presented to the
Faculty of
California State Polytechnic University, Pomona
In Partial Fulfillment
Of the Requirements for the Degree
Master of Science
In
Mathematics
By
Chal Tomlinson
2017 SIGNATURE PAGE
THESIS: MODELING EPIDEMICS FROM ZOMBIES TO EBOLA
AUTHOR: Chal Tomlinson
DATE SUBMITTED: Spring 2017
Department of Mathematics and Statistics
Dr. Randall J. Swift Thesis Committee Chair Mathematics & Statistics
Dr. Hubertus Von Bremen Mathematics & Statistics
Dr. Ryan Szypowski Mathematics & Statistics
ii ACKNOWLEDGMENTS
I’d like to thank my friend and advisor, Randy Swift, for a whole lot of stuff. Thank you to Hubertus Von Bremen for putting in way more elbow grease than is required, and a special shout out to Hubertus’s wife for making him stay in Southern California. Thank you Ryan Szypowski for putting up with me. Thank you Dr. Rosin for helping Cal Poly
Pomona to become a home for me. Thank you John Rock for surfing the “bureaucracy.”
Thank you Berit Givens for knowing how to knit and reminding me of my mother. Thank you Robin Wilson for the friendship, guidance, and stressing me out in Topology. Thank you Jenny Switkes for all the fantastic courses; you truly have a gift! Thank you Adam
King for showing me a new side of statistics and the insight into graduate school. Thank you to Diana, Moriya, Brian, and to all of the beautiful people I’ve had the pleasure of crossing paths with during my time at CPP. Venturing off campus, thank you to all the family and friends who’ve tolerated and endured my struggle to balance life. Finally, thank you to the spirit of peace, love, patience and freedom for allowing each day to be lived in a new and meaningful way.
iii ABSTRACT
2014 saw by far the largest Ebola outbreak in history. In this thesis, we explain the ba
sics of epidemic modeling. The classic SI, SIR, and SEIR models are detailed with a
hypothetical zombie apocalypse. The importance of the basic reproduction number, R0, is shown. For Ebola, data is obtained from the World Health Organization on Guinea,
Liberia, and Sierra Leone of West Africa (the most affected regions), and the Ebola out
break is fit to the SEIR disease model. R0 is calculated as a function of time for all three countries: Guinea Liberia Sierra Leone
(1.762)e−(0.00196)t (5. 183)(e−(0.0167)t 3. 121)e−(0.00679)t To introduce a hypothetical cure, the infected group of the SEIR model is split up into a modified S-E-I1-I2-R model to differentiate between patients whose disease is advanced
versus those whose is not. More complicated models make calculating R0 increasingly difficult. The next-generation matrix (NGM) is introduced to show an effective way of
obtaining R0.
iv Contents
Introduction 1
1 Modeling an Epidemic 2
1.1 An SI Model ...... 3
1.2 An SIR Model ...... 7
1.2.1 The Basic Reproduction Number, R0 ...... 11
1.2.2 Solving for R0 in the SIR Model ...... 15 1.3 An SEIR Model ...... 16
1.3.1 Solving for R0 in the SEIR Model ...... 19
2 Implementing the Model 20
2.1 Fitting the SEIR Model for Ebola ...... 21
2.1.1 Guinea Results ...... 23
2.1.2 Liberia Results ...... 25
2.1.3 Sierra Leone Results ...... 27
2.1.4 Discussion of Results ...... 29
2.2 Introducing a Cure ...... 32
2.2.1 The SEI1I2R Model ...... 32 2.2.2 Discussion of the Results ...... 37
v 3 R0 as the Spectral Radius of the Next Generation Matrix 39 3.1 The Next-Generation Matrix ...... 40
3.2 Examples of Calculating R0 ...... 41 3.2.1 SIR ...... 41
3.2.2 SEIR ...... 42
3.2.3 SEI1I2R ...... 43
3.2.4 SEI1I2R with a Few New Twists ...... 45
A Ebola Data 47
B MATLAB Code 53
Bibiliography 59
vi List of Figures
1.1 flow chart for the SI model ...... 3
1.2 sample SI models with one intitial zombie and a total population of 1,000 6
1.3 flow chart for the SIR model ...... 7
1.4 sample SIR models with one intitial zombie and a total population of 1,000 8
1.5 a generational look at R0 = 2 (R0 > 1) ...... 12
1.6 a generational look at R0 = 1 ...... 13
-1 1.7 a generational look at R0 = 3 (R0 < 1) ...... 14 1.8 flow chart for the SEIR model ...... 17
2.1 Guinea: modeling the cumulative number of cases compared to the data 23
2.2 Guinea: the number of infections from our model compared to the data . 23
2.3 Guinea: the numerical solution for the (S)EIR model ...... 24
2.4 Liberia: modeling the cumulative number of cases compared to the data 25
2.5 Liberia: the number of infections from our model compared to the data . 25
2.6 Liberia: the numerical solution for the (S)EIR model ...... 26
2.7 Sierra Leone: modeling the cumulative number of cases compared to the
data ...... 27
2.8 Sierra Leone: the number of infections from our model compared to the
data ...... 27
vii 2.9 Sierra Leone: the numerical solution for the (S)EIR model ...... 28
2.10 Comparing R0 between countries and over time ...... 30
2.11 testing the validity of the new SEI1I2R model ...... 33 2.12 Guinea: modeling the recovered number of cases with vaccination . . . 34
2.13 Guinea: modeling the infected number of cases with vaccination . . . . 34
2.14 Liberia: modeling the recovered number of cases with vaccination . . . 35
2.15 Liberia: modeling the infected number of cases with vaccination . . . . 35
2.16 Sierra Leone: modeling the recovered number of cases with vaccination 36
2.17 Sierra Leone: modeling the infected number of cases with vaccination . 36
2.18 Guinea: R(t) with vaccination from the beginning ...... 38
viii Introduction
The idea for this thesis originated while a friend, Brian Tran, and I competed in the 2015
Mathematical Contest in Modeling (MCM). 1 The following is the original problem,
2015 MCM Problem A: Eradicating Ebola (this thesis changes focuses from the original problem, as outlined in the abstract):
The world medical association has announced that their new medication
could stop Ebola and cure patients whose disease is not advanced. Build
a realistic, sensible, and useful model that considers not only the spread of
the disease, the quantity of the medicine needed, possible feasible delivery
systems (sending the medicine to where it is needed), (geographical) loca
tions of delivery, speed of manufacturing of the vaccine or drug, but also any
other critical factors your team considers necessary as part of the model to
optimize the eradication of Ebola, or at least its current strain. In addition
to your modeling approach for the contest, prepare a 1-2 page non-technical
letter for the world medical association to use in their announcement. [3]
1For more on the MCM, please visit http://www.comap.com/undergraduate/contests/.
1 Chapter 1
Modeling an Epidemic
“All models are wrong, but some are useful.”
- George E.P. Box
In this chapter, we will go over some of the mathematical background essential for un derstanding how we build a model for the Ebola outbreak.
What is a Mathematical Model?
A model is a mathematical representation of something. This may sound like it needs to
be complicated, but not necessarily. Ideally, we want to use the easiest representation of
a system we can, while still providing us with sufficient insight.
There are many types of mathematical models with even more applications. For
the purpose of this paper, we will focus on deterministic biological (epidemiological)
systems of differential equations. If these big words make you nervous, don’t fret! We
will do some learning along the way!
Instead of belabouring the definition of a model, let’s propagate the idea with an
example.
2 1.1 An SI Model
Consider the most boring of scenarios: a zombie apocalypse.
We define:
• S(t) to be the population of humans at time t (or individuals Susceptible to becom
ing zombies).
• I(t) to be the population of zombies at time t (or individuals who have become
Infected with the zombie disease).
• N(t) to be the total population [of humans and zombies] at time t (that is, N(t) =
S(t) + I(t)).
Figure 1.1: flow chart for the SI model
We will describe the apocalypse using the following system of first order ordinary differential equations: S˙ = dS = −β S(t)I(t) dt N(t) . (1.1) ˙ dI S(t)I(t) I =dt = β N(t)
3 Some things to note:
• There are two variables: S and I (we will show why N does not vary below). The
population is closed. An individual can only move from being a human to being a
zombie. Zombies cannot go back to being human again.
• Birth, death, emigration, and immigration are all ignored. The population is closed.
So, the only thing our system allows for is humans to become zombies. This will
approximately represent a real system if the spread of zombies happens relatively
fast (when compared to the demographics we are ignoring).
• This type of model (due to the derivatives) allows there to be non-integer values
of a population. Obviously, having 1.573 humans doesn’t make sense in the real
world. These type of models can be good approximations for large populations,
but for smaller populations the solutions may be deceptive.
• This type of model assumes uniform mixing (all individuals have an equal chance
of coming in contact with each other).
• β > 0 is the contact rate. β represents how often zombie-human contact results in a new zombie.
4 Taking a further look at Equation (1.1), consider adding the system together:
� S(t)I(t) � � S(t)I(t)� S˙ + I˙ = −β + β N(t) N(t) dS dI + = 0 dt dt dS + dI = 0 � (dS + dI) = 0 � � dS + dI = 0
S(t) + S0 + I(t) + I0 = t0
S(t) + I(t) = t0 − S0 − I0
N(t) = constant
Thus, N(t), the total population, does not change (which it shouldn’t, since we are
assuming birth, death, etc. to be ignored). Having a closed population can help us to
solve the SI model analytically.
dI Since S(t) + I(t) = N, we have that SI(t) = N − (t). Substituting this into dt , we obtain dI β = β I(t)(N − I(t)) dt N Note, this can be written in the same form as a logistic equation:
dI β � I(t) � = I(t) 1 − (1.2) dt N2 N
Equation (1.2) has two fixed points, I∗ = 0 and I∗ = N. That is, if there are no
zombies, there will remain no zombies, and if the whole population is zombies, the
whole population will stay zombies.
Since it doesn’t make physical sense for I < 0 or I > N, what happens to the popula
5 tion when 0 < I < N? Well, when 0 < I < N, then
dI (1 − I(t) ) > 0, so > 0. N dt
From this, we can say that I∗ = 0 is an unstable equilibrium and I∗ = N is stable. That is, as long as there is one infected zombie, the entire population will eventually become zombies.
We can use what we just learned about I(t) to make the same statements in terms of S(t). The system (1.1) has two fixed points, (S∗ ,I∗) = (N,0) and (S∗ ,I∗) = (0,N).
(S∗ ,I∗) = (N,0) is unstable and (S∗ ,I∗) = (0,N) is stable. Any realistic initial conditions
where there exists at least one zombie (i.e. (S0,I0) �= (N,0)) of (1.1) will eventually end up with the entire population as zombies.
To see how this works, let’s consider a couple of examples.
1500 1500 Q) Q) 0.. 0.. 0 ~) 0 ~) 8: 1000 8: 1000 -,.._0 -,.._0 Q) Q) .0 500 .0 500 E E z:::i z:::i 0 50 100 0 10 20 30 Time (in days) Time (in days)
(a) β = 0.15 (b) β = 0.5
Figure 1.2: sample SI models with one intitial zombie and a total population of 1,000
As you can see from Figure 1.2, with the given conditions, the entire population turns into zombies! When the contact rate β = 0.15, the population is all zombies within 100 days. If the contact rate increases to β = 0.5, everyone is a zombie within 30 days.
6 1.2 An SIR Model
Let’s expand upon our example of a zombie apocalypse. This time we will assume that the zombie disease is fatal. We define:
• S(t) to be the population of humans at time t (or individuals Susceptible to becom
ing zombies).
• I(t) to be the population of zombies at time t (or individuals who have become
Infected with the zombie disease).
• R(t) to be the population of dead zombies at time t (or individuals who have be
come Recovered from the zombie disease - we are considering recovery of the
zombie disease to be death).
• N(t) to be the total population [of humans and zombies] at time t (that is, N(t) =
S(t) + I(t) + R(t)).
Figure 1.3: flow chart for the SIR model
7 We will describe the apocalypse using the following system of first order ordinary differential equations: ˙ dS S(t)I(t) S = dt = −β N ˙ dI S(t)I(t) . (1.3) I = dt= β N − γI(t) ˙ dR R =dt = γI(t) Before we explain the specifics of the model, let’s consider a couple of examples.
a> 1000 a> 1000 Cl.. - S(t) Cl.. - S(t) 0 0 Q} - l(t) Q} - l(t) 0.. - R(t) 0.. - R(t) --,_0 500 ,_0 500 Q} Q} .0 .0 E E :::J :::J z 0 z 0 100 200 300 50 100 Time (in days) Time (in days)
(a) β = 0.15 and γ = 0.1 (b) β = 0.5 and γ = 0.1
Figure 1.4: sample SIR models with one intitial zombie and a total population of 1,000
Already, from Figure 1.2a, we can see that in an SIR model the entire population
does not necessarily become zombies. in Figure 1.2a, everyone still becomes zombies.
Depending upon the parameters, different outcomes can happen.
Some things to note:
• The system of ordinary differential equations (1.3) is the classical SIR epidemic
model. The mathematics of the SIR model was first explored by Kermack and
McKendrick (1927). [3] Tthey received a nobel prize in medicine for their work.
• There are three variables: S, I, and R. An individual can only move from being a
human to being a zombie or from being a zombie to being a dead zombie. Zombies
8 cannot go back to being human again, and dead zombies are just dead (e.g. no
raising from the dead - in this example at least)!
• Birth, death (other than zombie death due to the zombie disease), emigration, and
immigration are all ignored. So, the only thing our system allows for is humans
to become zombies and zombies to die. This will approximately represent a real
system if the spread of zombies and zombie death happens relatively fast (when
compared to the demographics we are ignoring).
• This model allows there to be non-integer values of a population.
• This type of model assumes uniform mixing (all individuals have an equal chance
of coming in contact with each other).
• β > 0 is the contact rate. Another way to think about β : determines how often zombie-human contact results in a new zombie.
• γ > 0 is the recovery/death rate. Each day, a proportion γ of the zombies experience
1 a zombie death. Another way to think about γ: γ is the infectious period, or average duration of the infection. In Figure 1.2, γ = 0.1. So, the infectious period is 10 days.
Taking a further look at Equation (1.3), consider adding the system together:
S(t)I(t) S(t)I(t) S˙ + I˙+ R˙ = −β + β − γI(t) + (γI(t)) N(t) N(t) dS dI dR + + = 0 dt dt dt S(t) + I(t) + R(t) = N = constant
Thus, N(t), the total population, does not change (which it shouldn’t, since we are assuming birth, death, etc. to be ignored). That is, the population is closed.
9 Now, what about fixed points and stability? The trick we used for the SI model won’t work for this system. To find fixed points, we need S˙ = 0, I˙ = 0, and R˙ = 0.
From R˙ = γI(t) = 0, we see that I∗ = 0. If I = 0, then S˙ = −β S(t)[0] = 0, I˙ =
β S(t)[0]−γ[0] = 0, and R˙ = 0. So, we will have a fixed point as long as I∗ = 0. However, remember that we have the restriction of a closed population. That means, S∗ + I∗ +
R∗ = N. Thus, the equilibrium points of system (1.3) are of the form (S∗ ,0,R∗) where
S∗ + R∗ = N.
From this, we can see the fixed points are non-isolated. We could investigate the sta bility further by using linear stability analysis or perturbations about the fixed points, but what are we really interested in learning about here? Is there another way to investigate whether or not there will be an epidemic (or zombie apocalypse)?
10 1.2.1 The Basic Reproduction Number, R0
The Basic Reproduction Number, R0 (also known as the Basic Reproduction Ratio or the threshold quantity), is “the average number of persons directly infected by an infectious
case during its entire infectious period, after entering a total susceptible population.” [7]
In terms of our simple zombie SIR model, R0 is the average number of humans each zombie will infect in its lifetime. For instance, if each zombie infects two humans before
it dies, R0 will be equal to two (see Figure 1.5).
When studying diseases, R0 is considered to be a very important number. If R0 < 1,
the zombies will eventually die out. If R0 > 1, the zombies will take over the population.
If R0 = 1, the zombie population is what we could call stabilized.
Another way to help think about R0 is generationally. We can consider the trans mission of disease as a birth process. The same way your parents gave birth to you, we can think of a zombie giving “birth” to a new zombie (by infecting a susceptible hu man). While considering how the following examples [for different values of R0] play 1 out though generations, it becomes clear why we care about R0.
1 An important note on R0: it is sometimes incorrectly called the Basic Reproduction Rate. R0 is not a rate, as it unit-less. Further, because it is unit-less, extreme caution should be used when comparing R0
from different sources. The most important thing to remember (for this paper at least): R0 > 1 is bad (the disease is spreading) and R0 < 1 is good (the disease is dying out).
11 • 3 initial zombies infect an e average of 6 humans. 0 i1 O •-o o0 ~¥. -o
• 6 new zombies carries over from Gen. 1 an infect an average of 12 more humans. O . .. o o .-e - o e ~o •"' ~ "' ~ 0;:- 0 • ~o o o • o/ o
• Then 12 new zombies will infect an average of 24 more humans, and so on .. .
Figure 1.5: a generational look at R0 = 2 (R0 > 1)
12 • 3 initial zombies infect an average of 3 humans. Q • 0 -e - o -t
• 3 zombies carries over from Gen. 1 and infect an average of 3 more humanso • ~o • -o e
• And so on ...
Figure 1.6: a generational look at R0 = 1
13 • 3 initial zombies infect an average of 1 human. 0
• 1 zombie carries over from Gen. 1 and infects an average of 1/3 humian(s). The epidemic is likely over.
1 Figure 1.7: a generational look at R0 = 3 (R0 < 1)
14 1.2.2 Solving for R0 in the SIR Model
Now that we’ve introduced the basic reproduction number, how do we find out what R0 is for the SIR model?
Consider the infectious portion of the SIR model:
dIS(t)I(t) = β − γI(t) dt N Which can be rewritten as:
dIS� (t) � = β − γ I(t) dt N
dI γ Assuming there is at least one zombie (I ≥ 1), then dt = 0 only when S = β N. If the population is very large (N >> 0), we can assume toward the beginning of the infection that most of the population is human (S ≈ N). Then,
dI • dt = 0 when β = γ, and the infection is stabilized. This gives R0 = 1.
dI • dt > 0 when β > γ, and the infection will spread. This gives R0 > 1.
dI • dt < 0 when β < γ, and the infection will die out. This gives R0 < 1.
β So, we can say that toward the beginning of the zombie outbreak, R0 ≈ γ . We can make sense out of this:
• If β = γ, then R0 ≈ 1. If the same number of zombies are “arriving” and dying, then infection will stabilize.
• If β > γ, then R0 > 1. If there are more zombies “arriving” than dying, then infection will spread.
• If γ > β , then R0 > 1. If there are more zombies dying than “arriving”, then infection will die out.
15 1.3 An SEIR Model
Let’s further expand upon our example of a zombie apocalypse. This time we will assume that after a zombie bites a human, they will not immediately become a zombie. Instead, they will go into an incubation period where they are no longer susceptible to becoming a zombie but not infectious yet either. We define:
• S(t) to be the population of humans who have net yet been bitten by zombies at
time t (or individuals Susceptible to becoming zombies).
• E(t) to be the population of humans who have been bitten by zombies but are not
yet zombies themselves at time t (or individuals who have become Exposed to the
zombie disease).
• I(t) to be the population of zombies at time t (or individuals who are Infectious
with the zombie disease).
• R(t) to be the population of dead zombies at time t (or individuals who have be
come Recovered from the zombie disease - we are considering recovery of the
zombie disease to be death).
• N(t) to be the total population [of humans and zombies] at time t (that is, N(t) =
S(t) + E(t) + I(t) + R(t)).
16 Figure 1.8: flow chart for the SEIR model
We will describe the apocalypse using the following system of first order ordinary differential equations: ˙ dS S(t)I(t) S = dt = −β N E˙ =dE = β S(t)I(t) − αE(t) dt N . (1.4) ˙ dI I =dt = αE(t) − γI(t) ˙ dR R = dt = γI() t Some things to note:
• There are four variables: S, E, I, and R. An individual can only move throughout
the system as indicated by Figure 1.8.
• Birth, death (other than zombie death due to the zombie disease), emigration, and
immigration are all ignored. This will approximately represent a real system if the
spread of zombies and zombie death happens relatively fast (when compared to the
17 demographics we are ignoring).
• This model allows there to be non-integer values of a population.
• This type of model assumes uniform mixing.
• β > 0 is the contact rate. Another way to think about β : determines how often zombie-human contact results in a new zombie.
• α > 0 is the rate at which those exposed become zombies. Another way to think
1 about α: α is the incubation period, or average duration of the time spent between being bitten by a zombie and becoming an infectious zombie.
• γ > 0 is the recovery/death rate. Each day, a proportion γ of the zombies experience
1 a zombie death. Another way to think about γ: γ is the infectious period, or average duration of the infection.
Taking a further look at Equation (1.4), consider adding the system together:
S˙ + E˙ + I˙+ R˙ = 0
S(t) + E(t) + I(t) + R(t) = N = constant
Thus, N(t), the total population, does not change (which it shouldn’t, since we are assuming birth, death, etc. to be ignored). That is, the population is closed.
Now, what about fixed points and stability? Similar to the SIR model, equilibrium points are of the form (S∗ ,0,0,R∗) where S∗ + R∗ = N. Again, the fixed points are non-
isolated.
18 1.3.1 Solving for R0 in the SEIR Model
Consider the infected classes of the SEIR model:
dES(t)I(t) = β − αE(t) dt N dI = αE(t) − γI(t) dt
Note: the combined infected classes of the SEIR model have an entering rate of S(t)I(t) β N and an exiting rate of γI() t . Investigating this is essentially the same as investi gating the infected class from the SIR model:
dIS(t)I(t) = β − γI(t). dt N
Utilizing the work done in section 1.2.2, toward the beginning of the zombie out
β 2 break, R0 ≈ γ . We can make sense out of this:
• If β = γ, then R0 ≈ 1. If the same number of zombies are “arriving” and dying, then infection will stabilize.
• If β > γ, then R0 > 1. If there are more zombies “arriving” than dying, then infection will spread.
• If γ > β , then R0 < 1. If there are more zombies dying than “arriving”, then infection will die out.
2 Something to consider: as disease models get more complex, calculating or estimating R0 can become increasingly difficult. We will introduce the Next Generation Matrix (NGM) in a later chapter - stay tuned!
19 Chapter 2
Implementing the Model
2014 saw by far the largest Ebola outbreak in history. To understand the epidemic, data is
taken from the World Health Organization on Guinea, Liberia, and Sierra Leone of West
Africa (the most affected regions). With this data, the Ebola outbreak is fit to the SEIR
disease model. To introduce a hypothetical cure, the infected group of the SEIR model
is split up into a modified S-E-I1-I2-R model to differentiate between patients whose disease is advanced versus those whose is not.
20 2.1 Fitting the SEIR Model for Ebola
To model the outbreak of Ebola, consider a slight modification to the SEIR model intro duced in section 1.3: ˙ dS S(t)I(t) S = dt = −β (t) N E˙ =dE = β (t) S(t)I(t) − αE(t) dt N (2.1) ˙ dI I =dt = αE() t − γI() t ˙ dR R = dt = γI(t) Explanation of Variables and Assumptions:
• S(t), E(t), I(t), and R(t) represent the number of people in that class.
• The unit time is in days.
� dS dE dI dR � • N = S + E + I + R, the total population, is a constant dt + dt +dt + dt = 0 . N is a closed population (which means immigration, births, and deaths are ignored).
We are considering these normal factors of a population to be negligible during
the spread of a rapid disease. This makes for a simplified investigation into the
dynamics of Ebola. N is assumed to be 10,000,000 (around the actual population
sizes, but mathematically insignificant since S(t) stays relatively close to N).
−kt −kt • β (t) = β0e , where β0 is the rate of infection and the exponential decay e represents the control measures (Medical Response, Education, Research and De
velopment, etc.) put in place beginning on the first day of reported infection. [1]
We will be solving for β0 and k.
1 • α is the average incubation period. Incubation period is the time it takes from getting exposed to becoming infectious. We assume the mean incubation period to
21 1 be 9.70 days. [11] γ is the average infectious period. Infectious period is the time someone remains infected. Assume the mean incubation period to be 7 days. [11]
• Whether someone dies or recovers from the disease, our model still considers them
alive and item of the Recovered class (justifiable as we are more interested in the
spread of infection). After an individual leaves the infectious class, we don’t really
care where they go (as long as it’s not back in to the S-E-I process).
• Once an individual recovers from this specific strain of Ebola, they are immune.
The most useful data we have for the 2014 Ebola outbreak is the cumulative number of cases over its duration (see data in Appendix A). In order to incorporate this data into our system of ODEs we will introduce a new function, C(t), that represents the
dC cumulative number of cases at time t. So, dt = αE(t). The data is split into the three majorly affected countries: Guinea, Liberia, and Sierra Leone (giving three variations of
the model).
Using MATLAB, we use nlinfit, ode15s and interp1 to solve for the unknowns, β0 and k. Essentially, this is a curve fitting process of the SEIR model (with C(t) coupled to it) and the data. We then have values for all parameters of the system, and we use
MATLAB’s ode15s to solve the SEIR model. This process is similar to one outlineed by
Drew Levin in a series on Modeling with ODEs in Matlab. [9] Specific details for our
analysis can be found in Appendix B.
Let’s take a look how this process does for the three different countries. First, we will
show a graph of the cumulative number of cases compared to the data. Second, we will
show a graph comparing the data with the I(t) class of the SEIR model. Then, we will
show the numerical solution to the SEIR model (the S class is left out as it is remains
close to N - far too large relative to E, I, and R for meaningful plots).
22 2.1.1 Guinea Results
• β0 = 0.251751895060311
• k = 0.001957407314437
Modeling C(t), the Cumulative Number of Cases 5000,----,------,------,----,------;:I======:::;---i - C(t) <> WHO data points en 4000 Q) Cf) ro CJ 'o 3000 a3 ..Cl E ~ 2000 ro 0 I- 1000
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.1: Guinea: modeling the cumulative number of cases compared to the data
l(t), the Infected Class 250,----,------,------,----,------;:I======:::;---i - l(t) + WHO data points 200
Q) ci 0 ~ 150 -0
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.2: Guinea: the number of infections from our model compared to the data
23 Exposed, Infected, and Removed 4000 ~--~------~-----~----~ - Exposed - Infected - Removed 3500
3000
2500 (I) 0.. 0 a..(I) -....O 2000 (I) ..Cl E :::::, z 1500
1000
500
Apr.11,2014 Oct.28,2014 May.16,2015
Figure 2.3: Guinea: the numerical solution for the (S)EIR model
24 2.1.2 Liberia Results
• β0 = 0.740439999532440
• k = 0.016738944652912
5000 Cf) Q) Cf) 84000 -0 ~ 3000 E z:::J ro 2000 0 1- 1000
Jul.20,2014 Sep.08,2014 Oct.28,2014 Dec.17,2014 Feb.05,2015
Figure 2.4: Liberia: modeling the cumulative number of cases compared to the data
l(t), the Infected Class 600,------,------,------,------,------;======:::;---i - l(t) + WHO data points 500 + +
Q) §-400 Q) a.. o 300 Q) ..Cl E z::::i 200
100
Jul.20,2014 Sep.08,2014 Oct.28,2014 Dec.17,2014 Feb.05,2015
Figure 2.5: Liberia: the number of infections from our model compared to the data
25 Exposed, Infected, and Removed 6000 ~--~------~------~--~ - Exposed - Infected -----i - Removed
5000
4000
(I) a. 0 a..(I) -....O 3000 (I) ..Cl E :::::, z
2000
1000
Jul.20,2014 Feb.05,2015 Feb .05,2015
Figure 2.6: Liberia: the numerical solution for the (S)EIR model
26 2.1.3 Sierra Leone Results
• β0 = 0.445896185257247
• k = 0.006787517213682
Modeling C(t), the Cumulative Number of Cases 14000
12000
Cf) ~ 10000 u 0 8000 -a3 ..0 E 6000 z:::J ro 0 4000 I- 2000
0 Jul.20,2014 Oct.28,2014 Feb.05,2015 May.16,2015 Aug .24,2015
Figure 2.7: Sierra Leone: modeling the cumulative number of cases compared to the data
l(t), the Infected Class 700,------,------,------,-----;:::======::::;i - l(t) + WHO data points 600
Q) 500 ci 0 Q) a.. 400 -0 ~ 300 E :::J Z 200
100 ++
Jul.20,2014 Oct.28,2014 Feb.05,2015 May.16,2015 Aug .24,2015
Figure 2.8: Sierra Leone: the number of infections from our model compared to the data
27 Exposed, Infected, and Removed 12000 ~-~----~----~----~---~ - Exposed - Infected - Removed
10000
8000
Q) a. 0 a..Q) 0,._ 6000 Q) ..Cl E :::::, z
4000
2000
Jul.20,2014 Oct.28,2014 Feb.05,2015 May.16,2015 Aug .24,2015
Figure 2.9: Sierra Leone: the numerical solution for the (S)EIR model
28 2.1.4 Discussion of Results
As we can see from the Figures 2.1, 2.2, 2.4, 2.5, 2.7 and 2.8, we are capturing the
behavior of the Ebola epidemic (the data compares well to the numerical solutions). The
SEIR model is a great fit for this disease!
In Figures 2.3, 2.6 and 2.9, the numerical solutions of the entire (S)EIR model are
displayed. Note, the S compartment is not displayed. As S stays very close to N =
10,000,000, the scale would prevent a meaningful display. R(t) (as it does on the figures) should essentially mirror C(t), just about a week later (as C(t) is the cumulative number of infections and R(t) is the cumulative number of recoveries). The Exposed class, E(t), peaks a little higher than the infected class because people stay in the exposed class for
1 1 = 9.7 days vs. I(t) for = 7 days. α γ
The total number of people going through any one compartment (of exposed, infectious, or recovered) summed over the duration of the epidemic is the same.
Remember R0? Now that we have a model based on real-life data, let’s see if we can β make sense of our previous solution, R0 ≈ γ . That is,
−kt β0e R0 ≈ γ .
We should note here that the R0 was solved using the disease-free equilibrium and tech nically should not be considered over time (we could instead look at the effective repro
duction rate). However, since over the duration of the Ebola outbreak, S remains close
to N, we should still get decent results for R0. We will compare R0’s of Guinea, Liberia, and Sierra Leone over time t. Please note: the t’s for each country begin when the spread of its infection was assumed to begin (see Appendix A). That is, the t’s for each county are not the same (but they are of the same scale, days).
29 R Over Time 0 6 - Guinea - Liberia 5 - Sierra Leone -R = 1 0 4 • Guinea: Time of Max of l(t) • Liberia: Time Max of l(t) r:r:.o 3 • Sierra: Time Max of l(t)
2
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.10: Comparing R0 between countries and over time
−(0.00196)t • Guinea: R0(t) ≈ (1.762)e . In Guinea, the disease hit first, but spread the
slowest. Hence, β0, the initial contact rate, is the lowest.
−(0.0167)t • Liberia: R0(t) ≈ (5.183)e . In Liberia, the disease spread the quickest.
Hence, β0, the initial contact rate, is the highest. One guess as to why the dis ease spread so quickly in Liberia compared to Guinea and Sierra Leone: urbaniza
tion. Liberia has more densely populated areas, which can make for a more rapid
spread of disease. Urbanization can be even more notable when the diease requires
human-to-human transmission (like Ebola) and is not airborne.
−(0.00679)t • Sierra Leone: R0(t) ≈ (3.121)e In Sierra Leone, the spread of Ebola was
in between Guinea and Liberia, as reflected by β0.
Now, let’s discuss the differences in k. The spread of the disease went away in some countries quicker than others (first in Liberia, then in Sierra Leone, and finally in Guinea).
There is a theory that could explain this: the more explosive the spread of the disease
30 was in a country, the World Health Originziation (and other outfits) put stronger control
measures were put into place (or maybe with more urgency). This fits with what we
found.
• Guinea: With the slowest initial spread of the disease (explained by our low β0), the control measures are implemented either more slowly, or less aggressively (ex
plained by our small k).
• Liberia: With the highest contact rate came the highest control measures (ex
plained by the largest β0 and k).
• Sierra Leone: With a contact rate in the middle, we found control measures in the
middle as well.
As discussed previously, if our solutions for R0(t) for the various countries are cor dI dI rect, R0 = 1 should approximately match the point at which dt > 0 changes to dt < 0.
That is, R0 = 1 when I(t) reaches its maximum. Using MATLAB, we can find the time
at which max(I(t)) occurs. On Figure 2.10, we plot diamonds at R0 = 1 at the time when numerical solution I(t) reaches its maximum. These values are each very close to 1.
31 2.2 Introducing a Cure
From the MCM problem, “The world medical association has announced that their new medication could stop Ebola and cure patients whose disease is not advanced.” [3] We interpret this to mean: the medication will work on infectious people within the first portion of the infectious period. To get this done, consider splitting up the infectious class of our original SEIR model.
2.2.1 The SEI1I2R Model
Consider representing this system using the following set of ordinary differential equa tions:
dSS(t)(I (t) + I (t)) = −β (t) 1 2 dt N dES(t)(I (t) + I (t)) = β (t) 1 2 − αE(t) dt N dI 1 = αE(t) − 2γI (t) − vI (t) dt 1 1 dI 2 = γI (t) − γI (t) dt 1 2 dR = γ(I (t) + I (t)) + vI (t) dt 1 2 1
Things to note:
• I1 is considered to be the first part of the infectious class. I2 is the second part of the infectious class.
• Because both I1 and I2 are infectious, the susceptible-infectious encounter is now
S(t)(I1(t)+I2(t)) represented by N .
• v is the percentage of people in I1 getting vaccinated each day. The vaccination is
32 Comparing l(t) of the SEIR vs SEIIR 120 - SEIR Model - SEIIR Model with v=O 100 (/) Q) (/) co () 80 0 Q) .0 60 E z::J ro 40 0 I- 20
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.11: testing the validity of the new SEI1I2R model
assumed to immediately remove infectiousness. Those vaccinated go into R(t), so
our population remains closed.
• We should make note that a vaccination rate is unrealistic. Essentially, v is equal
to the percentage of sick people in I1 we can vaccinate each day. In reality, this is impossible to keep fixed, and v should be it’s own function.
To show that this model is reasonable, Figure 2.11 compares I(t) of the SEIR model
with I1(t) + I2(t) of the new SEI1I2R (at a certain point in time). As it should, when there is no vaccination (the vaccination rate v = 0), I(t) of the
SEIR model and I1(t) + I2(t) of the SEI1I2R are the same. Next, we will plot the vaccination problem for the various affected countries. As sume three different vaccination rates: 0.01,0.1, and 0.3. Also, assume we can start vaccinating people on approximately October 28, 2014.
From Figures 2.12, 2.14, and 2.16, we can see how the different vaccination rates will affect R(t) (which lets us know how vaccination affects the total number of cases of Ebola). From Figures 2.13, 2.15, and 2.18, we can see how vaccination affects the current number of infections. The figures present the expected results.
33 Comparing R(t) of the SEIR vs SEIIR 4000~-~---~---~---~---~---~--~
- SEIR Model 3500 - SEIIR Model with v=0 .01 - SEIIR Model with v=0 .1 ~ 3000 Cf) co - SEIIR Model with v=0 .3 2 2500 0 ~ 2000 E :::J Z 1500 ro ;§ 1000
500
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.12: Guinea: modeling the recovered number of cases with vaccination
Comparing l(t) of the SEIR vs SEIIR 120 - SEIR Model - SEIIR Model with v=0 .01 100 - SEIIR Model with v=0 .1 Cf) Q) - SEIIR Model with v=0.3 Cf) co CJ 80 0 -a3 ..Cl 60 E z:::J ro 40 0 I- 20
0 Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.13: Guinea: modeling the infected number of cases with vaccination
34 Comparing R(t) of the SEIR vs SEIIR 6000~_-_-_-_-_-_-_~~----_-_-_-_-_-~__:_,::-----~----~---~---~ - SEIR Model - SEIIR Model with v=0.01 5000 - SEIIR Model with v=0.1 - SEIIR Model with v=0.3 Cf)~ 84000 -0 ~ 3000 E z:::J ro 2000 0 1- 1000
0 '---__...... -:::_i______j______l______l______j______J Jul.20,2014 Sep.08,2014 Oct.28,2014 Dec.17,2014 Feb.05,2015
Figure 2.14: Liberia: modeling the recovered number of cases with vaccination
Comparing l(t) of the SEIR vs SEIIR 500,------,------,------,------.i:======:::;---i - SEIR Model - SEIIR Model with v=0 .01 - SEIIR Model with v=0 .1 en 400 Q) - SEIIR Model with v=0.3 Cf) co CJ o 300 a3 ..Cl E ~ 200 ro 0 I- 100
Jul.20,2014 Sep.08,2014 Oct.28,2014 Dec.17,2014 Feb.05,2015
Figure 2.15: Liberia: modeling the infected number of cases with vaccination
35 Comparing R(t) of the SEIR vs SEIIR 12000~--~-----~-----~-====-=-====-::.-::.-::.-::.-::.-::.-::.-::.-::.-::.-::.-:::; - SEIR Model - SEIIR Model with v=0 .01 10000 - SEIIR Model with v=0 .1 Cf) ~ - SEIIR Model with v=0 .3 8 8000 -0 ~ 6000 E z:::J ro 4000 0 1- 2000
0 1-----=-----___[______J______J______u Jul.20,2014 Oct.28,2014 Feb.05,2015 May.16,2015 Aug .24,2015
Figure 2.16: Sierra Leone: modeling the recovered number of cases with vaccination
Comparing l(t) of the SEIR vs SEIIR 700,------,------,------,------;::======:1 - SEIR Model - SEIIR Model with v=0 .01 600 - SEIIR Model with v=0 .1 Cf) Q) - SEIIR Model with v=0.3 ~ 500 CJ 0 400 a3 ..Cl ~ 300 z ]i 200 0 I- 100
Jul.20,2014 Oct.28,2014 Feb.05,2015 May.16,2015 Aug .24,2015
Figure 2.17: Sierra Leone: modeling the infected number of cases with vaccination
36 2.2.2 Discussion of the Results
• Guinea:
* v = 0.01: A vaccination rate of 1% would save 218 people, or about 11.5% of infections that happen after vaccination begins.
* v = 0.1: A vaccination rate of 10% would save 1,012 people, or about 53.3% of further infections.
* v = 0.3: A vaccination rate of 30% would save 1,343 people, or about 70.8% of further infections.
• Liberia: the vaccination does not have much of an effect because the disease is
already close to dying out.
• Sierra Leone:
* v = 0.01: A vaccination rate of 1% would save 457 people, or about 7.5% of further infections.
* v = 0.1: A vaccination rate of 10% would save 2,659 people, or about 43.7% of further infections.
* v = 0.3: A vaccination rate of 30% would save 4,021 people, or about 66.1% of further infections.
As expected, curing a sizeable portion of the infectious class each day saves a lot of people. Now, one might wonder what would happen to the epidemic if the cure had existed from the beginning?
37 Comparing R(t) of the SEIR vs SEIIR 4000------~-----~---_-_-_-_-_-_-__:-_-_-_-_-___:::;-" - SEIR Model 3500 - SEIIR Model with v=0 .01 - SEIIR Model with v=0 .3 ~ 3000 Cf) co 2 2500 0 ~ 2000 E :::J Z 1500 co ;§ 1000
500
Apr.11,2014 Jul.20,2014 Oct.28,2014 Feb.05,2015May.16,2015Aug.24,2015
Figure 2.18: Guinea: R(t) with vaccination from the beginning
• Guinea with vaccination from the beginning:
* v = 0.01: A vaccination rate of 1% would save 1,765 people, or prevent 46.9% of infections.
* v = 0.3: A vaccination rate of 30% would save 3,760 people, or prevent 99.9% of infections.
We have yet to solve for R0 for the SEI1I2R model, but we can already see that if the vaccination rate v > .3, R0(t) can’t remain greater than 1 for very long. The disease doesn’t have an outbreak.
38 Chapter 3
R0 as the Spectral Radius of the Next Generation Matrix
Next, we’d like to investigate what R0 is of the SEI1I2R model. It’s not quite as easy to figure out as with our previous models. Furthermore, we’d like to eventually make a more complicated version of the Ebola model (considering demographics) which will make calculating R0 algebraically intensive. This brings us to the next-generation matrix (NGM), a method developed by Diekmann and Heesterbeek (1990). [5] We will present the basics of the idea as presented by Van den Driessche and Watmough (2002). [10]
39 3.1 The Next-Generation Matrix
Consider a general epidemic model with n compartments that has m < n infected com
T partments. Let x = (x1,x2,...,xm) where xi represents the number of people in infected compartment i at time t. The infected subsystem of the epidemic is represented by
dxi − + = Fi(x) − Vi(x), where Vi(x) = V (x) − V (x) dt i i
+ Fi is defined to be the rate at which new infections to subsystem are entering xi. Vi (x) − represents the rate of any other entries into xi, and Vi (x) represents the rate of anyone
leaving xi. We can rewrite the system as
dx = F (x) − V (x) dt
∗ Here, F (x) = (F1(x),...,Fm(x)) and V (x) = (V1(x),...,Vm(x)). Let x be the point at which the entire epidemic system remains free of the disease. This is known as a disease
∗ ∗ free equilibrium. Let F be the Jacobian, JF , evaluated at x . Similarly, V = JV (x ). F and V are m × m matrices of the following form:
∂ Fi ∂ Vi F = (x ∗ ) and V = (x ∗ ) ∂ x j ∂ x j
The next-generation matrix is defined as FV −1. The basic reproduction number of the epidemic model is the spectral radius (biggest eigenvalue in absolute value) of the next-generation matrix. That is,
−1 R0 = ρ(FV )
This method is explained in more detail, and proven, by Van den Driessche and Wat mough (2002). [10]
40 3.2 Examples of Calculating R0
Let’s try testing out this new method by calculating R0’s of systems we already know: the SIR and SEIR models.
3.2.1 SIR
Recall the SIR model. ˙ dS S(t)I(t) S = dt = −β N ˙ dI S(t)I(t) . I =dt = β N − γI(t) ˙ dR R = dt = γI(t) The SIR model has only one infected compartment, I. So, x = I. New infections enter I
S(t)I(t) � S(t)x(t) � + at a rate of β N F (x) = β N . There are no other entries into I (V (x) = 0). People leave I at a rate of γI(t)(V −(x) = γI(t)). Let us show the equivalence:
dx � − + � = F (x) − V (x) − V (x) dt � S(t)I(t) � = β − ((γI(t)) − (0)) N S(t)I(t) = β − γI(t) N dI = dt
S(t)x(t) Now that we have confirmed F (x) = β N and V (x) = γI(t), let’s continue with the method. We know the disease-free equilibrium of the SIR model to be (S∗ ,I∗ ,R∗) =
∗ S∗ ∗ −1 1 (N,0,0). So, F = JF (I ) = β N = β and V = JV (I ) = γ. Since V = γ, V = γ . Thus, as before, β β R = ρ(FV −1) = ρ( ) = 0 γ γ
41 3.2.2 SEIR
Recall the SEIR model. ˙ dS S() t I(t) S = dt = −β N E˙ = dE = β S(t)I( t) − αE()t dt N . ˙ dI I =dt = αE() t − γI() t ˙ dR R =dt = γI(t) The SEIR model has two infected compartments, E and I, so we will consider the fol
lowing infected subsystem:
dES(t)I(t) E˙ = = β − αE(t) dt N dI I˙ = = αE(t) − γI(t) dt
So, x = (E,I)T . New infections enter the subsystem at a rate of β S(t)I(t) into compartment N � S(t)I(t) � � + � E FE (x) = β N . Compartment E has no other entries VE (x) = 0 . People leave � − � E at a rate of αE(t) VE (x) = αE(t) . New infections do not enter the subsystem at into compartment I (FI(x) = 0). The entry into compartment I is a transfer within the system � + � � − � VI (x) = αE(t) . People leave I at a rate of γI(t) VI (x) = γI(t) . Let us show the equivalence:
dxE � − + � S(t)I() t dE dt = FE (x) − VEE (x) − V (x) = β N − (αE(t) + 0) = dt . dxI � − + � dI dt = FI(x) − VII (x) − V (x) = 0 − (γI(t) − αE(t)) = dt
So, we have ⎛ ⎞ ⎛ ⎞ β S(t)I(t) αE(t) ⎜ N ⎟ ⎜ ⎟ F = ⎝ ⎠ V = ⎝ ⎠ 0 γI(t) − αE(t)
42 We know the disease-free equilibrium of the SEIR model to be x ∗ = (S∗ ,E∗ ,I∗ ,R∗) =
(N,0,0,0). ⎛ ⎞⎛⎞ ⎞⎛ ∗ 0 β S 0 β α 0 ∗ ⎜ N ⎟ ⎜ ⎟ ∗ ⎜ ⎟ JF (x ) = F = ⎝ ⎠ = ⎝ ⎠ JV (x ) = V = ⎝ ⎠ 0 0 0 0 −α γ Next, ⎞⎛ ⎛⎞⎛ ⎞ 1 β β 0 β α 0 γ γ FV −1 = ⎜ ⎟ ⎜ ⎟ = ⎜ ⎟ ⎝ ⎠⎝ 1 1 ⎠ ⎝ ⎠ 0 0 γ γ 0 0 The eigenvalues of a triangular matrix are just the elements along the diagonal. Thus,
� β � β R = ρ(FV −1) = max 0, = 0 γ γ
3.2.3 SEI1I2R
Now that we have shown the method with a couple of examples we already knew the
answer to, let’s find R0 of the SEI1I2R model. The infected subsystem is: dES(t)(I (t) + I (t)) = β 1 2 − αE(t) dt N dI 1 = αE(t) − 2γI (t) − vI (t) dt 1 1 dI 2 = γI (t) − γI (t) dt 1 2 So, F and V are ⎛ ⎞ ⎛ ⎞ β S(t)(I1(t)+I2(t)) αE(t) ⎜ N ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ F = ⎜ 0 ⎟ V = ⎜ 2γI (t) + vI (t) − αE(t) ⎟ ⎜ ⎟ ⎜ 1 1 ⎟ ⎝ ⎠ ⎝ ⎠ 0 γI2(t) − γI1(t) ∗ ∗ ∗ ∗ ∗ ∗ The disease-free equilibrium of the SEI1I2R model is x = (S ,E ,I1 ,I2 ,R ) = ( N,0,0,0,0). ⎞⎛ ⎛ ⎞ 0 β β α 0 0 ⎜ ⎟ ⎜ ⎟ ∗ ⎜ ⎟ ∗ ⎜ ⎟ J (x ) = F = ⎜ 0 0 0 ⎟ J (x ) = V = ⎜ −α 2γ + v 0 ⎟ F ⎜ ⎟ V ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ 0 0 0 0 −γ γ
43 Next, ⎛ ⎞⎛ ⎞ ⎛ ⎞ 0 β β 1 0 0 2β 2β β ⎜ ⎟⎜ α ⎟ ⎜ 2γ+v 2γ+v γ ⎟ −1 ⎜ ⎟⎜ ⎟ ⎜ ⎟ FV = ⎜ 0 0 0 ⎟⎜ 1 1 0 ⎟ = ⎜ 0 0 0 ⎟ ⎜ ⎟ ⎜ 2γ+v 2γ+v ⎟ ⎜ ⎟ ⎝ ⎠⎝ 1 1 1 ⎠ ⎝ ⎠ 0 0 0 2γ+v 2γ+v γ 0 0 0 The eigenvalues of a triangular matrix are just the elements along the diagonal. Thus,
� 2β � 2β R = ρ(FV −1) = max 0, = 0 2γ + v 2γ + v
We can make sense of this. When v = 0, the SEIR and SEI1I2R models have the same
R0. As the vaccination rate v increases, R0 decreases for the system.
Referencing the end of Section 2.2.2, what happens to R0 when v > 0.3?
2β R = 0 2γ + v 2β e−kt R = 0 0 2γ + v 2(0. 252)e−(0.00196)t R < 0 2(1/7) + .3
−(0.00196)t R0 < (.86)e
Thus, and as expected, when v > .3, R0 will never be above one, and there will be no outbreak!
44 3.2.4 SEI1I2R with a Few New Twists
Suppose we have updated our SEI1I2R model to now include births and deaths with a birth and death rate of µ. Furthermore, we consider that our exposed class, E, while still showing no signs of the disease, is just as contagious as compartments I1 and I2.
dSS(t)(E(t) + I (t) + I (t)) = µN − β 1 2 − µS(t) dt N dES(t)(E(t) + I (t) + I (t)) = β 1 2 − (α + µ)E(t) dt N dI 1 = αE(t) − (2γ + v + µ)I (t) dt 1 dI 2 = γI (t) − (γ + µ)I (t) dt 1 2 dR = γ(I (t) + I (t)) + vI (t) − µR(t) dt 1 2 1
Without the next-generation matrix, solving for R0 would be an extremely difficult prob lem to tackle. Using the NGM, we can tackle it fairly easily!
The infected subsystem is
dES(t)(E(t) + I (t) + I (t)) = β 1 2 − (α + µ)E(t) dt N dI 1 = αE(t) − (2γ + v + µ)I (t) dt 1 dI 2 = γI (t) − (γ + µ)I (t) dt 1 2
So, F and V are ⎛ ⎞ ⎛ ⎞ β S(t)(E(t)+I1(t)+I2(t)) (α + µ)E(t) ⎜ N ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ F = ⎜ 0 ⎟ V = ⎜ (2γ + v + µ)I (t) − αE(t) ⎟ ⎜ ⎟ ⎜ 1 ⎟ ⎝ ⎠ ⎝ ⎠ 0 (γ + µ)I2(t) − γI1(t)
45 ∗ ∗ ∗ ∗ ∗ ∗ The disease-free equilibrium of the SEI1I2R model is x = (S ,E ,I1 ,I2 ,R ) = (N,0,0,0,0). ⎛ ⎞ ⎛ ⎞ β β β α + µ 0 0 ⎜ ⎟ ⎜ ⎟ ∗ ⎜ ⎟ ∗ ⎜ ⎟ J (x ) = F = ⎜ 0 0 0 ⎟ J (x ) = V = ⎜ −α 2γ + v + µ 0 ⎟ F ⎜ ⎟ V ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ 0 0 0 0 −γ γ + µ
Next, ⎛ ⎛⎞ ⎞ β β β 1 0 0 ⎜ ⎟⎜ α+µ ⎟ −1 ⎜ ⎟⎜ ⎟ FV = ⎜ 0 0 0 ⎟⎜ α 1 0 ⎟ ⎜ ⎟ ⎜ (α+µ)(2γ+v+µ) 2γ+v+µ ⎟ ⎝ ⎠⎝ αγ γ 1 ⎠ 0 0 0 (α+µ)(γ+µ)(2γ+v+µ) (γ+µ)(2γ+v+µ) γ+µ ⎛ ⎞ α(2γ+µ)+(γ+µ)(2γ+v+µ) 2γ+µ 1 ⎜ (α+µ)(γ+µ)(2γ+v+µ) (γ+µ)(2γ+v+µ) γ+µ ⎟ ⎜ ⎟ = β ⎜ 0 0 0 ⎟ ⎜ ⎟ ⎝ ⎠ 0 0 0
The eigenvalues of a triangular matrix are just the elements along the diagonal. Thus,
α(2γ + µ) + (γ + µ)(2γ + v + µ) R = ρ(FV −1) = β . 0 (α + µ)(γ + µ)(2γ + v + µ)
We won’t plug in values for the parameters and make this result tangible, but we can at
least bear witness to how powerful the next-generation matrix can be!
46 Appendix A
Ebola Data
Data comes from the World Health Orginization’s (WHO) website. 1 [12] [13] [14]
The data contains the number of cumulative Ebola cases by week for countries Sierra
Leone, Guinea, and Liberia.
The day number column was created by me to let you know when I assumed the outbreak in each country to begin.
The combined column (“comb.”) is the addition of confirmed and suspected cases from the patient database.
1Accessed May 4, 2017.
47 Patient Database (Cumulative)
Sierra Leone [14] Guinea [12] Liberia [13]
Week Of (EPI Week) Day Comb. Day Comb. Day Comb.
1/20/2014 (2014-W04) 1 5
1/27/2014 (2014-W05) 8 8
2/3/2014 (2014-W06) 15 13
2/10/2014 (2014-W07) 22 16
2/17/2014 (2014-W08) 29 21
2/24/2014 (2014-W09) 36 30
3/3/2014 (2014-W10) 43 38
3/10/2014 (2014-W11) 50 64
3/17/2014 (2014-W12) 57 81
3/24/2014 (2014-W13) 64 111
3/31/2014 (2014-W14) 71 137
4/7/2014 (2014-W15) 78 164
4/14/2014 (2014-W16) 85 180
4/21/2014 (2014-W17) 92 191
4/28/2014 (2014-W18) 99 203
5/5/2014 (2014-W19) 106 214
5/12/2014 (2014-W20) 113 222
5/19/2014 (2014-W21) 1 3 120 249
5/26/2014 (2014-W22) 8 22 127 299
48 Patient Database (Cumulative)
Sierra Leone [14] Guinea [12] Liberia [13]
Week Of (EPI Week) Day Comb. Day Comb. Day Comb.
6/2/2014 (2014-W23) 15 58 134 327 1 3
6/9/2014 (2014-W24) 22 132 141 361 8 21
6/16/2014 (2014-W25) 29 195 148 379 15 50
6/23/2014 (2014-W26) 36 249 155 403 22 78
6/30/2014 (2014-W27) 43 343 162 407 29 104
7/7/2014 (2014-W28) 50 455 169 413 36 142
7/14/2014 (2014-W29) 57 533 176 421 43 178
7/21/2014 (2014-W30) 64 638 183 464 50 267
7/28/2014 (2014-W31) 71 789 190 491 57 376
8/4/2014 (2014-W32) 78 934 197 512 64 599
8/11/2014 (2014-W33) 85 1068 204 556 71 928
8/18/2014 (2014-W34) 92 1253 211 633 78 1403
8/25/2014 (2014-W35) 99 1459 218 737 85 1861
9/1/2014 (2014-W36) 106 1691 225 842 92 2343
9/8/2014 (2014-W37) 113 1937 232 936 99 2847
9/15/2014 (2014-W38) 120 2360 239 1018 106 3360
9/22/2014 (2014-W39) 127 2772 246 1149 113 3814
9/29/2014 (2014-W40) 134 3185 253 1252 120 4129
10/6/2014 (2014-W41) 141 3619 260 1396 127 4410
10/13/2014 (2014-W42) 148 4165 267 1511 134 4612
10/20/2014 (2014-W43) 155 4731 274 1607 141 4736
10/27/2014 (2014-W44) 162 5371 281 1704 148 4864
49 Patient Database (Cumulative)
Sierra Leone [14] Guinea [12] Liberia [13]
Week Of (EPI Week) Day Comb. Day Comb. Day Comb.
11/3/2014 (2014-W45) 169 6017 288 1866 155 5003
11/10/2014 (2014-W46) 176 6572 295 1966 162 5122
11/17/2014 (2014-W47) 183 7116 302 2136 169 5215
11/24/2014 (2014-W48) 190 7771 309 2228 176 5302
12/1/2014 (2014-W49) 197 8244 316 2349 183 5373
12/8/2014 (2014-W50) 204 8714 323 2438 190 5415
12/15/2014 (2014-W51) 211 9144 330 2654 197 5436
12/22/2014 (2014-W52) 218 9682 337 2764 204 5470
12/29/2014 (2015-W01) 225 10090 344 2842 211 5479
1/5/2015 (2015-W02) 232 10428 351 2900 218 5483
1/12/2015 (2015-W03) 239 10601 358 2922 225 5497
1/19/2015 (2015-W04) 246 10740 365 2970 232 5504
1/26/2015 (2015-W05) 253 10861 372 3018 239 5516
2/2/2015 (2015-W06) 260 10975 379 3089 246 5520
2/9/2015 (2015-W07) 267 11099 386 3149 253 5531
2/16/2015 (2015-W08) 274 11203 393 3188 260 5535
2/23/2015 (2015-W09) 281 11287 400 3241 267 5536
3/2/2015 (2015-W10) 288 11404 407 3300 274 5537
3/9/2015 (2015-W11) 295 11465 414 3395 281 5537
3/16/2015 (2015-W12) 302 11514 421 3441 288 5539
3/23/2015 (2015-W13) 309 11559 428 3497 295 5540
3/30/2015 (2015-W14) 316 11594 435 3520
50 Patient Database (Cumulative)
Sierra Leone [14] Guinea [12] Liberia [13]
Week Of (EPI Week) Day Comb. Day Comb. Day Comb.
4/6/2015 (2015-W15) 323 11623 442 3552
4/13/2015 (2015-W16) 330 11645 449 3569
4/20/2015 (2015-W17) 337 11659 456 3591
4/27/2015 (2015-W18) 344 11677 463 3601
5/4/2015 (2015-W19) 351 11686 470 3608
5/11/2015 (2015-W20) 358 11709 477 3641
5/18/2015 (2015-W21) 365 11744 484 3650
5/25/2015 (2015-W22) 372 11768 491 3663
6/1/2015 (2015-W23) 379 11793 498 3675
6/8/2015 (2015-W24) 386 11825 505 3686
6/15/2015 (2015-W25) 393 11905 512 3706
6/22/2015 (2015-W26) 400 11973 519 3718
6/29/2015 (2015-W27) 407 11993 526 3736
7/6/2015 (2015-W28) 414 12002 533 3749
7/13/2015 (2015-W29) 421 12011 540 3771
7/20/2015 (2015-W30) 428 12016 547 3776
7/27/2015 (2015-W31) 435 12020 554 3777
8/3/2015 (2015-W32) 442 12022 561 3779
8/10/2015 (2015-W33) 449 12030 568 3782
8/17/2015 (2015-W34) 456 12032 575 3785
8/24/2015 (2015-W35) 463 12032 582 3787
8/31/2015 (2015-W36) 589 3788
51 Patient Database (Cumulative)
Sierra Leone [14] Guinea [12] Liberia [13]
Week Of (EPI Week) Day Comb. Day Comb. Day Comb.
9/7/2015 (2015-W37) 596 3788
9/14/2015 (2015-W38) 603 3791
9/21/2015 (2015-W39) 610 3795
9/28/2015 (2015-W40) 617 3795
10/5/2015 (2015-W41) 624 3795
10/12/2015 (2015-W42) 631 3798
10/19/2015 (2015-W43) 638 3801
10/26/2015 (2015-W44) 645 3802
52 Appendix B
MATLAB Code
Below is the code used for Guinea. This code is adapted from Drew Levin in a series on
Modeling with ODEs in Matlab. [9]
1 % guinea_new.m
2 %
3 clear all;
4
5 %% Import data from spreadsheet
6
7 % Import the data
8 [~, ~, raw] = xlsread('C:\Users\chalm\Dropbox\School\Thesis\Data\
Cumulative Ebola Data from WHO.xlsx','Data','L8:M100');
9
10 % Create output variable
11 data = reshape([raw{:}],size(raw));
12
53 13 % Allocate imported array to column variable names
14 day_number = data(:,1);
15 guinea_infections = data(:,2);
16
17 % Clear temporary variables
18 clearvars data raw;
19
20 %% Solving for the beta and k
21 options = statset('Display', 'iter');
22 format long;
23 [values] = nlinfit(day_number, guinea_infections, 'infection_new',
[.45 .0097], options);
24
25 % Declare as global so the values can be passed into the SEIR
function
26 global beta k vacc;
27
28 % Set beta and delta to the values found by nlinfit
29 beta = values(1);
30 k = values(2);
31
32 %% Evaluate SEIR model
33 [t, y] = ode15s('seir_new', [0 day_number(end)], [10000000 0 1 0
0]);
34
54 35 %% Evaluate SEI1I2R Model
36 % Initialize Initial Conditions
37 t0_vacc = [t(53) day_number(end)];
38 y0_vacc = [y(53,1),y(53,2), y(53,3)/2, y(53,3)/2, y(53,4)];
39
40 % Evaluate ODE for various vaccinations
41 vacc=0.01;
42 [t2, y2] = ode15s('seiir_new', t0_vacc, y0_vacc);
43 vacc =0.1;
44 [t3, y3] = ode15s('seiir_new', t0_vacc, y0_vacc);
45 vacc =0.3;
46 [t4, y4] = ode15s('seiir_new', t0_vacc, y0_vacc);
55 1 % infection_nlin.m
2 %
3 function y = infection_nlin(a, x)
4 % define globals so we can pass the values into SEIR.
5 global beta k alpha gamma guinea_day_number sierra_day_number
liberia_day_number;
6 beta = a(1);
7 k = a(2);
8 alpha = a(3);
9 gamma = a(4);
10
11 % Solve our model.
12 [t_g, y_g] = ode15s('seir_new', [0 guinea_day_number(end)],
[10000000, 0, 1, 0, 1]);
13 [t_s, y_s] = ode15s('seir_new', [0 sierra_day_number(end)],
[10000000, 0, 1, 0, 1]);
14 [t_l, y_l] = ode15s('seir_new', [0 liberia_day_number(end)],
[10000000, 0, 1, 0, 1]);
15
16 % Use interpolation to match up with cumulative.
17 y = interp1([t_g t_g(end)+1+t_s t_g(end)+t_s(end)+t_l], [y_g
(:,5) y_s(:,5) y_l(:,5)], x);
56 1 % seir_new.m
2 %
3 function dx = seir_new(t, x)
4 dx = [0; 0; 0; 0; 0];
5 global beta k
6 alpha = 1/9.7;
7 gamma = 1/7;
8
9 dx(1) = − beta * exp(−k * t) * x(1) * x(3) / 10000000;
10 dx(2) = beta * exp(−k * t) * x(1) * x(3) / 10000000 − alpha * x
(2);
11 dx(3) = alpha * x(2) − gamma * x(3);
12 dx(4) = gamma * x(3);
13 dx(5) = alpha * x(2);
57 1 % seiir.m
2 %
3 function dx = seiir_new(t, x)
4 dx = [0; 0; 0; 0; 0];
5 global beta k vacc
6 alpha = 1/9.7;
7 gamma = 1/7;
8
9 dx(1) = − beta * exp(−k * t) * x(1) * ( x(3) + x(4) ) /
10000000;
10 dx(2) = beta * exp(−k * t) * x(1) * ( x(3) + x(4) ) / 10000000 −
alpha * x(2);
11 dx(3) = alpha * x(2) − 2 * gamma * x(3) − vacc * x(3);
12 dx(4) = gamma * x(3) − gamma * x(4);
13 dx(5) = gamma * ( x(3) + x(4) ) + vacc * x(3);
58 Bibliography
[1] Althaus CL. Estimating the Reproduction Number of Ebola Virus (EBOV) During
the 2014 Outbreak in West Africa. PLOS Currents Outbreaks. 2014 Sep 2. Edition
1. doi: 10.1371/currents.outbreaks.91afb5e0f279e7f29e7056095255b288
[2] Chowell G, Hengartner NW, Castillo-Chavez C, Fenimore PW, Hyman JM. (2004)
The basic reproductive number of Ebola and the effects of public health measures:
the cases of Congo and Uganda. J Theor Biol, 229(1): 119-26.
[3] Consortium for Mathematics and Its Applications. (2015). MCM/ICM Prob
lems. 2015 MCM, Problem A. Retrieved from http://www.comap.com/
undergraduate/contests/mcm/contests/2015/problems/.
[4] Daley D. J., Gani J. (2001). Epidemic Modelling: An Introduction. Cambridge
University Press.
[5] Diekmann, O., Heesterbeek, J. A. P., & Metz, J. A. (1990). On the definition and
the computation of the basic reproduction ratio R0 in models for infectious diseases
in heterogeneous populations. Journal of mathematical biology, 28(4): 365-382.
[6] Diekmann, O., Heesterbeek, J. A. P., & Roberts, M. G. (2009). The construction of
next-generation matrices for compartmental epidemic models. Journal of the Royal
Society Interface, rsif20090386.
59 [7] Giesecke, J. (1994). Modern Infectious Disease Epidemiology. Edward Arnold,
London.
[8] Kermack, W. O. and McKendrick, A. G. (1927). Contributions to the mathematical
theory of epidemics, part i. Proceedings of the Royal Society of Edinburgh. Section
A. Mathematics. 115: 700-721.
[9] Levin, D. Modeling with ODEs in Matlab. Retrieved from http://matlabgeeks.
com/tips-tutorials/modeling-with-odes-in-matlab-part-1/
[10] Van den Driessche, P.; Watmough, J. (2002). "Reproduction numbers and sub-
threshold endemic equilibria for compartmental models of disease transmission".
Mathematical Biosciences. 180 (1-2): 29-48.
[11] Wong, Z. S. Y., Bui, C. M., Chughtai, A. A., & Macintyre, C. R. (2017). A sys
tematic review of early modelling studies of Ebola virus disease in West Africa.
Epidemiology & Infection, 145(6): 1069-1094.
[12] World Health Organization. (2016). Data published on 11 May 2016: Data on
new cases per epi week for Guinea. Retrieved from http://apps.who.int/gho/
data/node.ebola-sitrep.ebola-country-GIN-latest?lang=en
[13] World Health Organization. (2016). Data published on 11 May 2016: Data on
new cases per epi week for Liberia. Retrieved from http://apps.who.int/gho/
data/node.ebola-sitrep.ebola-country-LBR-latest?lang=en
[14] World Health Organization. (2016). Data published on 11 May 2016: Data on new
cases per epi week for Sierra Leone. Retrieved from http://apps.who.int/gho/
data/node.ebola-sitrep.ebola-country-SLE-latest?lang=en
60