This repository contains the implementation of the agent-based model used to model the spread of COVID-19.
The model consists of individual agents with basic demographic and household information. For more details, please see the wiki.
The agents can be parametrized by census data; fractions of census data can be used to generate smaller synthetic populations for faster simulation.
Agents are classified based on economic activity. For each economic activity, we define an economic activity-based interaction matrix. This interaction matrix embeds the relative proportion that interaction among agents engaged in different economic activities.
Mobility data from call-detail records (CDR) was used to parametrize the inter-district movement of agents. For each day of the week, a proportion of agents travel or stay for some time to other districts. These movements are informed by the empirical data. This allows the model to simulate spatiotemporal propagation of the disease driven by human mobility.
Intra-district mobility is also parametrized to model adherence of individuals to local mobility restrictions.
One of the model's limitations is that the interaction of agents is defined at the district level because we don't have data of actual workplaces. This can be easily extended when the data is available by setting the economic_activity_location_id
attribute below to an actual workplace id instead of the district id.
Also note that the economic activity interaction matrix is defined based on informed estimates but is not yet based on empirical data. A survey of population interaction dynamics including the economic activity of respondents is currently being carried out by a student associated with the project.
The following visualizations are generated from the output of the model. Shown below is a graph of the disease case trajectories for various scenarios. Also shown are example spatiotemporal propagation of the outbreak for both unmitigated and a lockdown scenario.
5% | 10% | 25% |
---|---|---|
-
The core model implementation can be found in
java/WorldBankCovid19/libs/WB_covid19ABM.jar
. -
The parameters for deciding the input file configurations can be found in
src/covid19_abm/params.py
can be configured to decide which scenarios will be simulated and basic parameters such as the rate of transmission (beta) for R0. -
Specification of scenarios are defined in (this will be edited)
src/covid19_abm/scenario_models.py
This repository may contain some codes and/or notebooks that may break since this was migrated from a different workspace. Kindly report any problems using Github's issues or e-mail sayling@worldbank.org with s.wise@ucl.ac.uk and smilusheva@worldbank.org in copy.
Any errors found in the model implementation and/or logic are highly encouraged to be reported using the same channel. This Java model was adapted from a version written in python by Aivin Solatorio, Data Scientist, World Bank.
For work or publication derived from this model, kindly cite this repository in your publication using the following details.
@misc{Wise2021,
author = {Wise, Sarah},
title = {Agent-based Model (ABM) for CoVid19 - Java version},
year = {2021},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/worldbank/Disease-Modelling-SSA}},
}