Używam skryptu. To jest dla podstawowych zapisów. Mam ramkę danych, która pokazuje różne kompozycje elementarne w kolumnach na danej głębokości (w pierwszej kolumnie). Chcę z nim wykonać PCA i jestem zdezorientowany co do metody standaryzacji, którą muszę wybrać.
Czy ktoś z was wykorzystał te dane clr()
do przygotowania danych prcomp()
? Czy też zafałszowuje moje rozwiązania. Próbowałem użyć clr()
na danych przed użyciem prcomp()
funkcji oprócz korzystania ze skali atrybutów w prcomp()
.
data_f_clr<- clr(data_f)
data_pca <- prcomp(data_f, center = TRUE, scale. = TRUE)
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/prcomp.html
Skala jest opisana do skalowania danych, więc mają one wariancję jednostek. Ponieważ moje dane mają inną skalę, właśnie tego chciałem, tak myślę. Problem polega na tym, że otrzymuję inne rozwiązanie, kiedy używam powyższego kodu lub kiedy pomijam clr()
(co sprawia, że bardziej pożądany wynik). Ale chcę wiedzieć, dlaczego clr()
niepokojące w tym przypadku?
clr
...Odpowiedzi:
Mogą wystąpić pewne problemy z waniliowym PCA na współrzędnych CLR. Istnieją dwa główne problemy z danymi kompozycyjnymi:
Różne transformacje kompozycyjne dotyczą jednego lub obu tych problemów. W szczególności CLR przekształca dane, pobierając logarytm stosunku między obserwowanymi częstotliwościami a ich średnią geometryczną G ( x ) , tj.x G ( x )
Rozważ to teraz
Innymi słowy CLR usuwa ograniczenie zakresu wartości (co jest dobre w niektórych aplikacjach), ale nie usuwa ograniczenia sumy, co powoduje powstanie pojedynczej macierzy kowariancji, która skutecznie łamie (M) ANOVA / regresję liniową / ... i powoduje PCA wrażliwa na wartości odstające (ponieważ solidne oszacowanie kowariancji wymaga matrycy pełnej rangi). O ile mi wiadomo, ze wszystkich transformacji kompozycyjnych tylko ILR rozwiązuje oba problemy bez żadnych głównych założeń. Sytuacja jest jednak nieco bardziej skomplikowana. SVD współrzędnych CLR daje podstawę ortogonalną w przestrzeni ILR (współrzędne ILR obejmują hiperpłaszczyznę w CLR), więc twoje oszacowania wariancji nie będą się różnić między ILR i CLR (to oczywiście oczywiste, ponieważ zarówno ILR, jak i CLR są izometriami na simplex). Istnieją jednak metody solidnego oszacowania kowariancji na współrzędnych ILR [2].
Aktualizacja I
Aby zilustrować, że CLR nie jest poprawny dla metod korelacji i metod zależnych od lokalizacji. Załóżmy, że 100 razy próbkujemy grupę trzech liniowo niezależnych normalnie rozłożonych komponentów. Dla uproszczenia, niech wszystkie komponenty mają równe oczekiwania (100) i wariancje (100):
Aktualizacja II
Biorąc pod uwagę odpowiedzi, które otrzymałem, uważam za konieczne wskazanie, że w żadnym momencie mojej odpowiedzi nie powiedziałem, że PCA nie działa na danych przekształconych przez CLR. Stwierdziłem, że CLR może łamać PCA w subtelny sposób, co może nie być ważne dla zmniejszenia wymiarów, ale jest ważne dla analizy danych eksploracyjnych. Artykuł cytowany przez @Archie dotyczy ekologii drobnoustrojów. W tej dziedzinie biologii obliczeniowej PCA lub PCoA na różnych matrycach odległości są wykorzystywane do badania źródeł zmienności danych. Moja odpowiedź powinna być rozpatrywana tylko w tym kontekście. Co więcej, zostało to podkreślone w samym dokumencie:
Gloor i in., 2017
Aktualizacja III
Dodatkowe odniesienia do opublikowanych badań (dziękuję @Nick Cox za zalecenie dodania kolejnych referencji):
źródło
Tak, możesz, a właściwie powinieneś, kiedy twoje dane są kompozycyjne.
Przegląd z dziedziny mikrobiologii można znaleźć tutaj, który motywuje do zastosowania transformacji CLR, a następnie PCA do analizy zestawów danych mikrobiomów (które są zgodne z definicją): https://www.frontiersin.org/articles/10.3389/fmicb .2017.02224 / full .
źródło