apcGlm: Adaptive Powered Correlation Prior

Description Usage Arguments Value References Examples

View source: R/apcGlm.R

Description

This function implements the adaptive powered correlation prior for estimating a single general(ized) linear regression model.
The adaptive powered correlation prior extends the Zellner-Siow Cauchy g-prior by allowing the crossproduct of the model matrix to be raised to powers other than -1 (which gives the Fisher information matrix). The power here will be referred to as "lambda". A lambda of 0 results in an identity matrix, which results in a ridge-regression like prior. Positive values of lambda adapt to collinearity by allowing correlated predictors to enter and exit the model together. Negative values of lambda on the other hand favor including only one of a set of correlated predictors. This can be understood as projecting the information matrix into a new space which leads to a model similar in function to principal components regression (Krishna et al., 2009). In this implementation full Bayesian inference is used for lambda, rather than searching via marginal likelihood maximization as Krishna et al. (2009) did. The reason for this is twofold. First, full Bayesian inference means the model has to be fit only once instead of several times over a grid of candidate values for lambda. Second, this avoids any coherency problems such as those that arise when using fixed-g priors.

The model specification is given below. Note that the model formulae have been adjusted to reflect the fact that JAGS parameterizes the normal and multivariate normal distributions by their precision, rater than (co)variance. For generalized linear models plug-in pseudovariances are used.



Plugin Pseudo-Variances:

Usage

1
2
3
4
apcGlm(formula, data, family = "gaussian", lower = NULL,
  upper = NULL, log_lik = FALSE, iter = 15000, warmup = 5000,
  adapt = 5000, chains = 4, thin = 1, method = "parallel",
  cl = makeCluster(2), ...)

Arguments

formula

the model formula

data

a data frame

family

one of "gaussian", "st" (Student-t with nu = 3), "binomial", or "poisson".

lower

lower limit on value of lambda. Is NULL by default and limits are set based on the minimum value that produces a positive definite covariance matrix.

log_lik

Should the log likelihood be monitored? The default is FALSE.

iter

How many post-warmup samples? Defaults to 15000.

warmup

How many warmup samples? Defaults to 5000.

adapt

How many adaptation steps? Defaults to 5000.

chains

How many chains? Defaults to 4.

thin

Thinning interval. Defaults to 1.

method

Defaults to "parallel". For an alternative parallel option, choose "rjparallel". Otherwise, "rjags" (single core run).

cl

Use parallel::makeCluster(# clusters) to specify clusters for the parallel methods. Defaults to two cores.

...

Other arguments to run.jags.

uppper

upper limit on value of lambda. Is NULL by default and limits are set based on the maximum value that produces a positive definite covariance matrix.

Value

A run.jags object.

References

Zellner, A. & Siow S. (1980). Posterior odds ratio for selected regression hypotheses. In Bayesian statistics. Proc. 1st int. meeting (eds J. M. Bernardo, M. H. DeGroot, D. V. Lindley & A. F. M. Smith), 585–603. University Press, Valencia.

Liang, Paulo, Molina, Clyde, & Berger (2008) Mixtures of g Priors for Bayesian Variable Selection, Journal of the American Statistical Association, 103:481, 410-423, DOI: 10.1198/016214507000001337

Krishna, A., Bondell, H. D., & Ghosh, S. K. (2009). Bayesian variable selection using an adaptive powered correlation prior. Journal of statistical planning and inference, 139(8), 2665–2674. doi:10.1016/j.jspi.2008.12.004

Examples

1

abnormally-distributed/Bayezilla documentation built on Oct. 31, 2019, 1:57 a.m.