Jaka jest różnica między „ładunkami” a „ładunkami korelacyjnymi” w PCA i PLS?


11

Podczas wykonywania głównej analizy składowej (PCA) powszechną rzeczą do zrobienia jest wykreślenie dwóch obciążeń względem siebie w celu zbadania zależności między zmiennymi. W pracy dołączonej do pakietu PLS R do wykonywania regresji głównej składowej i regresji PLS istnieje inny wykres, zwany wykresem ładunków korelacyjnych (patrz rysunek 7 i strona 15 w pracy). Loading korelacja , jak wyjaśniono, jest korelacja między punktacji (od PCA lub PLS) i rzeczywista obserwowana danych.

Wydaje mi się, że ładunki i ładunki korelacyjne są dość podobne, z tym wyjątkiem, że są skalowane nieco inaczej. Powtarzalny przykład w R z wbudowanym zestawem danych mtcars jest następujący:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

ładowanie działki korelacja obciążenia w plamce

Jaka jest różnica w interpretacji tych wykresów? A z jakiej działki (jeśli w ogóle) najlepiej skorzystać w praktyce?


dla lepszego widoku pca, użyj biplot (pca), pokazuje ładowanie i wyniki pca, dzięki czemu możesz lepiej go interpretować.
Paul

6
R prcomppakiet lekkomyślnie nazywa wektory własne „ładowaniami”. I rada , aby utrzymać te terminy rozdzielić. Ładunki są wektorami własnymi skalowanymi do odpowiednich wartości własnych.
ttnphns

1
Wyjaśnienie geometrii działki ładunkowej: stats.stackexchange.com/a/119758/3277
ttnphns

Odpowiedzi:


13

Ostrzeżenie: Rużywa terminu „ładunki” w mylący sposób. Wyjaśnię to poniżej.

Rozważ zestaw danych z (wyśrodkowanymi) zmiennymi w kolumnach i punktami danych w wierszach. Wykonanie PCA tego zestawu danych oznacza rozkład pojedynczej wartości . Kolumny są głównymi składnikami (PC "score"), a kolumny są głównymi osiami. Macierz kowariancji podaje , więc główne osie są wektorami własnymi macierzy kowariancji.XNX=USVUSV1N1XX=VS2N1VV

„Ładunki” są zdefiniowane jako kolumny , tzn. Są wektorami własnymi skalowanymi przez pierwiastki kwadratowe odpowiednich wartości własnych. Różnią się od wektorów własnych! Zobacz moją odpowiedź tutaj, aby uzyskać motywację.L=VSN1

Za pomocą tego formalizmu możemy obliczyć macierz krzyżowej kowariancji między oryginalnymi zmiennymi a znormalizowanymi komputerami PC: tzn. Jest podany przez ładunki. Macierz korelacji krzyżowej między zmiennymi oryginalnymi a komputerami jest podawana przez to samo wyrażenie podzielone przez standardowe odchylenia pierwotnych zmiennych (z definicji korelacji). Jeśli pierwotne zmienne zostały znormalizowane przed wykonaniem PCA (tj. PCA przeprowadzono na macierzy korelacji), wszystkie są równe . W tym ostatnim przypadku macierz korelacji krzyżowej jest ponownie podana po prostu przez .

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

Aby wyjaśnić nieporozumienia terminologiczne: to, co pakiet R nazywa „ładunkami”, jest osiami głównymi, a to, co nazywa „ładunkami korelacyjnymi”, w rzeczywistości (dla PCA wykonywanych na macierzy korelacji) w rzeczywistości ładuje. Jak zauważyłeś, różnią się one tylko skalowaniem. Co lepiej knuć, zależy od tego, co chcesz zobaczyć. Rozważ następujący prosty przykład:

Biploty

Lewy wykres podrzędny pokazuje ustandaryzowany zestaw danych 2D (każda zmienna ma wariancję jednostkową), rozciągnięty wzdłuż głównej przekątnej. Środkowy wykres podrzędny jest dwupłatowy : jest to wykres rozproszenia PC1 vs PC2 (w tym przypadku po prostu zestaw danych obrócony o 45 stopni) z rzędami naniesionymi na wierzch jako wektory. Należy zauważyć, że i wektory są o 90 stopni od siebie; mówią ci, jak orientowane są oryginalne osie. Prawy podplot to ten sam biplot, ale teraz wektory pokazują wiersze . Należy zauważyć, że teraz i wektory kąt ostry między nimi; mówią ci, jak wiele oryginalnych zmiennych jest skorelowanych z komputerami PC oraz zarówno jak i x y L x y x yVxyLxyxysą znacznie silniej skorelowane z PC1 niż z PC2. I przypuszczam , że większość ludzi najczęściej wolą zobaczyć odpowiedni rodzaj biplot.

Zauważ, że w obu przypadkach zarówno wektory jak i mają długość jednostkową. Stało się tak tylko dlatego, że zestaw danych miał na początek 2D; w przypadku, gdy jest więcej zmiennych, poszczególne wektory mogą mieć długość mniejszą niż , ale nigdy nie mogą sięgać poza koło jednostki. Dowód tego faktu zostawiam jako ćwiczenie.y 1xy1

Przyjrzyjmy się teraz zestawowi danych mtcars . Oto biplot PCA wykonany na macierzy korelacji:

mtcars pca biplot

Czarne linie są wykreślane za pomocą , czerwone linie są wykreślane za pomocą .L.VL

A oto biplot PCA wykonany na macierzy kowariancji:

mtcars pca biplot

Tutaj przeskalowałem wszystkie wektory i koło jednostki o , ponieważ w przeciwnym razie nie byłoby to widoczne (jest to powszechnie stosowana sztuczka). Ponownie, czarne linie pokazują rzędy , a czerwone linie pokazują korelacje między zmiennymi a komputerami PC (których nie podaje już , patrz wyżej). Zauważ, że widoczne są tylko dwie czarne linie; dzieje się tak, ponieważ dwie zmienne mają bardzo dużą wariancję i dominują w zestawie danych mtcars . Z drugiej strony widać wszystkie czerwone linie. Oba przedstawienia przekazują przydatne informacje.V L.100VL

PS Istnieje wiele różnych wariantów bipotów PCA, zobacz moją odpowiedź tutaj, aby uzyskać dalsze wyjaśnienia i przegląd: Umieszczanie strzałek na biplocie PCA . Najładniejszy biplot, jaki kiedykolwiek opublikowano na CrossValidated, można znaleźć tutaj .


2
Chociaż jest to bardzo dobra odpowiedź (+1), ma jedną właśnie słabość dydaktyczną, polegającą na tym, że początkowo umieszcza zmienne w wierszach X, a nie w kolumnach X, jak to zwykle bywało w zestawach danych statystycznych / przykładach. Z powodu tej transpozycji wektory U stają się odpowiedzią na zmienne, a V na przypadki. Większość ludzi znających PCA jest przyzwyczajona do przeciwnego układu; więc to trochę utrudnia postrzeganie.
ttnphns

1
Mógłbym zalecić werbalne podkreślenie „moralności” różnicy między „biplotem osi” a „biplotem obciążeń” na skanie. W pierwszym przypadku zmienność (= skala, = powiększenie, = bezwładność, = masa) nie jest prezentowana: jest przechowywana w wartościach własnych. W drugim przypadku całkowicie oddano wektory własne reprezentujące zmienne; dzięki temu „ożywieniu” zmienne stają się znaczącą chmurą danych dwóch punktów lub wektorów o określonych długościach od źródła i określonego kąta. W ten sposób „nagle” znajdujemy się w przestrzeni tematycznej .
ttnphns

Dzięki @ttnphns, oba dobre punkty. Jeśli chodzi o wiersze / kolumny : w rzeczywistości wolę układ, którego użyłem. Pojedynczy punkt danych jest zwykle zapisywany jako wektor kolumny . Macierz działająca na niej zostanie zapisana jako . Jeśli teraz jest zbiorem wektorów kolumn ułożonych razem, to mogę napisać , co jest wygodne. Jeśli zamiast tego, ma próbki w wierszach, tak jak to zalecacie, musiałbym napisać , co wygląda dziwnie. Przyznaję jednak, że wiele podręczników korzysta z tej konwencji (nie jestem pewien, dlaczego). x U U x X U X X X UXxUUxXUXXXU
ameba

1
Jest to oczywiście kwestia gustu. Pamiętaj jednak, że znakomita większość programów statystycznych wyświetla arkusze danych jako cases X variables. Zgodnie z tradycją algebra liniowa w większości tekstów analizy statystycznej tworzy wektor rzędów. Może w uczeniu maszynowym jest inaczej?
ttnphns

1
@ użytkownik_anon Nie, ta odpowiedź dotyczy standardowego PCA, bez rotacji czynników.
ameba
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.