Bubbles - dime-worldbank/Disease-Modelling-SSA GitHub Wiki

We use the idea of bubbles to create regularity within the simulation. Bubbles reflect the way that we consistently interact with the same people within our communities in the course of our routine activities. Thus, a community bubble may reflect our friends, coreligionists, fellow hobbyists, and so forth; work bubbles may capture those who work in the same store, office, at the local coffee shop, etc. By using bubbles, we provide a more realistic understanding of human behaviour, avoiding the patterns of true random mixing.

There exist two kinds of bubbles within this simulation:

  • community bubbles.
  • work bubbles.

One important note: individuals travelling to other districts may interact with a random cross-section of those physically present. This is because they are outside of their routine activity patterns. Future work may capture the specific behaviours of those who routinely travel between districts.

Community bubbles

We assemble a list of the people living in each district.

For each individual, we take the following steps:

  1. set the size of the community bubble to the world default.
  2. assemble the candidate bubble: all individuals who live in the same district.
  3. while the individual's community bubble is smaller than the required size:
    • pick another individual at random and add them to the individual's community bubble.

During the simulation, individuals will pick some number of people within their community bubble to interact with during non-work hours.

Work bubbles

We assemble a list of the people living in each district, grouped by economic status. This includes individuals who are out of work or who work in the home. This reflects the way that workplaces will limit social interactions, tending to promote interactions with others in similar roles.

For each individual, we take the following steps:

  1. identify the individual's economic status.
  2. identify the individual's home district (in which they are presumed to work).
  3. identify, based on the individual's economic status, the likelihood with which they will interact with any other economic status group (e.g. the likelihood that a soldier with interact with another soldier; a teacher will interact with a student; an agricultural worker will interact with a homemaker).
  4. identify the work bubble size as a function of the individual's economic status (e.g. how many people a teacher will likely interact with in a day).
  5. while the individual's work bubble is smaller than the required size:
    • draw from the likelihood list which economic status the new candidate bubblemate should have.
    • draw a random other person from the appropriate economic status group within the individual's home district.
    • add this candidate to the individual's work bubble.

During the simulation, individuals will pick some number of people within their work bubble to interact with during work hours.