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?
categorical-data
pca
correspondence-analysis
mixed-type-data
Nikolina Icitovic
quelle
quelle
Antworten:
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 .
quelle
Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis
Kö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)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 .
quelle
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.Ich empfehle einen Blick auf Linting & Kooij, 2012 " Nichtlineare Hauptkomponentenanalyse mit CATPCA: Ein Tutorial ", Journal of Personality Assessment ; 94 (1).
quelle
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.
quelle
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 Mn m M
finde x Matrix und x Matrix (dies codiert implizit Rang e Einschränkung), so dassk X k m Y kn k X^ k m Y^ k
Das 'Verallgemeinerte' von GLRM steht für change zu etwas anderem und Hinzufügen eines Regularisierungsbegriffs.∥⋅∥2F
quelle
PCAmixdata
#Rstats- Paket :Beispiel aus Vignette zeigt Ergebnisse für kontinuierliche und kategoriale Ausgabe
quelle