Cross validation for the alpha-kernel regression for compositional response data {Compositional} | R Documentation |
Cross validation for the α-kernel regression for compositional response data.
akernreg.tune(y, x, a = seq(0.1, 1, by = 0.1), h = seq(0.1, 1, length = 10), nfolds = 10, folds = NULL, seed = FALSE)
y |
A matrix with the compositional response data. Zeros are allowed. |
x |
A matrix with the available predictor variables. |
a |
A vector with a grid of values 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. |
h |
A vector with the bandwidth value(s) to consider. |
nfolds |
The number of folds. Set to 10 by default. |
folds |
If you have the list with the folds supply it here. You can also leave it NULL and it will create folds. |
seed |
If seed is TRUE the results will always be the same. |
A k-fold cross validation for the α-kernel regression for compositional response data is performed.
A list including:
kl |
The Kullback-Leibler divergence for all combinations of α and h. |
js |
The Jensen-Shannon divergence for all combinations of α and h. |
klmin |
The minimum Kullback-Leibler divergence. |
jsmin |
The minimum Jensen-Shannon divergence. |
kl.alpha |
The optimal α that leads to the minimum Kullback-Leibler divergence. |
kl.h |
The optimal h that leads to the minimum Kullback-Leibler divergence. |
js.alpha |
The optimal α that leads to the minimum Jensen-Shannon divergence. |
js.h |
The optimal h that leads to the minimum Jensen-Shannon divergence. |
runtime |
The runtime of the cross-validation procedure. |
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
Michail Tsagris, Abdulaziz Alenazi and Connie Stewart (2021). Non-parametric regression models for compositional data. https://arxiv.org/pdf/2002.05137.pdf
akern.reg, aknnreg.tune, aknn.reg, alfa.rda, alfa.fda, rda.tune
y <- as.matrix( iris[, 1:3] ) y <- y / rowSums(y) x <- iris[, 4] mod <- akernreg.tune(y, x, a = c(0.4, 0.6), h = c(0.1, 0.2), nfolds = 5)