ASCOV_FastICAdefl_est {BSSasymp} | R Documentation |
Asymptotic covariance matrices of deflation-based FastICA estimates
Description
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.
Usage
ASCOV_FastICAdefl_est(X, gs, dgs, Gs=NULL, method="adapt",
name=NULL, mixed=TRUE)
Arguments
X |
a numeric data matrix. |
gs |
a list of nonlinearity functions. |
dgs |
the first derivative functions of the nonlinearity functions. |
Gs |
the integral function of the nonlinearity function. Is needed only when |
method |
"adapt" or "G", see details. |
name |
a list of strings, which labels the nonlinearities. |
mixed |
logical, see details. |
Details
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.
Value
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. |
used_gs |
indicates which nonlinearity is used in estimation of each rows of the unmixing matrix. |
Author(s)
Jari Miettinen
References
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.
See Also
Examples
# 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)