aspire.samplers.mcmc#

Attributes#

Classes#

MCMCSampler

Base class for MCMC samplers.

NumpyMCMCSampler

MCMCSampler that maps samples and log probabilities to NumPy arrays for

Emcee

MCMCSampler that maps samples and log probabilities to NumPy arrays for

MiniPCN

Base class for MCMC samplers.

ParallelTemperedMCMCSampler

Wrapper for Parallel Tempered MCMC Samplers

Module Contents#

aspire.samplers.mcmc.logger[source]#
class aspire.samplers.mcmc.MCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)[source]#

Bases: aspire.samplers.base.Sampler

Base class for MCMC samplers.

chain_checkpoint_path = 'checkpoint'[source]#

Path within checkpoint file to save MCMC chain checkpoints.

The default is “checkpoint”.

chain_dataset_name = 'mcmc_chain'[source]#

Name of chain entry within checkpoint file to save MCMC checkpoints.

rng[source]#
draw_initial_samples(n_samples)[source]#

Draw initial samples from the prior flow.

Parameters:

n_samples (int) – The number of samples to draw.

Returns:

The drawn samples, with log probabilities, log prior, and log likelihood.

Return type:

Samples

log_prob(z)[source]#

Compute the log probability of the samples.

Input samples are in the transformed space.

default_mcmc_chain_file_checkpoint_callback(file_path)[source]#

Return a callback that saves MCMC checkpoints as native HDF5 samples.

Parameters:

file_path (str | None)

Return type:

Callable[[dict], None]

checkpoint_mcmc_chain(samples, iteration=None, checkpoint_callback=None, checkpoint_every=None, checkpoint_file_path=None)[source]#

Save an MCMC chain checkpoint.

Parameters:
  • samples (aspire.samples.Samples)

  • iteration (int | None)

  • checkpoint_callback (Callable[[dict], None] | None)

  • checkpoint_every (int | None)

  • checkpoint_file_path (str | None)

Return type:

None

class aspire.samplers.mcmc.NumpyMCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)[source]#

Bases: MCMCSampler

MCMCSampler that maps samples and log probabilities to NumPy arrays for compatibility with numpy-only samplers

log_prob(z)[source]#

Compute the log probability of the samples.

Input samples are in the transformed space.

class aspire.samplers.mcmc.Emcee(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)[source]#

Bases: NumpyMCMCSampler

MCMCSampler that maps samples and log probabilities to NumPy arrays for compatibility with numpy-only samplers

sample(n_samples=None, nwalkers=None, nsteps=500, rng=None, discard=0, checkpoint_callback=None, checkpoint_every=None, checkpoint_file_path=None, **kwargs)[source]#
Parameters:
  • n_samples (int)

  • nwalkers (int)

  • nsteps (int)

  • checkpoint_callback (Callable[[dict], None] | None)

  • checkpoint_every (int | None)

  • checkpoint_file_path (str | None)

Return type:

aspire.samples.Samples

class aspire.samplers.mcmc.MiniPCN(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)[source]#

Bases: MCMCSampler

Base class for MCMC samplers.

sample(n_samples=None, n_walkers=None, rng=None, target_acceptance_rate=0.234, n_steps=100, thin=1, burnin=0, last_step_only=False, step_fn='tpcn', checkpoint_callback=None, checkpoint_every=None, checkpoint_file_path=None)[source]#
Parameters:
  • n_samples (int | None)

  • n_walkers (int | None)

  • checkpoint_callback (Callable[[dict], None] | None)

  • checkpoint_every (int | None)

  • checkpoint_file_path (str | None)

class aspire.samplers.mcmc.ParallelTemperedMCMCSampler(log_likelihood, log_prior, dims, prior_flow, xp, dtype=None, parameters=None, preconditioning_transform=None, rng=None)[source]#

Bases: MCMCSampler

Wrapper for Parallel Tempered MCMC Samplers

log_likelihood_wrapper(z)[source]#

Wrapper for log-likelihood that takes array inputs.

log_prior_wrapper(z)[source]#

Wrapper for log-prior that takes array inputs.