Ryzykując, że pytanie będzie specyficzne dla oprogramowania i pod pretekstem jego wszechobecności i osobliwości, chcę zapytać o funkcję biplot()
w R, a dokładniej o obliczenie i wykreślenie domyślnych, nałożonych na siebie czerwonych strzałek, odpowiadających do podstawowych zmiennych.
[Aby nadać sens niektórym komentarzom, początkowo opublikowane wykresy miały problem z brakiem zainteresowania, a teraz zostały usunięte.]
.74752, .66424; -.74752, .66424
.biplot(name_of_the_PCA)
wywołaniem, co w tym przypadku jestbiplot(PCA)
. Wyśrodkowałem i skalowałem dane.Odpowiedzi:
Poniższa opiera się na zbiorze Iris R , a zwłaszcza pierwsze trzy zmienne (kolumny)
Sepal.Length, Sepal.Width, Petal.Length
.Biplot łączy fabułę ładowania (unstandardized wektory własne) - w betonie, pierwsze dwa obciążenia i działki wynik (obrócone i rozszerzone Punkty danych wykreślono w stosunku do głównych składników). Korzystając z tego samego zestawu danych, @amoeba opisuje 9 możliwych kombinacji bipotu PCA w oparciu o 3 możliwe normalizacje wykresu punktowego pierwszego i drugiego głównego składnika oraz 3 normalizacje wykresu obciążenia (strzałki) zmiennych początkowych. Aby zobaczyć, jak R obsługuje te możliwe kombinacje, warto przyjrzeć się
biplot()
metodzie:Najpierw algebra liniowa gotowa do skopiowania i wklejenia:
1. Odtwarzanie wykresu załadunku (strzałki):
Tutaj bardzo pomaga interpretacja geometryczna tego postu autorstwa @ttnphns . Zachowano zapis diagramu w poście: oznacza zmienną w przestrzeni tematycznej . jest ostatecznie wykreśloną odpowiednią strzałką; a współrzędne i że składnik ładuje zmienną w odniesieniu do i :h ' 1 2 V PC 1 PC 2V h′ a1 a2 V PC1 PC2
Sepal L.
Składnikiem zmiennejPC1
Sepal L.
w odniesieniu do będzie wówczas:które, jeśli wyniki w odniesieniu do - nazwijmy je - są znormalizowane, aby ichPC1 S1
Ponieważ ,∥V∥=∑x2−−−−√
Również,
Wracając do Eq. ,(1)
r n - 1cos(ϕ) może zatem być uważana za współczynnik korelacji Pearsona , , z zastrzeżeniem, że nie rozumie się zmarszczek w czynnik.r n−1
Kopiowanie i nakładanie się na niebiesko czerwonych strzałek
biplot()
Punkty zainteresowania:
lub w kodzie R:
a nawet jeszcze ...
łącząc się z geometrycznym objaśnieniem ładunków przez @ttnphns lub innym postem informacyjnym również przez @ttnphns .
Istnieje czynnik skalowania:
sqrt(nrow(X) - 1)
który pozostaje nieco tajemnicą.2. Wykreślenie
biplot()
wykresu wyników (i strzałek jednocześnie):Osie są skalowane do sumy jednostkowej kwadratów, odpowiadającej pierwszemu wykresowi pierwszego rzędu na słupku @ amoeba , który można odtworzyć wykreślając macierz rozkładu svd (więcej na ten temat później) - " Kolumny : są to główne składniki skalowane do jednostkowej sumy kwadratów. ”UU U
Istnieją dwie różne skale podczas gry na dolnej i górnej poziomej osi w konstrukcji biplota:
Jednak skala względna nie jest od razu oczywista, co wymaga zagłębienia się w funkcje i metody:
biplot()
wykreśla wyniki jako kolumny w SVD, które są ortogonalnymi wektorami jednostek:Podczas gdy
prcomp()
funkcja w R zwraca wyniki skalowane do ich wartości własnych:Dlatego możemy przeskalować wariancję do , dzieląc przez wartości własne:1
Ale ponieważ chcemy, aby suma kwadratów wynosiła , musimy podzielić przez ponieważ:√1 n−1−−−−−√
Warto zauważyć, że użycie współczynnika skalowania zostało później zmienione na gdy zdefiniowanie wyjaśnienia wydaje się polegać na tym, że √n−1−−−−−√ n−−√
lan
Po usunięciu ich ze wszystkich
if
oświadczeń i innych puchów do czyszczenia domubiplot()
postępuje w następujący sposób:który, zgodnie z oczekiwaniami, odtwarza (prawy obraz poniżej) dane
biplot()
wyjściowe wywoływane bezpośredniobiplot(PCA)
(lewy wykres poniżej) we wszystkich jego nietkniętych niedociągnięciach estetycznych:Punkty zainteresowania:
ratio
). Komentarze AS @amoeba:źródło
R
do twojego pytania, ponieważ myląca materia (mianowicie współczynnik skalowania) okazała się częściowo specyficzna dla R. Zasadniczo można było zobaczyć, że dwupłat PCA jest nakładkowym wykresem rozproszenia wyników składowych (współrzędnych wiersza) i współczynników kierunku składowych (współrzędnych kolumn), a ponieważ do każdego z nich można zastosować różne wielkości standaryzacji według „bezwładności” (wariancji) z tego, więc mogą powstać różne spojrzenia na dwupłat. Aby dodać: najczęściej (bardziej sensownie), ładunki są wyświetlane jako współrzędne kolumny (strzałki).