PCA o korelacji lub kowariancji?

153

Jakie są główne różnice między przeprowadzaniem analizy składowych głównych (PCA) na macierzy korelacji a macierzą kowariancji? Czy dają takie same wyniki?

Losowy
źródło
2
Późna odpowiedź, ale możesz znaleźć BARDZO przydatne materiały informacyjne na temat wielowymiarowej analizy danych „à la française” w dziale bioinformatyki w Lyonie. Pochodzą one od autorów pakietu R ade4 . Jednak jest po francusku.
chl
3
W celu uzyskania dalszych dyskusji, odwiedź stats.stackexchange.com/questions/62677/... .
whuber

Odpowiedzi:

130

Zwykle używasz macierzy kowariancji, gdy skale zmiennych są podobne, i macierzy korelacji, gdy zmienne są w różnych skalach.

Użycie macierzy korelacji jest równoznaczne ze standaryzacją każdej ze zmiennych (średnio 0 i odchylenie standardowe 1). Zasadniczo PCA ze standaryzacją i bez zapewnia różne wyniki. Zwłaszcza, gdy skale są różne.

Jako przykład spójrz na ten heptathlonzestaw danych R. Niektóre zmienne mają średnią wartość około 1,8 (skok wzwyż), podczas gdy inne zmienne (przebieg 800m) wynoszą około 120.

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

To daje:

                   hurdles highjump  shot run200m longjump javelin run800m
Joyner-Kersee (USA)   12.69     1.86 15.80   22.56     7.27   45.66  128.51
John (GDR)            12.85     1.80 16.23   23.65     6.71   42.56  126.12
Behmer (GDR)          13.20     1.83 14.20   23.10     6.68   44.54  124.20
Sablovskaite (URS)    13.61     1.80 15.23   23.92     6.25   42.78  132.24
Choubenkova (URS)     13.51     1.74 14.76   23.93     6.32   47.46  127.90
...

Teraz zróbmy PCA na kowariancji i korelacji:

# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)

biplot(hep.PC.cov)
biplot(hep.PC.cor)  

PCA w sprawie korelacji lub kowariancji

Zauważ, że PCA na kowariancji jest zdominowany przez run800mi javelin: PC1 jest prawie równe run800m(i wyjaśnia wariancji) i PC2 jest prawie równa (razem wyjaśniają one ). PCA na temat korelacji jest znacznie bardziej pouczająca i ujawnia pewną strukturę danych i zależności między zmiennymi (ale zauważ, że wyjaśnione wariancje spadają do i 71 % ).82%javelin97%64 %64%71%

Należy również zauważyć, że osoby odległe (w tym zbiorze danych) są wartościami odstającymi, niezależnie od tego, czy użyto macierzy kowariancji czy korelacji.

csgillespie
źródło
Jaka jest sytuacja, jeśli najpierw zmienię zmienne na wyniki Z?
Jirka-x1
9
@ Jirka-x1 macierz kowariancji zmiennych znormalizowanych (tj Z punktacja) równa macierzy korelacji.
Alexis,
@Alexis Czy można zatem wnioskować, że macierz kowariancji standardowych zmiennych jest równa macierzy korelacji standardowych zmiennych?
jb
1
@JamieBullock (macierz kowariancji) dla znormalizowanych danych = R (macierz korelacji). R = R bez względu na to, czy dane są znormalizowane (korelacja jest niewrażliwa na transformacje liniowe danych. Na przykład, jeśli masz X i Y i korelują one z r X Y , to jeśli X = a X + b i Y = a Y + b X i Y również korelują z r X YΣRR=RXYrXYX=zaX+bY=zaY+b XYrXY).
Alexis,
Jedna ważna uwaga: podczas korzystania z kowariancji w twoim PCA, twoje komputery nie będą ze sobą skorelowane, co nie jest prawdą w przypadku PCA opartego na korelacji. Jest to szczególnie ważne, gdy zamierza się wykonać PCA przed regresją w wielokoliniowym zestawie zmiennych objaśniających. Jednak stojąca za tym teoria nie jest jasna. Czy ktoś mógłby rzucić nieco światła na tę różnicę?
ouranos
54

Bernard Flury w swojej doskonałej książce wprowadzającej analizę wielowymiarową opisał to jako anty-własność głównych składników. Jest to w rzeczywistości gorsze niż wybór między korelacją lub kowariancją. Jeśli zmieniłeś jednostki (np. Galony w stylu amerykańskim, cale itp. Oraz litry, centymetry w stylu UE), otrzymasz zasadniczo różne prognozy danych.

Argumentem przeciwko automatycznemu stosowaniu macierzy korelacji jest to, że jest to dość brutalny sposób standaryzacji danych. Problem z automatycznym użyciem macierzy kowariancji, co jest bardzo widoczne w przypadku danych heptathalon, polega na tym, że zmienne o największej wariancji zdominują pierwszy główny składnik (właściwość maksymalizująca wariancję).

Zatem „najlepsza” metoda opiera się na subiektywnym wyborze, starannej przemyśleniu i pewnym doświadczeniu.

Paul Hewson
źródło
46

NIEFORMANSOWANE (RAW) DANE: Jeśli masz zmienne o bardzo różnych skalach dla surowych, nietransformowanych danych, tj. Dzienne spożycie kalorii, ekspresję genów, ELISA / Luminex w jednostkach ug / dl, ng / dl, w oparciu o kilka rzędów wielkość ekspresji białka, a następnie użyj korelacji jako danych wejściowych do PCA. Jeśli jednak wszystkie Twoje dane są oparte na np. Ekspresji genów z tej samej platformy o podobnym zakresie i skali lub pracujesz z zyskami z zasobów logarytmicznych, wówczas użycie korelacji spowoduje powstanie ogromnej ilości informacji.

RdodoR10010do1R

Zdo

Rdo

(P.<0,05)n=100

  1. Rja=1,2),,100
  2. pdotja=Rja/(n+1)
  3. N.(0,1)ZZja=Φ-1(pdotja)

pdotja-1,96=Φ-1(0,025)pdotja=0,9751,96=Φ-1(0,975)

Stosowanie wyników VDW jest bardzo popularne w genetyce, gdzie wiele zmiennych jest przekształcanych w wyniki VDW, a następnie wprowadzanych do analiz. Zaletą stosowania wyników VDW jest to, że efekty skośności i wartości odstające są usuwane z danych, i można ich użyć, jeśli celem jest przeprowadzenie analizy pod ograniczeniami normalności - a każda zmienna musi mieć czysto standardowy rozkład normalny bez skośności lub wartości odstające.

JoleT
źródło
7
Jest to zdecydowanie najbardziej sensowna odpowiedź, ponieważ daje właściwy pogląd, że kowariancja wygrywa, gdy jest to właściwe. Zbyt wiele odpowiedzi tutaj i gdzie indziej wymienia zwykłe „to zależy” bez faktycznego uzasadnienia, dlaczego należy preferować kowariancję, jeśli to możliwe . Tutaj lep robi: kowariancja nie wyrzuca żadnej informacji, którą robi korelacja. Przykład danych giełdowych jest dobry: zapasy o wysokiej wartości beta będą oczywiście miały wyższe ładunki, ale prawdopodobnie powinny , podobnie jak każdy aspekt bardziej niestabilnej analizy, jest zwykle bardziej interesujący (w granicach rozsądku).
Thomas Browne,
3
Oczywiście omawiany problem należy przeanalizować pod kątem tego, czy większa wariancja jest interesującym aspektem analizy. Jeśli nie, to oczywiście korelacja jest lepsza, i to zdecydowanie obowiązuje, jeśli jednostki są różne.
Thomas Browne,
Świetna odpowiedź +1. Myślę, że jeszcze jednym przykładem może być zastosowanie PCA do analizy struktury terminów w zakresie rentowności obligacji w finansach. Różnice wydajności przy różnych terminach zapadalności są różne, ale ponieważ wszystkie są rentownościami, zmienne skale zwykle nie są niedopuszczalnie szerokie. Rzeczywiście, sama mniej więcej zmienność niektórych terminów zapadalności zapewnia bogate informacje.
Nicholas
11

Powszechną odpowiedzią jest sugerowanie, że kowariancja jest stosowana, gdy zmienne są w tej samej skali, i korelacja, gdy ich skale są różne. Jest to jednak prawdą tylko wtedy, gdy skala zmiennych nie jest czynnikiem. W przeciwnym razie, dlaczego ktokolwiek miałby kiedykolwiek robić kowariancję PCA? Bezpieczniej byłoby zawsze wykonać korelację PCA.

Wyobraź sobie, że twoje zmienne mają różne jednostki miary, takie jak metry i kilogramy. Nie powinno mieć znaczenia, czy w tym przypadku używasz metrów, czy centymetrów, więc możesz argumentować, że należy zastosować macierz korelacji.

Rozważ teraz populację ludzi w różnych stanach. Jednostki miary są takie same - liczba (liczba) osób. Teraz skale mogą być inne: DC ma 600 tys., A CA - 38 mln osób. Czy powinniśmy tutaj zastosować macierz korelacji? To zależy. W niektórych aplikacjach chcemy dopasować do wielkości stanu. Wykorzystanie macierzy kowariancji jest jednym ze sposobów budowania czynników, które uwzględniają wielkość państwa.

Dlatego moją odpowiedzią jest użycie macierzy kowariancji, gdy ważna jest wariancja oryginalnej zmiennej, i korelacja, gdy nie jest.

Aksakal
źródło
2

Osobiście uważam za bardzo cenne omawianie tych opcji w świetle modelu analizy głównych składowych o najwyższym prawdopodobieństwie (MLPCA) [1,2]. W MLPCA stosuje się skalowanie (lub nawet obrót), dzięki czemu błędy pomiarowe mierzonych zmiennych są niezależne i rozkładane zgodnie ze standardowym rozkładem normalnym. To skalowanie jest również znane jako skalowanie maksymalnego prawdopodobieństwa (MALS) [3]. W niektórych przypadkach model PCA i parametr określający skalowanie / obrót MALS można oszacować razem [4].

Aby zinterpretować PCA oparte na korelacji i kowariancji, można następnie argumentować, że:

  1. PCA oparty na kowariancji jest równoważny MLPCA, ilekroć macierz wariancji-kowariancji błędów pomiaru przyjmuje się jako przekątną z równymi elementami na przekątnej. Parametr wariancji błędu pomiaru można następnie oszacować, stosując model probabilistycznej analizy składowych głównych (PPCA) [5]. Uważam to za uzasadnione założenie w kilku analizowanych przeze mnie przypadkach, szczególnie gdy wszystkie pomiary mają ten sam typ zmiennej (np. Wszystkie przepływy, wszystkie temperatury, wszystkie stężenia lub wszystkie pomiary absorbancji). Rzeczywiście, można bezpiecznie założyć, że błędy pomiaru takich zmiennych są rozłożone niezależnie i identycznie.
  2. PCA oparty na korelacji jest równoważny MLPCA, ilekroć macierz wariancji-kowariancji błędów pomiaru przyjmuje się jako przekątną, przy czym każdy element na przekątnej jest proporcjonalny do ogólnej wariancji odpowiadającej zmiennej mierzonej. Chociaż jest to popularna metoda, osobiście uważam, że założenie proporcjonalności jest nieuzasadnione w większości badanych przypadków. W konsekwencji oznacza to, że nie mogę interpretować PCA opartego na korelacji jako modelu MLPCA. W przypadkach, gdy (1) domniemane założenia PCA oparte na kowariancji nie mają zastosowania i (2) interpretacja MLPCA jest cenna, zalecam zamiast tego zastosować jedną z metod MLPCA [1-4].
  3. PCA oparte na korelacji i kowariancji dadzą dokładnie takie same wyniki - z mnożnika skalarnego - gdy poszczególne wariancje dla każdej zmiennej są dokładnie takie same. Gdy te poszczególne wariancje są podobne, ale nie takie same, obie metody przyniosą podobne wyniki.

Jak już podkreślono powyżej, ostateczny wybór zależy od przyjętych założeń. Ponadto użyteczność dowolnego konkretnego modelu zależy również od kontekstu i celu analizy. Cytując George'a EP Boxa: „Wszystkie modele są złe, ale niektóre są przydatne”.

[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K., i Kowalski, BR (1997). Analiza głównego składnika największej wiarygodności. Journal of Chemometrics, 11 (4), 339–366.

[2] Wentzell, PD i Lohnes, MT (1999). Analiza głównego składnika maksymalnego prawdopodobieństwa z korelowanymi błędami pomiaru: rozważania teoretyczne i praktyczne. Chemometrics and Intelligent Laboratory Systems, 45 (1-2), 65-85.

[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA i Smilde, AK (2006). Skalowanie maksymalnego prawdopodobieństwa (MALS). Journal of Chemometrics, 20 (3‐4), 120-127.

[4] Narasimhan, S. i Shah, SL (2008). Identyfikacja modelu i oszacowanie macierzy kowariancji błędów na podstawie zaszumionych danych przy użyciu PCA. Control Engineering Practice, 16 (1), 146-155.

[5] Tipping, ME i Bishop, CM (1999). Probabilistyczna analiza głównego składnika. Journal of Royal Statistics Society: Series B (Statistics Methodology), 61 (3), 611-622.

Kris Villez
źródło
-1

Prosto i prosto: jeśli skale są podobne, użyj cov-PCA, jeśli nie, użyj corr-PCA; w przeciwnym razie lepiej obronić się za nie. W razie wątpliwości należy zastosować test F dla równości wariancji (ANOVA). Jeśli test F nie powiedzie się, użyj corr; w przeciwnym razie użyj cov.

Bear Leg
źródło
2
-1. Nie rozumiem, dlaczego przeprowadzenie testu F może być tutaj istotne. PCA jest metodą eksploracyjną, a nie potwierdzającą (jak w przypadku testów statystycznych).
ameba
-5

Argumenty oparte na skali (dla zmiennych wyrażonych w tych samych jednostkach fizycznych) wydają się raczej słabe. Wyobraź sobie zestaw (bezwymiarowych) zmiennych, których odchylenia standardowe wynoszą od 0,001 do 0,1. W porównaniu ze znormalizowaną wartością 1, oba wydają się być „małymi” i porównywalnymi poziomami wahań. Kiedy jednak wyrażasz je w decybelach, daje to zakres -60 dB odpowiednio do -10 i 0 dB. Wtedy prawdopodobnie zostałoby to zaklasyfikowane jako „duży zakres” - szczególnie, gdybyś uwzględnił standardowe odchylenie zbliżone do 0, tj. Minus nieskończoność dB.

Moją sugestią byłoby ZROBIĆ PCA opartą na korelacji i kowariancji. Jeśli oba dają te same (lub bardzo podobne, cokolwiek to może znaczyć) komputery PC, możesz być pewny, że masz sensowną odpowiedź. Jeśli dają bardzo różne komputery, nie używaj PCA, ponieważ dwie różne odpowiedzi na jeden problem nie są rozsądnym sposobem rozwiązywania pytań.

Lucozade
źródło
9
(-1) Otrzymanie „dwóch różnych odpowiedzi na ten sam problem” często oznacza po prostu, że bezmyślnie odpychasz się, nie zastanawiając się, która technika jest odpowiednia do twoich celów analitycznych. Nie oznacza to, że jedna lub (jak twierdzisz) obie techniki nie są sensowne, ale tylko to, że co najmniej jedna może nie być odpowiednia dla problemu lub danych. Ponadto w wielu przypadkach można oczekiwać, że PCA oparte na kowariancji i PCA oparte na korelacji powinny dać różne odpowiedzi. W końcu mierzą różne aspekty danych. Wykonanie obu domyślnie nie miałoby sensu.
whuber
W rzeczywistości bardzo rozsądne jest uzyskanie 2 różnych odpowiedzi przy zastosowaniu PCA z korelacją i kowariancją. W przypadku zapasów chodzi o to, czy należy wziąć pod uwagę
betę