Skip to content

epymorph.parameter_fitting.particlefilter_simulation

This module provides a simulation class for running particle filters on epidemiological data.

The FilterSimulation class initializes with the necessary parameters, validates inputs, and runs the particle filter simulation.

Dependencies: - numpy: For numerical operations. - pandas: For data manipulation. - epymorph: Custom package providing filter and likelihood functionalities.

FilterSimulation

FilterSimulation(
    rume: RUME,
    filter_type: BaseFilter,
    params_space: Dict[str, EstimateParameters],
    observations: Observations,
)

A class to run particle filter simulations on epidemiological data.

This class is initialized with epidemiological parameters, likelihood function, filter type, parameter space, and observational data. It validates these inputs and runs the particle filter to produce simulation results.

Attributes:

Parameters:

  • rume (Rume) –

    Runtime environment or configuration for the epidemiological model.

  • filter_type (BaseFilter) –

    Type of particle filter to be used.

  • params_space (Dict[str, EstimateParameters]) –

    The parameters to estimate.

  • observations (Observations) –

    An object containing observational data.

Raises:

  • ValueError

    If any of the input arguments are invalid.

rume instance-attribute

rume = rume

observations instance-attribute

observations = observations

likelihood_fn instance-attribute

likelihood_fn = likelihood

filter_type instance-attribute

filter_type = filter_type

params_space instance-attribute

params_space = params_space

ipm instance-attribute

ipm = ipm
model_link: ModelLink = model_link

compartments instance-attribute

compartments = [name for compartment in compartments]

events instance-attribute

events = [full for e in events]

dataloader instance-attribute

dataloader = DataLoader(rume)

cases instance-attribute

cases = cases[..., newaxis]

validate

validate() -> None

Validates the input parameters for the simulation.

Ensures that the likelihood function, filter type, model link, and parameter estimates are valid.

Raises:

  • ValueError

    If any required field is missing or if the types are incorrect.

run

run(rng: Generator | None = None) -> ParticleFilterOutput

Runs the particle filter simulation.

Parameters:

  • rng (Generator | None, default: None ) –

    The random number generator used by the particle filter. It is also passed to the simulator during particle propagation.

Returns: