Package: BAS 1.7.5

Merlise Clyde

BAS: Bayesian Variable Selection and Model Averaging using Bayesian Adaptive Sampling

Package for Bayesian Variable Selection and Model Averaging in linear models and generalized linear models using stochastic or deterministic sampling without replacement from posterior distributions. Prior distributions on coefficients are from Zellner's g-prior or mixtures of g-priors corresponding to the Zellner-Siow Cauchy Priors or the mixture of g-priors from Liang et al (2008) <doi:10.1198/016214507000001337> for linear models or mixtures of g-priors from Li and Clyde (2019) <doi:10.1080/01621459.2018.1469992> in generalized linear models. Other model selection criteria include AIC, BIC and Empirical Bayes estimates of g. Sampling probabilities may be updated based on the sampled models using sampling w/out replacement or an efficient MCMC algorithm which samples models using a tree structure of the model space as an efficient hash table. See Clyde, Ghosh and Littman (2010) <doi:10.1198/jcgs.2010.09049> for details on the sampling algorithms. Uniform priors over all models or beta-binomial prior distributions on model size are allowed, and for large p truncated priors on the model space may be used to enforce sampling models that are full rank. The user may force variables to always be included in addition to imposing constraints that higher order interactions are included only if their parents are included in the model. This material is based upon work supported by the National Science Foundation under Division of Mathematical Sciences grant 1106891. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Authors:Merlise Clyde [aut, cre, cph], Michael Littman [ctb], Joyee Ghosh [ctb], Yingbo Li [ctb], Betsy Bersson [ctb], Don van de Bergh [ctb], Quanli Wang [ctb]

BAS_1.7.5.tar.gz
BAS_1.7.5.tar.gz(r-4.5-noble)BAS_1.7.5.tar.gz(r-4.4-noble)
BAS_1.7.5.tgz(r-4.4-emscripten)BAS_1.7.5.tgz(r-4.3-emscripten)
BAS.pdf |BAS.html
BAS/json (API)
NEWS

# Install 'BAS' in R:
install.packages('BAS', repos = 'https://cloud.r-project.org')

Bug tracker:https://github.com/merliseclyde/bas/issues15 issues

Pkgdown site:https://merliseclyde.github.io

Uses libs:
  • openblas– Optimized BLAS
Datasets:

On CRAN:

Conda:r-bas-1.7.5(2024-11-28)

fortranopenblas

6.82 score 3 packages 420 scripts 1.7k downloads 55 mentions 39 exports 0 dependencies

Last updated 3 months agofrom:e4c62dd347. Checks:2 OK. Indexed: no.

TargetResultLatest binary
Doc / VignettesOKFeb 26 2025
R-4.5-linux-x86_64OKFeb 26 2025

Exports:aic.priorbas.glmbas.lmBayes.outlierbayesglm.fitBernoulliBernoulli.hereditybeta.binomialbeta.primebic.priorCCHcv.summary.basdiagnosticsEB.globalEB.localeplogprobeplogprob.margforce.heredity.basg.priorhyper.ghyper.g.nhypergeometric1F1hypergeometric2F1IC.priorintrinsicJeffreyslist2matrix.baslist2matrix.whichphi1robusttCCHtestBF.priorTGtr.beta.binomialtr.poissontr.power.priortrCCHuniformwhich.matrix

Dependencies:

Using the Bayesian Adaptive Sampling (BAS) Package for Bayesian Model Averaging and Variable Selection

Rendered fromBAS-vignette.Rmdusingknitr::rmarkdownon Feb 26 2025.

Last update: 2023-11-29
Started: 2016-07-16

Citation

To cite package 'BAS' in publications use:

Clyde, Merlise (2024) BAS: Bayesian Variable Selection and Model Averaging using Bayesian Adaptive Sampling, R package version 1.7.5

Corresponding BibTeX entry:

  @Manual{,
    title = {{BAS}: Bayesian Variable Selection and Model Averaging
      using Bayesian Adaptive Sampling},
    author = {Merlise Clyde},
    year = {2024},
    note = {R package version 1.7.5},
  }

Readme and manuals

BAS BAS website

BAS: Bayesian Variable Selection and Model Averaging using Bayesian Adaptive SamplingBAS: Bayesian Variable Selection and Model Averaging using Bayesian Adaptive Sampling

The BAS R package is designed to provide an easy to use package and fast code for implementing Bayesian Model Averaging and Model Selection in R using state of the art prior distributions for linear and generalized linear models. The prior distributions in BAS are based on Zellner’s g-prior or mixtures of g-priors for linear and generalized linear models. These have been shown to be consistent asymptotically for model selection and inference and have a number of computational advantages. BAS implements three main algorithms for sampling from the space of potential models: a deterministic algorithm for efficient enumeration, adaptive sampling without replacement algorithm for modest problems, and a MCMC algorithm that utilizes swapping to escape from local modes with standard Metropolis-Hastings proposals.

Installation

The stable version can be installed easily in the R console like any other package:

install.packages('BAS')

On the other hand, I welcome everyone to use the most recent version of the package with quick-fixes, new features and probably new bugs. It’s currently hosted on GitHub. To get the latest development version from GitHub, use the devtools package from CRAN and enter in R:

devtools::install_github('merliseclyde/BAS')

You can check out the current build status R-CMD-check before installing.

Installing the package from source does require compilation of C and FORTRAN code as the library makes use of BLAS and LAPACK for efficient model fitting. See CRAN manuals for installing packages from source under different operating systems.

Usage

To begin load the package:

library(BAS)

The two main function in BAS are bas.lm and bas.glm for implementing Bayesian Model Averaging and Variable Selection using Zellner’s g-prior and mixtures of g priors. Both functions have a syntax similar to the lm and glm functions respectively. We illustrate using BAS on a simple example with the famous Hald data set using the Zellner-Siow Cauchy prior via

data(Hald)
hald.ZS = bas.lm(Y ~ ., data=Hald, prior="ZS-null", modelprior=uniform(), method="BAS")

BAS has summary, plot coef, predict and fitted functions like the lm/glm functions. Images of the model space highlighting which variable are important may be obtained via

image(hald.ZS)

Run demo("BAS.hald") or demo("BAS.USCrime") or see the package vignette for more examples and options such as using MCMC for model spaces that cannot be enumerated.

Generalized Linear Models

BAS now includes for support for binomial and binary regression, Poisson regression, and Gamma regression using Laplace approximations to obtain Bayes Factors used in calculating posterior probabilities of models or sampling of models. Here is an example using the Pima diabetes data set with the hyper-g/n prior:

library(MASS)
data(Pima.tr)
Pima.hgn = bas.glm(type ~ ., data=Pima.tr, method="BAS", family=binomial(),
                  betaprior=hyper.g.n(), modelprior=uniform())

Note, the syntax for specifying priors on the coefficients in bas.glm uses a function with arguments to specify the hyper-parameters, rather than a text string to specify the prior name and a separate argument for the hyper-parameters. bas.lm will be moving to this format sometime in the future.

Feature Requests and Issues

Feel free to report any issues or request features to be added via the github issues page.

For current documentation and vignettes see the BAS website

Support

This material is based upon work supported by the National Science Foundation under Grant DMS-1106891. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Help Manual

Help pageTopics
BAS: Bayesian Model Averaging using Bayesian Adaptive SamplingBAS
Bayesian Adaptive Sampling Without Replacement for Variable Selection in Generalized Linear Modelsbas.glm
Bayesian Adaptive Sampling for Bayesian Model Averaging and Variable Selection in Linear Modelsbas bas.lm
Bayesian Outlier DetectionBayes.outlier
Fitting Generalized Linear Models and Bayesian marginal likelihood evaluationbayesglm.fit
Independent Bernoulli Prior Distribution for ModelsBernoulli bernoulli
Independent Bernoulli prior on models that with constraints for model hierarchy induced by interactionsBernoulli.heredity
Beta-Binomial Prior Distribution for ModelsBeta.Binomial beta.binomial
Beta-Prime Prior Distribution for Coefficients in BMA Modelbeta.prime
Bodyfat DataBodyfat bodyfat
Generalized g-Prior Distribution for Coefficients in BMA ModelsCCH
Climate Dataclimate
Coefficients of a Bayesian Model Average objectcoef coef.bas coefficients coefficients.bas print.coef.bas
Compute Credible Intervals for BAS regression coefficients from BAS objectsconfint confint.coef.bas
Compute Credible (Bayesian Confidence) Intervals for a BAS predict objectconfint.pred.bas
Summaries for Out of Sample Predictioncv.summary.bas
BAS MCMC diagnostic plotdiagnostics
Find the global Empirical Bayes estimates for BMAEB.global EB.global.bas
Empirical Bayes Prior Distribution for Coefficients in BMA ModelEB EB.local
eplogprob - Compute approximate marginal inclusion probabilities from pvalueseplogprob
eplogprob.marg - Compute approximate marginal inclusion probabilities from pvalueseplogprob.marg
Fitted values for a BAS BMA objectsfitted fitted.bas
Post processing function to force constraints on interaction inclusion bas BMA objectsforce.heredity.bas
Families of G-Prior Distribution for Coefficients in BMA Modelsg.prior
Hald DataHald hald
Hyper-g-Prior Distribution for Coefficients in BMA Modelshyper.g
Generalized hyper-g/n Prior Distribution for g for mixtures of g-priors on Coefficients in BMA Modelshyper.g.n
Confluent hypergeometric1F1 functionhypergeometric1F1
Gaussian hypergeometric2F1 functionhypergeometric2F1
Information Criterion Families of Prior Distribution for Coefficients in BMA ModelsAIC.prior aic.prior BIC.prior bic.prior IC.prior
Images of models used in Bayesian model averagingimage image.bas
Intrinsic Prior Distribution for Coefficients in BMA Modelsintrinsic
Jeffreys Prior Distribution for $g$ for Mixtures of g-Priors for Coefficients in BMA ModelsJeffreys
Coerce a BAS list object into a matrix.list2matrix list2matrix.bas
Coerce a BAS list object into a matrix.list2matrix.which
Compound Confluent hypergeometric function of two variablesphi1
Plot Diagnostics for an BAS Objectplot.bas
Plots the posterior distributions of coefficients derived from Bayesian model averagingplot.coef.bas
Plot Bayesian Confidence Intervalsplot.confint.bas
Prediction Method for an object of class BASpredict predict.bas
Prediction Method for an Object of Class basglmpredict.basglm
Print a Summary of Bayesian Model Averaging objects from BASprint print.bas
Protein Activity Dataprotein
Robust-Prior Distribution for Coefficients in BMA Modelrobust
Summaries of Bayesian Model Averaging objects from BASsummary summary.bas
Generalized tCCH g-Prior Distribution for Coefficients in BMA ModelstCCH
Test based Bayes Factors for BMA ModelstestBF.prior
Generalized g-Prior Distribution for Coefficients in BMA ModelsTG
Truncated Beta-Binomial Prior Distribution for Modelstr.Beta.Binomial tr.beta.binomial
Truncated Poisson Prior Distribution for Modelstr.Poisson tr.poisson
Truncated Power Prior Distribution for Modelstr.Power.Prior tr.power.prior
Truncated Compound Confluent Hypergeometric functiontrCCH trunc.CCH
Uniform Prior Distribution for ModelsUniform uniform
Update BAS object using a new priorupdate update.bas
Extract the variable names for a model from a BAS prediction objectvariable.names variable.names.pred.bas
Coerce a BAS list object of models into a matrix.which.matrix