Rola wartości własnych w PCA

Jan 30 2023
z Julią, używając MultivariateStats… Czym są wartości własne? Wartości własne można traktować jako miarę wielkości zmienności danych, która jest wyjaśniana przez każdy główny składnik. Dane są zwykle macierzą lub liniową transformacją danych.

z Julią, używając MultivariateStats…

Zdjęcie Pritesh Sudra na Unsplash

Czym są wartości własne?

Wartości własne można traktować jako miarę wielkości zmienności danych, która jest wyjaśniana przez każdy główny składnik.

Dane są zwykle macierzą lub liniową transformacją danych.

W analizie głównych składników (PCA) wartości własne są używane do określenia względnego znaczenia każdego głównego składnika.

Jak obliczane są wartości własne?

Oblicza się je, rozwiązując równanie Av = λv, gdzie A jest macierzą, v jest niezerowym wektorem, a λ jest wartością skalarną zwaną wartością własną . Wektor v nazywany jest wektorem własnym macierzy A. Wartościami własnymi macierzy A są skalary λ, dla których równanie Av = λv ma niezerowe rozwiązanie.

Rozwiązanie polega na znalezieniu wartości własnych i wektorów własnych macierzy A. Wartości własne są rozwiązaniami równania charakterystycznego |A — λI| = 0, gdzie I jest macierzą tożsamości. Po znalezieniu wartości własnych można znaleźć wektory własne, rozwiązując równanie Av = λv dla każdej wartości własnej. Wektory własne są niezerowymi rozwiązaniami tego równania i są również znane jako wektory własne A.

Pierwsza główna składowa ma najwyższą wartość własną, a druga główna składowa ma drugą najwyższą wartość własną i tak dalej…

Głównymi składnikami są wektory własne macierzy kowariancji danych.

Spójrzmy na przykład

using MultivariateStats, Plots, StatsPlots, DataFrames, CSV;
data = CSV.read("Pizza.csv",DataFrame)

first(data,8)

      
                

Elementy w powyższym zbiorze danych są wymienione poniżej:

  • marka — Marka pizzy (etykieta klasy)
  • id — analizowanej próbki
  • mois — Ilość wody na 100 gramów na próbkę
  • prot — Ilość białka na 100 gramów na próbkę
  • fat — Ilość tłuszczu na 100 gramów na próbkę
  • popiół — Ilość popiołu na 100 gramów na próbkę
  • sód — ilość sodu na 100 gramów na próbkę
  • carb — Ilość węglowodanów na 100 gramów na próbkę
  • cal — Ilość kalorii na 100 gramów na próbkę

matrix = Array(data[:, 3:9])'

matrix'

      
                

M = fit(PCA, matrix;pratio=1,  maxoutdim=3)

      
                

W Julii pratio=1jest używany jako opcja w fitfunkcji. Odnosi się to do proporcji całkowitej wariancji, która powinna być wyjaśniona przez pierwsze kskładowe główne, gdzie kjest liczbą wymiarów w przekształconych danych. W tym przypadku, gdzie pratio=1, algorytm PCA zostanie uruchomiony w taki sposób, że pierwsze kskładowe główne wyjaśnią 100% całkowitej wariancji danych.

Produkowane są 3 główne komponenty.

Transpozycja macierzy

q = projection(M)'

      
                

Transpozycja macierzy to nowa macierz, w której wiersze i kolumny oryginalnej macierzy są odwrócone. W przypadku macierzy projekcji transpozycja jest również znana jako pseudoodwrotność macierzy Moore'a-Penrose'a. Transpozycja macierzy projekcji służy do rzutowania głównych składników danych z powrotem na pierwotną przestrzeń w celu uzyskania przybliżenia oryginalnych danych.

Działki

using Plots
h = plot(q[1,:], q[2,:], seriestype=:scatter, label=label="")
plot!(xlabel="PC1", ylabel="PC2", framestyle=:box)
title!("Principal Components")

      
                
T = principalvars(M) ./ tvar(M) * 100

PC1 przy 78,01 wyjaśnia większość wariancji pod względem procentu całkowitej wariancji wyjaśnionej przez każdy składnik, co również wyjaśnia poniższy wykres.

plot(T)
plot!(ylabel="Percentage")
title!("Variance by principal component")

      
                

Wartości własne odgrywają kluczową rolę w analizie głównych składowych (PCA). PCA to technika redukcji wymiarowości, która służy do przekształcania zestawu skorelowanych zmiennych w zestaw nieskorelowanych zmiennych zwanych głównymi składnikami. Głównymi składnikami są liniowe kombinacje oryginalnych zmiennych, a wartości własne macierzy korelacji/kowariancji danych są wykorzystywane do określenia względnego znaczenia każdego głównego składnika.

Wartości własne można traktować jako miarę wielkości zmienności danych, która jest wyjaśniana przez każdy główny składnik.

Wartości własne mogą również odgrywać rolę w MDS lub skalowaniu wielowymiarowym w tym sensie, że technika ta często polega na znalezieniu niskowymiarowej projekcji danych, która zachowuje największą ilość wariancji.

M = fit(MDS, matrix; distances=false)

plot(M)
title!("MDS Plot")

      
                

PCA (Principal Component Analysis) to metoda uczenia się bez nadzoru, ponieważ służy do analizowania i rozumienia wzorców w danych bez żadnej oznaczonej zmiennej wyjściowej lub docelowej. Służy do identyfikowania wzorców i relacji w danych oraz do zmniejszania wymiarowości danych przy jednoczesnym zachowaniu jak największej ilości informacji. Celem PCA jest znalezienie nowych zmiennych, zwanych głównymi składnikami, które są liniowymi kombinacjami oryginalnych zmiennych i które wychwytują jak najwięcej wariancji danych . Wartości własne odgrywają ważną rolę w PCA, ponieważ są używane do określenia wielkości wariancji przechwyconej przez każdy główny składnik.

Mam nadzieję, że podobał Ci się artykuł!

Połączmy się na Linkedin lub github lub śledź mnie, aby uzyskać więcej artykułów na temat Julii, Pythona lub R oraz stosowanych statystyk.