pypomp.PanelPomp.mif

PanelPomp.mif(J: int, M: int, rw_sd: RWSigma, key: Array | None = None, theta: PanelParameters | None = None, thresh: float = 0.0, n_monitors: int = 0, block: bool = True) None

Estimate parameters using the (Marginalized) Panel Iterated Filtering (MPIF/PIF) algorithm.

Performs parameter estimation using the (Marginalized) Panel Iterated Filtering (MPIF/PIF) algorithm (Bretó et al. 2020 [1]; Wheeler et al. 2025 [2]).

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

  • M (int) – Number of iterations (cooling cycles).

  • rw_sd (RWSigma) – Random walk standard deviations and cooling schedule.

  • key (jax.Array or None, optional) – JAX random key. If None, uses the model’s fresh_key.

  • theta (PanelParameters or None, optional) – Initial parameter estimates. If None, defaults to self.theta.

  • thresh (float, optional) – Resampling threshold for the particle filter. Defaults to 0.0.

  • n_monitors (int, optional) – Number of unperturbed particle filter runs to estimate log-likelihood at each iteration. Defaults to 0 (use perturbed filter).

  • block (bool, optional) – Whether to use block updates (MPIF). If False, uses standard PIF. Defaults to True.

Returns:

Updates self.theta with final estimates and appends a Result to the history.

Return type:

None

References