sequince.mcmc#

Classes#

MCMCResult

Result of applying one or more checkpointable MCMC mutation blocks.

MarkovChainMonteCarlo

Checkpointable standalone MCMC built from a Sequince mutation step.

Functions#

make_mcmc(log_prob_fn, *[, mutation, n_steps, ...])

Construct standalone MCMC using an existing Sequince mutation backend.

Module Contents#

class sequince.mcmc.MCMCResult[source]#

Result of applying one or more checkpointable MCMC mutation blocks.

states: collections.abc.Sequence[sequince.state.ParticleState]#
context: sequince.steps.base.StepContext#
outputs: collections.abc.Sequence[tuple[Any, ...]]#
classmethod from_smc_result(result)[source]#

Build an MCMC result from a mutation-only sequential run.

Parameters:

result (sequince.result.SMCResult)

Return type:

MCMCResult

encode_for_hdf5(*, strict=False)[source]#

Return the logical HDF5 payload for this MCMC result.

Parameters:

strict (bool)

Return type:

dict[str, Any]

save(h5_file_or_group, path='mcmc_result', *, strict=False)[source]#

Save this MCMC result below path in an open HDF5 handle.

Parameters:
  • h5_file_or_group (Any)

  • path (str)

  • strict (bool)

Return type:

None

classmethod load(h5_file_or_group, path='mcmc_result')[source]#

Load an MCMC result from path in an open HDF5 handle.

Parameters:
  • h5_file_or_group (Any)

  • path (str)

Return type:

Self

property final_state: sequince.state.ParticleState#
Return type:

sequince.state.ParticleState

property chain: sequince.typing.Array#

Return mutation blocks concatenated as (steps, chains, dims).

Return type:

sequince.typing.Array

property diagnostics: dict[str, Any]#

Return diagnostics from the final mutation output.

Return type:

dict[str, Any]

samples(*, burn_in=0, thin=1, flat=True)[source]#

Return the chain after burn-in and thinning.

Parameters:
Return type:

sequince.typing.Array

class sequince.mcmc.MarkovChainMonteCarlo(mutation, *, callbacks=None, checkpoint_writers=None)[source]#

Checkpointable standalone MCMC built from a Sequince mutation step.

Parameters:
mutation#
run(initial_state=None, *, rng=None, shared_context=None, metadata=None, outputs=None, runtime=None)[source]#

Run one configured MCMC block.

Parameters:
Return type:

MCMCResult

resume_from(checkpoint, *, rng=None, shared_context=None)[source]#

Restore a checkpoint for continuation with run().

Parameters:
Return type:

sequince.smc.SMCRuntime

sequince.mcmc.make_mcmc(log_prob_fn, *, mutation='minipcn', n_steps=100, mutation_kwargs=None, particle_transform=None, callbacks=None, checkpoint_writers=None)[source]#

Construct standalone MCMC using an existing Sequince mutation backend.

Parameters:
Return type:

MarkovChainMonteCarlo