bartz.testing.Constant

class bartz.testing.Constant[source]

Scales concentrated at 1 (uniform predictor importance).

property fourth_moment: float[source]

E[s ** 4] = 1.

sample(key, shape)[source]

Return all-ones scales (key is unused).

Return type:

Float[Array, '*shape']

classmethod from_peff(peff, p)[source]

Set the scale dispersion from an effective number of active predictors.

peff is the participation ratio of the squared scales,

\[p_{\mathrm{eff}} = \frac{(\sum_j s_j^2)^2}{\sum_j s_j^4} \;\xrightarrow{\,p \to \infty\,}\; \frac p{E[s^4]},\]

an effective count that ranges in [1, p]: p when all predictors are equally important (Constant), shrinking towards 1 as the importance concentrates on fewer predictors. The deterministic large-p limit p / E[s ** 4] is the analytic target inverted here; for SpikeSlab it equals the expected number of nonzero scales exactly.

Parameters:
  • peff (Float[Array, ''] | float) – Effective number of active predictors, in [1, p].

  • p (Integer[Array, ''] | int) – Total number of predictors.

Returns:

ScaleDistr – A member of the family with fourth_moment equal to p / peff.