Що може призвести до того, що PCA погіршить результати класифікатора?


27

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

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


Чи можна так поставити своє запитання? "" Що краще - будувати класифікатори на основі оригінальних змінних або на кількох основних компонентах, витягнутих з них? "
ttnphns

1
Я б сказав більше за темою: "Чи бувають ситуації, коли краще використовувати оригінальні змінні порівняно з кількома принциповими компонентами, вилученими з них?"
Dolan Antenucci

1
Існує багато методик класифікації. Якщо, наприклад, візьміть дискримінантний аналіз, я рекомендую вам прочитати цю публікацію (включаючи там мій власний коментар).
ttnphns

1
Що ви маєте на увазі під результатами класифікатора? Якщо вона пропорційно класифікована, це переривчасте правило неправильного оцінювання, тобто показник точності, оптимізований хибною моделлю. Я б запропонував використовувати для початку правильне оцінювання точності.
Френк Харрелл

1
Трохи запізнюємось на партію, але: перше, що я перевірив би, це те, що результати перевірки вибору форварду були фактично отримані при незалежних випадках. В іншому випадку ви, ймовірно, будете піддані величезному оптимістичному упередженню.
cbeleites підтримує Моніку

Відповіді:


29

Розглянемо простий випадок, знятий із приголомшливої ​​та заниженої статті "Примітка про використання основних компонентів у регресії" .

Припустимо, у вас є лише дві (масштабовані та відменені) ознаки, позначайте їх і x 2 з позитивною кореляцією, рівною 0,5, вирівняною у X , і третьою змінною відповіді Y, яку ви хочете класифікувати. Припустимо, що класифікація Y повністю визначається знаком x 1 - x 2 .х1х2ХYYх1-х2

Виконання PCA на дає нові (упорядковані за дисперсією) функції [ x 1 + x 2 , x 1 - x 2 ] , оскільки Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - х 2 ) = 2 - 2 ρХ[х1+х2,х1-х2]Вар(х1+х2)=1+1+2ρ>Вар(х1-х2)=2-2ρ. Отже, якщо ви зменшите розмірність до 1, тобто першого основного компонента, ви кидаєте точне рішення вашої класифікації!

Проблема виникає тому , що РСА є агностиком в . На жаль, не можна також включати Y до PCA, оскільки це призведе до витоку даних.YY


Витік даних - це коли ваша матриця побудована за допомогою відповідних цільових предикторів, отже, будь-які прогнози поза вибіркою будуть неможливими.Х

Наприклад: у фінансових часових рядах намагання передбачити закриття європейського кінця дня, яке відбувається в 11:00 ранку EST, використовуючи американські закриття кінця дня, о 16:00 за EST, - це витік даних з моменту закриття американця , які трапляються через години, включили ціни європейських закупівель.


2
що таке "витік даних"?
user603

@Wayne дорого занадто ха-ха
Cam.Davidson.Pilon

(-1) для сприйняття плутанини: (1) PCA не контролюється, тому він ніколи не буде включати Y в класифікацію перетворення. Відповідна контрольована методика - PLS, яка використовує як X, так і Y. (2) Витік даних (як у: тестування зі статистично залежними даними) сам по собі не випливає з використання контрольованого методу. Навпаки: це буде з PCA так само, як і з PLS, якщо ви не дотримуєтесь правила, що з першого кроку аналізу, який використовує більш ніж один випадок (наприклад, центрування, масштабування, проекція PCA / PLS) для всіх розрахунків, необхідно робити тільки на даних про навчання (тобто потрібно бути ...
cbeleites підтримує Моніку

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

Що стосується прикладу: часові ряди особливо важкі, оскільки те, що становить незалежний випадок, дуже залежатиме від програми. Дивіться, наприклад, stats.stackexchange.com/questions/76376/…
cbeleites підтримує Моніку

23

Існує просте геометричне пояснення. Спробуйте наступний приклад у R та нагадайте, що перший головний компонент максимізує дисперсію.

library(ggplot2)

n <- 400
z <- matrix(rnorm(n * 2), nrow = n, ncol = 2)
y <- sample(c(-1,1), size = n, replace = TRUE)

# PCA helps
df.good <- data.frame(
    y = as.factor(y), 
    x = z + tcrossprod(y, c(10, 0))
)
qplot(x.1, x.2, data = df.good, color = y) + coord_equal()

# PCA hurts
df.bad <- data.frame(
    y = as.factor(y), 
    x = z %*% diag(c(10, 1), 2, 2) + tcrossprod(y, c(0, 8))
)
qplot(x.1, x.2, data = df.bad, color = y) + coord_equal()

PCA допомагає PCA допомагає

Напрямок максимальної дисперсії горизонтальний, а класи розділені горизонтально.

PCA Hurts PCA болить

Напрямок максимальної дисперсії горизонтальний, але класи розділені вертикально


... і в прикладі 2, контрольований аналог, PLS насправді допоможе.
cbeleites підтримує Моніку

13

PCA лінійний, боляче, коли ви хочете бачити нелінійні залежності.

PCA на зображеннях у вигляді векторів: введіть тут опис зображення

Нелінійний алгоритм (NLDR), який зменшив зображення до 2 вимірів, обертання та масштабу:

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

Більше інформації: http://en.wikipedia.org/wiki/Nonlinear_dim dimenity_reduction


3

Я бачу, що питання вже має прийняту відповідь, але хотів поділитися цим документом, в якому йдеться про використання PCA для трансформації функцій перед класифікацією .

Повідомлення додому (яке красиво візуалізується у відповіді @ vqv):

Аналіз основних компонентів (PCA) заснований на вилученні осей, на яких дані показують найбільшу мінливість. Хоча PCA "поширює" дані на новій основі і може бути корисною у навчанні без нагляду, немає гарантії того, що нові осі узгоджуються з дискримінаційними ознаками в (контрольованій) проблемі класифікації.

Для тих, хто цікавиться, якщо подивитися на Розділ 4. Експериментальні результати , вони порівнюють точність класифікації з 1) оригінальними ознаками, 2) перетвореними PCA функціями та 3) поєднанням обох, що було для мене новим.

Мій висновок:

Перетворення функцій на основі PCA дозволяють узагальнити інформацію з великої кількості ознак у обмежену кількість компонентів, тобто лінійні комбінації вихідних ознак. Однак основні компоненти часто важко інтерпретувати (не інтуїтивно зрозуміло), і як показують емпіричні результати у цій роботі, вони, як правило, не покращують результати класифікації.

PS: Я зауважу, що одним із обмежень статті, яка могла бути перерахована, було те, що автори обмежили оцінку ефективності класифікаторів лише «нарахуванням», що може бути дуже упередженим показником ефективності.


3

х1,х2,х3ух3=у

ух3

х1х2х3у

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.