Cross validation for the alpha-kernel regression for compositional response data: Cross validation for the \(\alpha\)-kernel regression for compositional response data
Description
Cross validation for the \(\alpha\)-kernel regression for compositional response data.
Usage
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)
Arguments
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 \(\alpha=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.
Value
A list including:
kl
The Kullback-Leibler divergence for all combinations of \(\alpha\) and \(h\).
js
The Jensen-Shannon divergence for all combinations of \(\alpha\) and \(h\).
klmin
The minimum Kullback-Leibler divergence.
jsmin
The minimum Jensen-Shannon divergence.
kl.alpha
The optimal \(\alpha\) 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 \(\alpha\) 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.
Details
A k-fold cross validation for the \(\alpha\)-kernel regression for compositional response data is performed.
References
Michail Tsagris, Abdulaziz Alenazi and Connie Stewart (2021).
Non-parametric regression models for compositional data.
https://arxiv.org/pdf/2002.05137.pdf
# NOT RUN {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)
# }