Skip to content

spike_and_slab defaults lack an expected-model-size control #1177

Description

@anevolbap

#981 asks for defaults with an expected model size and prior scaling that need no hand-tuning. The horseshoe default in causalpy/variable_selection_priors.py has this: with covariate values available it sets p0 = min(5, p / 2) expected nonzero coefficients and scales tau0 from the data (Piironen and Vehtari, 2017). The spike_and_slab default is Beta(2, 2) on the inclusion probability, which fixes the prior expected model size at p / 2 whatever p is, and no hyperparameter expresses "about M of these covariates matter", which is how the spike-and-slab in Brodersen et al. (2015) is parameterized.

Worth adding an expected_model_size hyperparameter that maps onto the Beta parameters, keeping the current default when unset? It would reach both InstrumentalVariableRegression and StateSpaceTimeSeries through the shared factory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions