bilby.bilby_mcmc.proposals.PriorProposal
- class bilby.bilby_mcmc.proposals.PriorProposal(priors, weight=1, subset=None)[source]
Bases:
BaseProposal
A proposal using draws from the prior distribution
Note: for priors which use interpolation, this proposal can be problematic as the proposal gets pickled in multiprocessing. Either, use serial processing (npool=1) or fall back to a UniformProposal.
- Parameters:
- priors: bilby.core.prior.PriorDict
The set of priors
- weight: float
Weighting factor
- subset: list
A list of keys for which to restrict the proposal to (other parameters will be kept fixed)
Methods
__init__
(priors[, weight, subset])apply_boundaries
(point)apply_periodic_boundary
(key, val)apply_reflective_boundary
(key, val)check_dependencies
([warn])Check the dependencies required to use the proposal
propose
(chain)Propose a new point
Attributes
acceptance_ratio
accepted
n
rejected
- static check_dependencies(warn=True)[source]
Check the dependencies required to use the proposal
- Parameters:
- warn: bool
If true, print a warning
- Returns:
- check: bool
If true, dependencies exist
- propose(chain)[source]
Propose a new point
This method must be overwritten by implemented proposals. The propose method is called by __call__, then boundaries applied, before returning the proposed point.
- Parameters:
- chain: bilby.core.sampler.bilby_mcmc.chain.Chain
The chain to use for the proposal
- Returns:
- proposal: bilby.core.sampler.bilby_mcmc.Sample
The proposed point
- log_factor: float
The natural-log of the additional factor entering the acceptance probability to ensure detailed balance. For symmetric proposals, a value of 0 should be returned.