Learn R Programming

BVS (version 4.12.0)

fitBVS: Function to calculate fitness for each model for Bayesian Variant Selection Methods

Description

This function takes one of the models and calculates the fitness/cost value of the model.

Usage

fitBVS(Z,data,forced=NULL,cov=NULL,a1=NULL,rare=FALSE,hap=FALSE,inform=FALSE,
                  which=NULL,models.char=NULL)

Arguments

Z
a p dimensional vector specifying a model of interest. In particular if the jth value of the vector is 0 the jth variant is not included in the model and if the jth value of the vector is 1 the jth variant is included in th
data
a (n x (p+1)) dimensional data frame where the first column corresponds to the response variable that is presented as a factor variable corresponding to an individuals disease status (0|1),and the final p columns are the SNPs of inte
forced
an optional (n x c) matrix of c confounding variables that one wishes to adjust the analysis for and that will be forced into every model.
inform
if inform=TRUE corresponds to the iBMU algorithm of Quintana and Conti (Submitted) that incorporates user specified external predictor-level covariates into the variant selection algorithm.
cov
an optional (p x q) dimensional matrix of q predictor-level covariates (need when inform=TRUE) that the user wishes to incorporate into the estimation of the marginal inclusion probabilities using the iBMU algorithm
a1
a q dimensional vector of specified (or sampled) effects of each predictor-level covariate to be used when inform=TRUE.
rare
if rare=TRUE corresponds to the Bayesian Risk index (BRI) algorithm of Quintana and Conti (2011) that constructs a risk index based on the multiple rare variants within each model. The marginal likelihood of each model is then calculated based on the cor
hap
if hap=TRUE we estimate a set of haplotypes from the multiple variants within each model and the marginal likelihood of each model is calculated based on the set of estimated haplotypes.
which
optional current which matrix of sampled models from sampleBVS that is used to see if a model has already been sampled so that that fitness does not have to be recalculated.
models.char
optional vector that identifies that current models that have been sampled from sampleBVS that is also used to determine if a model has already been sampled.

Value

  • This function outputs a vector of the following values:
  • coefIf rare=FALSE we report a vector where each value corresponds to the estimated coefficients for all variables within the model of interest. If rare=TRUE we report a single value corresponding to the estimated coefficient of the risk index corresponding to each model of interest.
  • fitnessThe value of the fitness function (log(Model likelihood) - log(Model Prior)) of the model of interest.
  • PrMThe value of the prior on the model of interest.

Details

Uses the glm function to calculate the marginal likelihood and fitness function of the model of interest. If rare = TRUE the marginal likelihood is based on the risk index produced from the subset of variants within the model of interest and if hap = TRUE the marginal likelihood is based on the estimated haplotypes produced from the subset of variants within the model of interest.

References

Quintana M, Conti D (2011). Incorporating Model Uncertainty in Detecting Rare Variants: The Bayesian Risk Index. Genetic Epidemiology 35:638-649.

Quintana M, Conti D (Submitted). Informing Variable Selection via Bayesian Model Uncertainty.

Examples

Run this code
## Load the data for Rare variant example
data(RareData)
p = dim(RareData)[2] -1

## Fit the Null model
fit.null = fitBVS(rep(0,p),data=RareData,rare=TRUE)

Run the code above in your browser using DataLab