JADE {JADE} | R Documentation |
This is an R version of Cardoso's JADE ICA algorithm for real data ported from matlab. The ported version is 1.5, some minor changes compared to the matlab function are explained in the details section. The matlab code can be found for example on the ICA central homepage.
JADE(X, n.comp = NULL, eps = 1e-06, maxiter = 100, na.action = na.fail)
X |
Numeric data matrix or dataframe. |
n.comp |
Number of components to extract. |
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. |
Some minor modifications were done when porting the function to R, and they are:
FastICA
and PearsonICA
but agrees with ics
.Worth mentioning is also that the estimated independent components S are scaled to unit variance and are ordered in such a way, that the most energetic component comes first. The signs of the unmixing matrix W are fixed such, that the first column of W has positive elements.
For further details see also the documention of the original matlab code ("MatlabjadeR.m") on the ICA central homepage (http://www.tsi.enst.fr/icacentral/).
A list with the components
A |
The estimated mixing matrix. |
W |
The estimated unmixing matrix. |
S |
Dataframe with the estimated independent components. |
Xmu |
The location of the original data. |
Jean-Francois Cardoso. Ported to R by Klaus Nordhausen, klaus.nordhausen@uta.fi
Cardoso, J.-F. and Souloumiac, A., (1993), Blind beamforming for non Gaussian signals, IEE Proceedings-F, 140, 362–370. ftp://sig.enst.fr/pub/jfc/Papers/iee.ps.gz.
S <- cbind(rt(1000, 4), rnorm(1000), runif(1000)) A <- matrix(rnorm(9), ncol = 3) X <- S %*% t(A) res<-JADE(X,3) res$A res$W res$S[1:10,] (sweep(X,2,res$Xmu) %*% t(res$W))[1:10,] round(res$W %*% A,4)