W analizie głównych składników (PCA) można wybrać macierz kowariancji lub macierz korelacji, aby znaleźć składniki (z ich odpowiednich wektorów własnych). Dają one różne wyniki (obciążenia komputera i wyniki), ponieważ wektory własne między oboma macierzami nie są równe. Rozumiem, że jest to spowodowane faktem, że surowego wektora danych i jego standaryzacji nie można powiązać poprzez transformację ortogonalną. Matematycznie podobne macierze (tj. Powiązane przez transformację ortogonalną) mają te same wartości własne, ale niekoniecznie te same wektory własne.Z
Rodzi to pewne trudności:
Czy PCA faktycznie ma sens, jeśli można uzyskać dwie różne odpowiedzi dla tego samego początkowego zestawu danych, obie próbują osiągnąć to samo (= znaleźć kierunki maksymalnej wariancji)?
Podczas korzystania z macierzy korelacji każda zmienna jest standaryzowana (skalowana) według własnego indywidualnego odchylenia standardowego przed obliczeniem komputerów PC. Jak zatem ma sens znalezienie kierunków maksymalnej wariancji, jeśli dane zostały wcześniej wcześniej skalowane / skompresowane w inny sposób? Wiem, że ta PCA oparta na korelacji jest bardzo wygodna (znormalizowane zmienne są bezwymiarowe, więc można dodawać ich kombinacje liniowe; inne zalety również oparte są na pragmatyzmie), ale czy to prawda?
Wydaje mi się, że PCA oparty na kowariancji jest jedyną naprawdę poprawną (nawet gdy wariancje zmiennych znacznie się różnią) i że ilekroć nie można użyć tej wersji, PCA również nie powinno być używane.
Wiem, że jest ten wątek: PCA o korelacji lub kowariancji? - ale wydaje się, że koncentruje się tylko na znalezieniu pragmatycznego rozwiązania, które może, ale nie musi być algebraicznie poprawne.
źródło
Odpowiedzi:
Mam nadzieję, że te odpowiedzi na twoje dwa pytania uspokoją twoją obawę:
Następny tekst i zdjęcia dodane przez @whuber (dziękuję mu. Zobacz także mój komentarz poniżej)
Oto dwuwymiarowy przykład pokazujący, dlaczego nadal warto lokalizować główne osie znormalizowanych danych (pokazane po prawej stronie). Zauważ, że na wykresie po prawej chmura nadal ma „kształt”, mimo że wariancje wzdłuż osi współrzędnych są teraz dokładnie równe (do 1,0). Podobnie w wyższych wymiarach znormalizowana chmura punktów będzie miała kształt niesferyczny, mimo że wariancje wzdłuż wszystkich osi są dokładnie równe (do 1,0). Główne osie (wraz z odpowiadającymi im wartościami własnymi) opisują ten kształt. Innym sposobem na zrozumienie tego jest zwrócenie uwagi, że całe przeskalowanie i przesunięcie, które ma miejsce podczas standaryzacji zmiennych, odbywa się tylko w kierunkach osi współrzędnych, a nie w głównych kierunkach.
To, co się tutaj dzieje, jest geometrycznie tak intuicyjne i jasne, że trudno byłoby scharakteryzować to jako „operację czarnej skrzynki”: wręcz przeciwnie, standaryzacja i PCA to jedne z najbardziej podstawowych i rutynowych rzeczy, które robimy z danymi w celu aby je zrozumieć.
Kontynuacja @ttnphns
Kiedy wolałbyś przeprowadzić PCA (lub analizę czynnikową lub inną podobną analizę) na korelacjach (tj. Na zmiennych standaryzowanych na Z) zamiast robić to na kowariancjach (tj. Na zmiennych wyśrodkowanych)?
źródło
Mówiąc z praktycznego punktu widzenia - być może tutaj niepopularnego - jeśli masz dane mierzone w różnych skalach, przejdź do korelacji („skalowanie UV”, jeśli jesteś chemometrem), ale jeśli zmienne są w tej samej skali, a ich wielkość ma znaczenie (np. z danymi spektroskopowymi), wtedy kowariancja (tylko centrowanie danych) ma większy sens. PCA jest metodą zależną od skali, a także transformacja dziennika może pomóc przy mocno wypaczonych danych.
Moim skromnym zdaniem w oparciu o 20 lat praktycznego stosowania chemometrii musisz trochę poeksperymentować i zobaczyć, co najlepiej pasuje do twojego rodzaju danych. Na koniec dnia musisz być w stanie odtworzyć swoje wyniki i spróbować udowodnić przewidywalność swoich wniosków. Jak tam dotrzeć, często dochodzi do prób i błędów, ale najważniejsze jest to, że to, co robisz, jest udokumentowane i odtwarzalne.
źródło
Nie mam czasu na dokładniejszy opis szczegółowych i technicznych aspektów eksperymentu, który opisałem, a wyjaśnienia dotyczące sformułowań (polecanie, wydajność, optymalne) ponownie odciągnęłyby nas od prawdziwego problemu, jakim jest rodzaj danych wejściowych PCA może (nie) / powinna (nie) brać. PCA działa poprzez przyjmowanie liniowych kombinacji liczb (wartości zmiennych). Matematycznie oczywiście można dodać dowolne dwie (rzeczywiste lub złożone) liczby. Ale jeśli zostały one ponownie przeskalowane przed transformacją PCA, czy ich kombinacja liniowa (a zatem i proces maksymalizacji) jest nadal przydatna? Jeśli każda zmiennaxja ma tę samą wariancję s2) , to oczywiście tak, ponieważ ( x1/ s1) + ( x2)/ s2)) = ( x1+ x2)) / s jest nadal proporcjonalny i porównywalny z fizyczną superpozycją danych x1+ x2) samo. Ale jeślis1. S2) , wówczas liniowa kombinacja znormalizowanych wielkości zniekształca dane zmiennych wejściowych na różnestopnie. Wydaje się więc, że nie ma sensu maksymalizować wariancji ich kombinacji liniowej. W takim przypadku PCA daje rozwiązanie dla innego zestawu danych, w którym każda zmienna jest skalowana inaczej. Jeśli następnie później dostosujesz (używając corr_PCA), może to być OK i konieczne; ale jeśli weźmiesz surowe rozwiązanie corr_PCA w obecnej postaci i na tym poprzestaniesz, uzyskasz rozwiązanie matematyczne, ale nie związane z danymi fizycznymi. Ponieważ późniejsza standaryzacja wydaje się wówczas obowiązkowa jako minimum (tj. „Rozciąganie” osi przez odwrotne odchylenia standardowe), można było na początku użyć cov_PCA. Jeśli nadal czytasz, jestem pod wrażeniem! Na razie kończę cytowaniem z książki Jolliffe'a, str. 42, co dotyczy mnie: „Nie można jednak zapominać, że komputery z macierzą korelacji, po ponownym wyrażeniu w odniesieniu do zmiennych pierwotnych, nadal są liniowymi funkcjami x, które maksymalizują wariancję w odniesieniu do zmiennych znormalizowanych, a nie w odniesieniu do zmiennych pierwotnych. ”
Jeśli uważasz, że źle interpretuję to lub jego konsekwencje, ten fragment może być dobrym punktem wyjścia do dalszej dyskusji.
źródło
There seems little point
w PCA o korelacje. Cóż, jeśli chcesz pozostać blisko surowych danych („danych fizycznych”, jak to dziwnie nazywasz), naprawdę nie powinieneś używać korelacji, ponieważ odpowiadają one innym („zniekształconym”) danym.X'X
matrycy. Ta forma jest nawet „bliższa” oryginalnym danym niż cov-PCA, ponieważ nie wykonuje się centrowania zmiennych. A wyniki są zwykle zupełnie inne . Możesz także zrobić PCA na cosinusie. Ludzie robią PCA na wszystkich wersjach macierzy SSCP , aczkolwiek najczęściej stosuje się kowariancje lub korelacje.