Create new live points by evolving a current live point through a Metropolis-Hastings random walk, rejecting steps that fail to meet the likelihood criterion.
Value
An object of class c("rwmh_cube", "ernest_lrps") that can be
used with ernest_sampler() to specify the sampling behaviour.
Details
The random walk LRPS generates proposals by performing a fixed number of Metropolis-Hastings steps within the unit hypercube. Each step proposes a new location by adding a random perturbation to the current position, accepting or rejecting the step based on whether it satisfies the likelihood criterion. This process continues for the specified number of steps, with the final accepted position returned as the proposal.
Step-size Adaptation: The step size \(\epsilon\) is adapted between
sampling rounds using update_lrps(). The adaptation uses a Newton-like
method to target the desired acceptance rate \(\alpha_*\). Given the
current acceptance rate \(\alpha_i\) and number of dimensions
\(d\), the step size is updated with:
$$\epsilon_i * \exp(\frac{\alpha_i - \alpha^*}{d \cdot \alpha_*})$$
Given the previously-accepted sample \(X_{i-1}\) and the number of dimensions \(d\), proposed points are generated from:
$$X_{i-1} + S_d(0, \epsilon)$$
where \(S(0, \epsilon)\) is a point drawn uniformly from the $d$-dimensional ball centered on the origin with radius \(\epsilon\).
Control Parameters
steps: Start with 25. Increase to generate samples that more closely follow the posterior distribution; decrease for computational efficiency.target_acceptance: Start with 0.4-0.6. Lower values encourage more global exploration of the posterior, higher values encourage explorations close to the starting point.
References
Skilling, J. (2006). Nested Sampling for General Bayesian Computation. Bayesian Analysis, 1(4), 833–859. doi:10.1214/06-BA127
Speagle, J. S. (2020). Dynesty: A Dynamic Nested Sampling Package for Estimating Bayesian Posteriors and Evidences. Monthly Notices of the Royal Astronomical Society, 493, 3132–3158. doi:10.1093/mnras/staa278
See also
Other ernest_lrps:
mini_balls(),
multi_ellipsoid(),
no_underrun(),
slice_rectangle(),
unif_cube(),
unif_ellipsoid()