Learn R Programming

JADE (version 2.0-4)

MD: Minimum Distance index MD

Description

Computes the Minimum Distance index MD to evaluate the performance of an ICA algorithm.

Usage

MD(W.hat, A)

Value

The value of the MD index.

Arguments

W.hat

The estimated square unmixing matrix W.

A

The true square mixing matrix A.

Author

Klaus Nordhausen

Details

$$MD(\hat{W},A)=\frac{1}{\sqrt{p-1}} \inf_{P D}{||PD \hat{W} A-I||,}$$ where \(P\) is a permutation matrix and \(D\) a diagonal matrix with nonzero diagonal entries.

The step that minimizes the index of the set over all permutation matrix can be expressed as a linear sum assignment problem (LSAP) for which we use as solver the Hungarian method implemented as solve_LASP in the clue package.

Note that this function assumes the ICA model is \(X = S A'\), as is assumed by JADE and ics. However fastICA and PearsonICA assume \(X = S A\). Therefore matrices from those functions have to be transposed first.

The MD index is scaled in such a way, that it takes a value between 0 and 1. And 0 corresponds to an optimal separation.

References

Ilmonen, P., Nordhausen, K., Oja, H. and Ollila, E. (2010), A New Performance Index for ICA: Properties, Computation and Asymptotic Analysis. In Vigneron, V., Zarzoso, V., Moreau, E., Gribonval, R. and Vincent, E. (editors) Latent Variable Analysis and Signal Separation, 229--236, Springer.

Nordhausen, K., Ollila, E. and Oja, H. (2011), On the Performance Indices of ICA and Blind Source Separation. In the Proceedings of 2011 IEEE 12th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC 2011), 486--490.

Miettinen, J., Nordhausen, K. and Taskinen, S. (2017), Blind Source Separation Based on Joint Diagonalization in R: The Packages JADE and BSSasymp, Journal of Statistical Software, 76, 1--31, <doi:10.18637/jss.v076.i02>.

See Also

ComonGAP, SIR, amari.error, solve_LSAP

Examples

Run this code
S <- cbind(rt(1000, 4), rnorm(1000), runif(1000))
A <- matrix(rnorm(9), ncol = 3)
X <- S %*% t(A)

W.hat <- JADE(X, 3)$W
MD(W.hat, A)

Run the code above in your browser using DataLab