# ICA, how to check for Gaussian components?

Independent Component Analysis (ICA) requires that at most one of the additive subcomponents of a multivariate signal is Gaussian. If I do not know the distributions of the subcomponents, how do I check if there are two or more Gaussian components? I guess usual normality tests do not apply, because, if there are two Gaussian components and one non-Gaussian component, the observed signal will still be non-Gaussian. Any thoughts?

The model underlying ICA assumes there are independently distributed sources, $$p(\mathbf{s}) = \prod_i p(s_i),$$ which are linearly mapped onto the data, $\mathbf{x} = \mathbf{A}\mathbf{s}$. After estimating $\mathbf{A}$ via ICA, you could map your data back onto the sources and check if their empirical distributions look Gaussian or not, $$\mathbf{\hat s} = \mathbf{\hat A}^{-1} \mathbf{x}.$$

Some more background:

If $p(\mathbf{s})$ is normal and therefore spherically symmetric, you can arbitrarily rotate the sources without changing the data distribution, $\mathbf{x} = \mathbf{A}\mathbf{Q}\mathbf{s}$. This means you can identify the mixing matrix only up to an orthogonal matrix $\mathbf{Q}$, but it does not stop you from applying ICA anyway. If two sources are Gaussian but all other sources have some other distribution, you can only rotate the sources in the subspace spanned by two components without changing the data distribution. This means you will still be able to estimate the other components, i.e., applying ICA still makes sense.

It's been late yesterday, some more research has led me to the ICtest package for R. It includes the FOBIasymp, FOBIboot, and FOBIladle functions to do what I was asking for. I'd be happy to know about alternatives, though.