Regression with compositional data using the α-transformation
Regression with compositional data using the α-transformation.
alfa.reg(y, x, a, xnew = NULL, yb = NULL, seb = FALSE)
y |
A matrix with the compositional data. |
x |
A matrix with the continuous predictor variables or a data frame including categorical predictor variables. |
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 and the solution exists in a closed form, since it the classical mutivariate regression. |
xnew |
If you have new data use it, otherwise leave it NULL. |
yb |
If you have already transformed the data using the α-transformation with the same α as given in the argument "a", put it here. Othewrise leave it NULL. This is intended to be used in the function |
seb |
Do you want the standard error of the coefficients to be returned? In the |
The α-transformation is applied to the compositional data first and then multivariate regression is applied. This involves numerical optimisation.
A list including:
runtime |
The time required by the regression. |
be |
The beta coefficients. |
seb |
The standard error of the beta coefficients. |
est |
The fitted values for xnew if xnew is not NULL. |
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
Mardia K.V., Kent J.T., and Bibby J.M. (1979). Multivariate analysis. Academic press.
Aitchison J. (1986). The statistical analysis of compositional data. Chapman \& Hall.
library(MASS) x <- as.vector(fgl[1:40, 1]) y <- as.matrix(fgl[1:40, 2:9]) y <- y / rowSums(y) mod <- alfa.reg(y, x, 0.2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.