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