SIR Epidemiology model

class pints.toy.SIRModel(y0=None)[source]

The SIR model of infectious disease models the number of susceptible (S), infected (I), and recovered (R) people in a population [1], [2].

The particular model given here is analysed in [3],_ and is described by the following three-state ODE:

\[ \begin{align}\begin{aligned}\dot{S} = -\gamma S I\\\dot{I} = \gamma S I - v I\\\dot{R} = v I\end{aligned}\end{align} \]

Where the parameters are gamma (infection rate), and v, recovery rate. In addition, we assume the initial value of S, S0, is unknwon, leading to a three parameter model (gamma, v, S0).

The number of infected people and recovered people are observable, making this a 2-output system. S can be thought of as an unknown number of susceptible people within a larger population.

The model does not account for births and deaths, which are assumed to happen much slower than the spread of the (non-lethal) disease.

Real data is included via suggested_values(), which was taken from [3], [4], [5].

Extends pints.ForwardModel, pints.toy.ToyModel.

Parameters:y0 – The system’s initial state, must have 3 entries all >=0.

References

[1]A Contribution to the Mathematical Theory of Epidemics. Kermack, McKendrick (1927) Proceedings of the Royal Society A. https://doi.org/10.1098/rspa.1927.0118
[2]https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology
[3](1, 2) Approximate Bayesian computation scheme for parameter inference and model selection in dynamical systems. Toni, Welch, Strelkowa, Ipsen, Stumpf (2009) J. R. Soc. Interface. https://doi.org/10.1098/rsif.2008.0172
[4](1, 2) A mathematical model of common-cold epidemics on Tristan da Cunha. Hammond, Tyrrell (1971) Epidemiology & Infection. https://doi.org/10.1017/S0022172400021677
[5](1, 2) Common colds on Tristan da Cunha. Shybli, Gooch, Lewis, Tyrell (1971) Epidemiology & Infection. https://doi.org/10.1017/S0022172400021483
n_outputs()[source]

See pints.ForwardModel.n_outputs().

n_parameters()[source]

See pints.ForwardModel.n_parameters().

simulate(parameters, times)[source]

See pints.ForwardModel.simulate().

suggested_parameters()[source]

Returns a suggested set of parameters for this toy model.

suggested_times()[source]

Returns a suggested set of simulation times for this toy model.

suggested_values()[source]

Returns the data from a common-cold outbreak on the remote island of Tristan da Cunha, as given in [3], [4], [5].