Kann die Hauptkomponentenanalyse auf Datensätze angewendet werden, die eine Mischung aus kontinuierlichen und kategorialen Variablen enthalten?

147

Ich habe einen Datensatz, der sowohl kontinuierliche als auch kategoriale Daten enthält. Ich analysiere mit PCA und frage mich, ob es in Ordnung ist, die kategorialen Variablen in die Analyse einzubeziehen. Meines Wissens kann PCA nur auf kontinuierliche Variablen angewendet werden. Ist das korrekt? Welche Alternativen für ihre Analyse gibt es, wenn sie nicht für kategoriale Daten verwendet werden können?

Nikolina Icitovic
quelle
Es gibt eine Diskussion über ResearchGate: researchgate.net/post/Should_I_use_PCA_with_categorical_data
GoingMyWay

Antworten:

87

Obwohl eine auf Binärdaten angewendete PCA zu Ergebnissen führen würde, die mit den Ergebnissen einer Mehrfachkorrespondenzanalyse vergleichbar sind (Faktorwerte und Eigenwerte sind linear miteinander verknüpft), gibt es geeignetere Techniken für den Umgang mit gemischten Datentypen, nämlich die Mehrfachfaktoranalyse für gemischte Daten in das FactoMineR R-Paket ( AFDM()). Wenn Ihre Variablen als strukturierte Untergruppen von beschreibenden Attributen betrachtet werden können, ist die Multiple Factor Analysis ( MFA()) ebenfalls eine Option.

Die Herausforderung bei kategorialen Variablen besteht darin, einen geeigneten Weg zu finden, um Entfernungen zwischen variablen Kategorien und Individuen im Fakultätsraum darzustellen. Um dieses Problem zu lösen, können Sie nach einer nichtlinearen Transformation jeder Variablen suchen - sei es nominal, ordinal, polynomial oder numerisch - mit optimaler Skalierung. Dies wird ausführlich in Gifi-Methoden für die optimale Skalierung in R: Die Paket-Homals erläutert . Eine Implementierung ist in den entsprechenden R-Paket- Homals verfügbar .

chl
quelle
2
chl, danke für den Hinweis auf FADM. Ich habe mich allerdings gefragt: Sobald ich FADM auf einen Datensatz angewendet habe (obj <- FADM (x)), kann ich einfach über obj $ ind $ coord auf den transformierten Datensatz zugreifen . Wie kann ich dieselbe Transformation jedoch auf einen anderen Datensatz anwenden ? (Dies ist zum Beispiel erforderlich, wenn ich einen Zugsatz habe und die "Hauptkomponenten" aus diesem Zugsatz finde und dann den Testsatz durch diese "Hauptkomponenten" betrachten möchte.) Die Dokumentation dazu ist nicht wirklich klar, und das Papier, auf dem die Funktion basiert, ist in französischer Sprache.
Kasandra
Zu: Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence AnalysisKönnen wir eine nominelle kategoriale Variable (zum Beispiel mit N-Kardinalität) nicht in eine Sammlung von (N-1) Dummy-Binärdateien konvertieren und dann eine PCA für diese Daten durchführen? (Ich verstehe, es gibt angemessenere Techniken)
Zhubarb
31

Eine Google-Suche "pca for discrete variables" gibt diesen schönen Überblick von S. Kolenikov (@StasK) und G. Angeles. Um die Antwort zu ergänzen, ist die PC-Analyse wirklich eine Analyse der Eigenvektoren der Kovarianzmatrix. Das Problem ist also, wie die "richtige" Kovarianzmatrix berechnet wird. Einer der Ansätze besteht darin, die polychrone Korrelation zu verwenden .

mpiktas
quelle
(+1) Danke für den Link. Es ist auch möglich, eine heterogene Korrelationsmatrix zu betrachten (siehe zB hetcor()aus dem Polycor- Paket). Vorausgesetzt, die VC-Matrix ist SDP, sollte sie die Arbeit erledigen - hauptsächlich im Sinne der Faktoranalyse. Nominalvariablen können Dummy-codiert sein.
Chl
@StasK, Kudos :) Es scheint, dass nicht nur ich diesen Vortrag nützlich fand, sonst wäre es nicht ganz oben in der Google-Suche. Diese Frage taucht von Zeit zu Zeit auf. Vielleicht möchten Sie einen Blog-Beitrag dazu für unser Community-Blog verfassen?
mpiktas
@StasK, ich habe den Beitrag bearbeitet, um die Autoren der Übersicht zu erwähnen. Meine ursprüngliche Absicht war es zu demonstrieren, dass die Suche auf Google gute Antworten liefern kann, sodass hier keine expliziten Fragen erforderlich sind. Angesichts der Volatilität des Internets ist dies jedoch keine Entschuldigung, die Autoren nicht zu zitieren.
mpiktas
1
@mpiktas, danke. Es gab einen echten Artikel, der sich an Ökonomen richtete, die aus dieser Arbeit hervorgegangen waren: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , obwohl die Redakteure uns baten, so viel herauszuschneiden, dass ich vorschlagen würde, das Arbeitspapier zu lesen Informationen, und zitieren Sie die veröffentlichten.
StasK
9

Ich empfehle einen Blick auf Linting & Kooij, 2012 " Nichtlineare Hauptkomponentenanalyse mit CATPCA: Ein Tutorial ", Journal of Personality Assessment ; 94 (1).

Abstrakt

Dieser Artikel dient als Lernprogramm für die nichtlineare Hauptkomponentenanalyse (NLPCA) und führt den Leser systematisch durch den Prozess der Analyse tatsächlicher Daten zur Persönlichkeitsbewertung mit dem Rorschach Inkblot-Test. NLPCA ist eine flexiblere Alternative zur linearen PCA, die die Analyse möglicherweise nichtlinear verwandter Variablen mit verschiedenen Arten von Messpegeln ermöglicht. Das Verfahren eignet sich insbesondere zum Analysieren von nominalen (qualitativen) und ordinalen (z. B. Likert-Typ) Daten, möglicherweise kombiniert mit numerischen Daten. Das Programm CATPCA aus dem Modul Categories in SPSS wird für die Analysen verwendet, die Methodenbeschreibung kann jedoch problemlos auf andere Softwarepakete übertragen werden.

ccandido
quelle
4

Ich habe noch keine Berechtigung zum Kommentieren eines Beitrags, daher füge ich meinen Kommentar als separate Antwort hinzu. Bitte nehmen Sie Kontakt mit mir auf.

Nachdem ich den Kommentar von @Martin F fortgesetzt habe, bin ich kürzlich auf die nichtlinearen PCAs gestoßen. Ich habe nichtlineare PCAs als mögliche Alternative untersucht, wenn sich eine kontinuierliche Variable der Verteilung einer Ordinalvariablen nähert, wenn die Daten spärlicher werden (es kommt in der Genetik häufig vor, wenn die Nebenallelhäufigkeit der Variablen immer geringer wird und Sie stehen bleiben) mit einer sehr geringen Anzahl von Zählungen, bei denen Sie eine Verteilung einer stetigen Variablen nicht wirklich rechtfertigen können, und Sie müssen die Verteilungsannahmen lockern, indem Sie sie entweder zu einer Ordnungsvariablen oder zu einer kategorialen Variablen machen diskutieren mit statistischen Maestros in der Genetik Fakultät, Der Konsens lautete, dass die nichtlinearen PCAs nicht oft verwendet werden und das Verhalten dieser PCAs noch nicht ausgiebig getestet wurde (möglicherweise bezogen sie sich nur auf das Genetikfeld, nehmen Sie es also bitte mit einem Körnchen Salz). In der Tat ist es eine faszinierende Option. Ich hoffe, ich habe 2 Cent (zum Glück relevant) zur Diskussion hinzugefügt.

Mandar
quelle
Begrüße deine Antwort, Mandar. Beziehen Sie sich auf eine nichtlineare PCA nach der CATPCA-Methode oder auf eine andere nichtlineare PCA (welche Methode?). Beachten Sie auch, dass CATPCA für binäre Variablen beispielsweise nutzlos oder trivial ist, da die dichotome Skala nur zu ... dichotom quantifiziert werden kann!
ttnphns
Danke @ttnphns. Ich stimme Ihrem Standpunkt zu den binären Variablen zu, da für binäre Variablen jede Annahme keine Rolle spielt. Ansonsten bezog ich mich auf ein Buchkapitel aus "Introduction to nonlinear PCA" [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Es bezieht sich hauptsächlich auf CATPCA- und PRINQUAL-Pakete von SAS.
Mandar
2

Es gibt einen kürzlich entwickelten Ansatz für solche Probleme: Verallgemeinerte Modelle mit niedrigem Rang .

Eine Arbeit, die diese Technik verwendet, wird sogar als PCA auf einem Datenrahmen bezeichnet .


PCA kann so gestellt werden:

Für x Matrixm MnmM

finde x Matrix und x Matrix (dies codiert implizit Rang e Einschränkung), so dassk X k m Y knkX^kmY^k

X^,Y^ = .argminX,YMXYF2

Das 'Verallgemeinerte' von GLRM steht für change zu etwas anderem und Hinzufügen eines Regularisierungsbegriffs.F2

Jakub Bartczuk
quelle
Das klingt eher nach Neuerfindung als nach neuer Idee. Suche nach gifi!
kjetil b halvorsen
Sie haben nicht genau Recht, es scheint, dass GLRM eine Verallgemeinerung ist (tatsächlich zitiert das von mir verlinkte Papier das GIFI-Paketpapier).
Jakub Bartczuk
1

PCAmixdata#Rstats- Paket :

Implementiert die Hauptkomponentenanalyse, die orthogonale Rotation und die Analyse mehrerer Faktoren für eine Mischung aus quantitativen und qualitativen Variablen.

Beispiel aus Vignette zeigt Ergebnisse für kontinuierliche und kategoriale Ausgabe

Bildbeschreibung hier eingeben

radek
quelle