Gibt es in PCA eine systematische Möglichkeit, Variablen zu löschen, um die Trennung zweier Populationen zu maximieren?

7

Ich versuche mithilfe der Hauptkomponentenanalyse zu untersuchen, ob es möglich ist, mit gutem Vertrauen zu erraten, aus welcher Population ("Aurignacian" oder "Gravettian") ein neuer Datenpunkt stammt. Ein Datenpunkt wird durch 28 Variablen beschrieben, von denen die meisten relative Häufigkeiten archäologischer Artefakte sind. Die verbleibenden Variablen werden als Verhältnisse anderer Variablen berechnet.

Unter Verwendung aller Variablen trennen sich die Populationen teilweise (Teilplot (a)), aber es gibt immer noch einige Überlappungen in ihrer Verteilung (90% ige Ellipsen zur Vorhersage der t-Verteilung, obwohl ich nicht sicher bin, ob ich eine normale Verteilung der Populationen annehmen kann). Ich dachte, es sei daher nicht möglich, den Ursprung eines neuen Datenpunkts mit gutem Vertrauen vorherzusagen:

Geben Sie hier die Bildbeschreibung ein

Wenn eine Variable (r-BEs) entfernt wird, wird die Überlappung viel wichtiger (Unterdiagramme (d), (e) und (f)), da sich die Populationen in keinem gepaarten PCA-Diagramm trennen: 1-2, 3- 4, ..., 25-26 und 1-27. Ich habe dies so verstanden, dass r-BEs für die Trennung der beiden Populationen wesentlich sind, da ich dachte, dass diese PCA-Diagramme zusammengenommen 100% der "Informationen" (Varianz) im Datensatz darstellen.

Ich war daher äußerst überrascht zu bemerken, dass sich die Populationen tatsächlich fast vollständig trennten, wenn ich alle bis auf eine Handvoll Variablen fallen ließ:

Geben Sie hier die Bildbeschreibung ein Warum ist dieses Muster nicht sichtbar, wenn ich eine PCA für alle Variablen durchführe? Mit 28 Variablen gibt es 268.435.427 Möglichkeiten , eine Reihe von Variablen zu löschen . Wie kann man diejenigen finden, die die Bevölkerungssegregation maximieren und es am besten ermöglichen, die Herkunftspopulation neuer Datenpunkte zu erraten? Gibt es allgemein eine systematische Möglichkeit, solche "versteckten" Muster zu finden?

BEARBEITEN: Auf Wunsch der Amöbe sind hier die Diagramme, wenn die PCs skaliert werden. Das Muster ist klarer. (Mir ist klar, dass ich ungezogen bin, wenn ich weiterhin Variablen ausschalte, aber das Muster widersteht diesmal dem Ausschalten von r-BEs, was bedeutet, dass das "versteckte" Muster von der Skalierung erfasst wird):

Geben Sie hier die Bildbeschreibung ein

Pertinax
quelle
1
+1 für sehr schöne Figuren. Führen Sie Ihre PCA in der Kovarianzmatrix oder in der Korrelationsmatrix durch, dh sind alle Variablen normalisiert oder nicht? Kann es sein, dass Sie Ihre Variablen nicht normalisiert haben und G1 / 2/7/8/9 Variablen viel weniger Varianz aufweisen als die Variablen, die die "vollständige" PCA hauptsächlich aufnimmt?
Amöbe
@amoeba Danke für das Kompliment :) Die Prozentsätze sind nicht normalisiert. Ich habe gerade versucht, zu skalieren, und es scheint zu helfen. Ich hatte mich zunächst gegen eine Skalierung entschieden, weil ich dachte, es könnte Rauschen verursachen: Sehr seltene Artefakte mit geringen Prozentsätzen könnten verstärkt werden, und mit ihnen die Auswirkung des Zufalls. Es ist jedoch immer noch überraschend, dass der Effekt des G1 / 2/7/8/9 selbst bei den am wenigsten wichtigen Variablen nicht sichtbar ist.
Pertinax
Ich meine in den am wenigsten wichtigen PCs
Pertinax
1
Ich finde es nicht besonders überraschend. Was Sie hier zu haben scheinen, ist eine Gruppe von Variablen (Gs), die alle stark positiv miteinander korreliert sind (siehe zweite Zeile der zweiten Abbildung) und die Populationsidentität gut vorhersagen können. Diese Variablen weisen jedoch eine geringere Varianz auf als einige der anderen Variablen und werden nicht erfasst, wenn Sie PCA für alle Variablen ausführen. Gleichzeitig kommt es vor, dass sie nicht in eine einzelne Komponente von PCA-28 gelangen (sie werden auf mehrere PCs verteilt). Deshalb sehen Sie diese Trennung in keinem der paarweisen Streudiagramme.
Amöbe
1
Vielen Dank. Sieht gut aus. Die Pfeile sollten nicht gleich lang sein. Nach der Normalisierung haben sie im gesamten 28-dimensionalen Raum die gleiche Länge. Wenn Sie jedoch alles auf 2D projizieren, haben sie unterschiedliche Längen. Je länger der Pfeil ist, desto stärker ist der Beitrag der entsprechenden Variablen zum PC1 / 2.
Amöbe

Antworten:

5

Hauptkomponenten (PC) basieren auf den Varianzen der Prädiktorvariablen / -merkmale. Es gibt keine Garantie dafür, dass die am stärksten variablen Merkmale diejenigen sind, die am stärksten mit Ihrer Klassifizierung zusammenhängen. Das ist eine mögliche Erklärung für Ihre Ergebnisse. Wenn Sie sich wie in Ihren Plots auf Projektionen auf jeweils 2 PCs beschränken, fehlen möglicherweise bessere Trennungen, die in höherdimensionalen Mustern vorhanden sind.

Da Sie Ihre Prädiktoren bereits als lineare Kombinationen in Ihre PC-Diagramme integrieren, können Sie dies als logistisches oder multinomiales Regressionsmodell einrichten. Mit nur 2 Klassen (z. B. "Aurignacian" gegenüber "Gravettian") beschreibt eine logistische Regression die Wahrscheinlichkeit einer Klassenzugehörigkeit als Funktion linearer Kombinationen der Prädiktorvariablen. Eine multinomiale Regression wird auf mehr als eine Klasse verallgemeinert.

Diese Ansätze bieten wichtige Flexibilität sowohl in Bezug auf das Ergebnis / die Klassifizierungsvariable als auch in Bezug auf die Prädiktoren. In Bezug auf das Klassifizierungsergebnis modellieren Sie die Wahrscheinlichkeit einer Klassenmitgliedschaft, anstatt im Modell selbst eine unwiderrufliche Alles-oder-Nichts-Wahl zu treffen. So können Sie beispielsweise unterschiedliche Gewichte für unterschiedliche Arten von Klassifizierungsfehlern zulassen, die auf demselben logistischen / multinomialen Modell basieren.

Insbesondere wenn Sie mit dem Entfernen von Prädiktorvariablen aus einem Modell beginnen (wie in Ihren Beispielen), besteht die Gefahr, dass das endgültige Modell zu stark von der jeweiligen Datenstichprobe abhängt. In Bezug auf Prädiktorvariablen in der logistischen oder multinomialen Regression können Sie Standard-Bestrafungsmethoden wie LASSO oder Ridge-Regression verwenden, um möglicherweise die Leistung Ihres Modells für neue Datenproben zu verbessern. Ein logistisches oder multinomiales Ridge-Regression-Modell entspricht in etwa dem, was Sie in Ihren Beispielen zu erreichen versuchen. Es basiert im Wesentlichen auf den Hauptkomponenten des Feature-Sets, gewichtet die PCs jedoch eher nach ihren Beziehungen zu den Klassifikationen als nach den darin enthaltenen Bruchteilen der Varianz der Feature-Sets.

EdM
quelle
+1. Es ist hervorzuheben, dass die Verwendung der Lasso-Strafe spärliche (und damit besser interpretierbare) Lösungen bietet, nach denen OP hier zu suchen scheint.
Amöbe
Vielen Dank für Ihre Vorschläge. Mir war tatsächlich aufgefallen, dass man ein PC1-PC3-Muster übersehen kann, wenn man nur sequentielle PCs (PC1-PC2, PC3-PC4) betrachtet. Was ich suche, ist eine Aussage vom Typ "Für jeden zukünftigen Datenpunkt kann ich die Mitgliedschaft der Klasse A mit XX% iger Sicherheit korrekt zuweisen, wenn sie aus der Klasse A stammt, und der Klasse B mit der JJJ% igen Sicherheit, wenn sie aus der Klasse stammt." B ". Würden mir logistische Regression und Ridge-Regression das ermöglichen?
Pertinax
1
Die logistische Regression liefert Aussagen wie: "Angesichts dieser Prädiktorwerte beträgt die Wahrscheinlichkeit XX, dass dieser Fall in Klasse A liegt." Dies ist häufig am nützlichsten für die Vorhersage, mit einem Grenzwert für die Klassenmitgliedschaft von normalerweise 1/2. Eine Aussage wie die, die Sie suchen, erfordert auch Kenntnisse über die Verteilungen von Prädiktorwerten zwischen den Fällen der Klassen A und B. Da Ihre Datenstichprobe eine Schätzung dieser Verteilungen ist, können Sie eine Kreuzvalidierung oder ein Bootstrapping verwenden, um eine solche Aussage zu generieren. ISLR bietet hilfreiche Details.
EdM
2
@TheThunderChimp Ihre Situation unterscheidet sich nicht von vielen Klassifizierungsproblemen, bei denen die Klasse dabei hilft, die Werte der "Prädiktor" -Variablen zu bestimmen, und Sie versuchen, auf die zugrunde liegende Klasse zu schließen. Ein LASSO- oder elastischer Netzansatz für die logistische Regression sollte bei korrelierten Variablen helfen. Eine perfekte Trennung wird häufig in der logistischen Regression gesehen, die nicht unbedingt mit variablen Korrelationen zusammenhängt. Folgen Sie dem hauck-donner-effectTag auf dieser Website, um Ratschläge zu erhalten. Diese Antwort kann besonders hilfreich sein.
EdM
1
@TheThunderChimp Ich weiß nicht, wie gut sich dieser Ansatz auf mehr als zwei Dimensionen verallgemeinern lässt. Diese Seite ist möglicherweise noch nützlicher als das, was ich in einem früheren Kommentar verlinkt habe.
EdM