pyriemann.utils.mean.mean_wasserstein¶

pyriemann.utils.mean.mean_wasserstein(covmats, tol=0.001, maxiter=50, init=None, sample_weight=None)[source]

Return the mean covariance matrix according to the wasserstein metric.

This is an iterative procedure where the update is [1]:

$\mathbf{K} = \left(\sum_i \left( \mathbf{K} \mathbf{C}_i \mathbf{K} \right)^{1/2} \right)^{1/2}$

with $$\mathbf{K} = \mathbf{C}^{1/2}$$.

Parameters: covmats – Covariance matrices set, Ntrials X Nchannels X Nchannels tol – the tolerance to stop the gradient descent maxiter – The maximum number of iteration, default 50 init – A covariance matrix used to initialize the iterative procedure. If None the Arithmetic mean is used sample_weight – the weight of each sample the mean covariance matrix

References

[1] Barbaresco, F. “Geometric Radar Processing based on Frechet distance: Information geometry versus Optimal Transport Theory”, Radar Symposium (IRS), 2011 Proceedings International.