R: Fast Equivariant k-JADE Algorithm for ICA

k_JADE {JADE} | R 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)

[Package JADE version 2.0-0 Index]