Control with NPIs

Non-pharmaceutical interventions (NPIs) are strategies that mitigate the spread of a disease by suppressing its normal pathways for transmission. These include social distancing, wearing masks, working from home, and isolation of vulnerable populations. In contrast to pharmaceutical interventions, which are slow to develop but effective in the long term, NPIs can be rapidly implemented but are generally too costly to maintain indefinitely. In the modelling framework of PyRoss, we represent NPIs as modifications to the contact matrix.

control_integration

class pyross.control.control_integration

Integrator class to implement control through changing the contact matrix as a function of the current state.

simulate_deteministic : Performs a deterministic simulation.
simulate_deterministic()

Performs detemrinistic numerical integration

Parameters:
  • x0 (np.array) – Inital state of the system.
  • events (list) – List of events that the current state can satisfy to change behaviour of the contact matrix. contactMatricies
  • contactMatricies (list of python functions) – New contact matrix after the corresponding event occurs
  • Tf (float) – End time for integrator.
  • Nf (Int) – Number of time points to evaluate at.
  • Ti (float, optional) – Start time for integrator. The default is 0.
  • events_repeat (bool, optional) – Wheither events is periodic in time. The default is false.
  • events_subsequent (bool, optional) – TODO
Returns:

  • x_eval (np.array(len(t), len(x0))) – Numerical integration solution.
  • t_eval (np.array) – Corresponding times at which X is evaluated at.
  • event_out (list) – List of events that occured during the run.

SIR

class pyross.control.SIR

Susceptible, Infected, Removed (SIR) Ia: asymptomatic Is: symptomatic

Parameters:
  • parameters (dict) –
    Contains the following keys:
    alpha: float, np.array (M,)
    fraction of infected who are asymptomatic.
    beta: float
    rate of spread of infection.
    gIa: float
    rate of removal from asymptomatic individuals.
    gIs: float
    rate of removal from symptomatic individuals.
    fsa: float
    fraction by which symptomatic individuals do not self-isolate.
  • M (int) – Number of compartments of individual for each class. I.e len(contactMatrix)
  • Ni (np.array(3*M, )) – Initial number in each compartment and class
simulate()

SEkIkIkR

SIRS

SEIR

class pyross.control.SEIR

Susceptible, Exposed, Infected, Removed (SEIR) Ia: asymptomatic Is: symptomatic :param parameters:

Contains the following keys:
alpha: float, np.array (M,)
fraction of infected who are asymptomatic.
beta: float
rate of spread of infection.
gIa: float
rate of removal from asymptomatic individuals.
gIs: float
rate of removal from symptomatic individuals.
fsa: float
fraction by which symptomatic individuals do not self-isolate.
gE: float
rate of removal from exposed individuals.
Parameters:
  • M (int) – Number of compartments of individual for each class. I.e len(contactMatrix)
  • Ni (np.array(4*M, )) – Initial number in each compartment and class
simulate()

SIkR

class pyross.control.SIkR

Susceptible, Infected, Removed (SIkR) method of k-stages of I :param parameters:

Contains the following keys:
alpha: float
fraction of infected who are asymptomatic.
beta: float
rate of spread of infection.
gI: float
rate of removal from infectives.
kI: int
number of stages of infection.
Parameters:
  • M (int) – Number of compartments of individual for each class. I.e len(contactMatrix)
  • Ni (np.array((kI + 1)*M, )) – Initial number in each compartment and class
simulate()

SEkIkR

class pyross.control.SEkIkR

Susceptible, Infected, Removed (SIkR) method of k-stages of I See: Lloyd, Theoretical Population Biology 60, 59􏰈71 (2001), doi:10.1006􏰅tpbi.2001.1525. :param parameters:

Contains the following keys:
alpha: float
fraction of infected who are asymptomatic.
beta: float
rate of spread of infection.
gI: float
rate of removal from infected individuals.
gE: float
rate of removal from exposed individuals.
ki: int
number of stages of infectives.
ke: int
number of stages of exposed.
Parameters:
  • M (int) – Number of compartments of individual for each class. I.e len(contactMatrix)
  • Ni (np.array((kI = kE +1)*M, )) – Initial number in each compartment and class
simulate()

SEAIR

SEAIRQ

class pyross.control.SEAIRQ

Susceptible, Exposed, Asymptomatic and infected, Infected, Removed, Quarantined (SEAIRQ) Ia: asymptomatic Is: symptomatic A: Asymptomatic and infectious

Parameters:
  • parameters (dict) –
    Contains the following keys:
    alpha: float
    fraction of infected who are asymptomatic.
    beta: float
    rate of spread of infection.
    gIa: float
    rate of removal from asymptomatic individuals.
    gIs: float
    rate of removal from symptomatic individuals.
    gE: float
    rate of removal from exposed individuals.
    gA: float
    rate of removal from activated individuals.
    fsa: float
    fraction by which symptomatic individuals do not self-isolate.
    tE : float
    testing rate and contact tracing of exposeds
    tA : float
    testing rate and contact tracing of activateds
    tIa: float
    testing rate and contact tracing of asymptomatics
    tIs: float
    testing rate and contact tracing of symptomatics
  • M (int) – Number of compartments of individual for each class. I.e len(contactMatrix)
  • Ni (np.array(6*M, )) – Initial number in each compartment and class
simulate()