Незалежний аналіз компонентів повинен дати вам хороше рішення. Він здатний розкласти неортогональні компоненти (як у вашому випадку), вважаючи, що ваші вимірювання є результатом суміші статистично незалежних змінних.
В Інтернеті є чимало хороших навчальних посібників та заспокойте кілька вільно доступних реалізацій, які можна спробувати (наприклад, у scikit або MDP ).
Коли ICA не працює?
Як і інші алгоритми, ICA є оптимальним, коли застосовуються припущення, для яких він був отриманий. Конкретно,
- джерела статистично незалежні
- незалежні компоненти не гауссові
- матриця перемішування є зворотною
ICA повертає оцінку матриці змішування та незалежних компонентів.
Якщо ваші джерела є гауссовими, ICA не може знайти компоненти. Уявіть, що у вас є два незалежні компоненти, і , які є . Тоді
х1х2N(0,I)
p(x1,x2)=p(x1)p(x2)=12πexp(−x21+x222)=12πexp−||x||22
де. - норма двовимірного вектора. Якщо вони змішані з ортогональним перетворенням (наприклад, обертанням ), маємо,, що означає, що розподіл ймовірностей не змінюється при обертанні. Отже, ICA не може знайти матрицю змішування з даних.||.||R||Rx||=||x||