Ridge regression with compositional data in the covariates side using the alpha-transformation {Compositional} | R Documentation |
Ridge regression with compositional data in the covariates side using the α-transformation.
alfa.ridge(y, x, a, lambda, B = 1, xnew = NULL)
y |
A numerical vector containing the response variable values. If they are percentages, they are mapped onto R using the logit transformation. |
x |
A matrix with the predictor variables, the compositional data. Zero values are allowed, but you must be carefull to choose strictly positive vcalues of α. |
a |
The value of the power transformation, it has to be between -1 and 1. If zero values are present it has to be greater than 0. If α=0 the isometric log-ratio transformation is applied. |
lambda |
The value of the regularisation parameter, λ. |
B |
If B > 1 bootstrap estimation of the standard errors is implemented. |
xnew |
A matrix containing the new compositional data whose response is to be predicted. If you have no new data, leave this NULL as is by default. |
The α-transformation is applied to the compositional data first and then ridge components regression is performed.
The output of the ridge.reg.
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr and Giorgos Athineou <gioathineou@gmail.com>.
Tsagris M. (2015). Regression analysis with compositional data containing zero values. Chilean Journal of Statistics, 6(2): 47-57. https://arxiv.org/pdf/1508.01913v1.pdf
Tsagris M.T., Preston S. and Wood A.T.A. (2011). A data-based power transformation for compositional data. In Proceedings of the 4th Compositional Data Analysis Workshop, Girona, Spain. https://arxiv.org/pdf/1106.1451.pdf
ridge.reg, alfaridge.tune, alfaridge.plot
library(MASS) y <- as.vector(fgl[, 1]) x <- as.matrix(fgl[, 2:9]) x <- x/ rowSums(x) mod1 <- alfa.ridge(y, x, a = 0.5, lambda = 0.1, B = 1, xnew = NULL) mod2 <- alfa.ridge(y, x, a = 0.5, lambda = 1, B = 1, xnew = NULL)