View source: R/FastICA_ascov.R
ASCOV_FastICAsym_est | R Documentation |
Symmetric FastICA solves the blind source separation problem in the case of independent components. This function computes an estimate of the covariance matrix of symmetric FastICA mixing and unmixing matrix estimates.
ASCOV_FastICAsym_est(X, G, g, dg, mixed=TRUE)
ASCOV_FastICAsym2_est(X, G, g, dg, mixed=TRUE)
X |
a numeric data matrix. |
G |
the integral function of the nonlinearity function. |
g |
the nonlinearity function. |
dg |
the first derivative function of the nonlinearity function. |
mixed |
logical, see details. |
If mixed
is TRUE, then X
will be transformed by the symmetric FastICA estimate. The option FALSE can be used, for example, to estimate the covariance when X
are source estimates given by some other method than FastICA.
A list with the following components:
W |
estimated mean of the unmixing matrix estimate. |
COV_W |
estimated covariance matrix of the unmixing matrix estimate. |
A |
estimated mean of the mixing matrix estimate. |
COV_A |
estimated covariance matrix of the mixing matrix estimate. |
Jari Miettinen
Hyv\"arinen, A. (1999), Fast and robust fixed-point algorithms for independent component analysis, IEEE Transactions on Neural Networks, 10, 626-634.
Wei, T. (2014), The convergence and asymptotic analysis of the generalized symmetric FastICA algorithm, http://arxiv.org/abs/1408.0145.
ASCOV_FastICAsym, fICA
# source components have uniform- and exponential(1)- distribution
n <- 1000
s1 <- runif(n,-sqrt(3),sqrt(3))
s2 <- rexp(n)
S <- cbind(s1,s2)
# couple of nonlinearities
g_pow3 <- function(x){x^3}
dg_pow3 <- function(x){3*x^2}
G_pow3 <- function(x){x^4/4}
g_gaus <- function(x){x*exp(-x^2/2)}
dg_gaus <- function(x){exp(-x^2/2)-x^2*exp(-x^2/2)}
G_gaus <- function(x){-exp(-x^2/2)}
A<-matrix(rnorm(4),2,2)
X <- S %*% t(A)
round(n*ASCOV_FastICAsym_est(X,G=G_pow3,g=g_pow3,dg=dg_pow3)$COV_W,2)
round(n*ASCOV_FastICAsym_est(X,G=G_gaus,g=g_gaus,dg=dg_gaus)$COV_W,2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.