Po co logować transformację danych przed przeprowadzeniem analizy głównych składników?

16

Im podążam za tutorialem tutaj: http://www.r-bloggers.com/computing-and-visualizing-pca-in-r/, aby lepiej zrozumieć PCA.

Samouczek używa zestawu danych Iris i stosuje transformację dziennika przed PCA:

Zauważ, że w poniższym kodzie stosujemy transformację logarytmiczną do zmiennych ciągłych, zgodnie z sugestią [1], i ustawiamy centeri scalerównoważymy TRUEw wywołaniu prcompstandaryzacji zmiennych przed zastosowaniem PCA.

Czy ktoś mógłby mi wyjaśnić prostym językiem angielskim, dlaczego po raz pierwszy użyjesz funkcji dziennika w pierwszych czterech kolumnach zestawu danych Iris. Rozumiem, że ma to coś wspólnego z tworzeniem danych względnych, ale nie jestem pewien, jaka jest dokładnie funkcja dziennika, centrum i skali.

Odniesienie [1] powyżej dotyczy Venables i Ripley, Modern stosowane statystyki z S-PLUS , Rozdział 11.1, który krótko mówi:

Dane są pomiarami fizycznymi, więc rozsądną strategią początkową jest praca w skali logarytmicznej. Zostało to zrobione przez cały czas.

Marc van der Peet
źródło
Powiązane: stats.stackexchange.com/questions/319794 .
Ameba mówi Przywróć Monikę

Odpowiedzi:

19

Zestaw danych tęczówki jest doskonałym przykładem do nauki PCA. To powiedziawszy, pierwsze cztery kolumny opisujące długość i szerokość działek i płatków nie są przykładem mocno wypaczonych danych. Dlatego transformacja logów danych nie zmienia bardzo wyników, ponieważ wynikowa rotacja głównych składników jest niezmieniona przez transformację logów.

W innych sytuacjach log-transformacja jest dobrym wyborem.

Wykonujemy PCA, aby uzyskać wgląd w ogólną strukturę zestawu danych. Centrujemy, skalujemy, a czasem log-transform, aby odfiltrować niektóre trywialne efekty, które mogłyby zdominować nasz PCA. Algorytm PCA z kolei znajdzie obrót każdego PC, aby zminimalizować kwadratowe resztki, a mianowicie sumę kwadratowych prostopadłych odległości od dowolnej próbki do PC. Duże wartości mają zwykle wysoką dźwignię.

Wyobraź sobie, że wstrzykujesz dwie nowe próbki do danych tęczówki. Kwiat o długości płatka 430 cm i jeden o długości płatka 0,0043 cm. Oba kwiaty są bardzo nietypowe, są odpowiednio 100 razy większe i 1000 razy mniejsze niż przeciętne przykłady. Dźwignia pierwszego kwiatu jest ogromna, tak że pierwsze komputery PC głównie opisują różnice między dużym kwiatem a każdym innym kwiatem. Grupowanie gatunków nie jest możliwe z powodu tej jednej wartości odstającej. Jeśli dane są przekształcane w dzienniku, wartość bezwzględna opisuje teraz względną zmienność. Teraz mały kwiat jest najbardziej nienormalny. Niemniej jednak możliwe jest zarówno zawarcie wszystkich próbek na jednym zdjęciu, jak i zapewnienie sprawiedliwego skupienia gatunków. Sprawdź ten przykład:

data(iris) #get data
#add two new observations from two new species to iris data
levels(iris[,5]) = c(levels(iris[,5]),"setosa_gigantica","virginica_brevis")
iris[151,] = list(6,3,  430  ,1.5,"setosa_gigantica") # a big flower
iris[152,] = list(6,3,.0043,1.5  ,"virginica_brevis") # a small flower

#Plotting scores of PC1 and PC" without log transformation
plot(prcomp(iris[,-5],cen=T,sca=T)$x[,1:2],col=iris$Spec)

wprowadź opis zdjęcia tutaj

#Plotting scores of PC1 and PC2 with log transformation
plot(prcomp(log(iris[,-5]),cen=T,sca=T)$x[,1:2],col=iris$Spec)

wprowadź opis zdjęcia tutaj

Soren Havelund Welling
źródło
2
Ładne demo i fabuły.
shadowtalker
3

Cóż, druga odpowiedź podaje przykład, kiedy transformacja logarytmiczna jest używana do zmniejszenia wpływu ekstremalnych wartości lub wartości odstających.
Kolejny ogólny argument pojawia się, gdy próbujesz analizować dane, które są multiplikatywnie złożone zamiast addytywnie - model PCA i FA według ich matematyki takich dodatków. Mnożnykompozycje występują w najprostszym przypadku w danych fizycznych, takich jak powierzchnia i objętość ciał (funkcjonalnie) zależne (na przykład) od trzech parametrów długości, szerokości i głębokości. Można odtworzyć kompozycje z historycznego przykładu wczesnego PCA, myślę, że nazywa się to „problemem kuli Thurstone'a (lub„ kostkami ”) lub podobnym. Kiedyś bawiłem się danymi z tego przykładu i odkryłem, że dane przekształcone logarytmicznie dały o wiele ładniejszy i wyraźniejszy model składu mierzonych danych objętościowych i powierzchniowych za pomocą trzech miar jednowymiarowych.

Oprócz takich prostych przykładów, jeśli weźmiemy pod uwagę interakcje danych w badaniach społecznych , zwykle uważamy je za dobrze, a także multiplikatywnie złożone pomiary bardziej elementarnych elementów. Jeśli więc przyjrzymy się konkretnie interakcjom, transformacja logów może być specjalnym pomocnym narzędziem do uzyskania modelu matematycznego dekompozycji.

Gottfried Helms
źródło
Czy mógłbyś wymienić niektóre referencje, które mogą lepiej wyjaśnić kompozycje „multiplikatywne”? Wielkie dzięki!
Amatya
1
@Amatya - nie znalazłem „problemu ze skrzynką z kamieniami”, ale (niemiecka) dyskusja na stronie o kostkach, zawierająca szerokość, długość, wysokość jako podstawowe elementy i powierzchnie oraz objętość jako multiplikatywne kombinacje dodatkowych elementów. Być może zawarte formuły definicji są wystarczające. Zobacz sgipt.org/wisms/fa/Quader/q00.htm
Gottfried Helms
1
Ach, i zapomniałem - moja stara dyskusja na temat tego go.helms-net.de/stat/fa/SGIPT_Quader.htm
Gottfried Helms
@GottfriedHelms Nadal nie rozumiem, dlaczego jeśli standaryzujemy zmienne, musimy je również przekształcić logicznie. Rozumiem ogólną zasadę zmniejszania niepożądanego wpływu skrajnych wartości odstających, ale jeśli już je znormalizujemy (centrowanie, skalowanie), wygląda na to, że transformacja logów dodatkowo powoduje zniekształcenie danych.
Yu Chen,
@YuChen - dowolna transformacja log przekształca skład multiplikatywnie w addytywny , a skład addytywny jest podstawowym założeniem (oprócz liniowości itp.) Wszystkich typów składników i analizy czynnikowej. Więc jeśli twoje dane zawierają multiplikatywny skład, transformacja logów powinna być opcją wartą rozważenia.
Gottfried Helms