Cross-validation for the LASSO log-ratio regression with compositional response {Compositional}R Documentation

Cross-validation for the LASSO log-ratio regression with compositional response


Cross-validation for the LASSO log-ratio regression with compositional response.


cv.lasso.compreg(y, x, alpha = 1, nfolds = 10,
folds = NULL, seed = FALSE, graph = FALSE)



A numerical matrix with compositional data. Zero values are not allowed as the additive log-ratio transformation (alr) is applied to the compositional response prior to implementing the LASSO algortihm.


A matrix with the predictor variables.


The elastic net mixing parameter, with 0 ≤q α ≤q 1. The penalty is defined as a weighted combination of the ridge and of the Lasso regression. When α=1 LASSO is applied, while α=0 yields the ridge regression.


The number of folds for the K-fold cross validation, set to 10 by default.


If you have the list with the folds supply it here. You can also leave it NULL and it will create folds.


If seed is TRUE the results will always be the same.


If graph is TRUE (default value) a filled contour plot will appear.


The K-fold cross validation is performed in order to select the optimal value for λ, the penalty parameter in LASSO.


The outcome is the same as in the R package glmnet. The extra addition is that if "graph = TRUE", then the plot of the cross-validated object is returned. The contains the logarithm of λ and the mean squared error. The numbers on top of the figure show the number of set of coefficients for each component, that are not zero.


Michail Tsagris.

R implementation and documentation: Michail Tsagris


Aitchison J. (1986). The statistical analysis of compositional data. Chapman & Hall.

Friedman, J., Hastie, T. and Tibshirani, R. (2010) Regularization Paths for Generalized Linear Models via Coordinate Descent. Journal of Statistical Software, Vol. 33(1), 1-22.

See Also

lasso.compreg, lasso.klcompreg, lassocoef.plot, cv.lasso.klcompreg, comp.reg


y <- rdiri( 214, runif(4, 1, 3) )
x <- as.matrix( fgl[, 2:9] )
mod <- cv.lasso.compreg(y, x)

[Package Compositional version 5.2 Index]