
The regular deflation-based FastICA finds the independent components one by one using a nonlinearity function. The adaptive deflation-based FastICA chooses, for each component separately, the best nonlinearity from a set of nonlinearities. This function computes estimates of the covariance matrices of the different deflation-based FastICA mixing and unmixing matrix estimates.
ASCOV_FastICAdefl_est(X, gs, dgs, Gs=NULL, method="adapt",
name=NULL, mixed=TRUE)
A list with the following components:
estimated mean of the unmixing matrix estimate.
estimated covariance matrix of the unmixing matrix estimate.
estimated mean of the mixing matrix estimate.
estimated covariance matrix of the mixing matrix estimate.
indicates which nonlinearity is used in estimation of each rows of the unmixing matrix.
a numeric data matrix.
a list of nonlinearity functions.
the first derivative functions of the nonlinearity functions.
the integral function of the nonlinearity function. Is needed only when method="G"
.
"adapt" or "G", see details.
a list of strings, which labels the nonlinearities.
logical, see details.
Jari Miettinen
Depending on the argument method
, the function computes the asymptotic covariance matrices for two different extraction orders of the independent components. The choice method="adapt"
picks the adaptive deflation-based FastICA estimate, which extracts the components in asymptotically optimal order and uses the best nonlinearity from the set of nonlinearities gs
.
When method="G"
, the order is based on the deviance from normality measured by Gs
. This method uses only one nonlinearity, and if gs
and dgs
contain more than one function, the first one is taken.
If mixed
is TRUE, then X
will be transformed by the adaptive 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.
Miettinen, J., Nordhausen, K., Oja, H. and Taskinen, S. (2014), Deflation-based FastICA with adaptive choices of nonlinearities, IEEE Transactions on Signal Processing, 62(21), 5716--5724.
Nordhausen, K., Ilmonen, P., Mandal, A., Oja, H. and Ollila, E. (2011), Deflation-based FastICA reloaded, in Proc. "19th European Signal Processing Conference 2011 (EUSIPCO 2011)", Barcelona, 1854--1858.
ASCOV_FastICAdefl, adapt_fICA
# source components have uniform- and exponential(1)- distribution
s1 <- runif(1000,-sqrt(3),sqrt(3))
s2 <- rexp(1000)
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)}
gs <- c(g_pow3,g_gaus)
dgs <- c(dg_pow3,dg_gaus)
A<-matrix(rnorm(4),2,2)
X <- S %*% t(A)
round(1000*ASCOV_FastICAdefl_est(X, gs=gs, dgs=dgs)$COV_W,2)
round(1000*ASCOV_FastICAdefl_est(X, gs=c(g_pow3), dgs=c(dg_pow3),
Gs=c(G_pow3), method="G")$COV_W,2)
Run the code above in your browser using DataLab