def _ensure_priors(self): if self._residual_sd_prior is None: sample_var = self._response_suf.sample_var residual_var = (1 - self._expected_Rsqure) * sample_var self._residual_sd_prior = R.SdPrior( np.sqrt(residual_var, self._prior_sample_size)) if self._sampler is None: self._sampler = boom.BigAssSpikeSlabSampler( self._model, boom.VariableSelectionPrior(self._spike), self._slab.boom(self._model.Sigsq_prm), self._residual_sd_prior.boom()) self._model.set_method(self._sampler)
def spike(self): return boom.VariableSelectionPrior(self._prior_inclusion_probabilities)