Pierwszy główny składnik nie rozdziela klas, ale inne komputery PC; jak to możliwe?


11

Uruchomiłem PCA na 17 zmiennych ilościowych, aby uzyskać mniejszy zestaw zmiennych, czyli głównych składników, do użycia w nadzorowanym uczeniu maszynowym do klasyfikowania instancji do dwóch klas. Po PCA PC1 stanowi 31% wariancji danych, PC2 17%, PC3 10%, PC4 8%, PC5 7%, a PC6 6%.

Jednak gdy patrzę na średnie różnice między komputerami między dwiema klasami, nieoczekiwanie, PC1 nie jest dobrym rozróżnieniem między tymi dwiema klasami. Pozostałe komputery są dobrymi dyskryminatorami. Ponadto PC1 staje się nieistotny, gdy jest stosowany w drzewie decyzyjnym, co oznacza, że ​​po przycięciu drzewa nie jest nawet obecny w drzewie. Drzewo składa się z PC2-PC6.

Czy jest jakieś wytłumaczenie tego zjawiska? Czy może być coś nie tak z pochodnymi zmiennymi?


5
Przeczytaj to ostatnie pytanie stats.stackexchange.com/q/79968/3277 z dalszym linkiem. Ponieważ PCA nie wie o istnieniu klas, nie gwarantuje, że którykolwiek z komputerów będzie naprawdę dobrym dyskryminatorem; tym bardziej, że PC1 będzie dobrym dyskryminatorem. Zobacz też dwa zdjęcia jako przykład tutaj .
ttnphns

2
Zobacz także Co może spowodować pogorszenie wyników PCA przez klasyfikator? , w szczególności liczby w odpowiedzi @vqv.
ameba

Odpowiedzi:


14

Może się to również zdarzyć, jeśli zmienne nie są skalowane w celu uzyskania wariancji jednostkowej przed wykonaniem PCA. Na przykład w przypadku tych danych (zauważ, że skala zmienia się tylko z - 0,5 na 1, a x zmienia się z - 3 na 3 ):y-0,51x-3)3)

wprowadź opis zdjęcia tutaj

PC1 wynosi w przybliżeniu i odpowiada za prawie całą wariancję, ale nie ma mocy dyskryminującej, podczas gdy PC2 ma wartość y i doskonale rozróżnia klasy.xy


Cześć, dziękuję za odpowiedź! Jak należy skalować? (x-mean) / sd?
Frida

Tak, w zastosowanym RI, prcomp(x, center=T, scale=T)co jest tym samym, co robi (x-mean) / sd. W tym przykładzie okazałoby się, że żaden główny składnik nie stanowi dobrego rozróżnienia między klasami; działa tylko wtedy, gdy oba są używane razem.
Flądrowiec

Rozumiem, że komputery są komplementarne, ale czy kryje się za tym jakieś wytłumaczenie? Szczerze mówiąc, po raz pierwszy otrzymałem słabszy PC1 w porównaniu do innych.
Frida

@Frida: komentarz ttnphns jest ukierunkowany. Zobacz en.wikipedia.org/wiki/Linear_discriminant_analysis trzeci akapit. W pewnym sensie szczęście, że PCA tak często się przydaje.
Wayne

6

Zakładam, że odpowiedź i przykład podany przez @Flounderer implikują to, ale myślę, że warto to wyjaśnić. Analiza głównego składnika (PCA) jest obojętna wobec etykiety (klasyfikacji). Wszystko, co robi, to transformacja niektórych danych wysokowymiarowych do innej przestrzeni wymiarowej. Może to pomóc w próbach klasyfikacji, na przykład poprzez utworzenie zestawu danych, który można łatwiej rozdzielić za pomocą określonej metody. Jest to jednak tylko produkt uboczny (lub efekt uboczny) PCA.


1

Kiedy przeprowadzamy analizę głównych składników, główne składniki odpowiadają kierunkom maksymalnej zmienności, nie gwarantują one maksymalnej dyskryminacji ani podziału między klasami.

Tak więc drugi składnik zapewnia dobrą klasyfikację, co oznacza, że ​​dane w tym kierunku zapewniają lepszą dyskryminację między klasami. Podczas przeprowadzania liniowej analizy dyskryminacyjnej (LDA) uzyskuje się najlepsze komponenty kierunku ortogonalnego, które maksymalizują odległość między klasami i minimalizują odległość wewnątrz klasy.

Więc jeśli wykonasz LDA na danych zamiast PCA, prawdopodobnie jeden z pierwszych składników byłby bliższy PC6 niż PC1. Mam nadzieję że to pomoże.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.