Dlaczego dzielimy się przez odchylenie standardowe, a nie jakiś inny czynnik standaryzujący przed wykonaniem PCA?

17

Czytałem następujące uzasadnienie (z notatek kursowych cs229), dlaczego dzielimy surowe dane przez standardowe odchylenie:

wprowadź opis zdjęcia tutaj

chociaż rozumiem, co mówi to wyjaśnienie, nie jest dla mnie jasne, dlaczego podzielenie przez odchylenie standardowe osiągnęłoby taki cel. Mówi się, że wszyscy są bardziej na tej samej „skali”. Jednak nie do końca jasne jest, dlaczego dzielenie przez odchylenie standardowe osiąga to. Cóż jest nie tak z dzieleniem przez wariancję? Dlaczego nie inna ilość? Jak ... suma wartości bezwzględnych? lub jakaś inna norma ... Czy istnieje matematyczne uzasadnienie wyboru choroby przenoszonej drogą płciową?

Czy twierdzenia w tym wyciągu są teoretycznym stwierdzeniem, które można wyprowadzić / udowodnić za pomocą matematyki (i / lub statystyki), czy też jest bardziej jednym z tych stwierdzeń, które robimy, ponieważ wydaje się, że działa w praktyce?

Zasadniczo, czy można podać dokładne matematyczne wyjaśnienie, dlaczego ta intuicja jest prawdziwa? A jeśli jest to tylko obserwacja empiryczna, dlaczego uważamy, że działa to ogólnie przed wykonaniem PCA?

Czy w kontekście PCA jest to proces standaryzacji lub normalizacji?


Niektóre inne przemyślenia, które mogłem „wyjaśnić”, dlaczego STD:

Ponieważ PCA można wyprowadzić z maksymalizacji wariancji, domyśliłem się, że dzielenie przez pokrewną wielkość, taką jak STD, może być jednym z powodów, dla których podzieliliśmy się przez STD. Ale potem pomyślałem, że może gdybyśmy zdefiniowali może „wariancję” z jakąkolwiek inną normą, , wówczas dzielilibyśmy przez STD tej normy (biorąc pth root lub coś w tym rodzaju). Chociaż było to tylko przypuszczenie i nie jestem w 100% o tym, stąd pytanie. Zastanawiałem się, czy ktoś wiedział coś z tym związanego.1ni=1n(xiμ)p


Widziałem, że może być związane z tym pytanie:

PCA o korelacji lub kowariancji?

ale wydawało się, że mówi się więcej o tym, kiedy użyć „korelacji” lub „kowariancji”, ale brakowało jej rygorystycznych lub przekonujących lub szczegółowych uzasadnień, a to mnie najbardziej interesuje.

To samo dla:

Dlaczego musimy znormalizować dane przed analizą

związane z:

Zmienne „normalizujące” dla SVD / PCA

Pinokio
źródło
1
Istnieje matematyczny powód - podzielenie (wyśrodkowanych) danych przez SD dla każdej zmiennej tworzy transformowany zestaw danych, którego macierz kowariancji jest po prostu macierzą korelacji oryginalnych (wyśrodkowanych) danych. Następnie znów jesteśmy w korelacji względem terytorium macierzy kowariancji. Szukasz dowodu na to, jak normalizacja danych przekształca macierz kowariancji w macierz korelacji?
Silverfish,
Twoje pytanie tytułowe brzmi tak, jakbyś pytał, jaki jest cel jego normalizacji (a nie normalizacji). Byłby to duplikat „PCA o korelacji lub kowariancji”. Jednak wydaje się, że w rzeczywistości pytasz, dlaczego normalizacja odbywa się poprzez dzielenie przez STD (w przeciwieństwie do dzielenia przez wariancję lub zakres itp.). Jeśli tak, to może chcesz edytować, aby uściślić pytanie tytułowe?
ameba mówi Przywróć Monikę
3
Jeśli chodzi o terminologię, „normalizacja” nie jest precyzyjnym terminem i może odnosić się do różnych rzeczy. Natomiast „standaryzacja” oznacza odjęcie średniej i podzielenie przez standardowe odchylenie, do którego się odnosisz.
ameba mówi Przywróć Monikę
2
Powinienem dodać, że myślę, że twoje pytanie jest bardzo dobre (+1). Można rzeczywiście normalizować, dzieląc przez coś innego; na przykład odchylenie standardowe jest bardzo mało wiarygodnym środkiem i może wprowadzać w błąd w obecności silnych wartości odstających. Można zamiast tego wybrać podział przez pewną miarę rozprzestrzeniania się (patrz np. „Mediana absolutnego odchylenia”). Nie ma „ścisłego matematycznego wyjaśnienia”, dlaczego stosowanie STD jest najlepszym sposobem na normalizację, i masz rację, że jest to „tylko obserwacja empiryczna”, że często działa dobrze.
ameba mówi Przywróć Monikę
2
Re „dlaczego zamiast tego nie podzielić przez wariancję” - można to dość łatwo wytłumaczyć niespójnością wymiarową. Dałoby to dziwne wyniki, jeśli zmieniłeś jednostki, na przykład jedną ze zmiennych. Re „dlaczego nie podzielić przez MAD” - gdyby dane były normalnie dystrybuowane, to skoro (w populacji) MAD jest proporcjonalny do SD, możliwe byłoby podzielenie przez odpowiednią wielokrotność MAD i uzyskanie (nieefektywnego, ale być może solidnego? ) oszacowanie korelacji. To jest bardziej interesujące.
Silverfish,

Odpowiedzi:

11

Jest to częściowa odpowiedź na „nie jest dla mnie jasne, dlaczego podzielenie przez odchylenie standardowe osiągnęłoby taki cel”. W szczególności dlaczego umieszcza przekształcone (znormalizowane) dane w „tej samej skali”. Pytanie wskazuje na głębsze kwestie (co jeszcze mogłoby „zadziałać”, co jest powiązane z tym, co „działało” może nawet oznaczać matematycznie?), Ale rozsądne było przynajmniej odniesienie się do bardziej prostych aspektów, dlaczego ta procedura „działa” - to znaczy spełnia twierdzenia przedstawione w tekście.

ijithjthiiithith

ithXijthXj

Cov(Xi,Xj)=σXiσXjCor(Xi,Xj)

Zi=XiσXi

Var(Zi)=Var(XiσXi)=1σXi2Var(Xi)=1σXi2σXi2=1

Zjij

Cov(Zi,Zj)=σZiσZjCor(Zi,Zj)=Cor(Zi,Zj)

Cor(Zi,Zj)Cor(Xi,Xj)

Cov(Zi,Zi)=Var(Zi)=1więc cała przekątna jest wypełniona jedynymi, jak można się spodziewać. W tym sensie dane są teraz „w tej samej skali” - ich rozkłady krańcowe powinny wyglądać bardzo podobnie, przynajmniej jeśli byłyby one z grubsza normalnie rozmieszczone na początku, ze średnią zero i wariancją (i odchyleniem standardowym). Nie jest już tak, że zmienność jednej zmiennej powoduje zalanie pozostałych. Oczywiście można by podzielić przez inną miarę rozprzestrzeniania się. Wariancja byłaby szczególnie złym wyborem ze względu na niespójność wymiarową (zastanów się, co by się stało, gdybyś zmienił jednostki, w których znajdowała się jedna ze zmiennych, np. Z metrów na kilometry). Coś w rodzaju mediany bezwzględnego odchylenia (lub odpowiedniej wielokrotności MADjeśli próbujesz użyć go jako pewnego rodzaju estymatora odchylenia standardowego), może być bardziej odpowiednie. Ale nadal nie zmieni tej przekątnej w przekątną jedności.

Rezultatem jest to, że metoda, która działa na macierzy kowariancji znormalizowanych danych, zasadniczo wykorzystuje macierz korelacji oryginalnych danych. Dla których wolisz używać PCA, zobacz PCA na temat korelacji lub kowariancji?

Silverfish
źródło
2
Myślę, że ta odpowiedź tak naprawdę nie dotyka rzeczywistego (i nietrywialnego) pytania, dlaczego odchylenie standardowe jest traktowane jako miara rozprzestrzeniania się i wykorzystywane do normalizacji. Dlaczego zamiast tego nie wziąć mediany absolutnego odchylenia? To prawda, że ​​wynikowa macierz kowariancji nie będzie „domyślną” macierzą korelacji, ale być może będzie lepsza, np. Bardziej solidne oszacowanie macierzy korelacji. Zobacz także mój ostatni komentarz do PO.
ameba mówi Przywróć Monikę
2
@ameoba W punkcie „średnio głębokim” fakt, że otrzymujemy wariancje o jeden w dół po przekątnej nowej macierzy kowariancji, jest zasadniczo tym, co rozumiemy przez to, że przekształcone dane mają zmienne „w tej samej skali” z perspektywy PCA. Jeśli chodzi o „bardzo głębokie” kwestie poruszone przez to pytanie, nie jestem pewien, czy istnieje duża różnica między pytaniem „cóż, dlaczego używamy wariancji jako naszej miary skali w PCA?” i pytając „dlaczego PCA zajmuje się (ko) wariancjami?” - a przynajmniej, że te dwie kwestie byłyby ściśle powiązane.
Silverfish,
1
@amoeba, dlaczego nie podzielić przez MAD lub przez wariancję zamiast SD, to w zasadzie to samo pytanie, dlaczego w ogóle różnicowo skalować: to znaczy, dlaczego nie robić PCA na kowariancjach zamiast tego? Popieram ten pomysł w poprzednim komentarzu.
ttnphns
1
@ttnphns: Jeśli różne zmienne mają całkowicie nieporównywalne skale (temperatura, długość, waga itp.), to chęć normalizacji zmiennych jest całkiem zrozumiała. To jest powszechny argument za użyciem macierzy korelacji zamiast macierzy kowariancji. Ale jeśli ktoś martwi się wartościami odstającymi, nie widzę nic złego w odejmowaniu mediany zamiast średniej i dzieleniu przez MAD zamiast SVD ... Nigdy tego nie zrobiłem, ale myślę, że to rozsądne.
ameba mówi Przywróć Monikę
1
@amoeba, Linear PCA potrzebuje matrycy, aby była matrycą typu SSCP . Każda transformacja liniowa oryginalnych zmiennych zachowuje ten typ. Oczywiście można również wykonać dowolną transformację nieliniową (taką jak na przykład ranking, aby uzyskać macierz rho Spearmana), ale następnie wyniki komponentów i ładunki tracą bezpośrednie (w sensie minimalizacji kwadratów) połączenie z danymi: teraz reprezentują przekształcone dane!
ttnphns,
5

Dlaczego dzielimy przez odchylenie standardowe,
co jest złego w dzieleniu przez wariancję?

z

Zatem: standaryzacja (średnie centrowanie + skalowanie według odchylenia standardowego) ma sens, jeśli uważasz, że standardowy rozkład normalny jest odpowiedni dla twoich danych.

Dlaczego nie inna ilość? Jak ... suma wartości bezwzględnych? lub jakaś inna norma ...

Inne wielkości są używane do skalowania danych, ale procedura nazywa się standaryzacją tylko wtedy, gdy wykorzystuje średnie centrowanie i dzielenie przez odchylenie standardowe. Skalowanie jest terminem ogólnym.

Np. Pracuję z danymi spektroskopowymi i wiem, że mój detektor ma czułość zależną od długości fali i odchylenie (elektroniczne). W ten sposób kalibruję odejmując sygnał przesunięcia (ślepej) i mnożąc (dzieląc) przez współczynnik kalibracji.

Mogę też koncentrować się nie na średniej, ale na innej wartości wyjściowej, takiej jak średnia grupy kontrolnej zamiast średniej średniej. (Osobiście prawie nigdy nie standaryzuję, ponieważ moje odmiany mają już tę samą jednostkę fizyczną i mają ten sam rząd wielkości)

Zobacz też: Zmienne są często dostosowywane (np. Standaryzowane) przed wykonaniem modelu - kiedy jest to dobry pomysł, a kiedy zły?

cbeleites obsługuje Monikę
źródło
+1. Ładny przykład z danymi spektroskopowymi. Nawiasem mówiąc, gratuluję osiągnięcia 10 000 powtórzeń!
ameba mówi Przywróć Monikę
0

Ten link wyraźnie odpowiada na twoje pytanie: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

Cytuję mały kawałek:

Standaryzacja Z-score czy skalowanie Min-Max?

„Standaryzacja czy skalowanie Min-Max?” - Nie ma oczywistej odpowiedzi na to pytanie: to naprawdę zależy od aplikacji.

Na przykład w analizach klastrowych standaryzacja może być szczególnie istotna w celu porównania podobieństw między cechami w oparciu o określone miary odległości. Innym ważnym przykładem jest analiza głównych składników, w której zwykle wolimy standaryzację niż skalowanie Min-Max, ponieważ interesują nas składniki, które maksymalizują wariancję (w zależności od pytania i tego, czy PCA oblicza składniki za pomocą macierzy korelacji zamiast macierz kowariancji, ale więcej o PCA w moim poprzednim artykule).

Nie oznacza to jednak, że skalowanie Min-Max w ogóle nie jest przydatne! Popularną aplikacją jest przetwarzanie obrazu, w którym intensywność pikseli musi zostać znormalizowana, aby mieściła się w określonym zakresie (tj. Od 0 do 255 dla zakresu kolorów RGB). Ponadto typowy algorytm sieci neuronowej wymaga danych w skali 0-1.

Esra
źródło