Die erste Hauptkomponente trennt keine Klassen, andere PCs jedoch. wie ist das möglich?

11

Ich habe PCA mit 17 quantitativen Variablen ausgeführt, um einen kleineren Satz von Variablen zu erhalten, dh Hauptkomponenten, die beim überwachten maschinellen Lernen zur Klassifizierung von Instanzen in zwei Klassen verwendet werden sollen. Nach PCA macht PC1 31% der Varianz in den Daten aus, PC2 17%, PC3 10%, PC4 8%, PC5 7% und PC6 6%.

Wenn ich jedoch die mittleren Unterschiede zwischen PCs zwischen den beiden Klassen betrachte, ist PC1 überraschenderweise kein guter Diskriminator zwischen den beiden Klassen. Verbleibende PCs sind gute Diskriminatoren. Außerdem wird PC1 irrelevant, wenn es in einem Entscheidungsbaum verwendet wird, was bedeutet, dass es nach dem Beschneiden des Baums nicht einmal im Baum vorhanden ist. Der Baum besteht aus PC2-PC6.

Gibt es eine Erklärung für dieses Phänomen? Kann etwas mit den abgeleiteten Variablen nicht stimmen?

Frida
quelle
5
Lesen Sie diese aktuelle Frage stats.stackexchange.com/q/79968/3277 mit einem weiteren Link. Da PCA ist nicht wissen über die Existenz der Klassen es nicht garantieren , dass jeder des PCs sein wird wirklich gut Scheider; Umso mehr wird PC1 ein guter Diskriminator sein. Siehe auch zwei Bilder als Beispiel hier .
ttnphns
2
Siehe auch Was kann dazu führen, dass PCA die Ergebnisse eines Klassifikators verschlechtert? , insbesondere die Zahlen in der Antwort von @vqv.
Amöbe sagt Reinstate Monica

Antworten:

14

Dies kann auch vorkommen, wenn die Variablen vor der PCA nicht auf Einheitsvarianz skaliert werden. Zum Beispiel für diese Daten (beachten Sie, dass die Skala nur von bis während von bis ):y0.51x33

Geben Sie hier die Bildbeschreibung ein

PC1 ist ungefähr und macht fast die gesamte Varianz aus, hat jedoch keine Unterscheidungskraft, während PC2 und perfekt zwischen den Klassen unterscheidet.xy

Flunderer
quelle
Hallo, danke für deine Antwort! Wie soll die Skalierung erfolgen? (x-Mittelwert) / sd?
Frida
Ja, in RI verwendet, prcomp(x, center=T, scale=T)was dasselbe ist wie (x-mean) / sd. In diesem Beispiel würden Sie feststellen, dass keine der Hauptkomponenten ein guter Diskriminator zwischen den Klassen ist. es funktioniert nur, wenn beide zusammen verwendet werden.
Flunderer
Ich verstehe, dass sich die PCs ergänzen, aber gibt es eine Erklärung dafür? Um ehrlich zu sein, ist dies das erste Mal, dass ich im Vergleich zu anderen einen schwächeren PC1 erhalte.
Frida
@Frida: Der Kommentar von ttnphns ist zielgerichtet. Siehe en.wikipedia.org/wiki/Linear_discriminant_analysis, dritter Absatz. In gewissem Sinne ist es ein Glück, dass sich PCA so oft als nützlich herausstellt.
Wayne
6

Ich gehe davon aus, dass die Antwort und das Beispiel von @Flounderer dies implizieren, aber ich denke, es lohnt sich, dies zu formulieren. Die Hauptkomponentenanalyse (PCA) ist kennzeichnungsunabhängig. Alles, was es tut, ist, einige hochdimensionale Daten in einen anderen dimensionalen Raum umzuwandeln. Es könnte beispielsweise durch in Klassifizierungsversuchen helfen, Datensatz zu schaffen , die durch eine bestimmte Methode leichter abtrennbar ist. Dies ist jedoch nur ein Nebenprodukt (oder eine Nebenwirkung) von PCA.

Boris Gorelik
quelle
1

Wenn wir eine Hauptkomponentenanalyse durchführen, entsprechen die Hauptkomponenten den Richtungen maximaler Variabilität. Sie garantieren keine maximale Unterscheidung oder Trennung zwischen Klassen.

Die zweite Komponente bietet Ihnen eine gute Klassifizierung. Daten in dieser Richtung ermöglichen eine bessere Unterscheidung zwischen Klassen. Wenn Sie eine lineare Diskriminanzanalyse (LDA) durchführen, erhalten Sie die besten orthogonalen Richtungskomponenten, die den Abstand zwischen den Klassen maximieren und den Abstand zwischen den Klassen minimieren.

Wenn Sie also LDA für die Daten anstelle von PCA ausführen, ist wahrscheinlich eine der allerersten Komponenten näher an PC6 als an PC1. Hoffe das hilft.

Santanu_Pattanayak
quelle