To pytanie dotyczy głównie definicji PCA / FA, więc opinie mogą się różnić. Uważam, że PCA + varimax nie powinien być nazywany ani PCA, ani FA, ale raczej wyraźnie określany np. Jako „PCA z rotacją varimax”.
Powinienem dodać, że jest to dość mylący temat. W tej odpowiedzi chcę wyjaśnić, czym właściwie jest rotacja ; będzie to wymagać trochę matematyki. Przypadkowy czytelnik może przejść bezpośrednio do ilustracji. Tylko wtedy możemy omówić, czy rotacja PCA + powinna być nazywana „PCA”.
Jednym z odniesień jest książka Jolliffe'a „Principal Component Analysis”, sekcja 11.1 „Rotation of Principal Components”, ale uważam, że może być jaśniejsza.
Niech będzie macierzą danych, która, jak zakładamy, jest wyśrodkowana. PCA sprowadza się ( patrz moja odpowiedź tutaj ) do dekompozycji liczby pojedynczej: . Istnieją dwa równoważne, ale komplementarne widoki tego rozkładu: widok „projekcyjny” w stylu PCA i widok „ukrytych zmiennych” w stylu FA. n × p X = U S V ⊤Xn×pX=USV⊤
Zgodnie z widokiem w stylu PCA znaleźliśmy kilka kierunków ortogonalnych (są to wektory własne macierzy kowariancji, zwane także „głównymi kierunkami” lub „osiami”) i „głównymi składnikami” ( zwane również „wynikami” głównego składnika) to rzuty danych w tych kierunkach. Główne komponenty są nieskorelowane, pierwszy ma maksymalnie możliwą wariancję itp. Możemy napisać:U S X = U S ⋅ V ⊤ = Wyniki ⋅ Główne kierunki .VUS
X=US⋅V⊤=Scores⋅Principal directions.
Zgodnie z poglądem w stylu FA znaleźliśmy pewne nieskorelowane „czynniki ukryte” wariancji jednostkowej, które powodują obserwowane zmienne poprzez „obciążenia”. Rzeczywiście, są znormalizowanymi składnikami głównymi (nieskorelowanymi i z wariancją jednostek), a jeśli zdefiniujemy ładunki jako , a następnie (Zauważ, że .) Oba widoki są równoważne. Zauważ, że ładunki są wektorami własnymi skalowanymi przez odpowiednie wartości własne ( są wartościami własnymi macierzy kowariancji).L=VS/ √U˜=n−1−−−−−√U X= √L=VS/n−1−−−−−√S ⊤=SS/ √
X=n−1−−−−−√U⋅(VS/n−1−−−−−√)⊤=U˜⋅L⊤=Standardized scores⋅Loadings.
S⊤=SS/n−1−−−−−√
(Powinienem dodać w nawiasach, że PCA FA≠ ; FA wyraźnie dąży do znalezienia ukrytych czynników, które są liniowo mapowane do obserwowanych zmiennych poprzez ładunki; jest bardziej elastyczny niż PCA i daje różne ładunki. Dlatego wolę nazywać to powyższym „Widok w stylu FA na PCA”, a nie FA, nawet jeśli niektórzy uważają, że jest to jedna z metod FA).
Co robi rotacja? Np. Obrót prostopadły, taki jak varimax. Po pierwsze, pod uwagę tylko komponenty , tj .:Następnie bierze kwadratową ortogonalną macierzy i podłącza do tego rozkładu: gdzie obrócone ładunki są podawane przezX ≈ U k S k V ⊤ k = ˜ U k L ⊤ k . k × k T T T ⊤ = I X ≈ U k S k V ⊤ k = U k T T ⊤ S k V ⊤ k = ˜ U r o t L ⊤ r o t ,k<p
X≈UkSkV⊤k=U˜kL⊤k.
k×kTTT⊤=IX≈UkSkV⊤k=UkTT⊤SkV⊤k=U˜rotL⊤rot,
˜ U r o t = ˜ U k T T L r o tLrot=LkTI obraca się znormalizowane przez wyniki podano . (Celem tego jest znalezienie taki sposób, aby stał się tak blisko bycia rzadkim, jak to możliwe, aby ułatwić jego interpretację.)
U˜rot=U˜kTTLrot
Zauważ, że obracane są: (1) znormalizowane wyniki, (2) ładunki. Ale nie surowe wyniki, a nie główne kierunki! Zatem obrót odbywa się w ukrytej przestrzeni, a nie w pierwotnej przestrzeni. To jest absolutnie niezbędne.
Z punktu widzenia stylu FA niewiele się wydarzyło. (A) Ukryte czynniki są nadal nieskorelowane i znormalizowane. (B) Nadal są one mapowane na obserwowane zmienne poprzez (obrócone) obciążenia. (C) Wielkość wariancji zarejestrowanej przez każdy składnik / współczynnik jest dana przez sumę kwadratów wartości odpowiedniej kolumny obciążeń w . (D) Geometrycznie ładunki nadal obejmują tę samą wymiarową podprzestrzeń w (podprzestrzeń rozciągnięta przez pierwsze wektorów własnych PCA). (E) Przybliżenie do i błąd rekonstrukcji w ogóle się nie zmieniły. (F) Macierz kowariancji jest nadal równie dobrze aproksymowana: k R p k XLrotkRpkX
Σ≈LkL⊤k=LrotL⊤rot.
Ale punkt widzenia w stylu PCA praktycznie się załamał. Obrócone obciążenia nie odpowiadają już ortogonalnym kierunkom / osiom w , tj. Kolumny nie są ortogonalne! Co gorsza, jeśli [ortogonalnie] rzutujesz dane na kierunki podane przez obrócone obciążenia, otrzymasz skorelowane (!) Prognozy i nie będziesz w stanie odzyskać wyników. [Zamiast tego, aby obliczyć znormalizowane wyniki po obrocie, należy pomnożyć macierz danych przez pseudo-odwrotność obciążeń . Alternatywnie można po prostu obrócić oryginalne standardowe wyniki za pomocą macierzy rotacji:L r o t ˜ U r o t = X ( L + r o t ) ⊤ ˜ U r o t = ˜ U TRpLrotU˜rot=X(L+rot)⊤U˜rot=U˜T ] Ponadto obrócone komponenty nie przechwytują kolejno maksymalnej ilości wariancji: wariancja jest rozdzielana między komponenty (nawet chociaż wszystkie obróconych komponentów przechwytuje dokładnie taką samą wariancję jak wszystkie oryginalnych głównych elementów).kkk
Oto ilustracja. Dane są elipsą 2D rozciągniętą wzdłuż głównej przekątnej. Pierwszy główny kierunek to główna przekątna, drugi jest do niej ortogonalny. Wektory obciążające PCA (wektory własne skalowane wartościami własnymi) są pokazane na czerwono - skierowane w obu kierunkach, a także rozciągnięte przez stały współczynnik widoczności. Następnie zastosowałem obrót prostopadły o do obciążeń. Wynikowe wektory ładowania są pokazane w kolorze magenta. Zwróć uwagę, że nie są one ortogonalne (!).30∘
Oto intuicja w stylu FA: wyobraź sobie „utajoną przestrzeń”, w której punkty wypełniają mały okrąg (pochodzą z Gaussa 2D z odchyleniami jednostek). Ten rozkład punktów jest następnie rozciągany wzdłuż ładunków PCA (czerwony), aby stać się elipsą danych, którą widzimy na tej figurze. Jednak ten sam rozkład punktów można obracać, a następnie rozciągać wzdłuż obróconych ładunków PCA (magenta), aby uzyskać tę samą elipsę danych .
[Aby faktycznie zobaczyć, że ortogonalny obrót obciążeń jest obrotem , należy spojrzeć na dwójkę PCA; tam wektory / promienie odpowiadające oryginalnym zmiennym po prostu się obracają.]
Podsumujmy. Po rotacji ortogonalnej (takiej jak varimax) osie „obrócone-główne” nie są ortogonalne, a rzuty na nie ortogonalne nie mają sensu. Dlatego należy raczej upuścić cały punkt widzenia w osiach / rzutach. Dziwnie byłoby nadal nazywać to PCA (dotyczy to projekcji o maksymalnej wariancji itp.).
Z punktu widzenia stylu FA po prostu obróciliśmy nasze (znormalizowane i nieskorelowane) czynniki ukryte, co jest prawidłową operacją. W FA nie ma „prognoz”; zamiast tego czynniki utajone generują obserwowane zmienne poprzez obciążenia. Ta logika jest nadal zachowana. Zaczęliśmy jednak od głównych składników, które tak naprawdę nie są czynnikami (ponieważ PCA nie jest tym samym co FA). Dziwnie byłoby też nazywać to FA.
Zamiast zastanawiać się, czy należy „nazwać” PCA, czy FA, sugerowałbym skrupulatność w określaniu dokładnie stosowanej procedury: „PCA, po której następuje rotacja varimax”.
Post Scriptum. Jest to możliwe pod alternatywną procedurę obrotu, w którym wprowadzane są między i . Spowodowałoby to obrót surowych wyników i wektorów własnych (zamiast standardowych wyników i ładowań). Największym problemem związanym z tym podejściem jest to, że po takiej „rotacji” wyniki nie będą już nieskorelowane, co jest dość śmiertelne dla PCA. Można to zrobić, ale nie tak rozumie się i stosuje rotacje.U S V ⊤TT⊤USV⊤