Social Distancing and its Effect On Spreading Disease
This is being written amidst the COVID-19 crisis plaguing the world. While many models have shown how social distancing and other measures can influence the curve, I wanted something that was a little bit more visual.
Below is a model I created that shows using Monte Carlo simulations how various effects can impact the growth rate and spread of disease. You can think of this as a petri-dish simulation where individuals live in a square region and move around in some unorganized way.
The parameters I was particularly curious about were:
Below is a model I created that shows using Monte Carlo simulations how various effects can impact the growth rate and spread of disease. You can think of this as a petri-dish simulation where individuals live in a square region and move around in some unorganized way.
The parameters I was particularly curious about were:
- Number of people (and therefore population density)
- The rate at which people travel.
- The R naught of the disease as a measure of how easily transmittable it is
Number of People
For a given constrained region of constant area, the number of people is directly proportional the population density. One would expect then that the higher the population density, the faster people get infected because they are more likely to come in contact with someone who is already infected.
Traveling Rate
People who tend to move around a lot are a) more likely to become infected and b) more likely to infect others. A traveling rate of 0 is an edge case that emulates staying at home and not coming in contact with new people. Of course, in densely populated areas, it can be hard to avoid coming in contact with the disease and even staying in place might not be safe enough.
R Naught
The R naught (R0) signifies how contagious a disease is. It's an estimate of how many people will become infected from one infected person. A high R0 would indicate a highly contagious disease. Furthermore, an R0 < 1 means that the average infected person spreads the disease to less than a person. The implication then is that the disease eventually dies. Note that my model shown here does not currently account for deaths or recoveries - once a person is infected, they are forever a disease-spreader.
Distance Effect
There is a baked in distance effect in the calculation for how likely it is for someone to get infected based on how close they are to other people. We can approximate the likelihood by creating a factor of transmittance:
\[ transmittance = \frac{R0}{distance} \]
From here, it's easy to see that as the distance between two individuals decreases, the likelihood of transmittance increases. Likewise, by having a social distance of infinity, the transmittance rate goes to 0.
\[ transmittance = \frac{R0}{distance} \]
From here, it's easy to see that as the distance between two individuals decreases, the likelihood of transmittance increases. Likewise, by having a social distance of infinity, the transmittance rate goes to 0.
Implementation
The implementation is fairly straightforward and I won't dull you with the code. However, the project is hosted on Github. Just click the link at the top of the page. It also includes a nice little console GUI so that you can change each of those parameters described above.