pypomp.panel.panel.PanelPomp.pfilter

PanelPomp.pfilter(J: int, key: Array | None = None, theta: PanelParameters | dict[str, DataFrame | None] | list[dict[str, DataFrame | None]] | None = None, thresh: float = 0.0, reps: int = 1, chunk_size: int = 1, CLL: bool = False, ESS: bool = False, filter_mean: bool = False, prediction_mean: bool = False) None

Run the particle filter (SMC) algorithm on the PanelPomp model.

Parameters:
  • J (int) – Number of particles per unit.

  • key (jax.Array, optional) – JAX random key. If None, uses self.fresh_key.

  • theta (PanelParameters | dict | list, optional) – Parameter sets to use. If None, uses self.theta.

  • thresh (float, optional) – Resampling threshold. If 0.0, always resample.

  • reps (int, optional) – Number of replicates per parameter set.

  • chunk_size (int, optional) – Number of units to process per batch.

  • CLL (bool, optional) – Whether to compute conditional log-likelihoods.

  • ESS (bool, optional) – Whether to compute effective sample sizes.

  • filter_mean (bool, optional) – Whether to compute filtering means.

  • prediction_mean (bool, optional) – Whether to compute prediction means.

Returns:

Updates self.theta.logLik_unit and adds result to self.results_history.

Return type:

None