composition_stats.clr

composition_stats.clr(mat)

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
matarray_like, float

a matrix of proportions where rows = compositions and columns = components each composition (row) must add up to unity (see closure())

Returns
numpy.ndarray

clr transformed matrix

Examples

>>> import numpy as np
>>> from composition_stats import clr
>>> x = np.array([.1, .3, .4, .2])
>>> clr(x)
array([-0.79451346,  0.30409883,  0.5917809 , -0.10136628])