bcal: Lower Bounds on Bayes Factors for Point Null Hypotheses

View source: R/p-calibrations.R

bcalR Documentation

Lower Bounds on Bayes Factors for Point Null Hypotheses

Description

Calibrate p-values under a robust Bayesian perspective so that they can be directly interpreted as lower bounds on Bayes factors in favor of point null hypotheses.

Usage

bcal(p)

Arguments

p

A numeric vector with values in the [0,1] interval.

Details

bcal is a vectorized implementation of the calibration of p-values into lower bounds for Bayes factors developed by \insertCitesellke2001;textualpcal. The calibration is:

B(p) = - e p log(p)

for p < 1/e, where p is a p-value on a classical test statistic, and B(p) = 1 otherwise. B(p) should be interpreted as an approximation to the lower bound of the Bayes factor (in favor of the null hypothesis) that is found by changing the prior distribution of the parameter of interest (under the alternative hypothesis) over wide classes of distributions.

\insertCite

sellke2001;textualpcal noted that a scenario in which they definitely recommend this calibration is when investigating fit to the null model/hypothesis with no explicit alternative in mind. \insertCitepericchiTorres2011;textualpcal warn that despite the usefulness and appropriateness of this p-value calibration it does not depend on sample size and hence the lower bounds obtained with large samples may be conservative.

Value

bcal returns a numeric vector with the same length as p. A warning message is thrown if there are NA or NaN values in p.

References

\insertAllCited

See Also

  • bfactor_interpret for the interpretation of Bayes factors.

  • bfactor_to_prob to turn Bayes factors into posterior probabilities.

  • pcal for a p-value calibration that returns lower bounds for the posterior probabilities of point null hypotheses.

Examples

# Calibration of a typical "threshold" p-value:
# ----------------------------------------------------------------
bcal(.05)

# Calibration of typical "threshold" p-values:
# ----------------------------------------------------------------
bcal(c(.1, .05, .01, .005, .001))

# Application: chi-squared goodness-of-fit test,
# lower bound on the Bayes factor in favor of the null hypothesis:
# ----------------------------------------------------------------
data <- matrix(c(18, 12, 10, 12, 10, 23), ncol = 2)
bcal(chisq.test(data)[["p.value"]])


pedro-teles-fonseca/pcal documentation built on Nov. 4, 2022, 3:01 p.m.