El análisis de componentes independientes debería poder proporcionarle una buena solución. Es capaz de descomponer componentes no ortogonales (como en su caso) suponiendo que sus mediciones resultan de una mezcla de variables estadísticamente independientes.
Hay muchos buenos tutoriales en Internet, y algunas implementaciones disponibles para probar (por ejemplo, en scikit o MDP ).
¿Cuándo no funciona ICA?
Como otros algoritmos, ICA es óptimo cuando se aplican los supuestos para los que se derivó. Concretamente
- las fuentes son estadísticamente independientes
- los componentes independientes son no gaussianos
- la matriz de mezcla es invertible
ICA devuelve una estimación de la matriz de mezcla y los componentes independientes.
Cuando sus fuentes son gaussianas, ICA no puede encontrar los componentes. Imagine que tiene dos componentes independientes, y , que son . Entonces,
x1x2N(0,I)
p(x1,x2)=p(x1)p(x2)=12πexp(−x21+x222)=12πexp−||x||22
donde. es la norma del vector bidimensional. Si se mezclan con una transformación ortogonal (por ejemplo, una rotación ), tenemos,, lo que significa que la distribución de probabilidad no cambia bajo la rotación. Por lo tanto, ICA no puede encontrar la matriz de mezcla de los datos.R | El | R x | El | = | El | x | El |||.||R||Rx||=||x||