cv.bridge {rbridge} | R Documentation |
Cross-validation for bridge
Description
Does k-fold cross-validation for bridge, produces a plot, and returns a value for lambda
Usage
cv.bridge(X, y, q, lambda, nfolds = 10, lambda.min = ifelse(n > p,
0.001, 0.05), nlambda = 100, eta = 1e-07, converge = 10^10,
num_threads = 10)
Arguments
X |
|
y |
response |
q |
is the degree of norm which includes ridge regression with |
lambda |
lambda sequence; default is NULL. It is given by user or |
nfolds |
number of folds - default is 10. |
lambda.min |
The smallest value for lambda if |
nlambda |
The number of lambda values - default is |
eta |
is a preselected small positive threshold value. It is deleted |
converge |
is the value of converge. Defaults is |
num_threads |
Number of threads used for parallel computation over the folds, |
Details
Computes bridge
Value
An object of class rbridge, a list with entries
cve |
the mean cross-validated error. |
cvse |
estimate of standard error of |
cvup |
upper curve = |
cvlo |
lower curve = |
lambda |
the values of |
nz |
number of non-zero coefficients at each |
betas |
estimated coefficient at each |
lambda.min |
value of lambda that gives minimum |
lambda.1se |
largest value of |
Author(s)
Bahadir Yuzbasi, Mohammad Arashi and Fikri Akdeniz
Maintainer: Bahadir Yuzbasi b.yzb@hotmail.com
See Also
Examples
set.seed(2019)
beta <- c(3, 1.5, 0, 0, 2, 0, 0, 0)
p <- length(beta)
beta <- matrix(beta, nrow = p, ncol = 1)
n = 100
X = matrix(rnorm(n*p),n,p)
y = X%*%beta + rnorm(n)
######## Model 1
model1 <- cv.bridge(X, y, q = 1)
print(model1)
coef(model1,s='lambda.min')
predict(model1,newx=X[1:5,], s="lambda.min", type="response")
predict(model1, s="lambda.min",type="coefficient")
######## Model 2
model2 <- cv.bridge(X, y, q = 2)
print(model2)
coef(model2,s='lambda.min')
predict(model2,newx=X[1:5,], s="lambda.min", type="response")
predict(model2, s="lambda.min",type="coefficient")