Skip to content

This repository contains the code for an agent-based model used for COVID-19 in Sub-Saharan Africa. The original code was written in Python by Aivin Solatorio and is since being developed in Java. Complimentary risk modelling has been conducted in R as an intermediate product and is also part of this repo

License

Notifications You must be signed in to change notification settings

dime-worldbank/Disease-Modelling-SSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent-based Model (ABM) for CoVid19 in Sub Saharan Africa (SSA)

This repository contains the implementation of the agent-based model used to model the spread of COVID-19.

Description

The model consists of individual agents with basic demographic and household information. For more details, please see the wiki.

The Population

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

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.

Limitations

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.

Sample output

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.

Varying the beta value of the disease

Comparison of population sizes

5% 10% 25%

Comparison of impact of population proportion in spatial and non-spatial versions of the model

Scenario exploration

Running the model

  1. The core model implementation can be found in java/WorldBankCovid19/libs/WB_covid19ABM.jar.

  2. 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.

  3. Specification of scenarios are defined in (this will be edited) src/covid19_abm/scenario_models.py

Notice

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.

Citation

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}},
  }

About

This repository contains the code for an agent-based model used for COVID-19 in Sub-Saharan Africa. The original code was written in Python by Aivin Solatorio and is since being developed in Java. Complimentary risk modelling has been conducted in R as an intermediate product and is also part of this repo

Resources

License

Stars

Watchers

Forks

Packages

No packages published