-
Notifications
You must be signed in to change notification settings - Fork 5
Comparison to Ferguson Model
This page details the location and nature of any alternative implementations we have added alongside the Ferguson Model in our implementation, allowing comparison of both methods.
Location: pyEpiabm/pyEpiabm/test_file.py
, the sweeper()
function
Ferguson: They randomly determine the entire fate of an individual upon exposure.
Alternative: We randomly determine the fate of an individual on a stage-by-stage basis, so the time of progression of an individual to the next stage is only determined when entering the previous stage.
Motivation: This allows for reaction to changing policy, or updating hospital densities etc.
Behaviour: This should only change the behaviour of the model if further progression is time dependant (i.e. a new drug is made available, or medical treatment effectiveness depends on (time-dependant) patient numbers), which is favourable behaviour for the model.
Validation: This has not been explicitly validated against the Ferguson implementation.
Location: pyEpiabm/pyEpiabm/update_place_sweep.py
, the sweeper()
function for household infections.
Ferguson: Considers whether people in a microcell will be present in any place using a calculation involving on Euclidean distance to the place. Runs for every time-step in the model and for every person in the microcell.
Alternative: We differ from Ferguson here, as the population of the place is reconfigured at each time step to produce a list of people from the microcell who are present in each place at each time-point.
Motivation: This increases readability. We also create functions to calculate place susceptibility and infectiousness both follow the Ferguson model, and allow for user input.
Behaviour: This allows for greater readability and flexibility within the model, while still allowing for direct comparison to the Ferguson model.
Validation: This has not been explicitly validated against the Ferguson implementation.
Location: pyEpiabm/pyEpiabm/household_sweep.py
, the sweeper()
function for household infections.
Ferguson: Implement a household sweep as the first part of the loop considering infection events. Allows for various interventions such as vaccinations or lockdowns to be implemented. These appear in adjustments to the susceptibility and infectiousness parameters given to individual households.
Alternative: We mostly follow Ferguson here, though loop through the population on each section of the sweep to increase reader clarity.
Motivation: Small increases to readability. We also create functions to calculate household susceptibility and infectiousness both follow the Ferguson model, and allow for user input.
Behaviour: This allows for greater readability and flexibility within the model, while still allowing for direct comparison to the Ferguson model.
Validation: This has not been explicitly validated against the Ferguson implementation.