In independent components analysis (ICA) gaussian components are considered as uninteresting.
The function uses boostrappping tests, based on FOBI, to decide if there are p-k
gaussian components where p
is the dimension of the data.
The function offers two different boostrapping strategies.
FOBIboot(X, k, n.boot = 200, s.boot = "B1")
a numeric data matrix with p>1 columns.
the number of non-gaussian components under the null.
number of bootstrapping samples.
bootstrapping strategy to be used. Possible values are "B1"
, "B2"
. See details for further information.
A list of class ictest inheriting from class htest containing:
the value of the test statistic.
the p-value of the test.
the number of boostrapping samples used to obtain the p-value.
character string which test was performed.
character string giving the name of the data.
character string specifying the alternative hypothesis.
the number or non-gaussian components used in the testing problem.
the transformation matrix to the independent components. Also known as unmixing matrix.
data matrix with the centered independent components.
the underlying FOBI eigenvalues.
the location of the data which was substracted before calculating the independent components.
character string which boostrapping strategy was used.
As in FOBIasymp
the function jointly diagonalizes the regular covariance and the matrix of fourth moments. Note that in this case the matrix of fourth moments
is not made consistent under the normal model by dividing it by \(p+2\), as for example done by the function cov4
where \(p\) denotes the dimension
of the data. Therefore the eigenvalues of this generalized eigenvector-eigenvalue problem which correspond to normally distributed components should be p+2
.
Given eigenvalues \(d_1,...,d_p\) the function thus orders the components in descending order according to the values of \((d_i-(p+2))^2\).
Under the null it is then assumed that the first k
interesting components are mutually independent and non-normal and the last p-k
components are gaussian.
Let \(d_1,...,d_p\) be the ordered eigenvalues, \(W\) the correspondingly ordered unmixing matrix, \(s_i = W (x_i-MU)\) the corresponding source vectors which give the source matrix \(S\) which can be decomposed into \(S_1\) and \(S_2\) where \(S_1\) is the matrix with the \(k\) non-gaussian components and \(S_2\) the matrix with the gaussian components (under the null).
The test statistic is then \(T = n \sum_{i=k+1}^p (d_i-(p+2))^2\)
Two possible bootstrap tests are provided for testing that the last p-k
components are gaussian and independent from the first k components:
s.boot="B1"
:
The first strategy has the followong steps:
Take a bootstrap sample \(S_1^*\) of size \(n\) from \(S_1\).
Take a bootstrap sample \(S_2^*\) consisting of a matrix of standard normally distributed elements.
Combine \(S^*=(S_1^*, S_2^*)\) and create \(X^*= S^* W\).
Compute the test statistic based on \(X^*\).
Repeat the previous steps n.boot
times.
Note that in this bootstrapping test the assumption of ''independent components'' is not used, it is only used that the last \(p-k\) components are gaussian and independent from the first \(k\) components. Therefore this strategy can be applied in an independent component analysis (ICA) framework and in a non-gaussian components analysis (NGCA) framework.
s.boot="B2"
:
The second strategy has the following steps:
Take a bootstrap sample \(S_1^*\) of size \(n\) from \(S_1\) where the subsampling is done separately for each independent component.
Take a bootstrap sample \(S_2^*\) consisting of a matrix of standard normally distributed elemenets.
Combine \(S^*=(S_1^*, S_2^*)\) and create \(X^*= S^* W\).
Compute the test statistic based on \(X^*\).
Repeat the previous steps n.boot
times.
This bootstrapping strategy assumes a full ICA model and cannot be used in an NGCA framework.
Nordhausen, K., Oja, H. and Tyler, D.E. (2022), Asymptotic and Bootstrap Tests for Subspace Dimension, Journal of Multivariate Analysis, 188, 104830. <doi:10.1016/j.jmva.2021.104830>.
Nordhausen, K., Oja, H., Tyler, D.E. and Virta, J. (2017), Asymptotic and Bootstrap Tests for the Dimension of the Non-Gaussian Subspace, Signal Processing Letters, 24, 887--891. <doi:10.1109/LSP.2017.2696880 >.
# NOT RUN {
n <- 1500
S <- cbind(runif(n), rchisq(n, 2), rexp(n), rnorm(n), rnorm(n), rnorm(n))
A <- matrix(rnorm(36), ncol = 6)
X <- S %*% t(A)
FOBIboot(X, k = 2)
FOBIboot(X, k = 3, s.boot = "B1")
FOBIboot(X, k = 0, s.boot = "B2")
# }
Run the code above in your browser using DataLab