Data and Code for “Optimising Self-Organised Volunteer Efforts in Response to the COVID-19 Pandemic”
- O_NCE.csv. T_NCE.csv and P_NCE.csv are pre-computed NCEs for Shenzhen and its district using data files “issuer_task_data.csv” and “issuer_user_data” (In the data.zip file).
- The “task label” column in organizer_task_data.csv represents the task type extracted from task descriptions using LDA. a) Label 1: Transportational Topic tasks; b) Label 2: volunteering topic tasks; c) Label 3: Reopening Topic tasks; d) Label 4: Educational topic tasks; e) Label 5: environmental topic tasks; f) Label 6: Covid-19 topic tasks.
- “neigborhood_1.csv” and “neighborhood_2.csv” are data for case studies.
- Run NCE.ipynb to generate an NCE plot with color shaded self-organization intervals
Causality Analysis: Causality analysis on what dynamic factors have caused self-organization events.
- causality_data.csv contains three types NCE, internal and external variables (policies impulse and covid-19 daily new cases)
- all_diff_data.csv is differencing from causality_data.csv to make sure our time-series data is stationary for causality analysis
- Install tigramite package from https://github.com/jakobrunge/tigramite.git
- Install graphviz package from https://graphviz.org/download/
- Run Causality_analysis.ipynb to obtain full causal graphs for self-organization intervals
- Simulation is initialized with a fixed number of agents and tasks
- Each task is represented by a cell in a 2D grid. All tasks have a limit on
the number of agents it can recruit:
max_agent_per_cell
; - At each step, each agent decides whether to participate in a task with
probability,
p_participate.
- If the agent is participating, it will join the first available task from its recent participation history within a time window, ordered by highest frequency; (To simulate the user behavior of participating in the same task.) If no space is available for all these tasks, it will join a random available task nearby the current task.
- Install mesa package from https://mesa.readthedocs.io/
- Run UserModel.py to run the simulation
- paint_subplot_simulation.py is used to draw NCEs and gains under different parameters. People can change the parameters in UserModel.py to get NCE and gains.