Last data update: 2014.03.03

R: Minimum Distance index MD
MDR Documentation

Minimum Distance index MD

Description

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

Usage

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.

See Also

ComonGAP, SIR, amari.error, solve_LSAP

Examples

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)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(JADE)
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/JADE/MD.Rd_%03d_medium.png", width=480, height=480)
> ### Name: MD
> ### Title: Minimum Distance index MD
> ### Aliases: MD
> ### Keywords: multivariate
> 
> ### ** Examples
> 
> 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)
[1] 0.2316592
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>