pypomp.Pomp.pmcmc¶
- Pomp.pmcmc(J: int, M: int, proposal: Proposal, dprior: Callable | None = None, key: Array | None = None, theta: PompParameters | None = None, thresh: float = 0.0, track_time: bool = True) None¶
Particle Markov chain Monte Carlo (PMMH) for Bayesian parameter inference.
Runs one independent PMCMC chain for each parameter replicate in
theta. Each chain uses a bootstrap particle filter likelihood estimate inside a Metropolis-Hastings update. Results are stored inPomp.results_history.- Parameters:
J (int) – Number of particles per particle-filter likelihood evaluation.
M (int) – Number of MCMC iterations per chain.
proposal (Proposal) – Proposal object from
pypomp.proposals.dprior (Callable, optional) – Pure-JAX log-prior function with signature
dprior(theta_arr) -> scalar. IfNone, 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.thresh (float, default 0.0) – Adaptive resampling threshold passed to the particle filter.
track_time (bool, default True) – Whether to record execution time.
- Returns:
Updates
Pomp.results_historywith aResult.- Return type:
None