Czytam artykuł, w którym autor odrzuca kilka zmiennych ze względu na wysoką korelację z innymi zmiennymi przed wykonaniem PCA. Łączna liczba zmiennych wynosi około 20.
Czy to daje jakieś korzyści? Wygląda mi to na ogólne obciążenie, ponieważ PCA powinna sobie z tym poradzić automatycznie.
correlation
pca
type2
źródło
źródło
Odpowiedzi:
Wyjaśnia to wnikliwą wskazówkę zawartą w komentarzu @ttnphns.
Przyłączenie prawie skorelowanych zmiennych zwiększa udział ich wspólnego podstawowego czynnika w PCA. Widzimy to geometrycznie. Rozważ te dane w płaszczyźnie XY, pokazane jako chmura punktów:
Istnieje niewielka korelacja, w przybliżeniu jednakowa kowariancja, a dane są wyśrodkowane: PCA (bez względu na sposób przeprowadzania) zgłosi dwa w przybliżeniu równe składniki.
Dodajmy teraz trzecią zmienną równą plus niewielki błąd losowy. Macierz korelacji z pokazuje to przy małych współczynnikach off-diagonalnych, z wyjątkiem między drugim a trzecim rzędem i kolumną ( i ):Y ( X , Y , Z ) Y ZZ Y (X,Y,Z) Y Z
Geometrycznie przesunęliśmy wszystkie oryginalne punkty prawie pionowo, podnosząc poprzednie zdjęcie z płaszczyzny strony. Ta pseudo-chmura 3D próbuje zilustrować podnoszenie za pomocą bocznego widoku perspektywicznego (na podstawie innego zestawu danych, aczkolwiek wygenerowanego w taki sam sposób jak poprzednio):
Punkty początkowo leżą na niebieskiej płaszczyźnie i są podnoszone do czerwonych kropek. Oryginalna oś wskazuje w prawo. Wynikowe przechylenie rozciąga również punkty wzdłuż kierunków YZ, podwajając w ten sposób ich udział w wariancji. W związku z tym PCA tych nowych danych nadal identyfikowałby dwa główne główne elementy, ale teraz jeden z nich będzie miał podwójną wariancję w stosunku do drugiego.Y
To geometryczne oczekiwanie potwierdza niektóre symulacjeX2 X5
R
. W tym celu powtórzyłem procedurę „podnoszenia”, tworząc kopie drugiej zmiennej prawie drugi, trzeci, czwarty i piąty, nazywając je od do . Oto macierz wykresu rozrzutu pokazująca, jak te ostatnie cztery zmienne są dobrze skorelowane:X 5PCA odbywa się za pomocą korelacji (chociaż tak naprawdę nie ma to znaczenia dla tych danych), przy użyciu dwóch pierwszych zmiennych, a następnie trzech, ... i wreszcie pięciu. Pokazuję wyniki za pomocą wykresów udziału głównych składników w całkowitej wariancji.
Początkowo, przy dwóch prawie nieskorelowanych zmiennych, wkłady są prawie równe (lewy górny róg). Po dodaniu jednej zmiennej skorelowanej z drugą - dokładnie tak jak na ilustracji geometrycznej - nadal istnieją tylko dwa główne komponenty, jeden teraz dwa razy większy od drugiego. (Trzeci komponent odzwierciedla brak idealnej korelacji; mierzy „grubość” chmury podobnej do naleśnika w wykresie rozrzutu 3D.) Po dodaniu innej skorelowanej zmiennej ( ), pierwszy komponent stanowi teraz około trzech czwartych całości ; po dodaniu piątej pierwszy składnik stanowi prawie cztery piąte całości. We wszystkich czterech przypadkach składniki po drugim byłyby prawdopodobnie uznane za nieistotne przez większość procedur diagnostycznych PCA; w ostatnim przypadku to „X4 jeden główny element warty rozważenia.
Widzimy teraz, że warto odrzucić zmienne uważane za pomiar tego samego podstawowego (ale „ukrytego”) aspektu zbioru zmiennych , ponieważ uwzględnienie prawie nadmiarowych zmiennych może spowodować, że PCA nadmiernie zaakcentuje swój wkład. W takiej procedurze nie ma nic matematycznie poprawnego (lub złego); jest to wezwanie do oceny oparte na celach analitycznych i znajomości danych. Ale powinno być całkowicie jasne, że odłożenie zmiennych, o których wiadomo, że są silnie skorelowane z innymi, może mieć znaczący wpływ na wyniki PCA.
Oto
R
kod.źródło
Będę dalej ilustrują ten sam proces i pomysł jak @whuber zrobił, ale z działek załadunkowych, - ponieważ obciążenia są Esencją PCA wyniki.
Oto trzy 3 analizy. W pierwszej mamy dwie zmienne, i (w tym przykładzie nie korelują). W drugim dodaliśmy który jest prawie kopią i dlatego silnie się z nim koreluje. W trzecim dodaliśmy jeszcze dwa kolejne „kopie”: i .X 2 X 3 X 2 X 4 X 5X1 X2 X3 X2 X4 X5
Następnie zaczynają się wykresy obciążeń pierwszych 2 głównych komponentów. Czerwone wartości szczytowe na wykresach informują o korelacjach między zmiennymi, tak że w grupie kilku wartości szczytowych znajduje się grupa ściśle ściśle skorelowanych zmiennych. Składnikami są szare linie; względna „siła” komponentu (jego względna wartość wartości własnej) jest podana na podstawie masy linii.
Można zaobserwować dwa efekty dodania „kopii”:
Nie powrócę do moralności, ponieważ @whuber już to zrobił.
Dodatek . Poniżej kilka zdjęć w odpowiedzi na komentarze @ whuber. Chodzi o rozróżnienie między „przestrzenią zmienną” a „przestrzenią tematyczną” i tym, jak komponenty orientują się tu i tam. Przedstawiono trzy dwuwymiarowe PCA: analizy pierwszego rzędu , analizy drugiego rzędu , a trzeciego rzędu . Lewa kolumna to wykresy rozrzutu (standardowych danych), a prawa kolumna ładuje wykresy.r = 0,62 r = 0,77r=0 r=0.62 r=0.77
Na wykresie rozrzutu korelacja między i jest renderowana jako podłużność chmury. Kąt (jego cosinus) między linią składową i linią zmienną jest odpowiednim elementem wektorów własnych . Wektory własne są identyczne we wszystkich trzech analizach (więc kąty na wszystkich 3 wykresach są takie same). [Ale prawdą jest, że przy dokładnie wektory własne (i stąd kąty) są teoretycznie dowolne; ponieważ chmura jest idealnie „okrągła”, każda para linii ortogonalnych przechodzących przez początek może służyć jako dwa składniki, nawet iX 2 r = 0 X 1 X 2X1 X2 r=0 X1 X2 same linie mogą być wybrane jako komponenty.] Współrzędne punktów danych (200 podmiotów) na komponencie są wynikami komponentu, a ich suma kwadratów podzielona przez 200-1 jest wartością własną komponentu .
Na wykresie ładowania punkty (wektory) są zmiennymi; rozkładają przestrzeń, która jest dwuwymiarowa (ponieważ mamy 2 punkty + początek), ale w rzeczywistości jest zmniejszoną 200-wymiarową (liczbą podmiotów) „przestrzenią tematyczną”. Tutaj kąt (cosinus) między wektorami czerwonymi wynosi . Wektory mają równą długość jednostkową, ponieważ dane zostały znormalizowane. Pierwszy element to taka oś wymiarowa w tej przestrzeni, która pędzi w kierunku nadmiernej akumulacji punktów; w przypadku tylko 2 zmiennych jest to zawsze bisektor między aX 1 X 2r X1 X2 (ale dodanie trzeciej zmiennej może i tak ją odchylić). Kąt (cosinus) między wektorem zmiennym a linią składową jest korelacją między nimi, a ponieważ wektory mają długość jednostkową, a komponenty są ortogonalne, nie jest to nic innego jak współrzędne, obciążenie . Suma kwadratowych obciążeń na komponencie jest jego wartością własną (komponent po prostu orientuje się w tej przestrzeni tematycznej, aby go zmaksymalizować)
Dodawanie 2. W Dodawanie wyżej ja mówienia o „zmiennym powierzchni” i „miejsca”, z zastrzeżeniem, jeżeli są one niezgodne ze sobą, jak woda i olej. Musiałem to przemyśleć i mogę powiedzieć, że - przynajmniej kiedy mówimy o PCA - obie przestrzenie są na końcu izomorficzne i dzięki tej cnocie możemy poprawnie wyświetlić wszystkie szczegóły PCA - punkty danych, osie zmiennych, osie komponentów, zmienne jako punkty, - na jednym niezniekształconym biplocie.
Poniżej znajduje się wykres rozproszenia (przestrzeń zmienna) i wykres ładowania (przestrzeń komponentu, która jest przestrzenią przedmiotową ze względu na swoje pochodzenie genetyczne). Wszystko, co można pokazać na jednym, można również pokazać na drugim. Zdjęcia są identyczne , obrócone tylko o 45 stopni (i odbite, w tym konkretnym przypadku) względem siebie. To był PCA zmiennych V1 i V2 (standaryzowany, co było R , który był analizowany). Czarne linie na zdjęciach są zmiennymi jako osie; zielone / żółte linie są komponentami jako osie; niebieskie punkty to chmura danych (podmioty); czerwone punkty to zmienne wyświetlane jako punkty (wektory).
źródło
The software was free to choose any orthogonal basis for that space, arbitrarily
dotyczy okrągłej chmury w przestrzeni zmiennych (tj. Wykresu rozrzutu danych, takiego jak 1. obrazek w twojej odpowiedzi), ale wykres ładowania to przestrzeń tematyczna, w której zmienne, a nie przypadki, są punktami (wektorami).Bez szczegółów z twojego artykułu przypuszczam, że to odrzucenie wysoce skorelowanych zmiennych zostało dokonane jedynie w celu zaoszczędzenia na mocy obliczeniowej lub obciążeniu pracą. Nie widzę powodu, dla którego PCA miałaby „pękać” w przypadku wysoce skorelowanych zmiennych. Rzutowanie danych z powrotem na bazy znalezione przez PCA powoduje wybielenie danych (lub ich korelację). To jest cały punkt za PCA.
źródło
Z mojego zrozumienia skorelowane zmienne są w porządku, ponieważ PCA generuje wektory, które są ortogonalne.
źródło
To zależy od twojego algorytmu. Silnie skorelowane zmienne mogą oznaczać źle uwarunkowaną macierz. Jeśli użyjesz wrażliwego algorytmu, może to mieć sens. Ale odważę się powiedzieć, że większość współczesnych algorytmów wykorzystywanych do tworzenia wartości własnych i wektorów własnych jest do tego odporna. Spróbuj usunąć wysoce skorelowane zmienne. Czy wartości własne i wektory własne zmieniają się znacznie? Jeśli tak, to złe warunkowanie może być odpowiedzią. Ponieważ wysoce skorelowane zmienne nie dodają informacji, rozkład PCA nie powinien ulec zmianie
źródło
Zależy od tego, jakiej metody wyboru podstawowego składnika używasz, prawda?
Zazwyczaj używam dowolnego elementu podstawowego o wartości własnej> 1. Więc to by mnie nie dotyczyło.
I z powyższych przykładów nawet metoda piargowa zwykle wybrałaby właściwą. JEŚLI UTRZYMASZ WSZYSTKO PRZED ŁOKCIEM. Jeśli jednak po prostu wybierzesz główny składnik z „dominującą” wartością własną, popełnisz błąd. Ale to nie jest właściwy sposób na użycie piargi!
źródło