pypomp.Pomp.abc

Pomp.abc(M: int, probes: dict[str, Callable], scale: dict[str, float], epsilon: float, proposal: Proposal, dprior: Callable | None = None, key: Array | None = None, theta: PompParameters | None = None, track_time: bool = True) None

Approximate Bayesian Computation with a Metropolis-Hastings outer loop.

The probe functions must be pure JAX callables accepting a simulated observation array with shape (n_obs, ydim) and returning a scalar. One independent ABC-MCMC chain is run for each parameter replicate in theta. Results are stored in Pomp.results_history.

Parameters:
  • M (int) – Number of ABC-MCMC iterations per chain.

  • probes (dict) – Mapping from probe name to pure-JAX summary statistic.

  • scale (dict) – Positive scaling factors to normalize probe differences in the squared scaled Euclidean distance.

  • epsilon (float) – ABC distance rejection threshold.

  • proposal (Proposal) – Proposal object from pypomp.proposals.

  • dprior (Callable, optional) – Pure-JAX log-prior function. If None, a flat improper prior is used.

  • key (jax.Array, optional) – JAX PRNG key. Defaults to fresh_key.

  • theta (PompParameters, optional) – Starting parameter values. Defaults to theta.

  • track_time (bool, default True) – Whether to record execution time.

Returns:

Updates Pomp.results_history with a Result.

Return type:

None