Skip to contents

Counts completed coarse slice proposals and their full-target acceptance decisions in the current R process.

Usage

selection_sampler_info(clear = FALSE)

Arguments

clear

reset counters before reporting them.

Value

A data frame with proposal, acceptance and correction-rejection counts, and an acceptance rate (NA before any proposals).

Details

Enable the alternative for future fits with RoBMA.options(selection.sampler = "coarse_corrected"). Every proposal is corrected against the full original likelihood and prior. Only the selection normalizer used to construct proposals is coarsened. A reversible slice transition for that surrogate is followed by a Metropolis correction using both original and surrogate densities at the current and proposed states. The original likelihood keeps its existing numerical integration controls and diagnostics; the correction does not replace those numerical integrals by symbolic exact values.

Dense multivariate step blocks. The surrogate rounds means and the logarithms of positive weights to fixed grids. Each covariance diagonal is rounded upward on a grid whose origin is that row's squared original sampling SE; off-diagonal covariances, original SEs, selection cutoffs, and zero weights are retained. These are proposal grids, not changes to fitted variance components or the input covariance. The Gaussian numerator and observed weights use the actual parameters. At most the first selection.coarse_max_rules rules of the fitted quadrature schedule are tried, with its existing integration criterion. If a valid anchor cannot be constructed or its covariance-envelope calculation is unsupported or unsuccessful, its prescribed normalizer is one; the proposal stage does not fall back to QMC. This fallback is independent of cache history and memory capacity and remains subject to the full-target correction. It does not replace full-target integration failures.

Rank-one cluster and factor step blocks. The surrogate is the exact numerator (Gaussian log density and observed log weights at the actual parameters) minus the log normalizer of one rule of the block's own Gauss-Hermite schedule: rule number selection.coarse_max_rules, or the last rule of a shorter schedule, evaluated at the actual parameters. No grid rounding, change test, certificate, refinement, sparse grid, QMC or cache enters, so the surrogate is a deterministic function of the sampled state; the correction evaluates the exact block, which keeps its ordinary numerical controls and diagnostics. Where that rule is unavailable at an update (a best-weight rule in the current state, or a non-finite normalizer) the surrogate is the exact density of the block. A block takes part unless its fixed controls rule it out: a weight rule fixed at a best-weight rule, a kernel mode fixed at the normal kernel, or, for a factor block, a rule beyond the node budget at the declared rank (rank two to six at the default setting). In model-averaged fits the weight rule and the kernel mode are nodes of the bias indicator, so their blocks take part, with the exact density in the states of the indicator that have a best-weight rule. A model average whose selection branches all use the best-weight rule takes part without any state that can gain: its surrogate is the exact density everywhere and every update pays two extra exact evaluations, so run such fits with the default sampler. Blocks fixed at a best-weight rule, blocks of higher rank and blocks with a fixed normal kernel keep the ordinary sampler.

A scalar update is eligible when at least one stochastic child of the updated node is a dense multivariate block or a coarse-capable cluster or factor block; its other children enter the surrogate through their exact densities. Discrete, vector-valued and unrelated updates, and updates whose selection children are all without a coarse rule, retain ordinary JAGS samplers, so the option can be set without effect: check that the counters grow. Whatever the surrogate, the corrected chain targets the exact full conditional; a coarser rule changes the acceptance rate and the cost, not the posterior.

Already compiled samplers retain their grid and coarse rule-budget settings. Coarse settings can affect sampling efficiency even when correction acceptance is high. Compare effective samples per second for parameters of interest, not only iteration times or this acceptance rate. Counters combine all corrected samplers in this process, including warmup; clear them between phases for a sampling-only comparison. They do not report separate parallel workers. Inspect them between sampling calls.