k_JADE: Fast Equivariant k-JADE Algorithm for ICA

View source: R/k_JADE.R

k_JADER Documentation

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)

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.

Details

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

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.

Note

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

Author(s)

Jari Miettinen

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

# 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) 


JADE documentation built on Sept. 18, 2023, 1:06 a.m.