MD: Minimum Distance index MD

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/MD.R

Description

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

Usage

1
MD(W.hat, A)

Arguments

W.hat

The estimated square unmixing matrix W.

A

The true square mixing matrix A.

Details

MD(W.hat,A) = 1/sqrt(p-1) inf_(P D) ||P D W.hat 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.

Value

The value of the MD index.

Author(s)

Klaus Nordhausen

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

1
2
3
4
5
6
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)

Example output

[1] 0.07553041

JADE documentation built on March 25, 2020, 5:07 p.m.