spatial modeling of an epidemic using differential...

35
Spatial modeling of an epidemic using differential equations with parameters Zixin He Professor Ivan T. Ivanov Vanier College Abstract In this paper, the classical SIR model has been expanded to accommodate the modeling of additional characteristics of an outbreak. A new population subgroup has been added to account for the effects of a latent period on the infectious cycle. New parameters have also been introduced to model for an imperfect post-recovery immunity acquisition, temporary immunity period and global immunization efforts. This new model was then expanded for computation on a population grid. Cells are linked through a proximity effect algorithm and the effect of air travel through major transportation hubs is predicted. Incorporating these long distance connections allows for an accurate depiction of the spread of most infectious diseases if left uncontrolled. When compared the current Zika epidemic, the model proves to be reliable with the correct set of parameters.

Upload: others

Post on 05-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

Spatial modeling of an epidemic using

differential equations with parameters

Zixin He

Professor Ivan T. Ivanov

Vanier College

Abstract

In this paper, the classical SIR model has been expanded to accommodate the modeling

of additional characteristics of an outbreak. A new population subgroup has been added

to account for the effects of a latent period on the infectious cycle. New parameters have

also been introduced to model for an imperfect post-recovery immunity acquisition,

temporary immunity period and global immunization efforts. This new model was then

expanded for computation on a population grid. Cells are linked through a proximity effect

algorithm and the effect of air travel through major transportation hubs is predicted.

Incorporating these long distance connections allows for an accurate depiction of the

spread of most infectious diseases if left uncontrolled. When compared the current Zika

epidemic, the model proves to be reliable with the correct set of parameters.

Page 2: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 2

Table of Contents Abstract ........................................................................................................................... 1

Introduction ..................................................................................................................... 3

Origin and current state of epidemic studies ................................................................ 3

Mechanisms in an Outbreak ........................................................................................ 4

Reporting of Population Counts ................................................................................... 5

Resolution of the model ............................................................................................... 5

Constructing the SEIR Model .......................................................................................... 6

Defining Groups ........................................................................................................... 6

Summary of the System .............................................................................................. 7

Total Population ........................................................................................................... 8

Susceptible Population ................................................................................................ 9

Exposed Population ................................................................................................... 11

Infectious Population ................................................................................................. 12

Recovered Population ............................................................................................... 13

Deceased Population ................................................................................................. 14

Density of Infected Population ................................................................................... 14

Solving the System Using Euler’s Method ................................................................. 16

Translation to MATLAB ................................................................................................. 18

Downsizing the Initial Population Data ....................................................................... 18

Setup of the Algorithm ............................................................................................... 18

Initialization Script ...................................................................................................... 20

Main Program ............................................................................................................ 22

Saving the Results ..................................................................................................... 24

Case Study – Zika Virus ................................................................................................ 27

Background ............................................................................................................... 27

Observed Trends of the Epidemic ............................................................................. 27

Predicted Trends by the SEIR Model ......................................................................... 30

Comparison ............................................................................................................... 31

Conclusion .................................................................................................................... 31

References ....................................................................................................................... I

Page 3: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 3

Introduction

The apocalyptic scenario of a disease outbreak decimating human populations has been

visited many times in all media genre. In most media, the fear is the zombie apocalypse,

a scenario where an out of control fungal infection turns individuals into mindless bodies,

leaving behind few survivors who have to fend themselves of the infected. It is at the

center of the TV series the Walking Dead and the game franchise Left4Dead. The United

States Strategic Command even hosts a contingency plan for such an outbreak (United

States Strategic Command, 2011). More recently, the global surge of terrorism has

increased fears of a biological attack involving anthrax or a mutated strain of smallpox. A

newly released game, Tom Clancy’s The Division, lets players experience virtually the

consequences of one such possibility. However, what is the actual likelihood for an

outbreak to spiral out of control and how will it play out?

This paper will attempt to answer this question by applying a generalised epidemic model

derived from the SIR model onto a two dimensional population count array representing

the global population. The epidemic model will take into account the infection and spread

mechanism of most common pathogen-caused diseases and the planned response of

relevant authorities. A MATLAB script will compute the expected outcomes of any given

outbreak from appropriately formatted population data.

Origin and current state of epidemic studies

The study of the spread of viral diseases has been central in improving living conditions

in the last few centuries. Renewed understanding of the causes of diseases such as the

plague, syphilis and smallpox has allowed doctors to prevent outbreaks. Lately, the field

of epidemic modeling emerged to quantitatively model and predict the trends of an

epidemic and to prepare appropriate response measures to limit the impact of such

outbreaks. The first attempt is by Daniel Bernoulli and is published in 1766 in Mémoires

de Mathématique et de Physique, présentés à l'Académie Royale des Sciences.

(Bernoulli, 2004). This predates the discovery of definite evidence for the germ theory for

diseases by Louis Pasteur circa 1856 (Lanska, 2014). W. O. Kermack and A. G.

McKendrick published the mathematical model that laid the foundation work for modern

epidemic modeling in 1927. In three separate papers, they proposed a deterministic

Page 4: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 4

model based on the rate of infection and recovery within a population (Kermack &

McKendrick, Contributions to the Mathematical Theory of Epidemics - I., 1991) (Kermack

& McKendrick, Contributions to the Mathematical Theory of Epidemics - II. The Problem

of Endemicity, 1991) (Kermack & McKendrick, Contributions to the Mathematical Theory

of Epidemics - III. Further Studies of the Problem of Endemicity, 1991). Their work formed

the basis for later more complex models.

Stochastic and deterministic models can be used to describe and predict an epidemic

analytically. The stochastic method evaluates individuals from a population for contact

rates and odds of infection; the deterministic method separates the population into groups

at different stages of infection and evaluates the flow rate from one group to another. The

former is more accurate within small populations as the odds can be computed rather

quickly. However, as the number of individuals grows, it becomes unfeasible to calculate

the status of each individual during the course of a simulated outbreak. The latter is more

adapted for large populations and for lengthier predictions. Since most outbreaks are

expansive and lengthy in nature, they are usually modeled using the deterministic method.

Mechanisms in an Outbreak

A disease outbreak is always caused by an infectious disease. An infectious disease

could be of the viral, bacterial, fungal or parasitic in nature. In an outbreak, isolated cases

spawn additional cases that cause the number of patients to increase. If left uncontrolled,

the outbreak could affect entire regions, which would lead the outbreak to be upgraded

to the status of an epidemic. If the outbreak spreads to outside the country or continent,

it will be considered a pandemic. Some diseases are endemic. These diseases

recurrently infect people in a particular region. They are mostly transmitted by insects or

animals. Due to the host being hard to target, the infection rate remains at an equilibrium

with the quality of care and prevention provided. Outbreaks caused by diseases of this

nature adhere to a different spread mechanism that is not covered by the system currently

under consideration.

For a given infectious disease, the evolution of an outbreak within a population follows a

small set of rules. Within a population, some people are susceptible to the given disease

while others are not. Among those who are susceptible, some become infected by the

Page 5: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 5

disease while others are not. Most diseases present a latent period during which the

patient is not capable of transmitting the disease. After this short period however, the

infected person will become infectious and may transmit the disease through different

medium. Then, those who recover or die due to the disease would do so at a predictable

rate. Usually, those who recover also gain immunity and reintegrates the population

without returning to a susceptible state. Those who perish would obviously not count in

the equation anymore.

Reporting of Population Counts

Population census is a laborious and continuous work of collecting data. While it is

possible to record any populations in a case by case basis, most governmental statistical

agencies proceed by estimates based on census data. The population data used for this

paper is the fourth version of the collection Gridded Population of the World hosted on

NASA's Socioeconomic Data and Applications Center (Center for International Earth

Science Information Network - CIESIN - Columbia University, 2015).

The particular dataset used provides population number on a grid subdivided in 30 arc-

second cells. The fourth version is based on 2010 census data and uses extrapolation for

the years 2015, 2020. Given the possibility of error and misreporting for some regions of

the world, the entirety of the data is adjusted to the numbers provided by the United

Nations for consistency in between regions.

Given the small size of the divisions, loading the raw data set requires an enormous array

of 43200 by 17400. Since each cell also has its population evolution calculated using

Euler’s Method, each cell requires a few large arrays to hold the values for each steps

calculated. This causes memory requirements to balloon beyond what most computers

can meet. Enlarging the subdivisions by a factor of 200 will preserve fidelity while

drastically reducing memory requirements and computation time.

Resolution of the model

The downscaled model is presented in a grid of 87 by 216 cells. They span from -60° to

85° in latitude and covers the whole 360° in longitude. This means that each grid is 100

square arc-minutes, which is approximatively a square with sides of 186 kilometers at the

Page 6: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 6

equator. To put this in perspective, the city of Toronto and its suburbs has a radius of

about 35 kilometers.

Constructing the SEIR Model

The previous description of the population dynamics during an outbreak can be

mathematically modeled for any population at any given location. Since individuals cannot

be in any two states simultaneously, individuals can only move from one state to another.

The rate of change of the groups represents the flow of individuals between states. This

thus allows establishing a first order differential equation system. The current system is

inspired by most papers on the reference list (Benito M. Chen-Charpentier, 2010) (Bonnie

Kegan, 2005) (Huang, 2016) (Cunlai Pu, 2016) (Qingchu Wu, 2016) (Zhidong Teng, 2016)

(E. Ahmed, 2007).

It is possible to establish the differential equations based on proportions or actual

numbers. Since the raw population density data provides actual numbers, it is preferable

to establish a system designed in terms of actual number of individuals. The constants of

the system would dictate the portion of any group that would transition to another state in

any period.

Defining Groups

The system used in the paper will describe the evolution of five distinct subgroup of a

given population. It will also have a subgroup for the number of deceased individuals. To

accommodate for the usually small time scales of epidemics, time is measured in days

and is calculated forwards from a given starting point. It is represented by the variable 𝑡𝑡.

The location is given as a 𝑥𝑥, 𝑦𝑦 coordinate and constants that dictates the behaviour of the

system are represented using lowercase Greek alphabet. Functions are given using

capital Roman alphabet.

The total population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡).

The susceptible population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡).

Page 7: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 7

The exposed population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡).

The infected population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡).

The recovered population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡).

The effective density of the infectious population over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡).

The deceased over time at a location 𝑥𝑥,𝑦𝑦 is defined as

𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡).

Summary of the System

The entire system is as follows:

⎩⎪⎪⎨

⎪⎪⎧𝑑𝑑𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝛼𝛼𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) + (1 − 𝛿𝛿)𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝑉𝑉(𝑡𝑡)

𝑑𝑑𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝜖𝜖)𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝛾𝛾 − 𝜇𝜇)𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝜖𝜖𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝜅𝜅)𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛿𝛿𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝑉𝑉(𝑡𝑡)

(1)

The possible transfers between groups can be represented with the following flowchart.

S E I

R

D 𝛽𝛽 𝜖𝜖 𝜇𝜇

𝛿𝛿𝛾𝛾 𝜅𝜅

𝑉𝑉(𝑡𝑡)

(1 − 𝛿𝛿)𝛾𝛾

Page 8: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 8

By definition, the functions for the various subpopulations must obey the constraints:

�𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) = 𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝐸𝐸(𝑥𝑥,𝑦𝑦)(𝑡𝑡) + 𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑑𝑑𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡=𝛼𝛼𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝑑𝑑𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡

(2)

The constants to be defined for the system are:

𝛼𝛼 Average daily natural population growth constant

𝛽𝛽 Effective contact rate

1𝛾𝛾 Infectious period in days

𝛿𝛿 Ratio for immunization after infection

1𝜖𝜖 Latent period in days

1𝜅𝜅 Immunized period in days

𝜇𝜇 Death rate from epidemic disease

The meaning of each functions, terms and constants are explained in the subsequent

sections.

Total Population

The total population function represents the total number of individual in any given cell of

the simulation. Under normal circumstances, it varies with births, deaths and migration.

Since the data is driven by census numbers, it represents the total number of residents

of the cell. In a circumstance such as a disease outbreak, it is expected that changes in

population due to migration would be minimal as it is not a usual response to an outbreak.

This allows for disregarding the effect of migrations which are out of the scope of this

model.

The following equation describes the evolution of the total population in a given location

𝑥𝑥,𝑦𝑦 over time.

𝑑𝑑𝑑𝑑𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡=𝛼𝛼𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝑑𝑑𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡 (3)

Page 9: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 9

The first term describes the natural population growth. The α constant is the population

growth constant. The growth constant is taken as the daily percent change in population

due to births and deaths from other causes than the epidemic. Due to the data not being

available at a local level, the global average is used. Given the usually small period of

epidemic outbreaks, influence from the variability of the growth constant is different

regions of the world would be negligible. This term will be present in all the equations

defined in the system (1) as all subpopulations are expected to grow at the natural rate.

The term 𝑑𝑑𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡 describes the death rate only for those dying from the disease of the

outbreak. These deaths can be counted apart from the population growth constant as the

population growth counts deaths that would have occurred without the outbreak. As such,

no deaths are counted twice. Death in this system can only occur either due to the

outbreak, or due to something other than the outbreak.

By the definition of the population group, the following equation also applies. It is the sum

of the susceptible, exposed, infectious and recovered populations in any given cell. In

other words, it is the total number of people alive in the cell.

𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) = 𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝐸𝐸(𝑥𝑥,𝑦𝑦)(𝑡𝑡) + 𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) (4)

While the necessity of computing the population number through both equations (3) and

(4) is not immediately apparent, both equations should produce the same graph from an

initial population. This can be used to rule out runaway programming errors by comparing

the theoretical total from equation (3) to the sum from equation (4). This can be

implemented as a verification for calculation mistakes and rounding errors occurring

within the system.

Susceptible Population

The susceptible population represents individuals who are at risk of falling ill after

exposure to the disease. Usually, this group forms the majority of the population at the

onset of an outbreak. Every non-immunized individual is considered at risk and are

classified as susceptible. Given that immunity is inherited through maternal milk,

susceptible mothers will lead to susceptible children unless the infant is immunized

Page 10: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 10

through other means. The growth of the susceptible population will have the exponent 𝛼𝛼,

as childbirth and death from other causes than the epidemic persist during the epidemic.

However, the number of susceptible individuals could also drop due to successful

immunization during the outbreak. Depending on the disease, individuals may acquire

immunity if they recover from the disease. However, some diseases with high virulence

may present itself in multiple strains that increase the chances of reinfection. Other

diseases simply cannot be unimmunized against, which means a straight transit from the

infected state back to the susceptible state.

This susceptible population group is modeled by the following equation.

𝑑𝑑𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝛼𝛼𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) + (1 − 𝛿𝛿)𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝑉𝑉(𝑡𝑡) (5)

The first term, 𝛼𝛼𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) , describes the population’s natural growth, the second term,

𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡), new infections, the third term, (1 − 𝛿𝛿)𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡), those who recover from an

infectious state without immunization, the forth term, 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡), those who lose immunity

and the fifth term, 𝑉𝑉(𝑡𝑡), the rate of immunization by healthcare authorities.

The reasoning behind the first term is similar to the natural population growth for the total

population. More on this term and subsequent similar terms can be found in the previous

section.

The second term describes the individuals who contracts the disease of the outbreak and

who transitions to the latent phase. It is defined by the effective contact rate and the

density of the infectious population. 𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡) is the function for the density of the infectious

population. It is a weighted ratio of the total infectious population to the total surviving

population in a cell and the surrounding cells. This function also implements a method of

interconnecting cells containing cities that act as major transportation hubs, modeling the

rapid transmission vector that is air travel. This function is further described in its own

section.

𝛽𝛽 represents the effective contact rate. It is a value that helps quantify the virulence of a

disease in conjunction with the function for the density of the infectious population.

Transmission can be done through multiple vectors, such as surface contact, bodily fluids,

Page 11: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 11

airways or intercourse. Each of these vectors have different contact frequencies and not

all contacts transmit the disease. For example, a disease transmittable only through

intercourse will have a much lower contact rate than a disease transmittable through the

airways. However, the former may present a much higher rate of effective contact. The

effective contact rate may also take into account the quarantine measures taken by the

authorities. However, similarly to the population growth rate, the lack of data makes

modeling the effects of emergency healthcare measures more difficult. It is preferable to

use this model without accounting for quarantine or immunization campaigns as a

reference point to measure the effectiveness of the containment efforts undertaken.

The term 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) represents population losing immunity and returning to a susceptible

state. More about this is elaborated in the section for the recovered population.

𝑉𝑉(𝑡𝑡) represents a possible world wide immunization effort. Due to the lack of data, this

function is provided solely for visualizing the impact of an appropriate immunization effort.

Depending on the specified function, immunization may occur in the early stages or

towards the later stages of the outbreak. The function would take into account the size of

the infectious population. However, it is not a simple task to evaluate the immunization

effort that could be expected in different regions of the world such that this implementation

remains a rough visualization of the effect of a concerted global immunization effort.

Exposed Population

The exposed population represents individuals who were infected but who are not

infectious. These people may or may not develop symptoms and are not contributing to

the spread of the disease yet. The current model makes the assumption that the latent

period is uniform across the population and that the disease cannot be cured during its

latent period. The formula for this group is the following:

𝑑𝑑𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝛼𝛼𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝜖𝜖𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) (6)

Simplified, it is:

𝑑𝑑𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝜖𝜖)𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) (7)

Page 12: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 12

As expected, the group of newly infected individuals represented by 𝛽𝛽𝑇𝑇𝑥𝑥,𝑦𝑦(𝑡𝑡)𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) adds

back to the exposed population. The term 𝜖𝜖𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) represents the group of infected

individuals who are transitioning out of the latent period. The constant 𝜖𝜖 is the inverse of

the average latent period duration in days. If the disease does not present an observable

latent period, this can be expressed by using a large value for 𝜖𝜖.

Infectious Population

The infectious population is the group of individuals who have contracted the disease and

who are capable of transmitting the disease. They may or may not present symptoms and

thus may or may not be under quarantine. They thus are the source of new infected

individuals. As explained in the previous section, effect from quarantine is not modeled

due to the lack of homogeneity across geographic regions in terms of epidemic response

and health care capacity.

The infectious population will increase at the same rate of the exposed population exits

from latent period. It would decrease with people recovering and dying from the disease.

The formula is as follows:

𝑑𝑑𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝛼𝛼𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝜖𝜖𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝜇𝜇𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) (8)

Combining terms,

𝑑𝑑𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝛾𝛾 − 𝜇𝜇)𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝜖𝜖𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) (9)

The two new constants, 𝛾𝛾 and 𝜇𝜇, represent the recovery rate and the death rate. The

recovery rate is the inverse of the average time to recovery and the death rate is the rate

at which people die per day due to the disease.

The first term represents the growth of the infectious population. The second term

represents the rate of new infected individuals and is present in equation (6).

The new term 𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) represents the rate of people recovering or exiting from the

infectious phase. The mechanics of the constant 𝛾𝛾 is similar to the 𝜖𝜖 constant. 𝛾𝛾 is the

inverse of the average infectious period. The patients may not have fully recovered,

however, they are not at risk of transmitting the disease and thus are leaving the infectious

Page 13: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 13

population. In general, symptoms would subside at the same time as the person cease

to be infectious such that a person leaving the infectious state can be considered

recovered.

The term 𝜇𝜇𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) was first encountered in the population equation. It represents the death

rate from the disease itself. Death from the disease is counted only within the infectious

population and not in the exposed population because death would not arise in the latent

period as symptoms are not yet present. If an exposed individual dies during the latent

period, it is most likely due to other causes and is calculated in the term for the growth

rate of the exposed population. In a similar manner, death during the infectious phase

may not be attributed to the disease. These cases are calculated in the term for the growth

of the infectious population.

Recovered Population

This is the group for those who have immunity, through either immunization or recovery

from disease. This population cannot be infected or carry the disease. This group thus

acts as a spectator group similar to the deceased population as they do not participate

anymore in the infectious cycle. Part of the population can be considered recovered

before the outbreak, either through previous infection with the disease or through

immunization.

The recovered population increases with people recovering from the disease and

acquiring immunity and people who are immunized through a vaccination campaign. The

formula is as follows.

𝑑𝑑𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝛼𝛼𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛿𝛿𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) − 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝑉𝑉(𝑡𝑡) (10)

Condensed,

𝑑𝑑𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= (𝛼𝛼 − 𝜅𝜅)𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝛿𝛿𝛾𝛾𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) + 𝑉𝑉(𝑡𝑡) (11)

The new constant 𝛿𝛿 represents the ratio for someone to acquire immunization after

recovery from the disease. For some diseases, it is impossible to acquire immunity. This

can be indicated by setting the initial recovered population to zero and the ratio for

Page 14: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 14

acquiring immunity to zero. For other diseases, the immunity may be temporary. This is

where the term 𝜅𝜅𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) is involved. In the same logic as the constants 𝛾𝛾 and 𝜖𝜖 , the

constant 𝜅𝜅 is the inverse of the immune period. If immunity is permanent, the constant

𝜅𝜅 can is set to zero.

Deceased Population

This population is for all those who die from the disease. It does not decrease and starts

at zero. It does not interact with other groups and is a spectator to the infectious cycle. Its

equation is:

𝑑𝑑𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡)

𝑑𝑑𝑡𝑡= 𝜇𝜇𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡). (12)

Density of Infected Population

As described previously, this function serves to connect the different cells together and

model the transmission of the disease across geographical regions. This function is based

on a proximity model with interconnects at major transportation hubs. The value for each

cell is the sum of the proportions of the infected in each surrounding cell multiplied by a

factor computed from the relative distance to the cells. The reason is that the odds of

someone travelling a long distance is inversely proportional to the distance travelled.

Given the limit of regular commuting methods, a person can only travel a maximum of a

certain distance in one day. This fact can be modelled by a proximity matrix. Applied to

the matrices of population count and infected then summed up to the total odds of being

in contact with an infected person for each person in a given cell.

Since the lack of data, an estimate is used for the matrix in the calculation. It would be

generated from a radially applied inverse function fitted to a few rules. Within the cell, the

odds of meeting an infected person is assumed to be exactly the density of infected within

the cell. Outside of the cell, a few interesting data points can be taken and fit a realistic

curve for relative proximity. The proximity grid used in this model is defined as an array

of values depicting the decrease of contact as the distance increases. This array is then

extrapolated to a grid for surrounding cells and applied directly in the calculation.

Page 15: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 15

Given that intercontinental air transport in likely by plane, a few high traffic transportation

hubs are located in their corresponding cells and marked in the computation as cells of

interest. A connectivity factor modifies the density value based on the connectivity rating

of the city. These cells share their pool of infected, which adds to the density of the

infected population in these cells even if no surrounding cells present infectious

individuals. The connectivity factor is represented by 𝜉𝜉 and is determined using the

following formula.

𝜉𝜉 =𝐴𝐴𝐴𝐴𝐴𝐴 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝐴𝐴 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑃𝑃𝑇𝑇𝑉𝑉𝑡𝑡𝑃𝑃𝑉𝑉 𝑃𝑃𝑉𝑉𝑃𝑃𝑉𝑉𝑉𝑉𝑃𝑃𝑡𝑡𝐴𝐴𝑉𝑉𝑃𝑃

The connectivity factor calculates the ratio of daily passenger traffic compared to the

population at the start of the computation and uses it to determine the fraction of infected

that gets added to the pool of infected possibly travelling between the modeled cities. This

pool of infected individuals is then redistributed according to relative air passenger volume

compared to the total air passenger volume. These individuals would then be added to

the density of infected for the city’s corresponding cell. To ease calculations, the current

model only considers cities with a recorded annual passenger volume above 50 million in

2015.

Figure 1 – Color map of the proximity values for computing the effect of neighboring cells

of the center cell. This is a grid of 11 values by 11 values.

Page 16: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 16

Table 1 - List of cities modeled with their geographical coordinate and their annual air

passenger volume in 2015. Taken from Wikipedia since all other reputable and organised

sources require a large access fee.

City Name Coordinates Volume London 51.5074° N, 0.1278° W 153,487,957 New York 40.7128° N, 74.0059° W 126,651,526 Tokyo 35.6895° N, 139.6917° E 110,070,000 Atlanta 33.7490° N, 84.3880° W 101,491,106 Paris 48.8566° N, 2.3522° E 99,761,998 Shanghai 31.2304° N, 121.4737° E 99,189,000 Chicago 41.8781° N, 87.6298° W 99,170,835 Beijing 39.9042° N, 116.4074° E 96,130,390 Los Angeles 34.0522° N, 118.2437° W 95,793,140 Istanbul 41.0082° N, 28.9784° E 89,435,167 Dubai 25.2048° N, 55.2708° E 88,935,250 Bangkok 13.7563° N, 100.5018° E 83,206,293 Dallas 32.7767° N, 96.7970° W 78,671,661 Miami 25.7617° N, 80.1918° W 77,557,288 Moscow 55.7558° N, 37.6173° E 75,285,463 Seoul 37.5665° N, 126.9780° E 72,445,198 San Francisco 37.7749° N, 122.4194° W 71,014,239 Sao Paulo 23.5505° S, 46.6333° W 68,715,919 Hong Kong 22.3964° N, 114.1095° E 68,488,000 Washington 38.9072° N, 77.0369° W 66,669,853 Frankfurt 50.1109° N, 8.6821° E 63,697,127 Amsterdam 52.3702° N, 4.8952° E 58,284,864 Jakarta 6.1745° S, 106.8227° E 57,000,000 Singapore 1.3521° N, 103.8198° E 55,448,964 Guangzhou 23.1291° N, 113.2644° E 55,208,000 Denver 39.7392° N, 104.9903° W 54,014,502 Houston 29.7604° N, 95.3698° W 53,414,359 Kuala Lumpur 3.1390° N, 101.6869° E 51,678,211

Solving the System Using Euler’s Method

Given the strong interdependencies and the large number of variables within the system,

it would be a waste of time to try and obtain an analytical answer. The relationships

between neighboring cells only increases the challenge to obtaining exact and analytic

Page 17: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 17

solutions to the system. The most obvious way is to solve the initial value problem using

a numerical method. Time allowing, higher order methods can be used. For the moment,

Euler’s method proves sufficient in solving the system.

Euler’s method is a numerical process that incrementally computes the rate of change

from a previous step and adds an increment of it to the values in the previous step to

obtain the values of the current step. Since each step is an approximation based on the

previous step, this method inherently leads to runaway errors as the calculations progress

forward. Luckily, as computerized systems can be programmed to do very rapidly the

repetitive calculations, they allow for a large number of minuscule steps, minimizing the

error introduced at each step of calculation.

The general idea of Euler’s method is to discretize the integrand in an integral. Instead of

looking for a continuous function, it computes a series of points that allow for an estimation

for the shape of the function. However, the faster a function changes, the faster the

approximation becomes off. This method may also jump over discontinuities such that

special arrangements are required for discontinuous functions. The general form of

Euler’s method is as follows:

𝑓𝑓(𝑡𝑡𝑛𝑛+1) = 𝑓𝑓(𝑡𝑡𝑛𝑛) + 𝑓𝑓′(𝑡𝑡𝑛𝑛) × 𝑑𝑑𝑡𝑡 (13)

The 𝑃𝑃 is the step number and the 𝑑𝑑𝑡𝑡 is the width of each step. Given a duration 𝐷𝐷 and a

𝑃𝑃 number of steps to compute, 𝑑𝑑𝑡𝑡 is determined as follows:

𝑑𝑑𝑡𝑡 = 𝐷𝐷𝑛𝑛. (14)

When applied to the current SEIR system, it results the following set of equations for a

particular cell 𝑥𝑥,𝑦𝑦.

⎩⎨

⎧𝑆𝑆(𝑡𝑡𝑛𝑛) = 𝑆𝑆(𝑡𝑡𝑛𝑛−1) + [𝛼𝛼𝑆𝑆(𝑡𝑡𝑛𝑛−1) − 𝛽𝛽𝑇𝑇(𝑡𝑡𝑛𝑛−1)𝑆𝑆(𝑡𝑡𝑛𝑛−1) + (1 − 𝛿𝛿)𝛾𝛾𝐼𝐼(𝑡𝑡𝑛𝑛−1) + 𝜅𝜅𝑅𝑅(𝑡𝑡𝑛𝑛−1) − 𝑉𝑉(𝑡𝑡𝑛𝑛−1)] × 𝑑𝑑𝑡𝑡

𝐸𝐸(𝑡𝑡𝑛𝑛) = 𝐸𝐸(𝑡𝑡𝑛𝑛−1) + [(𝛼𝛼 − 𝜖𝜖)𝐸𝐸(𝑡𝑡𝑛𝑛−1) + 𝛽𝛽𝑇𝑇(𝑡𝑡𝑛𝑛−1)𝑆𝑆(𝑡𝑡𝑛𝑛−1)] × 𝑑𝑑𝑡𝑡𝐼𝐼(𝑡𝑡𝑛𝑛) = 𝐼𝐼(𝑡𝑡𝑛𝑛−1) + [(𝛼𝛼 − 𝛾𝛾 − 𝜇𝜇)𝐼𝐼(𝑡𝑡𝑛𝑛−1) + 𝜖𝜖𝐸𝐸(𝑡𝑡𝑛𝑛−1)] × 𝑑𝑑𝑡𝑡

𝑅𝑅(𝑡𝑡𝑛𝑛) = 𝑅𝑅(𝑡𝑡𝑛𝑛−1) + [(𝛼𝛼 − 𝜅𝜅)𝑅𝑅(𝑡𝑡𝑛𝑛−1) + 𝛿𝛿𝛾𝛾𝐼𝐼(𝑡𝑡𝑛𝑛−1) + 𝑉𝑉(𝑡𝑡𝑛𝑛−1)] × 𝑑𝑑𝑡𝑡

(15)

Page 18: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 18

Translation to MATLAB

The program will be in two parts, the computational code itself and the graphical user

interface. The general idea is to discretize the curves for each cell and plot the values on

the world map. The evolution of the system would be computed frame by frame and stored

for display. The graphical interface will allow the user to define the constants of the

system, solve the system, display the data in a chronological map and graph the evolution

of the populations for a selected 𝑥𝑥,𝑦𝑦 coordinate.

Downsizing the Initial Population Data

The dataset offered by NASA is a grid of 17400 by 43200 cells. A script was used to

downsize the grid by a factor of 200 and store it in the 87 by 216 array named SPopCount.

The original data was loaded to the array PopCount. The resulting array is saved in

SPopCount.mat so that it can be reused instead of having to regenerate this data at each

execution of the program. A small problem is that empty cells contained an enormous

negative number that rendered summations close to coastlines and water features

inaccurate. This data peculiarity was corrected with a loop that set all negative values to

zero. A second version of the grid called SSPopCount.mat has also been created by

downscaling only by a factor of 100. It is used to load and use a higher resolution grid if

the toggle hires is set to true.

Setup of the Algorithm

Programs in MATLAB use discretized functions. In a similar principle, our current Euler’s

method is a discretization of the model functions. The main script will loop for each frame

to compute the values of the current frame from the previous frame. The initialization

script would first define values for the constants and the initial conditions. The same script

would then declare and preallocate the main functions. The main script is executed once

the initial conditions are set. When the main script has completed all frames of calculation,

a third script is used to render graphics of the result. The user would be able to visualize

the epidemic at different frames of the calculations and see the evolution of the disease

as a whole. A user interface is in the works to ease operation of the program.

The following tables contain the definitions of key constants and functions in the program.

Page 19: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 19

Table 2 – Functions

System Function Name in Program Description

𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) P(x,y,i) Total Population.

𝑃𝑃𝑥𝑥,𝑦𝑦(𝑡𝑡) Check(x,y,i) Validation for the total population.

𝑆𝑆𝑥𝑥,𝑦𝑦(𝑡𝑡) S(x,y,i) Susceptible Population

𝐸𝐸𝑥𝑥,𝑦𝑦(𝑡𝑡) E(x,y,i) Exposed Population

𝐼𝐼𝑥𝑥,𝑦𝑦(𝑡𝑡) I(x,y,i) Immunized Population

𝑅𝑅𝑥𝑥,𝑦𝑦(𝑡𝑡) R(x,y,i) Recovered Population

𝐷𝐷𝑥𝑥,𝑦𝑦(𝑡𝑡) D(x,y,i) Deaths from the epidemic

𝑉𝑉(𝑡𝑡) V(i) Immunization rate

Table 3 – System Constants

System constants Name in Program Description

𝛼𝛼 a Daily natural population growth constant

𝛽𝛽 b Effective contact rate

𝛾𝛾 c Inverse of infectious period in days

𝛿𝛿 d Ratio for immunization after infection

𝜖𝜖 e Inverse of latent period in days

𝜅𝜅 f Inverse of immunized period in days

𝜇𝜇 g Death rate from epidemic disease

- ax Simulation vertical resolution

- ay Simulation horizontal resolution

Table 4 – System Variables

Variable name Description x Latitude locant or a counter y Longitude locant or a counter i Frame number n Loop counter

Page 20: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 20

m Loop counter t Total duration of simulation in days h Total number of simulated frame dt Duration of each simulated frame

Initialization Script

The initialization script defines all constants and variables and preallocates memory in

the workspace. Most values corresponding to the initial conditions can be modified in the

script prior to execution. A binary value allows toggling between the high and low

resolution grid. However, most computers do not have sufficient memory to process more

than 100 frames using the high-resolution grid. A few algorithms also lack a high

resolution implementation as it is currently impossible to test them. While the wording ‘low

resolution’ may sound disappointing, the results obtained satisfactorily represent the

expected outcomes of an uncontrolled disease outbreak on a global scale.

% Initializes the computation and declares global variables.

% Setup of constants

a = 0.00002943; % Natural growth rate

b = 0.6; % Effective contact rate

c = 0.1; % Inverse of infectious duration

d = 0; % Immunization ratio after infection

e = 0.5; % Inverse of latent duration

f = 0; % Inverse of immunized duration

g = 0; % Death rate from disease

pGrid = [sqrt(0.5), sqrt(0.4), sqrt(0.3), sqrt(0.2), sqrt(0.1), sqrt(0.05)];

% Proximity grid

% Setup for computation

t = 365; % Simulation duration in days

h = 3650; % Total number of simulated frames

dt = t/h; % Frame duration. DO NOT MODIFY.

% Compute resolution selection

hires = false; % High resolution grid toggle

Page 21: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 21

ax = 87;

ay = 216;

if hires

ax = 174;

ay = 432;

end

% Preallocating

Time(1:h) = zeros;

P(1:ax, 1:ay, 1:h) = zeros; % Total population

S(1:ax, 1:ay, 1:h) = zeros; % Susceptible population

E(1:ax, 1:ay, 1:h) = zeros; % Exposed population

I(1:ax, 1:ay, 1:h) = zeros; % Infectious population

R(1:ax, 1:ay, 1:h) = zeros; % Recovered/immune population

D(1:ax, 1:ay, 1:h) = zeros; % Total Death count

T(1:ax, 1:ay, 1:h) = zeros; % Transmissivity index

V(1:h) = zeros; % Rate of immunization

Check(1:ax, 1:ay, 1:h) = zeros; % Verification of total population

% Loading up Initial population

if hires % If true, load the high resolution grid.

load('SSPopCount.mat');

load('SSCitiesData.mat');

CitiesData = SCitiesData

P(1:ax,1:ay,1) = SPopCount;

S(1:ax,1:ay,1) = SPopCount;

else

load('SPopCount.mat');

load('SCitiesData.mat');

CitiesData = SCitiesData;

P(1:ax,1:ay,1) = SSPopCount;

S(1:ax,1:ay,1) = SSPopCount;

end

The initialization script also imports precompiled air travel data at select city cells to create

two arrays. These arrays are used to estimate the total number of infectious individuals

possibly travelling by airplane and incorporates that number to the calculation of the

density of the infectious population at those high traffic cells.

Page 22: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 22

% Creates Matrix for only infected sharing in airworthy cities

InfectedShare(1:ax, 1:ay) = zeros;

for x = 1:size(CitiesData, 1)

InfectedShare(CitiesData(x,1), CitiesData(x,2)) = CitiesData(x,3) ...

./ sum(CitiesData(1:end,3));

end

AirConnectivityArray(1:ax, 1:ay) = zeros;

for x = 1:size(CitiesData, 1)

AirConnectivityArray(CitiesData(x,1), CitiesData(x,2)) = CitiesData(x,3) ...

./365 ./ P(CitiesData(x,1), CitiesData(x,2), 1);

end

This last section of the initialization script places an initial infectious population in a given

cell. The population of other groups are adjusted accordingly to respect the initial

population conditions.

% Seeding

I(33,82,1) = 50;

S(33,82,1) = P(33,82,1) - I(33,82,1);

Main Program

The main program performs that calculations for the system itself. It first goes through a

round of calculations to prepare the values for the modeling of air travelers and

immediately launches the main loop of calculations. Most of the calculations are

performed element-wise directly on the function arrays, a process that MATLAB is

optimized for. The execution duration of the script depends heavily on the size of the

computed grid and the number of frames to be computed. The time duration of the

simulation has little impact on the compute duration. Another factor is the performance of

the host system. The script is CPU and RAM intensive. A computer with fast memory

access will perform better.

% Main compute loop for the simulation

% Takes variables from the workspace and spits out data

% Creating buffer arrays for the computation of T(x,y,i)

pGridSize = size(pGrid,2)-1;

PaddedI(1:ax+2*pGridSize, 1:ay+2*pGridSize) = zeros;

PaddedP(1:ax+2*pGridSize, 1:ay+2*pGridSize) = zeros;

Page 23: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 23

distanceFactor(1:1+2*pGridSize, 1:1+2*pGridSize) = zeros;

InfectedAirArray(1:ax, 1:ay, 1:h) = zeros;

for x=-pGridSize:pGridSize % Creating grid for the distance factor

for y=-pGridSize:pGridSize

distanceFactor(x+pGridSize+1, y+pGridSize+1) = ...

sqrt((pGrid(abs(x)+1))^2 + (pGrid(abs(y)+1))^2);

end

end

% Let’s begin

for i = 2:h

% Preparing number of infected air travellers

InfectedAir = sum( sum( I(1:ax, 1:ay, i-1) .* AirConnectivityArray(1:ax, 1:ay) ) );

InfectedAirArray(1:ax, 1:ay, i) = InfectedAir .* InfectedShare(1:ax, 1:ay);

% Adding up infectious and populations of neighboring cells

for x=-pGridSize:pGridSize

for y=-pGridSize:pGridSize

PaddedI(pGridSize+1+x:ax+pGridSize+x, pGridSize+1+y:ay+pGridSize+y) ...

= PaddedI(pGridSize+1+x:ax+pGridSize+x, pGridSize+1+y:ay+pGridSize+y) ...

+ distanceFactor(x+pGridSize+1, y+pGridSize+1) .* ( I(1:ax, 1:ay, i-1) ...

+ InfectedAirArray(1:ax, 1:ay, i) );

PaddedP(pGridSize+1+x:ax+pGridSize+x, pGridSize+1+y:ay+pGridSize+y) ...

= PaddedP(pGridSize+1+x:ax+pGridSize+x, pGridSize+1+y:ay+pGridSize+y) ...

+ ( P(1:ax, 1:ay, i-1) );

end

end

T(1:ax, 1:ay, i-1) = PaddedI(1+pGridSize:ax+pGridSize, 1+pGridSize:ay+pGridSize) ...

./ PaddedP(1+pGridSize:ax+pGridSize, 1+pGridSize:ay+pGridSize);

% Remove bad values

IsNotANumber = isnan(T);

T(IsNotANumber) = 0;

The following section performs the most part of the calculation of the system. It is a

MATLAB interpretation of the equation (15).

Page 24: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 24

% Main compute block

Time(i) = Time(i-1)+dt;

S(1:ax, 1:ay, i) = S(1:ax, 1:ay, i-1)+(a*S(1:ax, 1:ay, i-1) ...

-b*T(1:ax, 1:ay, i-1).*S(1:ax, 1:ay, i-1)+(1-d)*c*I(1:ax, 1:ay, i-1) ...

+f*R(1:ax, 1:ay, i-1)-V(i-1))*dt;

E(1:ax, 1:ay, i) = E(1:ax, 1:ay, i-1)+((a-e)*E(1:ax, 1:ay, i-1) ...

+b*T(1:ax, 1:ay, i-1).*S(1:ax, 1:ay, i-1))*dt;

I(1:ax, 1:ay, i) = I(1:ax, 1:ay, i-1)+((a-c-g)*I(1:ax, 1:ay, i-1) ...

+e*E(1:ax, 1:ay, i-1))*dt;

R(1:ax, 1:ay, i) = R(1:ax, 1:ay, i-1)+((a-f)*R(1:ax, 1:ay, i-1) ...

+d*c*I(1:ax, 1:ay, i-1)+V(t-1))*dt;

D(1:ax, 1:ay, i) = D(1:ax, 1:ay, i-1)+(g*I(1:ax, 1:ay, i-1))*dt;

P(1:ax, 1:ay, i) = P(1:ax, 1:ay, i-1)+(a*P(1:ax, 1:ay, i-1) ...

-g*I(1:ax, 1:ay, i-1))*dt;

Check(1:ax, 1:ay, i) = S(1:ax, 1:ay, i)+E(1:ax, 1:ay, i) ...

+I(1:ax, 1:ay, i)+R(1:ax, 1:ay, i);

end

Saving the Results

This final script renders the data from selected frames into a surface map using a

logarithmic scale and saves it to a Portable Network Graphics (.png) file. Similar to the

main script, it loops through the selected frames to export data frame by frame. Currently,

it supports outputting from a single function and the use of the logarithmic scale is

selectable.

This sample displays the 10th frame, the 3650th frame and every 100th frames in between

for the infected population using a logarithmic scale.

for frame = [10, 100:100:3650, 3650]

x(1:ax) = 0; y(1:ay) = 0; DisplayStore(1:ax,1:ay) = 0; LogScale = true;

if LogScale

DisplayStore = log10(I(1:end, 1:end, frame));

else

DisplayStore = (I(1:end, 1:end, frame)); % ./ P(1:end, 1:end, frame)

end

Page 25: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 25

% Normalizes negative values which are not expected

TooSmall = DisplayStore < 0;

DisplayStore(TooSmall) = 0;

% Prepares references for corresponding the array indexes to geographical

coordinates

for n = 1:ax

x(n) = -60 + (n-1)*(145/(ax-1));

end

for n = 1:ay

y(n) = -180 + (n-1)*(360/(ay-1));

end

% Prepares the color map for rendering

shades = 256; map(1:shades, 1:3) = zeros;

for m = 1:shades;

map(shades-m+1, 1:3) = [(m-1)/shades, (m-1)/shades, 1];

end

figure('Visible','off')

set(gca,'LooseInset',get(gca,'TightInset'))

axesm('mapprojection', 'miller', 'MapLatLimit', [-55,85] );

surfm(x, y, DisplayStore)

caxis([0 4])

colormap(map)

colorbar

title(['Day ', num2str(ceil(Time(frame)))])

% Renders coastlines

load coast

geoshow(lat,long, 'Color', 'black')

% Create filename and saves the graphic

savefilename = ['Day', num2str(ceil(Time(frame))), '.png'];

saveas(gcf, savefilename);

end

Page 26: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 26

Figure 2 – Sample outputs of the saving script.

Page 27: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 27

Case Study – Zika Virus

The recent outbreak of the Zika virus can serve as an example to demonstrate the

effectiveness of the current modeling method.

Background

The Zika virus has been first observed in Uganda back in 1947. Since then multiple

outbreaks have been reported in Africa, South-East Asia and Polynesia. The most recent

outbreak started in Brazil in late 2015. It has since spread to 43 countries and cases are

still multiplying. The virus is of the genus Flavivirus, making it similar to the more well-

known dengue, West Nile and yellow fever viruses.

Infection by the Zika virus produces a mild fever and followed by back pain. Some report

a maculopapular rash developing mostly on the face, neck, trunk, and upper arms. It

occasionally causes diarrhea and abdominal discomfort. There are no recoded cases of

death due to the Zika virus. Immunization against the disease after infection is unclear,

but there are observations that the virus may be able to survive in the male testes for

more than two months after the original infection.

Until recently, this virus is little known as it has never been behind a large outbreak. The

most important known threat from Zika has only been established recently with a strong

increase in the number of births with microcephaly in Brazil. There is strong evidence of

a link between the Zika virus and microcephaly in fetuses whose mother have contracted

the Zika virus at some point during the pregnancy. The mechanism leading to

microcephaly is still unknown and there are no vaccines nor treatments specifically

targeting the Zika virus.

Observed Trends of the Epidemic

Up to this point, data sources are unsure about how many people are infected by the Zika

virus due to the mild and often absent symptoms of an infection. The most predominant

sources of information are the Centers for Disease Control and Prevention in the US and

the World Health Organization. The following two figures show the spread of the Zika

virus one year after what is believed to be the start of the outbreak.

Page 28: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 28

Figure 3 – States in the US with reported cases of Zika. May 2016 data from the CDC.

As of May 11, 2016, there are a total of 507 laboratory-confirmed, travel acquired cases

in the continental US (Centers for Disease Control and Prevention, 2016).

Figure 4 - All Countries and Territories with Active Zika Virus Transmission as of May 12,

2016. From the CDC (Centers for Disease Control and Prevention, 2016).

Page 29: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 29

The Pan American Health Organization also has a data set on reported and estimated

cases of Zika in central and south American countries. While the cases of new infections

seem to have largely slowed down, the data is constituted of fragments that may not

depict the whole picture. For example, Brazil only has data on confirmed cases

discontinuously up to February. There are no estimated numbers for Brazil, which makes

this graph less reliable especially at more recent time periods. However, recent

containment efforts have indeed slowed the spread of the Zika virus.

Figure 5 – Epicurve from the Pan American Health Organization (Pan American Health

Organization / World Health Organization, 2016).

Page 30: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 30

Predicted Trends by the SEIR Model

The available data can be compared to the data generated by the SEIR model elaborated

in this paper. The initial values for the simulation are as follows.

System constants Value Description

𝛼𝛼 0.00002943 Daily natural population growth constant

𝛽𝛽 0.6 Effective contact rate

𝛾𝛾 0.1 Inverse of infectious period in days

𝛿𝛿 0 Ratio for immunization after infection

𝜖𝜖 0.5 Inverse of latent period in days

𝜅𝜅 0 Inverse of immunized period in days

𝜇𝜇 0 Death rate from epidemic disease

Given the uncertain information about immunization after an infection, the ratio of

immunization post-recovery is presumed to be null. The average latent period for the

disease is estimated to be 2 days and the infectious period, 10 days. The initial infected

population was set to 50 originated within Brazil.

Figure 6 – Progression of the Simulated Epidemic after One Year. The scale is logarithmic.

The simulation did predict a few cases on the continental US and Europe. The Central

Americas were also affected in good measure. The infections did not spread to null

population areas of the Amazon, which was also expected.

Page 31: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 31

Comparison

Overall, the simulation is mostly on point. A closer look at the numbers of infected in each

country show that the model is relatively accurate. The number of infected in Brazil one

year after the outbreak was estimated to be 120 thousand individuals. The simulation

model shows an infected population in roughly the same range. The cases in the United

States also corresponds to the predictions of the simulation. The cases dotting the East

and West Coasts of the US is represented accurately in the simulation at roughly the

same time frame. The simulation shows a few hundred cases scattered across Europe

which matches with predictions and observed trends (European Centre for Disease

Prevention and Control, 2016).

However, two issues put the accuracy of the model into question. The first is that the Zika

virus is mostly transmitted by mosquitoes carrying the virus and human-to-human

transmission is limited. The simulation model might not depict accurately the underlying

endemic nature of the outbreak. The second issue is that the air travel model does not

respect the travel preferences of passengers from different continents nor the seasonal

travel peaks. A spike in reported cases in the US during the school and holiday breaks

was also not represented. Fortunately, these issues are minor events within the simulated

time frame and does not affect the overall outcome of the predictions.

Conclusion

The modeling of an epidemic spread allows healthcare providers to distinguish more at-

risk regions and develop strategies to limit the effect of an outbreak by allocating

appropriate resources before the outbreak spreads. While accurate, the current model is

insufficient for accurate prediction of the spread of an outbreak through air travel.

Including additional cities will improve the representation of the efficacy of air travel in

transporting patients in different population dense locations of the world. Incorporating

data on the most traveled routes will eliminate the errors induced by uniformly distributing

infected individuals across the network of high air traffic cells.

As for the original question about the likelihood of a widespread pandemic affect the

globe, the simulation certainly shows the inherent capability of air travel to spread

Page 32: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE 32

diseases to many areas of the world rapidly. In the end, it all depends on how the disease

affect individuals and how it transmits. As common sense would likely tell you, the easier

the disease spreads, the harder it is to contain it. A long latent period or an infectious

period presenting little symptoms will allow the outbreak to spread very rapidly before

authorities can react. In general, as past examples have already demonstrated, air travel

and increased mobility greatly increases the risk of spreading diseases around the globe.

In the end, it seems that living in an isolated island may not be such a bad idea. The

isolation greatly reduces the risk of exposure to an epidemic outbreak. However, there

are only a limited number of isolated islands on the globe. With the difficulty of being self-

sustaining and the rising sea levels, getting sick from a pandemic disease will be the least

of your troubles if you do resettle to a small island in the Pacific.

Page 33: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE I

References

Abraham J. Arenas, G. G.-P.-C. (2016). Construction of nonstandard finite difference schemes for the SI and SIR epidemic models of fractional order. Mathematics and Computers in Simulation, 121(March), 48–63. doi:10.1016/j.matcom.2015.09.001

B.E. Ainseba, S. B. (2016). Biological consistency of an epidemic model with both vertical and horizontal transmissions. Nonlinear Analysis: Real World Applications, 28(April), 192-207. doi:10.1016/j.nonrwa.2015.09.010

Benito M. Chen-Charpentier, D. S. (2010). Epidemic models with random coefficients. Mathematical and Computer Modelling, 52(7-8), 1004–1010. doi:10.1016/j.mcm.2010.01.014

Bernoulli, D. (2004). An attempt at a new analysis of the mortality caused by smallpox and of the advantages of inoculation to prevent it. Reviews in Medical Virology, 14, 275–288. doi:10.1002/rmv.443

Bonnie Kegan, R. W. (2005). Modeling the simple epidemic with deterministic differential equations and random initial conditions. Mathematical Biosciences, 195(2), 179–193. doi:10.1016/j.mbs.2005.02.004

Center for International Earth Science Information Network - CIESIN - Columbia University. (2015). Gridded Population of the World, Version 4 (GPWv4): Population Count Adjusted to Match 2015 Revision of UN WPP Country Totals. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). doi:10.1080/23754931.2015.1014272

Centers for Disease Control and Prevention. (2016, May 12). All Countries & Territories with Active Zika Virus Transmission. (Centers for Disease Control and Prevention) Retrieved May 16, 2016, from All Countries & Territories with Active Zika Virus Transmission

Centers for Disease Control and Prevention. (2016, May 12). Zika virus disease in the United States, 2015–2016. (Centers for Disease Control and Prevention) Retrieved May 16, 2016, from http://www.cdc.gov/zika/geo/united-states.html

Cunlai Pu, S. L. (2016). Traffic-driven SIR epidemic spreading in networks. Physica A: Statistical Mechanics and its Applications, 446(March 15), 129–137. doi:10.1016/j.physa.2015.11.028

D. Greenhalgh, Y. L. (2016). SDE SIS epidemic model with demographic stochasticity and varying population size. Applied Mathematics and Computation, 276(March 5th), 218–238. doi:10.1016/j.amc.2015.11.094

E. Ahmed, A. E. (2007). On fractional order differential equations model for nonlocal epidemics. Physica A: Statistical Mechanics and its Applications, 379(2), 607–614. doi:10.1016/j.physa.2007.01.010

Page 34: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE II

Esther García-Garaluz, M. A.-L. (2011). Hopfield networks for identification of delay differential equations with an application to dengue fever epidemics in Cuba. Neurocomputing, 74(16), 2691–2697. doi:10.1016/j.neucom.2011.03.022

European Centre for Disease Prevention and Control. (2016). Rapid Risk Assesment - Zika virus disease epidemic - Sixth Update - 20 May 2016. Stockholm: European Centre for Disease Prevention and Control. Retrieved from http://ecdc.europa.eu/en/publications/Publications/zika%20virus%20rapid%20risk%20assessment%2010-05-2016.pdf

Fabio A.C.C. Chalub, M. O. (2014). Discrete and continuous SIS epidemic models: A unifying approach. Ecological Complexity, 18(June), 83–95.

G. Schneckenreither, N. P. (2008). Modelling SIR-type epidemics by ODEs, PDEs, difference equations and cellular automata – A comparative study. Simulation Modelling Practice and Theory, 16(8), 1014–1023. doi:10.1016/j.simpat.2008.05.015

Huang, G. (2016, April). Artificial infectious disease optimization: A SEIQR epidemic dynamic model-based function optimization algorithm. Swarm and Evolutionary Computation, 27(April), 31–67. doi:10.1016/j.swevo.2015.09.007

István Faragó, R. H. (2016). On some qualitatively adequate discrete space–time models of epidemic propagation. Journal of Computational and Applied Mathematics, 293(February), 45–54. doi:10.1016/j.cam.2015.03.030

Kermack, W. O., & McKendrick, A. G. (1991). Contributions to the Mathematical Theory of Epidemics - I. Bulletin of Mathematical Biology, 53(1/2), 33-55.

Kermack, W. O., & McKendrick, A. G. (1991). Contributions to the Mathematical Theory of Epidemics - II. The Problem of Endemicity. Bulletin of Mathematical Biology, 53(1/2), 57-87.

Kermack, W. O., & McKendrick, A. G. (1991). Contributions to the Mathematical Theory of Epidemics - III. Further Studies of the Problem of Endemicity. Bulletin of Mathematical Biology, 53(1/2), 89-118.

Lanska, D. J. (2014). Pasteur, Louis. In Encyclopedia of the Neurological Sciences (pp. 841-845). Elsevier Ltd.

Lili Liu, J. W. (2015). Global stability of an SEIR epidemic model with age-dependent latency and relapse. Nonlinear Analysis: Real World Applications, 24(August), 18–35. doi:10.1016/j.nonrwa.2015.01.001

Lorenzo Pellis, T. H. (2015). Exact and approximate moment closures for non-Markovian network epidemics. Journal of Theoretical Biology, 382(October 7), 160–177. doi:10.1016/j.jtbi.2015.04.039

Pan American Health Organization / World Health Organization. (2016, May 12). Suspected and confirmed Zika cases reported by countries and territories in the Americas, 2015-2016. (Pan American Health Organization) Retrieved May 17, 2016, from http://ais.paho.org/phip/viz/ed_zika_epicurve.asp

Page 35: Spatial modeling of an epidemic using differential ...sun4.vaniercollege.qc.ca/~iti/proj/Zixin-SIR.pdf · Spatial modeling of an epidemic using differential equations with parameters

HE III

Qingchu Wu, X. F. (2016). Immunization and epidemic threshold of an SIS model in complex networks. Physica A: Statistical Mechanics and its Applications, 444(February 15), 576–581. doi:10.1016/j.physa.2015.10.043

Qun Liu, Q. C. (2016). The threshold of a stochastic delayed SIR epidemic model with temporary immunity. Physica A: Statistical Mechanics and its Applications, 450(May 15), 115–125. doi:10.1016/j.physa.2015.12.056

United States Strategic Command. (2011, APR 30). CRDUSSTRATCOM CONPLAN-8888-11 "COUNTER-ZOMBIE DOMINANCE". Retrieved from Intellipedia: http://www.intelink.sgov.gov/wiki/CONPLAN_8888

Wang, T. (2014). Dynamics of an epidemic model with spatial diffusion. Physica A: Statistical Mechanics and its Applications, 409(September 1st), 119–129. doi:10.1016/j.physa.2014.04.028

Zhidong Teng, L. W. (2016). Persistence and extinction for a class of stochastic SIS epidemic models with nonlinear incidence rate. Physica A: Statistical Mechanics and its Applications, 451(June 1st), 507–518. doi:10.1016/j.physa.2016.01.084