NGPP {ICtest} | R Documentation |
Non-Gaussian Projection Pursuit
Description
Estimates k
non-Gaussian signal components using projection pursuit. The projection index can be chosen among convex combinations of squares of one or several standard projection indices used in ICA.
Usage
NGPP(X, k, nl = c("skew", "pow3"), alpha = 0.8, method = "symm", eps = 1e-6,
verbose = FALSE, maxiter = 100)
Arguments
X |
Numeric matrix with n rows corresponding to the observations and p columns corresponding to the variables. |
k |
Number of components to estimate, |
nl |
Vector of non-linearities, a convex combination of the corresponding squared objective functions of which is then used as the projection index. The choices include |
alpha |
Vector of positive weights between 0 and 1 given to the non-linearities. The length of |
method |
If |
eps |
Convergence tolerance. |
verbose |
If |
maxiter |
Maximum number of iterations. |
Details
It is assumed that the data is a random sample from the model x = m + A s
where the latent vector s = (s_1^T, s_2^T)^T
consists of k
-dimensional non-Gaussian subvector (the signal) and p - k
-dimensional Gaussian subvector (the noise) and the components of s
are mutually independent. Without loss of generality we further assume that the components of s
have zero means and unit variances.
The objective is to estimate an inverse for the mixing matrix A
and in non-Gaussian projection pursuit this is done by first standardizaing the observations and then finding mutually orthogonal directions maximizing a convex combination of the chosen squared objective functions.
After estimation the found signals are ordered in decreasing order with respect to their objective function values.
Value
A list with class 'bss' containing the following components:
W |
Estimated unmixing matrix |
S |
Matrix of size |
D |
Vector of the objective function values of the signals |
MU |
Location vector of the data which was substracted before estimating the signal components. |
Author(s)
Joni Virta
References
Virta, J., Nordhausen, K. and Oja, H., (2016), Projection Pursuit for non-Gaussian Independent Components, <https://arxiv.org/abs/1612.05445>.
See Also
Examples
# Simulated data with 2 signals
n <- 500
S <- cbind(rexp(n), runif(n), rnorm(n))
A <- matrix(rnorm(9), ncol = 3)
X <- S %*% t(A)
res <- NGPP(X, 2)
res$W %*% A
# Iris data
X <- as.matrix(iris[, 1:4])
res <- NGPP(X, 2, nl = c("pow3", "tanh"), alpha = 0.5)
plot(res, col = iris[, 5])