JADE (version 2.0-4)

k_JADE: Fast Equivariant k-JADE Algorithm for ICA

Description

This algorithm generalizes the JADE algorithm, as it provides JADE when k is set to the number of dimensions. Otherwise k can be considered as a way to reduce the number of cumulant matrices to be jointly diagonalized. Hence small values of k speed up the method considerably in high-dimensional cases. In general, k can be considered as maximum number of underlying identical sources.

The function uses FOBI as an initial estimate and frjd for the joint diagonalization.

Usage

k_JADE(X, k = 1, eps = 1e-06, maxiter = 100, na.action = na.fail)

Value

A list with class 'bss' containing the following components:

A

The estimated mixing matrix.

W

The estimated unmixing matrix.

S

Matrix with the estimated independent components.

Xmu

The location of the original data.

Arguments

X

Numeric data matrix or dataframe.

k

integer value between 1 and the number of columns of X. Default is 1.

eps

Convergence tolerance.

maxiter

Maximum number of iterations.

na.action

A function which indicates what should happen when the data contain 'NA's. Default is to fail.

Author

Jari Miettinen

Details

The order of the estimated components is fixed so that their fourth moments are in the decreasing order.

References

Miettinen, J., Nordhausen, K., Oja, H. and Taskinen, S. (2013), Fast Equivariant JADE, In the Proceedings of 38th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2013), 6153--6157.

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

JADE, FOBI, frjd

Examples

Run this code
# 3 source and 3 signals

S <- cbind(rt(1000, 4), rnorm(1000), runif(1000))
A <- matrix(rnorm(9), ncol = 3)
X <- S %*% t(A)
res_k1<-k_JADE(X,1)
res_k1$A
res_k1$W
res_k1$S[1:10,]

MD(coef(res_k1),A) 

Run the code above in your browser using DataLab