The empirical mixture prior of Egidi, Pauli and Torelli for a normal summary measure.
Details
The prior is the robust mixture prior's,
$$\pi_\psi(\theta_T) = \psi q(\theta_T) + (1 - \psi) p(\theta_T),$$
with the same informative component \(p\) centred on the source estimate and
the same weak component \(q\). Only the weight differs: instead of being
prespecified, \(\psi\) is the smallest weight on the weak component at which
the prior-predictive conflict p-value reaches alpha_pc, computed separately
for every replicate from that replicate's own target estimate and standard
error.
The class inherits from GaussianRMP_RBesT and supplies the weight it would otherwise read from the configuration. Because the robust mixture prior parameterises its mixture by the weight on the informative component, the weight handed over is \(1 - \hat\psi\). Everything after that - the conjugate update, the credible interval, the decision rule, the effective sample sizes - is the inherited code, so the two methods differ only in where the weight comes from.
This is an empirically adaptive procedure. The target data are used first to
select the weight and then again to update the posterior, which is intentional
and is what distinguishes the method from a robust mixture prior with a
prespecified weight. psi_weak should not be described as a prior probability
chosen before the target data were observed.
Super classes
Model -> Model_RBesT -> GaussianRMP_RBesT -> GaussianEgidiMixture
Public fields
alpha_pcPrior-predictive conflict threshold.
pvalue_methodHow the conflict p-value is computed.
weight_grid_stepResolution of the weight scan.
weight_scan_stepResolution of the coarse stage of the weight scan.
selectionThe per-replicate selection, cached so that the scalar and vectorised paths report the same numbers they priced the prior with.
quantile_summary_columnsPosterior parameters also summarised by quantile, which for this method is the selected weight.
methodMethod name.
Methods
Inherited methods
Model$calibrate_for_design()Model$check_data()Model$create()Model$estimate_bayesian_operating_characteristics()Model$estimate_frequentist_operating_characteristics()Model$hypothesis_space_transformation()Model$inference()Model$inference_cache_scope()Model$plot_pdfs()Model$plot_posterior_pdf()Model$plot_prior_pdf()Model$posterior_beta_mixture()Model$posterior_ess()Model$posterior_quantile()Model$print_model_summary()Model$prior_elir_ess()Model$simulation_for_given_treatment_effect()Model$test_decision()Model_RBesT$credible_interval()Model_RBesT$posterior_cdf()Model_RBesT$posterior_mean()Model_RBesT$posterior_median()Model_RBesT$posterior_pdf()Model_RBesT$posterior_variance()Model_RBesT$prior_cdf()Model_RBesT$prior_pdf()Model_RBesT$sample_posterior()Model_RBesT$sample_prior()Model_RBesT$vectorised_replicate_inference()GaussianRMP_RBesT$posterior_to_RBesT()GaussianRMP_RBesT$prior_to_RBesT()GaussianRMP_RBesT$summary_rows()
GaussianEgidiMixture$new()
Initialize a new GaussianEgidiMixture object.
Usage
GaussianEgidiMixture$new(prior)GaussianEgidiMixture$empirical_bayes_update()
Select the mixture weight for a replicate and build its prior.
The weak component's variance is derived from the replicate first, because it sets the weak component's prior-predictive and so enters the conflict p-value. The inherited method then re-derives it by the same rule and assembles the mixture with the selected weight.
GaussianEgidiMixture$vectorised_prior_components()
Prior mixture components for each replicate.
The weight varies by replicate, so the mixture is returned as matrices with one row each. The component order is the inherited one, informative first, which is what makes the posterior weight the inherited code reports the probability of the informative component.
GaussianEgidiMixture$vectorised_posterior_parameters()
Posterior parameters reported by the vectorised path.
Arguments
posteriorPosterior mixture from
normal_mixture_posterior().