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 intheta. Results are stored inPomp.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_historywith aResult.- Return type:
None