frechet2: Helper Frechet mean for compositional data

View source: R/frechet2.R

Helper Frechet mean for compositional dataR Documentation

Helper Frechet mean for compositional data

Description

Helper Frechet mean for compositional data.

Usage

frechet2(x, di, a, k)

Arguments

x

A matrix with the compositional data.

di

A matrix with indices as produced by the function "dista" of the package "Rfast"" or the function "nn2" of the package "RANN". Better see the details section.

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 closed geometric mean is calculated.

k

The number of nearest neighbours used for the computation of the Frechet means.

Details

The power transformation is applied to the compositional data and the mean vector is calculated. Then the inverse of it is calculated and the inverse of the power transformation applied to the last vector is the Frechet mean.

What this helper function do is to speed up the Frechet mean when used in the \alpha-k-NN regression. The \alpha-k-NN regression computes the Frechet mean of the k nearest neighbours for a value of \alpha and this function does exactly that. Suppose you want to predict the compositional value of some new predictors. For each predictor value you must use the Frechet mean computed at various nearest neighbours. This function performs these computations in a fast way. It is not the fastest way, yet it is a pretty fast way. This function is being called inside the function aknn.reg.

Value

A list where eqch element contains a matrix. Each matrix contains the Frechet means computed at various nearest neighbours.

Author(s)

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

References

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. https://arxiv.org/pdf/1106.1451.pdf

See Also

alfa, alfainv, profile

Examples


library(MASS)
library(Rfast)
x <- as.matrix(fgl[, 2:9])
x <- x / rowSums(x)
xnew <- x[1:10, ]
x <- x[-c(1:10), ]
k <- 2:5
di <- Rfast::dista( xnew, x, k = max(k), index = TRUE, square = TRUE )
est <- frechet2(x, di, 0.2, k)


Compositional documentation built on Oct. 23, 2023, 5:09 p.m.