📊 Wizualizator PCA i SVD — interaktywna analiza głównych składowych
Wygeneruj zbiór danych 2D, policz macierz kowariancji, zdiagonalizuj ją, by znaleźć główne składowe, i zobacz geometryczny rozkład SVD. Wyjaśniona wariancja i wektory własne na żywo.
O tej symulacji
Ta symulacja pokazuje, jak analiza głównych składowych (PCA) odnajduje kierunki największej wariancji w chmurze punktów 2D. Na podstawie wygenerowanych punktów oblicza średnią próby, buduje macierz kowariancji 2×2 C = XᵀX/(n−1) i analitycznie rozwiązuje jej równanie charakterystyczne, aby uzyskać dwie wartości własne λ₁ ≥ λ₂ oraz ich ortogonalne wektory własne. Te wektory własne to właśnie osie głównych składowych rysowane na płótnie.
Suwaki ustawiają liczbę punktów, rozrzuty σₓ i σᵧ, obrót θ wprowadzający korelację między osiami oraz szum gaussowski, dzięki czemu możesz obserwować macierz kowariancji i paski wyjaśnionej wariancji aktualizujące się na żywo. PC1 podąża wzdłuż długiej osi elipsy danych, PC2 — wzdłuż krótkiej. Ta sama matematyka leży u podstaw redukcji wymiarowości, kompresji obrazów poprzez obcięte SVD, „własnych twarzy” (eigenfaces) i modeli czynnikowych w finansach.
Najczęściej zadawane pytania
Co pokazuje ta symulacja?
Generuje chmurę punktów 2D i stosuje do niej analizę głównych składowych. Osie głównych składowych (PC1 i PC2) są rysowane przez średnią danych, skalowane odchyleniem standardowym, a wykres słupkowy pokazuje, jaką część całkowitej wariancji wyjaśnia każda składowa.
Jak faktycznie obliczane są główne składowe?
Strona centruje dane, tworzy macierz kowariancji 2×2 C = XᵀX/(n−1) i wyznacza jej wartości własne za pomocą kwadratowego wzoru opartego na śladzie i wyznaczniku. Każdy wektor własny jest następnie wyznaczany w postaci zamkniętej, więc PC1 i PC2 są dokładne, a nie estymowane iteracyjnie.
Co robią suwaki zbioru danych?
Liczba punktów N określa, ile próbek jest rysowanych; σₓ i σᵧ ustawiają rozrzut wzdłuż dwóch bazowych osi; obrót θ przechyla ten układ, wprowadzając korelację między x i y; a szum dodaje dodatkowe izotropowe drgania gaussowskie. Zmiana dowolnego suwaka regeneruje chmurę punktów i przelicza PCA.
Co oznacza tu współczynnik wyjaśnionej wariancji?
Współczynnik wyjaśnionej wariancji dla składowej to jej wartość własna podzielona przez sumę wszystkich wartości własnych, EVRₖ = λₖ/Σλⱼ. Słupek PC1 pokazuje, jaką część całkowitego rozrzutu obejmuje najdłuższa oś. Dla chmury o kształcie zbliżonym do koła oba słupki są bliskie 50%; dla mocno wydłużonej elipsy PC1 zbliża się do 100%.
Dlaczego elipsa 2σ jest rysowana w taki sposób?
Przerywana elipsa to kontur oddalony o dwa odchylenia standardowe od średniej wzdłuż każdej głównej osi. Jej półosie wynoszą 2√λ₁ i 2√λ₂, a sama elipsa jest obrócona tak, by pokrywać się z wektorami własnymi. Dla danych gaussowskich obejmuje ona około 86% punktów, dając wizualne podsumowanie kowariancji.
Co mówi mi wskaźnik uwarunkowania?
Pokazany wskaźnik uwarunkowania to stosunek dwóch wartości własnych, λ₁/λ₂. Duża wartość oznacza, że dane są mocno rozciągnięte, a macierz kowariancji jest bliska osobliwej, więc kierunek drugorzędny niesie niewiele informacji. Gdy PC2 zapada się niemal do zera, odczyt pokazuje nieskończoność.
Jak SVD odnosi się do pokazanej PCA?
PCA dla X jest równoważna rozkładowi według wartości osobliwych (SVD) macierzy X/√(n−1). Główne składowe to prawe wektory osobliwe, a wartości osobliwe spełniają σₖ = √((n−1)λₖ). Obliczanie SVD bezpośrednio na danych jest numerycznie bardziej stabilne niż rozkład macierzy kowariancji na wartości własne, choć oba podejścia dają te same osie.
Czy mogę samodzielnie edytować dane?
Tak. Kliknij w dowolnym miejscu na płótnie, aby dodać pojedynczy punkt, naciśnij „Regeneruj”, aby narysować nową losową chmurę na podstawie bieżących ustawień suwaków, lub użyj „Wyczyść”, aby opróżnić płótno. PCA jest przeliczana po każdej zmianie, więc możesz zbudować własny rozkład i od razu zobaczyć jego główne osie.
Czy obliczenie wartości własnych jest dokładne?
Dla symetrycznej macierzy 2×2 jest dokładne. Wartości własne otrzymuje się ze wzoru λ = tr/2 ± √(tr²/4 − det), który jest analitycznym rozwiązaniem wielomianu charakterystycznego. Obie wartości własne są ograniczone od dołu zerem, co odpowiada faktowi, że rzeczywista macierz kowariancji jest dodatnio półokreślona.
Co oznacza rzutowanie na składową?
Włączenie rzutowań rysuje linię od każdego punktu do jego podstawy na osi PC1, ilustrując redukcję wymiarowości. Zachowanie tylko współrzędnej PC1 odrzuca informację PC2; kwadrat długości tych odrzuconych odcinków równa się błędowi rekonstrukcji, który PCA minimalizuje dla dowolnie wybranej liczby składowych.
Gdzie PCA jest wykorzystywana w praktyce?
PCA i SVD napędzają kompresję obrazów, rozpoznawanie twarzy poprzez „własne twarze” (eigenfaces), analizę struktury populacji w genomice, modele czynnikowe w finansach oraz redukcję szumu przed klasteryzacją lub regresją. W mechanice kwantowej blisko spokrewniony rozkład Schmidta diagonalizuje zredukowaną macierz gęstości układu dwuczęściowego.