Я новачок у галузі машинного навчання, але зробив свою частку обробки сигналів. Будь ласка, повідомте мене, якщо це питання було неправильно позначено.
У мене є двовимірні дані, які визначаються щонайменше трьома змінними, із дуже нелінійним способом, занадто складним для моделювання.
Я мав різний рівень успіху в витягуванні двох основних компонентів із даних за допомогою таких методів, як PCA та ICA (з бібліотеки python Scikit-Learn), але, схоже, ці методи (або, принаймні, ці реалізація методів) обмежені для вилучення стільки компонентів, скільки є розміри в даних, наприклад, 2 компоненти з хмари 2D точок.
Складаючи графіки даних, навченому оці зрозуміло, що є три різні лінійні тренди, три кольорові лінії показують напрямки.
При використанні PCA основний компонент вирівнюється до однієї з кольорових ліній, а інший знаходиться на 90 °, як очікувалося. При використанні ICA перший компонент вирівнюється синьою лінією, а другий - десь між червоною та зеленою. Я шукаю інструмент, який міг би відтворити всі три компоненти мого сигналу.
EDIT, Додаткова інформація: Я тут працюю в невеликому підмножині більшої фазової площини. У цьому невеликому підмножині кожна вхідна змінна виробляє лінійну зміну на площині, але напрямок та амплітуда цієї зміни нелінійні і залежать від того, де саме на більшій площині я працюю. В деяких місцях дві змінні можуть бути виродженими: вони призводять до зміни в одному напрямку. наприклад, скажімо, що модель залежить від X, Y і Z. Зміна змінної X призведе до зміни синьої лінії; Y викликає зміну уздовж зеленої лінії; Z, уздовж червоного.