cv: Cross Validation

Description Usage Arguments Value Author(s) Examples

View source: R/cv.R

Description

Linear multiple output cross validation using multiple possessors

Usage

1
2
3
4
cv(x, y, intercept = TRUE, weights = NULL, grouping = NULL,
  groupWeights = NULL, parameterWeights = NULL, alpha = 1, lambda,
  d = 100, fold = 10L, cv.indices = list(), max.threads = NULL,
  use_parallel = FALSE, algorithm.config = lsgl.standard.config)

Arguments

x

design matrix, matrix of size N \times p.

y

response matrix, matrix of size N \times K.

intercept

should the model include intercept parameters.

weights

sample weights, vector of size N \times K.

grouping

grouping of features, a factor or vector of length p. Each element of the factor/vector specifying the group of the feature.

groupWeights

the group weights, a vector of length m (the number of groups).

parameterWeights

a matrix of size K \times p.

alpha

the α value 0 for group lasso, 1 for lasso, between 0 and 1 gives a sparse group lasso penalty.

lambda

lambda.min relative to lambda.max or the lambda sequence for the regularization path.

d

length of lambda sequence (ignored if length(lambda) > 1)

fold

the fold of the cross validation, an integer larger than 1 and less than N+1. Ignored if cv.indices != NULL.

cv.indices

a list of indices of a cross validation splitting. If cv.indices = NULL then a random splitting will be generated using the fold argument.

max.threads

Deprecated (will be removed in 2018), instead use use_parallel = TRUE and registre parallel backend (see package 'doParallel'). The maximal number of threads to be used.

use_parallel

If TRUE the foreach loop will use %dopar%. The user must registre the parallel backend.

algorithm.config

the algorithm configuration to be used.

Value

Yhat

the cross validation estimated response matrix

Y.true

the true response matrix, this is equal to the argument y

cv.indices

the cross validation splitting used

features

number of features used in the models

parameters

number of parameters used in the models.

Author(s)

Martin Vincent

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
set.seed(100) # This may be removed, it ensures consistency of the daily tests

## Simulate from Y=XB+E, the dimension of Y is N x K, X is N x p, B is p x K

N <- 50 #number of samples
p <- 25 #number of features
K <- 15  #number of groups

B<-matrix(sample(c(rep(1,p*K*0.1),rep(0, p*K-as.integer(p*K*0.1)))),nrow=p,ncol=K)
X1<-matrix(rnorm(N*p,1,1),nrow=N,ncol=p)
Y1 <-X1%*%B+matrix(rnorm(N*K,0,1),N,K)

## Do cross validation
fit.cv <- lsgl::cv(X1, Y1, alpha = 1, lambda = 0.1, intercept = FALSE)

## Cross validation errors (estimated expected generalization error)
Err(fit.cv)

## Do the same cross validation using 2 parallel units
cl <- makeCluster(2)
registerDoParallel(cl)

fit.cv <- lsgl::cv(X1, Y1, alpha = 1, lambda = 0.1, intercept = FALSE, use_parallel = TRUE)

stopCluster(cl)

Err(fit.cv)

lsgl documentation built on May 29, 2017, 11:43 a.m.