mushi.composition.clr

clr(mat)[source]

Performs centre log ratio transformation.

This function transforms compositions from Aitchison geometry to the real space. The \(clr\) transform is both an isometry and an isomorphism defined on the following spaces

\(clr: S^D \rightarrow U\)

where \(U= \{x :\sum\limits_{i=1}^D x = 0 \; \forall x \in \mathbb{R}^D\}\)

It is defined for a composition \(x\) as follows:

\[clr(x) = \ln\left[\frac{x_1}{g_m(x)}, \ldots, \frac{x_D}{g_m(x)}\right]\]

where \(g_m(x) = (\prod\limits_{i=1}^{D} x_i)^{1/D}\) is the geometric mean of \(x\).

Parameters:

mat (array_like, float) – a matrix of proportions where rows = compositions and columns = components

Returns:

clr transformed matrix

Return type:

numpy.ndarray

Examples

>>> import numpy as np
>>> import mushi.composition as cmp
>>> x = np.array([.1, .3, .4, .2])
>>> cmp.clr(x)
Array([-0.79451346,  0.30409883,  0.5917809 , -0.10136628], dtype=float64)