Неортогональна методика, аналогічна PCA


9

Припустимо, у мене є набір даних з 2D точок, і я хочу виявити напрямки всіх локальних максимумів дисперсії в даних, наприклад:

введіть тут опис зображення

PCA не допомагає в цій ситуації, оскільки це ортогональне розкладання, і тому не вдається виявити обидві лінії, які я вказав синім кольором, швидше, його вихід може виглядати як той, який зображено зеленими лініями.

Будь ласка, порекомендуйте будь-яку техніку, яка може підійти для цієї мети. Дякую.


Чи можете ви зробити доступним свій набір даних? Я хотів би спробувати щось для вас. З повагою, Ерік
Ерік Мелзе

Відповіді:


10

Незалежний аналіз компонентів повинен дати вам хороше рішення. Він здатний розкласти неортогональні компоненти (як у вашому випадку), вважаючи, що ваші вимірювання є результатом суміші статистично незалежних змінних.

В Інтернеті є чимало хороших навчальних посібників та заспокойте кілька вільно доступних реалізацій, які можна спробувати (наприклад, у scikit або MDP ).

Коли ICA не працює?

Як і інші алгоритми, ICA є оптимальним, коли застосовуються припущення, для яких він був отриманий. Конкретно,

  1. джерела статистично незалежні
  2. незалежні компоненти не гауссові
  3. матриця перемішування є зворотною

ICA повертає оцінку матриці змішування та незалежних компонентів.

Якщо ваші джерела є гауссовими, ICA не може знайти компоненти. Уявіть, що у вас є два незалежні компоненти, і , які є . Тоді x1x2N(0,I)

p(x1,x2)=p(x1)p(x2)=12πexp(x12+x222)=12πexp||x||22

де. - норма двовимірного вектора. Якщо вони змішані з ортогональним перетворенням (наприклад, обертанням ), маємо,, що означає, що розподіл ймовірностей не змінюється при обертанні. Отже, ICA не може знайти матрицю змішування з даних.||.||R||Rx||=||x||


Так, це повинно ( scikit-learn.org/stable/auto_examples/decomposition/… ), дякую купу! : D
Ахмед

1
Це може обернутися справді глибокою відповіддю, якщо ви скажете більше; зокрема, вирішіть порівняти пропозицію @ Gottfried (PCA з косим обертанням) з вашою пропозицією (ICA), - які відмінності та недоліки мають два.
ttnphns

Я бачу, що на це питання частково відповіли. Перевірте редагування, додавши простий приклад, до якого ICA не застосовується.
jpmuc

3

Існують PCA-подібні процедури для так званого "косого" випадку. У такому програмному забезпеченні, як SPSS (і, можливо, також у його безкоштовному клоні) PSPP можна знайти еквівалентно "косі повороти", а їх примірники названі як "oblimin", "promax" та щось інше. Якщо я правильно все розумію, програмне забезпечення намагається «прямокутники» навантажувати фактор шляхом перерахунку їх координат в ортогональному, евклідовому просторі (як, наприклад, показано на малюнку) в координати простору, осі якого не ортогональні, можливо, з деяка методика, відома з множинної регресії. Більше того, я думаю, що це працює лише ітеративно і вимагає одного або декількох ступенів свободи при статистичному тестуванні моделі.

порівнює PCA і похилого обертання еталонним-керівництво по SPSS (на IBM-сайті) для косих-обертань містить навіть формули для обчислення.

[Оновлення] (Upps, вибачте, щойно перевірив, чи PSPP не забезпечує "обертання" косого типу)


1
Хм, після третього прочитаного я бачу, що ваше запитання дещо відрізняється від косого обертання-обґрунтування: у вашій хмарі даних навіть не те, що середнє значення є в джерелі / що дані навіть не по центру, тож ви може мати щось інше, ніж я тут висвітлював у своїй відповіді. Якщо це так, я можу видалити відповідь пізніше ...
Готфрід Гельмс

1
Оскільки косі "обертання" є наступними за УПС, вони не можуть "бачити" вид ситуації, проілюстрований у запитанні, і тому, здається, вони не мають більше можливостей ідентифікувати два компоненти, ніж це робить сам PCA.
whuber


2

Інші відповіді вже дали корисні підказки щодо прийомів, які ви можете врахувати, але, здається, ніхто не вказував на те, що ваше припущення неправильне: лінії, показані синім кольором на схематичному малюнку, НЕ локальні максимуми дисперсії.

Щоб побачити це, зауважте, що дисперсія у напрямку задається , де позначає матрицю коваріації дані. Щоб знайти локальні максимуми, нам потрібно покласти похідну від цього виразу до нуля. Оскільки обмежено мати одиницю довжини, нам потрібно додати термін де - множник Лагранжа. Диференціюючи, ми отримуємо таке рівняння:wwΣwΣwλ(ww1)λ

Σwλw=0.

Це означає, що повинен бути власним вектором матриці коваріації, тобто одним з головних векторів. Іншими словами, PCA дає вам всі локальні максимуми, інших немає.w


Привіт, я не маю великого досвіду в математиці, чи можете ви порадити мені хороший ресурс, щоб дізнатися про речі, про які ви згадали вище? Дякую.
Ахмед

@Ahmed: Я не впевнений, це залежить від того, що ви вже знаєте. Я думаю, вам знадобляться гідні підручники з лінійної алгебри та аналізу. Це досить основні речі, їх слід висвітлити в будь-якому гідному підручнику.
амеба
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.