Learn R Programming

Compositional (version 1.2)

alfapcr.tune: Tuning the number of PCs in the PCR with compositional data using the $\alpha$-transformation

Description

This is a cross-validation procedure to decide on the number of principal components when using regression with compositional data (as predictor variables) using the $\alpha$-transformation.

Usage

alfapcr.tune(y, x, M = 10, maxk = 50, a = seq(-1, 1, by = 0.1),
mat = NULL, ncores = 1, graph = TRUE, col.nu = 15)

Arguments

y
A vector with either continuous, binary or count data.
x
The predictor variables, the compositional data. Zero values are allowed.
M
The number of folds for the K-fold cross validation, set to 10 by default.
maxk
The maximum number of principal components to check.
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
mat
You can specify your own folds by giving a mat, where each column is a fold. Each column contains indices of the observations. You can also leave it NULL and it will create folds.
ncores
How many cores to use. If you have heavy computations or do not want to wait for long time more than 1 core (if available) is suggested. It is advisable to use it if you have many observations and or many variables, otherwise it will slow down th process.
graph
If graph is TRUE (default value) a filled contour plot will appear.
col.nu
A number parameter for the filled contour plot, taken into account only if graph is TRUE.

Value

  • If graph is TRUE a fileld contour a filled contour will appear. A list including:
  • mspeThe MSPE where rows correspond to the $\alpha$ values and the columns to the number of principal components.
  • best.parThe best pair of $\alpha$ and number of principal components.
  • performanceThe minimum mean squared error of prediction (bias corrected) and the estimated bias.
  • runtimeThe time required by the cross-validation procedure.

Details

The $\alpha$-transformation is applied to the compositional data first and the function "pcr.tune" or "glmpcr.tune" is called. The estimated bias correction via the (Tibshirani and Tibshirani, 2009) criterion is applied.

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 Jolliffe I.T. (2002). Principal Component Analysis. Tibshirani and Tibshirani (2009). A bias correction for the minimum error rate in cross-validation. The Annals of Applied Statistics, 3(1):822-829.

See Also

alfa, profile, alfa.pcr, pcr.tune, glmpcr.tune, glm

Examples

Run this code
library(MASS)
y <- fgl[, 1]
x <- fgl[, 2:9]
mod <- alfapcr.tune(y, x, M = 10, maxk = 50, a = seq(-1, 1, by = 0.1), mat = NULL, ncores = 1)

Run the code above in your browser using DataLab