Scheduling Mechanisms to Control Spread of Covid-19 (Simulation Results)
Data files
Jun 23, 2021 version files 26.06 KB
-
khalidhourani_SchedulingMechanismstoControlSpreadofCovid-19_Readme.txt
5.62 KB
-
kissler_(0.01).csv
2.31 KB
-
kissler_(0.10).csv
2.60 KB
-
raw_geometric_(0.01).csv
5.29 KB
-
raw_geometric_(0.10).csv
5.03 KB
-
raw_seir_(0.01).csv
2.70 KB
-
raw_seir_(0.10).csv
2.51 KB
Abstract
We study scheduling mechanisms that explore the trade-off between containing the spread of COVID-19 and performing in-person activity in organizations. Our mechanisms, referred to as group scheduling, are based on partitioning the population randomly into groups and scheduling each group on appropriate days with possible gaps (when no one is working and all are quarantined). Each group interacts with no other group and, importantly, any person who is symptomatic in a group is quarantined.
We show that our mechanisms effectively trade-off in-person activity for more effective control of the COVID-19 virus spread. In particular, we show that a mechanism which partitions the population into two groups that alternatively work in-person for five days each, flatlines the number of COVID-19 cases quite effectively, while still maintaining in-person activity at 70% of pre-COVID-19 level. Other mechanisms that partitions into two groups with less continuous work days or more spacing or three groups achieve even more aggressive control of the virus at the cost of a somewhat lower in-person activity (about 50%). We demonstrate the efficacy of our mechanisms by theoretical analysis and extensive experimental simulations on various epidemiological models based on real-world data.
We use https://pubmed.ncbi.nlm.nih.gov/18366252/ to create a contact distribution as a probability density function
then generate the required number of persons. People are placed randomly in the unit square and connect to a
number (drawn from the contact distribution) of closest neighbors. The people can then infect each contact with
probability T_p. The simulation is run (for various values of T_p) while tracking the number of new infections per day until there are no remaining infected participants.
This DATSETNAMEreadme.txt file was generated on 2021-06-23 by Khalid Hourani
GENERAL INFORMATION
1. Title of Dataset: Scheduling Mechanisms to Control Spread of Covid-19 (Simulation Results)
2. Author Information
A. Principal Investigator Contact Information
Name: Gopal Pandurangan
Institution: University of Houston
Address: 3551 Cullen Blvd. Room 572, Houston, TX 77204
Email: gopal@cs.uh.edu
B. Associate or Co-investigator Contact Information
Name: Khalid Hourani
Institution: University of Houston
Address: 3551 Cullen Blvd. Room 520, Houston, TX 77204
Email:
3. Date of data collection (single date, range, approximate date): 2021-01-25
4. Geographic location of data collection: NA
5. Information about funding sources that supported the collection of the data: NSF
SHARING/ACCESS INFORMATION
1. Licenses/restrictions placed on the data: Code has GPL3 License
2. Links to publications that cite or use the data: https://arxiv.org/abs/2009.08872
3. Links to other publicly accessible locations of the data: Code (not CSVs) available at https://github.com/Covimulation/covimulation
4. Links/relationships to ancillary data sets: https://pubmed.ncbi.nlm.nih.gov/18366252/ used to create contact distribution
5. Was data derived from another source? yes/no
A. If yes, list source(s): https://github.com/skissler/haslemere
6. Recommended citation for this dataset:
DATA & FILE OVERVIEW
1. File List:
alias_sampler.py: code for efficient weighted sampling
contact_distribution.csv: contact distribution based on https://pubmed.ncbi.nlm.nih.gov/18366252/
contact_distribution.py: reads above csv and returns a probability density function
contact_graph.py: base class for contact graph model
csv_helper.py: helper code to generate csvs after simulations
graph.py: base class that contact_graph inherits from
grid.py: code to improve efficiency of determining k closest neighbors by gridding
mechanisms.py: string manipulation for simulation - converts mechanism name from CSV to expected format
person.py: code for person class (effectively, code for nodes in graph)
plot_helper.py: code to generate plots (largely unused - plots where generated using PGF from raw data)
simulation.py: code to run simulation
simulation_kissler.py: code to grab data from https://github.com/skissler/haslemere and run simulation
sir_graph.py: inherits structure from contact graph class, adds SIR specific logic
kissler_(0.01).csv: simulation results for kissler data with T_p = 0.01
kissler_(0.10).csv: simulation results for kissler data with T_p = 0.10
raw_geometric_(0.01).csv: simulation results for contact graph with T_p = 0.01
raw_geometric_(0.10).csv: simulation results for contact graph with T_p = 0.10
raw_seir_(0.01).csv: simulation results for SEIR simulation with T_p = 0.01
raw_seir_(0.10).csv: simulation results for SEIR simulation with T_p = 0.10
CSVs are formatted:
day,basic,symptomatic,(1|5|2),(2|5|0),(3|3|0),(4|4|0)
day: the number of days passed since start of the simulation
basic: number of new infections that day in basic model
symptomatic: number of new infections that day in symptomatic quarantine model
(1|5|2): number of new infections that day in group scheduling model with (g, d, t) = (1, 5, 2)
(2|5|0): number of new infections that day in group scheduling model with (g, d, t) = (2, 5, 0)
(3|3|0): number of new infections that day in group scheduling model with (g, d, t) = (3, 3, 0)
(4|4|0): number of new infections that day in group scheduling model with (g, d, t) = (4, 4, 0)
2. Relationship between files, if important: simulation should be able to run by calling
python simulation.py
python simulation_kissler.py
which uses the other files, as described in 1.
3. Additional related data collected that was not included in the current data package:
4. Are there multiple versions of the dataset? no
A. If yes, name of file(s) that was updated:
i. Why was the file updated?
ii. When was the file updated?
METHODOLOGICAL INFORMATION
1. Description of methods used for collection/generation of data:
We use https://pubmed.ncbi.nlm.nih.gov/18366252/ to create a contact distribution as a probability density function
then generate the required number of persons. People are placed randomly in the unit square and connect to a
number (drawn from the contact distribution) of closest neighbors. The people can then infect each contact with
probability T_p. The simulation is run (for various values of T_p) until there are no remaining infected participants.
The same process is run on the data from https://github.com/skissler/haslemer.
2. Methods for processing the data:
The number of new infections per day are tracked in the provided source code.
3. Instrument- or software-specific information needed to interpret the data:
Python3.6 or later is necessary. Script plot_helper.py uses matplotlib. The Person class from person.py
makes use of various numpy functions. The remaining modules imported are all standard library files.
4. Standards and calibration information, if appropriate:
5. Environmental/experimental conditions:
6. Describe any quality-assurance procedures performed on the data:
7. People involved with sample collection, processing, analysis and/or submission:
John Augustine
Khalid Hourani
Anisur Rahaman Molla
Gopal Pandurangan
Adi Pasic