El Análisis de Componentes independientes debe ser capaz de proporcionarle s buena solución. Es capaz de descomponer la no-componentes ortogonales (como en tu caso) suponiendo que el resultado de mediciones a partir de una mezcla de estadísticamente las variables independientes.
Hay un montón de buenos tutoriales en Internet, y tranquila, a pocos libremente disponible implementaciones para probar (por ejemplo, en scikit o MPD).
Cuando hace ICA no funciona?
Como otros algoritmos ICA es óptima cuando la hipótesis de la que se deriva de aplicar. Concretamente,
- las fuentes son estadísticamente independientes
- los componentes independientes son no-Gaussiano
- la mezcla de la matriz es invertible
ICA devuelve una estimación de la mezcla de la matriz y de las componentes independientes.
Cuando las fuentes son de Gauss, a continuación, ACI no puede encontrar los componentes. Imagine que tiene dos componentes independientes, $x_{1}$$x_{2}$, que se $N(0,I)$. A continuación,
$$
p(x_{1}, x_{2}) = p(x_{1})p(x_{2}) = \frac{1}{2\pi}\exp \left( -\frac{x_{1}^{2}+x_{2}^{2}}{2} \right) = \frac{1}{2\pi}\exp -\frac{||\mathbf{x}||^{2}}{2}
$$
donde $||.||$. es la norma del vector de dos dimensiones. Si se mezclan con una transformación ortogonal (por ejemplo, una rotación $R$), tenemos, $||R\mathbf{x}|| = ||\mathbf{x}||$, lo que significa que la distribución de probabilidad no cambia en virtud de la rotación. Por lo tanto, el ICA no puede encontrar la mezcla de la matriz de los datos.