Learn R Programming

Compositional (version 5.4)

The alpha-k-NN regression for compositional response data: The \(\alpha\)-k-NN regression for compositional response data

Description

The \(\alpha\)-k-NN regression for compositional response data.

Usage

aknn.reg(xnew, y, x, a = seq(0.1, 1, by = 0.1), k = 2:10,
apostasi = "euclidean", rann = FALSE)

Arguments

xnew

A matrix with the new predictor variables whose compositions are to be predicted.

y

A matrix with the compositional response data. Zeros are allowed.

x

A matrix with the available predictor variables.

a

The value(s) of \(\alpha\). Either a single value or a vector of values. As zero values in the compositional data are allowed, you must be careful to choose strictly positive vcalues of \(\alpha\). However, if negative values are passed, the positive ones are used only.

k

The number of nearest neighbours to consider. It can be a single number or a vector.

apostasi

The type of distance to use, either "euclidean" or "manhattan".

rann

If you have large scale datasets and want a faster k-NN search, you can use kd-trees implemented in the R package "RANN". In this case you must set this argument equal to TRUE. Note however, that in this case, the only available distance is by default "euclidean".

Value

A list with the estimated compositional response data for each value of \(\alpha\) and k.

Details

The \(\alpha\)-k-NN regression for compositional response variables is applied.

References

Michail Tsagris, Abdulaziz Alenazi and Connie Stewart (2021). Non-parametric regression models for compositional data. https://arxiv.org/pdf/2002.05137.pdf

See Also

aknnreg.tune, akern.reg, alfa.reg, comp.ppr, comp.reg, kl.compreg

Examples

Run this code
# NOT RUN {
y <- as.matrix( iris[, 1:3] )
y <- y / rowSums(y)
x <- iris[, 4]
mod <- aknn.reg(x, y, x, a = c(0.4, 0.5), k = 2:3, apostasi = "euclidean")
# }

Run the code above in your browser using DataLab