Skip to content

laser.measles.compartmental.components.process_infection

laser.measles.compartmental.components.process_infection

Component for simulating the SEIR infection process in the compartmental model.

laser.measles.compartmental.components.process_infection.InfectionParams

Bases: BaseInfectionParams

Parameters for the compartmental SEIR infection process.

Spatial mixing is configured via the mixer parameter. Any :class:~laser.measles.mixing.base.BaseMixing subclass is accepted (e.g. :class:~laser.measles.mixing.gravity.GravityMixing, :class:~laser.measles.mixing.radiation.RadiationMixing). The model sets the patch scenario on the mixer automatically at initialisation, so passing scenario= to the mixer at construction is not required.

Example::

1
2
3
4
5
6
7
from laser.measles.mixing.gravity import GravityMixing, GravityParams

infection_params = InfectionParams(
    beta=0.8,
    seasonality=0.2,
    mixer=GravityMixing(params=GravityParams(a=1.0, b=1.0, c=2.0, k=0.01)),
)

laser.measles.compartmental.components.process_infection.InfectionParams.basic_reproduction_number property

Calculate R0 = beta / gamma

laser.measles.compartmental.components.process_infection.InfectionParams.gamma property

Recovery rate from infection (1/infectious_period)

laser.measles.compartmental.components.process_infection.InfectionParams.incubation_period property

Average incubation period in days

laser.measles.compartmental.components.process_infection.InfectionParams.infectious_period property

Average infectious period in days

laser.measles.compartmental.components.process_infection.InfectionParams.sigma property

Progression rate from exposed to infectious (1/exposure_period)

laser.measles.compartmental.components.process_infection.InfectionProcess(model, params=None, verbose=False)

Bases: BaseInfectionProcess

Component for simulating SEIR disease progression with daily timesteps.

This class implements a stochastic SEIR infection process that models disease transmission and progression through compartments. It uses daily rates and accounts for mixing between different population groups.

The SEIR infection process follows these steps:

  1. Calculate force of infection based on:

  2. Base transmission rate (beta)

  3. Seasonal variation
  4. Population mixing matrix
  5. Current number of infectious individuals

  6. Stochastic transitions using binomial sampling:

  7. S → E: New exposures based on force of infection

  8. E → I: Progression from exposed to infectious
  9. I → R: Recovery from infection

  10. Update population states for all compartments

Parameters

model : object The simulation model containing population states and parameters verbose : bool, default=False Whether to print detailed information during execution params : InfectionParams | None, default=None Component-specific parameters. If None, will use default parameters

Notes

The infection process uses daily rates and seasonal transmission that varies sinusoidally over time with a period of 365 days.