HDBRR {HDBRR} | R Documentation |
High Dimensional Bayesian Ridge Regression without MCMC.
Description
Ridge regression provide biased estimators of the regression parameters with lower variance. The HDBRR ("High Dimensional Bayesian Ridge Regression") function fits Bayesian Ridge regression without MCMC, this one uses the SVD or QR decomposition for the posterior computation.
Usage
HDBRR(y, X, n0 = 5, p0 = 5, s20 = NULL, d20 = NULL, h = 0.5,
intercept = TRUE, vpapp = TRUE,npts = NULL,c = NULL,
corpred = NULL, method = c("svd","qr"),bigmat = TRUE, ncores = 2, svdx = NULL)
## S3 method for class 'HDBRR'
summary(object, all.coef = FALSE, crit = log(4), ...)
## S3 method for class 'HDBRR'
plot(x, crit = log(4), var_select = FALSE, post = FALSE, ...)
## S3 method for class 'HDBRR'
predict(object, ...)
## S3 method for class 'summary.HDBRR'
print(x, ...)
## S3 method for class 'HDBRR'
print(x, ...)
## S3 method for class 'HDBRR'
coef(object, all = FALSE, ...)
Arguments
y |
The data vector (numeric, n) NAs allowed. |
X |
Design Matrix of dimension |
n0 , p0 |
|
s20 , d20 |
|
h |
(numeric, 0< |
intercept |
Logic value. The default value for the |
vpapp |
Logic value. Compute an approximation of the predictive variance. The default value for the |
npts |
Number (integer) of points used to evaluate the u's density for the numeric aprroach. The default value for the |
c |
ratio of Gaussian densities (Spike/Slab) in the prior mixture density of each Beta for variable selection. |
corpred |
The method for the compute of the correlation, there are two methods, Empirical Bayes ( |
method |
Options for the posterior computation. There are two methods available: |
bigmat |
Use of the bigstatsr package. The default value for |
ncores |
Number of the cores for computation. The default value for the ncores is 2, you can detect your number of cores with |
object |
A HDBRR object, typically generated by a call to |
all.coef |
Logical. Should results be returned for all ridge regression penalty
parameters ( |
crit |
Numerical. The lower bound of the log Bayes factor in favour to include a variable in the model. The default value for |
... |
Additional arguments to be passed to or from other methods. |
x |
A HDBRR object, typically generated by a call to |
var_select |
Logical. If is TRUE a plot with variable selection is returned. The default value is FALSE. |
post |
Logical. If is TRUE a plot with marginal posterior of u is returned. The default value is FALSE. |
all |
Logical. All coefficients are returned. If is FALSE, then, if |
svdx |
It is possible to add the svd. The default value es NULL. |
Details
Ridge regression is a useful tool to deal with colinerity in the homocesastic linear regression model providing biased estimators of the regression parameters with lower variance than the least square estimators. The model
y = X\beta + \epsilon
where \epsilon
vector is assumed Normal with mean vector 0 and covariance matrix \sigma^2 I_n
. For further details see the vignettes in the package.
Value
List containing the following components:
betahat |
Vector (numeric, |
yhat |
Vector (numeric, |
sdyhat |
Vector (numeric, |
sdpred |
Vector (numeric, |
varb |
Vector (numeric, |
sigsqhat |
Value (numeric) of the residual variance estimate. |
sigbsqhat |
Value (numeric) of the Beta's variance estimate. |
u |
Vector (numeric, |
postu |
Vector (numeric, |
uhat |
Value (numeric) of u estimated. |
umode |
Value (numeric) of the posterior mode of u. |
whichNa |
Value (integer) of NAs in the y vector. |
phat |
Vector (numeric, |
delta |
Used in the variable selection. |
edf |
Value (numeric) of the effective degrees of freedom for regression. |
corr |
Vector (numeric, |
svdx |
The svd decomposition. |
Author(s)
Sergio Perez-Elizalde, Blanca E. Monroy-Castillo, Paulino Perez-Rodriguez, Jose Crossa.
Examples
## Not run:
data("phenowheat")
mod <- lmer(pheno$HD~pheno$env+(1|pheno$Line))
y <- unlist(ranef(mod))
n <- length(y)
X <- scale(X, scale=F)
fitall <- HDBRR(y,X/sqrt(ncol(X)),intercept = FALSE, corpred = "eb", c = 100)
fitall
sumarry(fitall, crit = 0)
plot(fitall, crit = 0)
predict(fitall)
## End(Not run)