Stochastic Logistic Model

class pints.toy.StochasticLogisticModel(initial_molecule_count=50)[source]

This model describes the growth of a population of individuals, where the birth rate per capita, initially \(b_0\), decreases to \(0\) as the population size, \(\mathcal{C}(t)\), starting from an initial population size, \(n_0\), approaches a carrying capacity, \(k\). This process follows a rate according to [1]

\[A \xrightarrow{b_0(1-\frac{\mathcal{C}(t)}{k})} 2A.\]

The model is simulated using the Gillespie stochastic simulation algorithm [2], [3].

Extends: pints.ForwardModel, pints.toy.ToyModel.

Parameters:initial_molecule_count (float) – Sets the initial population size \(n_0\).

References

[1]Simpson, M. et al. 2019. Process noise distinguishes between indistinguishable population dynamics. bioRxiv. https://doi.org/10.1101/533182
[2]Gillespie, D. 1976. A General Method for Numerically Simulating the Stochastic Time Evolution of Coupled Chemical Reactions. Journal of Computational Physics. 22 (4): 403-434. https://doi.org/10.1016/0021-9991(76)90041-3
[3]Erban R. et al. 2007. A practical guide to stochastic simulations of reaction-diffusion processes. arXiv. https://arxiv.org/abs/0704.1908v2
mean(parameters, times)[source]

Computes the deterministic mean of infinitely many stochastic simulations with times \(t\) and parameters (\(b\), \(k\)), which follows: \(\frac{kC(0)}{C(0) + (k - C(0)) \exp(-bt)}\).

Returns an array with the same length as times.

n_outputs()

Returns the number of outputs this model has. The default is 1.

n_parameters()[source]

See pints.ForwardModel.n_parameters().

simulate(parameters, times)[source]

See pints.ForwardModel.simulate().

suggested_parameters()[source]

See pints.toy.ToyModel.suggested_parameters().

suggested_times()[source]

See pints.toy.ToyModel.suggested_times().

variance(parameters, times)[source]

Returns the deterministic variance of infinitely many stochastic simulations.