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
()¶
- parameters (dict) –
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, 5971 (2001), doi:10.1006tpbi.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
()¶
- parameters (dict) –