Skip to contents

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_pc

Prior-predictive conflict threshold.

pvalue_method

How the conflict p-value is computed.

weight_grid_step

Resolution of the weight scan.

weight_scan_step

Resolution of the coarse stage of the weight scan.

selection

The per-replicate selection, cached so that the scalar and vectorised paths report the same numbers they priced the prior with.

quantile_summary_columns

Posterior parameters also summarised by quantile, which for this method is the selected weight.

method

Method name.

Methods

Inherited methods


GaussianEgidiMixture$new()

Initialize a new GaussianEgidiMixture object.

Usage

Arguments

prior

A list containing prior information for the analysis.


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.

Usage

GaussianEgidiMixture$empirical_bayes_update(target_data)

Arguments

target_data

A list containing the target data for the analysis.


GaussianEgidiMixture$posterior_moments()

Calculate the posterior moments based on the target data.

Usage

GaussianEgidiMixture$posterior_moments(target_data)

Arguments

target_data

A list containing the target data for the analysis.


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.

Usage

GaussianEgidiMixture$vectorised_prior_components(target_data, samples)

Arguments

target_data

Target data for the analysis.

samples

Data frame of generated replicates.

Returns

A list with weights, means and sds.


GaussianEgidiMixture$vectorised_posterior_parameters()

Posterior parameters reported by the vectorised path.

Usage

GaussianEgidiMixture$vectorised_posterior_parameters(posterior)

Arguments

posterior

Posterior mixture from normal_mixture_posterior().

Returns

A data frame with one row per replicate.


GaussianEgidiMixture$clone()

The objects of this class are cloneable with this method.

Usage

GaussianEgidiMixture$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.