Czy analizę głównych składników można zastosować do zbiorów danych zawierających mieszankę zmiennych ciągłych i kategorycznych?

147

Mam zestaw danych, który zawiera zarówno dane ciągłe, jak i kategoryczne. Analizuję za pomocą PCA i zastanawiam się, czy dobrze jest uwzględnić zmienne kategorialne jako część analizy. Rozumiem, że PCA można zastosować tylko do zmiennych ciągłych. Czy to jest poprawne? Jeśli nie można go użyć do danych kategorycznych, jakie są alternatywy dla ich analizy?

Nikolina Icitovic
źródło

Odpowiedzi:

87

Chociaż PCA zastosowane do danych binarnych dałoby wyniki porównywalne z wynikami uzyskanymi z analizy wielokrotnej korespondencji (wyniki czynnikowe i wartości własne są liniowo powiązane), istnieją bardziej odpowiednie techniki radzenia sobie z mieszanymi typami danych, a mianowicie analiza wielu czynników dla mieszanych danych dostępnych w FactoMineR pakiet P ( AFDM()). Jeśli twoje zmienne można uznać za ustrukturyzowane podzbiory atrybutów opisowych, wówczas opcja Multiple Factor Analysis ( MFA()) jest również opcją.

Wyzwaniem związanym ze zmiennymi kategorialnymi jest znalezienie odpowiedniego sposobu reprezentowania odległości między kategoriami zmiennych a jednostkami w przestrzeni silni. Aby rozwiązać ten problem, możesz poszukać nieliniowej transformacji każdej zmiennej - czy to nominalnej, porządkowej, wielomianowej czy numerycznej - z optymalnym skalowaniem. Jest to również opisane w Gifi Metody optymalnego skalowania R: homals opakowania , i realizacja jest dostępny w odpowiednich pakietów R homals .

chl
źródło
2
chl, dzięki za wskaźnik do FADM. Zastanawiałem się jednak: kiedy zastosuję FADM do zbioru danych (obj <- FADM (x)), mogę łatwo uzyskać dostęp do przekształconego zestawu danych za pomocą: obj $ ind $ koordyn. Jeśli jednak chcę zastosować tę samą transformację do innego zestawu danych, jak mogę to zrobić? (Jest to konieczne na przykład, jeśli mam zestaw pociągów i znajduję „główne elementy” z tego zestawu pociągów, a następnie chcę spojrzeć na zestaw testowy przez te „główne elementy”). Dokumentacja nie jest do końca jasna, a papier, na którym oparta jest funkcja, jest w języku francuskim.
casandra
Odnośnie: Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysisczy nie możemy przekonwertować nominalnej zmiennej kategorialnej (powiedzmy, że z kardynalnością N) na zbiór (N-1) obojętnych plików binarnych, a następnie wykonać PCA na tych danych? (Rozumiem, że są bardziej odpowiednie techniki)
Zhubarb,
31

Wyszukiwarka Google „pca dla zmiennych dyskretnych” daje ładny przegląd autorstwa S. Kolenikova (@StasK) i G. Angeles. Aby dodać do odpowiedzi chl, analiza PC jest tak naprawdę analizą wektorów własnych macierzy kowariancji. Problem polega na tym, jak obliczyć „poprawną” macierz kowariancji. Jednym z podejść jest zastosowanie korelacji polichorycznej .

mpiktas
źródło
(+1) Dzięki za link. Można również wziąć pod uwagę heterogeniczną macierz korelacji (patrz np. hetcor()Z pakietu polycor ). Pod warunkiem, że macierz VC jest SDP, powinna wykonać pracę - głównie w duchu analizy czynnikowej. Zmienne nominalne mogą być kodowane obojętnie.
chl
@StasK, kudos :) Wygląda na to, że nie tylko ja uważam tę rozmowę za przydatną, w przeciwnym razie nie znalazłaby się na szczycie w wyszukiwarce Google. To pytanie pojawia się od czasu do czasu, więc może chcesz napisać o nim post na naszym blogu społecznościowym?
mpiktas
@StasK, zredagowałem post, aby wspomnieć o autorach przeglądu. Moim początkowym zamiarem było wykazanie, że wyszukiwanie w Google może dać dobre odpowiedzi, więc nie ma wyraźnej potrzeby pytać tutaj. Nie jest to jednak wymówka, aby nie cytować autorów, biorąc pod uwagę zmienność Internetu.
mpiktas
1
@mpiktas, dzięki. Powstał prawdziwy artykuł skierowany do ekonomistów z tej pracy: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , chociaż redaktorzy poprosili nas, abyśmy wycięli tak dużo, że proponuję przeczytać artykuł roboczy informacje i zacytuj opublikowany.
StasK
9

Sugerowałbym spojrzenie na Linting & Kooij, 2012 „ Nieliniowa analiza głównych składników za pomocą CATPCA: poradnik ”, Journal of Personality Assessment ; 94 (1).

Abstrakcyjny

Ten artykuł stanowi poradnik do analizy nieliniowych głównych składników (NLPCA), systematycznie prowadząc czytelnika przez proces analizy rzeczywistych danych dotyczących oceny osobowości za pomocą testu Rorschach Inkblot. NLPCA jest bardziej elastyczną alternatywą dla liniowego PCA, która może obsługiwać analizę ewentualnie nieliniowo powiązanych zmiennych z różnymi rodzajami poziomu pomiaru. Metoda szczególnie nadaje się do analizy danych nominalnych (jakościowych) i porządkowych (np. Typu Likerta), ewentualnie w połączeniu z danymi liczbowymi. W analizach używany jest program CATPCA z modułu Kategorie w SPSS, ale opis metody można łatwo uogólnić na inne pakiety oprogramowania.

ccandido
źródło
4

Mam jeszcze przywilej komentowania czyichś postów, więc dodaję komentarz jako osobną odpowiedź, więc proszę o wyrozumiałość.

Kontynuując to, co skomentował @Martin F., ostatnio spotkałem się z nieliniowymi PCA. Patrzyłem na nieliniowe PCA jako możliwą alternatywę, gdy zmienna ciągła zbliża się do rozkładu zmiennej porządkowej, gdy dane stają się coraz rzadsze (zdarza się to w genetyce wiele razy, gdy częstotliwość mniejszych alleli zmiennej staje się coraz niższa, a ty zostajesz z bardzo małą liczbą zliczeń, w których nie można naprawdę uzasadnić rozkładu zmiennej ciągłej i trzeba poluzować założenia dystrybucji, zmieniając ją na zmienną porządkową lub zmienną kategorialną.) Nieliniowe PCA może obsłużyć oba te warunki, ale później omawianie z maestrami statystycznymi na wydziale genetyki, zgoda była taka, że ​​nieliniowe PCA nie są często używane, a zachowanie tych PCA nie jest jeszcze szeroko testowane (być może dotyczyły one tylko pola genetycznego, więc proszę zabrać je ziarenkiem soli). Rzeczywiście jest to fascynująca opcja. Mam nadzieję, że dodałem 2 centy (na szczęście istotne) do dyskusji.

Mandar
źródło
Powitanie twojej odpowiedzi, Mandar. Masz na myśli nieliniowe PCA metodą CATPCA lub inną nieliniową PCA (jaką zatem metodę?). Zauważ też, że w przypadku zmiennych binarnych CATPCA jest, powiedzmy, bezużyteczny lub trywialny, ponieważ dychotomiczna skala nie może być kwantyfikowana inaczej niż ... dychotomiczna!
ttnphns,
dziękuję @ttnphns. Zgadzam się z twoją opinią na temat zmiennych binarnych, ponieważ w przypadku zmiennej binarnej żadne założenie nie ma znaczenia. W przeciwnym razie miałem na myśli rozdział książki z „Wprowadzenie do nieliniowej PCA” [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/... ). Dotyczy to głównie CATPCA i pakietów PRINQUAL od SAS.
Mandar,
2

Istnieje niedawno opracowane podejście do takich problemów: uogólnione modele niskiej rangi .

Jeden z artykułów wykorzystujących tę technikę jest nawet nazywany PCA na ramce danych .


PCA można przedstawić w następujący sposób:

Dla macierzy xm M.nmM

znajdź x macierz i x macierz (to niejawnie koduje ograniczenie r e ) tak, żeK X K m Y knkX^kmY^k

RgminX,YM-XY 2 FX^,Y^ = .argminX,YMXYF2

„Uogólniony” z GLRM oznacza zmianę do czegoś innego i dodanie terminu regularyzacji.F2

Jakub Bartczuk
źródło
To brzmi bardziej jak nowe odkrycie niż nowy pomysł. Wyszukaj gifi!
kjetil b halvorsen
Nie masz dokładnie racji, wydaje się, że GLRM jest uogólnieniem (tak naprawdę papier, który połączyłem, cytuje papier do paczki gifi).
Jakub Bartczuk,
1

PCAmixdataPakiet #Rstats :

Realizuje analizę głównych składników, rotację ortogonalną i analizę wielu czynników dla mieszanki zmiennych ilościowych i jakościowych.

Przykład z winiety pokazuje wyniki zarówno dla wyników ciągłych, jak i jakościowych

wprowadź opis zdjęcia tutaj

radek
źródło