R: Moment and inverse moment Bayes factors for linear models.
mombf
R Documentation
Moment and inverse moment Bayes factors for linear models.
Description
mombf computes moment Bayes factors to test whether a subset of
regression coefficients are equal to some user-specified value.
imombf computes inverse moment Bayes factors.
zellnerbf computes Bayes factors based on the Zellner-Siow
prior (used to build the moment prior).
Vector with indexes of coefficients to be
tested. e.g. coef==c(2,3)
and theta0==c(0,0) tests coef(lm1)[2]=coef(lm1)[3]=0.
g
Vector with prior parameter values. See dmom and
dimom for details.
prior.mode
If specified, g is determined by calling
g2mode.
baseDensity
Density upon which the Mom prior is
based. baseDensity=='normal' results in the normal Mom prior,
baseDensity=='t' in the t Mom prior with nu degrees of freedom.
nu
For mombf, nu specifies the degrees of freedom
of the t Mom prior. It is ignored unless
baseDensity=='t'. nu defaults to 3.
For imombf, nu specifies the degrees of freedom for
the inverse moment prior (see
dimom for details). Defaults to nu=1, which Cauchy-like
tails.
theta0
Null value for the regression coefficients. Defaults to
0.
logbf
If logbf==TRUE the natural logarithm of the Bayes
factor is returned.
method
Numerical integration method to compute the bivariate
integral (only used by imombf).
For method=='adapt', the inner integral is evaluated (via integrate) at a series of
nquant quantiles of the residual variance posterior distribution, and then
averaged as described in Johnson (1992).
Set method=='MC' to use Monte Carlo integration.
nquant
Number of quantiles at which to evaluate the integral
for known sigma. Only used if method=='adapt'.
B
Number of Monte Carlo samples to estimate the T Mom and the inverse moment
Bayes factor. Only used in mombf if baseDensity=='t'. Only used in imombf if method=='MC'.
Details
These functions actually call momunknown and
imomunknown, but they have a simpler interface.
See dmom and dimom for details on the moment and inverse
moment priors.
The Zellner-Siow g-prior is given by dmvnorm(theta,theta0,n*g*V1).
Value
mombf returns the moment Bayes factor to compare the model where
theta!=theta0
with the null model where theta==theta0. Large values favor the
alternative model; small values favor the null.
imombf returns
inverse moment Bayes factors.
zellnerbf returns Bayes factors based on the Zellner-Siow g-prior.
Author(s)
David Rossell
References
See http://rosselldavid.googlepages.com for technical
reports.
For details on the quantile integration, see Johnson, V.E. A Technique for Estimating Marginal Posterior Densities in Hierarchical Models
Using Mixtures of Conditional Densities. Journal of the American Statistical Association, Vol. 87, No. 419. (Sep., 1992), pp. 852-860.
See Also
momunknown,
imomunknown and zbfunknown for another interface to compute Bayes
factors. momknown, imomknown and zbfknown
to compute Bayes factors assuming that the dispersion parameter
is known, and for approximate Bayes factors for
GLMs. mode2g for prior elicitation.
Examples
##compute Bayes factor for Hald's data
data(hald)
lm1 <- lm(hald[,1] ~ hald[,2] + hald[,3] + hald[,4] + hald[,5])
# Set g so that prior mode for standardized effect size is at 0.2
prior.mode <- .2^2
V <- summary(lm1)$cov.unscaled
gmom <- mode2g(prior.mode,prior='normalMom')
gimom <- mode2g(prior.mode,prior='iMom')
# Set g so that interval (-0.2,0.2) has 5% prior probability
# (in standardized effect size scale)
priorp <- .05; q <- .2
gmom <- c(gmom,priorp2g(priorp=priorp,q=q,prior='normalMom'))
gimom <- c(gmom,priorp2g(priorp=priorp,q=q,prior='iMom'))
mombf(lm1,coef=2,g=gmom) #moment BF
imombf(lm1,coef=2,g=gimom,B=10^5) #inverse moment BF
zellnerbf(lm1,coef=2,g=1) #BF based on Zellner's g-prior