Learn R Programming

Compositional (version 1.2)

alfa.reg: Regression with compositional data using the $\alpha$-transformation

Description

Regression with compositional data using the $\alpha$-transformation.

Usage

alfa.reg(y, x, a, xnew = NULL, yb = NULL)

Arguments

y
A matrix with the compositional data.
x
The predictor variable(s), they have to be continuous.
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 $\alpha=0$ the isometric log-ratio transformation is applied and the solution exists in a closed form, since it the classical
xnew
If you have new data use it, otherwise leave it NULL.
yb
If you have already transformed the data using the $\alpha$-transformation with the same $\alpha$ as given in the argument "a", put it here. Othewrise leave it NULL. This is intended to be used in the function

Value

  • A list including:
  • runtimeThe time required by the regression.
  • betaThe beta coefficients.
  • sebThe standard error of the beta coefficients.
  • estThe fitted or the predicted values (if xnew is not NULL).

Details

The $\alpha$-transformation is applied to the compositional data first and then multivariate regression is applied. This involves numerical optimisation.

References

Tsagris M. (2015). Regression analysis with compositional data containing zero values. Chilean Journal of Statistics, 6(2): 47-57. http://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. http://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.

See Also

diri.reg, esov.compreg, kl.compreg, ols.compreg, comp.reg

Examples

Run this code
library(MASS)
x <- fgl[1:40, 1]
y <- fgl[1:40, 2:9]
mod1 <- alfa.reg(y, x, 0.2)
#mod2 <- alfa.reg(y, x, 1)

Run the code above in your browser using DataLab