cv.PCLasso2 {PCLassoReg}R Documentation

Cross-validation for PCLasso2

Description

Perform k-fold cross validations for the PCLasso2 model with grouped covariates over a grid of values for the regularization parameter lambda.

Usage

cv.PCLasso2(
  x,
  y,
  group,
  penalty = c("grLasso", "grMCP", "grSCAD"),
  family = c("binomial", "gaussian", "poisson"),
  nfolds = 5,
  gamma = 8,
  standardize = TRUE,
  ...
)

Arguments

x

A n x p design matrix of gene/protein expression measurements with n samples and p genes/proteins, as in PCLasso2.

y

The response vector.

group

A list of groups as in PCLasso. The feature (gene/protein) names in group should be consistent with the feature (gene/protein) names in x.

penalty

The penalty to be applied to the model. For group selection, one of grLasso, grMCP, or grSCAD. See grpreg in the R package grpreg for details.

family

Either "binomial" or "gaussian", depending on the response.

nfolds

The number of cross-validation folds. Default is 5.

gamma

Tuning parameter of the grSCAD/grMCP penalty. Default is 8.

standardize

Logical flag for x standardization, prior to fitting the model. Default is TRUE.

...

Arguments to be passed to cv.grpreg in the R package grpreg.

Details

The function calls PCLasso2 nfolds times, each time leaving out 1/nfolds of the data. The cross-validation error is based on the deviance. The numbers for each class are balanced across the folds; i.e., the number of outcomes in which y is equal to 1 is the same for each fold, or possibly off by 1 if the numbers do not divide evenly. See cv.grpreg in the R package grpreg for details.

Value

An object with S3 class "cv.PCLasso2" containing:

cv.fit

An object of class "cv.grpreg".

complexes.dt

Complexes with features (genes/proteins) not included in x being filtered out.

Author(s)

Wei Liu

References

PCLasso2: a protein complex-based, group Lasso-logistic model for risk protein complex discovery. To be published.

Park, H., Niida, A., Miyano, S. and Imoto, S. (2015) Sparse overlapping group lasso for integrative multi-omics analysis. Journal of computational biology: a journal of computational molecular cell biology, 22, 73-84.

See Also

predict.cv.PCLasso2

Examples

# load data
data(classData)
data(PCGroups)

x = classData$Exp
y = classData$Label

PC.Human <- getPCGroups(Groups = PCGroups, Organism = "Human",
Type = "GeneSymbol")

# fit model
cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grLasso",
family = "binomial", nfolds = 5)


cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grSCAD",
family = "binomial", nfolds = 5, gamma = 10)
cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grMCP",
family = "binomial", nfolds = 5, gamma = 15)


[Package PCLassoReg version 1.0.0 Index]