Skip to contents

Construct a prior specification for the slot activity model, which regularizes the number of active single effects in SuSiE. Two prior families are available: Beta-Binomial (default, recommended for single-locus) and Gamma-Poisson (recommended for genome-wide applications via susieAnn).

Usage

slot_prior_betabinom(
  a_beta = NULL,
  b_beta = NULL,
  c_hat_init = NULL,
  skip_threshold_multiplier = 0
)

slot_prior_poisson(
  C,
  nu = NULL,
  update_schedule = c("sequential", "batch"),
  c_hat_init = NULL,
  skip_threshold_multiplier = 0
)

Arguments

a_beta

Shape parameter for the Beta prior on inclusion probability rho. Default 1.

b_beta

Shape parameter for the Beta prior on inclusion probability rho. Default 2, giving a moderate sparsity preference with E[rho] = 1/3 ~ 0.33. Setting a_beta = 1 and b_beta = 1 gives a uniform prior on [0,1], providing automatic multiplicity correction following Scott and Berger (2010).

c_hat_init

Optional numeric L-vector of initial slot activity probabilities for warm-starting. If NULL, initialized at the prior mean.

skip_threshold_multiplier

Multiplier for the adaptive skip threshold. Slots with c_hat below this fraction of the baseline (prior with zero signal) are skipped. Default 0 (no skipping). The threshold is recomputed after each sweep from the current model state, and is set to 0 on the first sweep so all slots are evaluated at least once.

C

Expected number of causal variants for the Gamma-Poisson prior on the per-block causal rate. Must be positive. Not used by slot_prior_betabinom.

nu

Overdispersion parameter for the Gamma-Poisson prior on the per-block causal rate. Not used by slot_prior_betabinom. Larger values give stronger shrinkage toward C. Default 8 when not specified.

update_schedule

How the Gamma shape parameter is updated during IBSS iterations (Gamma-Poisson only; ignored for Beta-Binomial which is inherently sequential). "batch" updates once per full sweep (standard CAVI). "sequential" updates after each slot (faster convergence per iteration, used by susieAnn).

Value

A list of class "slot_prior" with the appropriate subclass.

Details

Two prior types are available:

slot_prior_betabinom

Uses a Beta-Binomial model for slot inclusion. The inclusion probability rho is given a Beta(a_beta, b_beta) prior and integrated out analytically, yielding an adaptive multiplicity correction that penalizes less when more slots are active. This is the recommended default for single-locus applications. See Scott and Berger (2010) for the theoretical justification.

slot_prior_poisson

Uses the Gamma-Poisson model with Poisson approximation for slot indicators. Recommended for genome-wide applications via susieAnn, where C and nu are estimated across loci.

References

Scott, J. G. and Berger, J. O. (2010). Bayes and empirical-Bayes multiplicity adjustment in the variable-selection problem. Annals of Statistics, 38(5), 2587–2619.

Examples

# Default: Beta-Binomial with Beta(1, 2) prior on inclusion probability
slot_prior_betabinom()
#> Slot activity prior (beta-binomial)
#>   a_beta:               1
#>   b_beta:               2

# Gamma-Poisson for susieAnn
slot_prior_poisson(C = 5, nu = 8)
#> Slot activity prior (poisson)
#>   C (expected causal):  5
#>   nu (overdispersion):  8
#>   update schedule:      sequential

# Pass to susie
# fit <- susie(X, y, slot_prior = slot_prior_betabinom())