How we model the coronavirus pandemic - a recap of disease modelling & the difficulties with covid-19
April 23, 2020 by Vishal
This article is a short overview of the basics of disease modelling - how maths can explain the spread of diseases. If you’re already familiar with the topic, or just want to understand the specific approach/assumptions we’ve made in our approach, then skip ahead to the article on our SEIR model.In this article we’re going to look at how you go about modelling infections using exponential functions and compartmental models.
First let’s start with something basic and try to understand how we can model infection problems using math at all. Let’s look at a single infection and try to examine how it evolves. When someone gets infected, they become infectious and can infect other people. For the sake of argument let’s assume that our single infected person infects 3 other people during this infected state. Then assuming this is constant, these 3 people are going to infect 9 more (three each).
As we can see, at every point in time, the number of new infections are directly proportional to the number of already infected people. From the diagram, we can probably even predict that the next time step would have 27 infections. Notice that all of this nice structure comes from a simple assumption that the number of people a single infected person comes in contact with stays constant. This assumption although probably untrue for a small group of individuals becomes a close approximation at scale.
So using the information above, If I were to write the number of infections as a function of time f(t), the change in f(t) over a small time interval $dt$ would be
df(t) = kf(t)dt
When plotted over time, they look something like this:
The example above shows how, theoretically, infections follow the dynamics of an exponential function. If our assumption is right then the plot for the number of infections in real life should also look something similar. Shown here for the US:
No surprises it does look similar to an exponential function. If we look closely at the later part of the curve though, the increase seems slightly off. Infection numbers closely follow an exponential in the initial part but then the exponential starts to overestimate the infections. Also by definition the exponential function only keeps increasing while the number of infections have to settle down after some point in time. The number of infections can’t be more than the population. There are two reasons why our exponential model doesn’t follow the real world scenario:
1. The number of people that can be infected is not infinite. In fact they keep changing over time. Once someone gets infected and recovers, he/she is not prone to the infection anymore. As more and more people get infected, the number of people that are available for the virus are fewer.
2. The world responds to the virus by changing its behaviour. Overtime, countries have implemented social distancing measures.In fact, several countries have implemented total lockdowns. This will/has also affect(ed) the number of people an infected person affects.
The first problem can be solved by modelling each part of the population in separate compartments. These models are known as compartmental models. For the second part although there is no explicit solution, by fitting our model to different periods of time, we can overcome this partially. We cover this in the article about our model parameters.
The problem with exponential models was changing the number of susceptible people. In compartment models we divide the total population into groups or compartments. All susceptible people are grouped into one compartment, all recovered people into another and so on. We then try to model the number of people in each compartment with the assumption that every individual within a compartment behaves similarly. Although this is still quite a strong assumption which might not be true locally but at scale it’s a good approximation. These models are also better than the simple exponential growth model.
Let’s look at a really simple SIR compartment model. The letters ‘SIR’ stands for the three compartments into which the population is divided in this model: Susceptible, Infectious, and Recovered.
We model the disease using three variables S,I, and R which represent the number of people in each compartment at a particular time. These numbers vary with time, 0 Recovered people in the beginning to some fraction of population in the end, so we denote them by S(t), I(t) and R(t)
People progress from Susceptible to Infectious to Recovered as shown in the flow diagram above. The rate of the flow can be described by the differential equations below. These might look scary but, intuitively, they are not hard to understand. I’ll explain each one below:
dS = -BetaIS/N dt
This says that at each point of time the number of people that move from Susceptible to Infectious are proportional to the number of people in both Susceptible and Infectious groups.
dI = (BetaIS/N -gamma*I)dt
This says that at each point of time the number of people that move from Infectious to Recovered are proportional to number of infected people
Let’s look at how these numbers vary overtime
As expected the number of infections go up and then peak at a certain point and then start to come down as the number of susceptible people keep decreasing overtime.
The Problems With Basic Compartmental Models.
Compartmental models assume that we accurately know, at all stages, the number of infections. When it comes to COVID 19 we don’t really know if the numbers that are being reported are accurate because of low testing numbers. In many countries, very few people are being tested, so we don’t know if the number of reported infections are accurate.
Secondly, the model doesn’t take into account the incubation period. Incubation period is the time between a person getting infected and actually becoming infectious. During the incubation state the person is neither susceptible nor infectious. Due to reasonable incubation period in case of sar-cov2 we need one more compartment for the people who are in this stage.
We try to solve the first problem by using our custom compartment model. For the second problem people typically use a SEIR model that has one extra compartment for people in the incubation stage. We’ve written about how we’ve tackled these issues in our article about our SEIR model. Click here to check it out now
Share this Article:
Auquan is a data science solutions provider for asset managers and hedge funds. Our state of the art technology empowers Portfolio Managers to stay ahead of the trend and achieve better returns.