Learn R Programming

networkBMA (version 1.14.0)

iterateBMAlm: Iterative BMA for linear modeling with prior variable probabilities.

Description

An iterative version of Bayesian Model Averaging (BMA) for linear models with many variables. Incorporates prior probabilities for inclusion of variables in models.

Usage

iterateBMAlm( x, y, prior.prob = NULL, control = iBMAcontrolLM(), verbose = FALSE)

Arguments

x
A matrix of real-valued predictor variables. Rows correspond to observations and columns to variables.
y
A real-valued response vector.
prior.prob
An optional vector of prior probabilities for each predictor variable belonging to a linear model for the data. If not specified, predictor variables are assumed to have equal prior probability.
control
A list of values controling the underlying algorithm. The default is given by iBMAcontrolLM().
verbose
A logical variable indicating whether or not the details of the method's progress shoul be printed during computation. The default value is FALSE.

Value

A list with the following components, similar to the output of function bicreg in the BMA package:
bic
values of BIC for the models
postprob
the posterior probabilities of the models selected
priorprob
the prior probabilities of the variables in the models
namesx
the names of the variables
label
labels identifying the models selected
r2
R2 values for the models
size
the number of independent variables in each of the models
which
a logical matrix with one row per model and one column per variable indicating whether that variable is in the model
probne0
the posterior probability that each variable is non-zero (in percent)
postmean
the posterior mean of each coefficient (from model averaging)
condpostmean
the posterior mean of each coefficient conditional on the variable being included in the model
condpostsd
the posterior standard deviation of each coefficient conditional on the variable being included in the model
ols
matrix with one row per model and one column per variable giving the OLS estimate of each coefficient for each model
mle
the same as ols
n.models
the number of models
n.vars
the number of variables

References

K. Y. Yeung, R. E. Bumgarner and A. E. Raftery (2005), Bayesian model averaging: development of an improved multi-class, gene selection and classification tool for microarray data, Bioinformatics 21(10) 2394-2402. K. Lo, A. E. Raftery, K. M. Dombek, J. Zhu, E. E. Schadt, R. E. Bumgarner and K. Y. Yeung (2012), Integrating External Biological Knowledge in the Construction of Regulatory Networks from Time-series Expression Data, BMC Systems Biology, 6:101. K. Y. Yeung, K. M. Dombek, K. Lo, J. E. Mittler, J. Zhu, E. E. Schadt, R. E. Bumgarner and A. E. Raftery (2011), Construction of regulatory networks using expression time-series data of a genotyped population, Proceedings of the National Academy of Sciences, 108(48):19436-41.

Details

iterateBMAlm is intended for datasets that have more variables (e.g. gene expression values) than observations (e.g. subjects). There is currently no mechanism for handling factor variables in iterateBMAlm, as there is in the underlying function bicreg in the BMA package. However factors can be encoded by users and included with other variables as input.

See Also

iBMAcontrolLM, varord, bicreg

Examples

Run this code
data(dream4)

network <- 1

Time <- as.numeric(dream4ts100[[network]]$time)

xIndex <- which(Time != max(Time))
yIndex <- which(Time != min(Time))

gene <- "G1"

x <- dream4ts100[[network]][xIndex,-(1:2)]
y <- dream4ts100[[network]][yIndex,gene]

nvar <- 50
ord <- varord( x, y, ordering = "bic1")[1:nvar]

result <- iterateBMAlm( x = x[,ord], y = y)

Run the code above in your browser using DataLab