prior_conflict: Compute prior-data conflict diagnostics

View source: R/conflict_sensitivity.R

prior_conflictR Documentation

Compute prior-data conflict diagnostics

Description

Evaluates conflict between a specified prior and observed data using multiple complementary diagnostics: Box's (1980) predictive p-value, the surprise index (standardised distance), Kullback-Leibler divergence, and the Bhattacharyya overlap coefficient between the prior and the (normalised) likelihood.

Usage

prior_conflict(prior, data_summary, alpha = 0.05)

Arguments

prior

A bayprior object.

data_summary

Named list describing the observed data:

type

"binary", "continuous", "poisson", or "survival".

x

Number of events (binary / poisson / survival) or observed mean (continuous).

n

Sample size (binary / continuous), total exposure (poisson: person-time), or total follow-up time (survival).

sd

Observed standard deviation (continuous only).

alpha

Numeric. Significance level for the Box p-value flag. Default 0.05.

Value

An object of class bayprior_conflict containing:

box_pvalue

Box's prior predictive p-value.

surprise_index

Standardised distance between prior mean and observed data.

kl_prior_likelihood

KL divergence from prior to likelihood.

overlap

Bhattacharyya overlap coefficient in [0, 1].

conflict_severity

One of "none", "mild", "severe".

conflict_flag

Logical; TRUE if box_pvalue < alpha.

recommendation

Plain-language guidance string.

data_summary

The data summary passed in.

prior

The input prior.

References

Box, G. E. P. (1980). Sampling and Bayes' inference in scientific modelling and robustness. Journal of the Royal Statistical Society A, 143, 383-430.

Examples

prior <- elicit_beta(mean = 0.30, sd = 0.10, method = "moments",
                     label = "Response rate")
cd <- prior_conflict(prior, list(type = "binary", x = 18, n = 40))
print(cd)


bayprior documentation built on Aug. 27, 2026, 1:09 a.m.