Wie kann ich feststellen, dass die PCA-Ergebnisse kein Muster enthalten?

9

Ich habe einen Datensatz mit mehr als 1000 Beispielen mit 19 Variablen. Mein Ziel ist es, eine binäre Variable basierend auf den anderen 18 Variablen (binär und stetig) vorherzusagen. Ich bin ziemlich sicher, dass 6 der Vorhersagevariablen mit der binären Antwort verknüpft sind. Ich möchte jedoch den Datensatz weiter analysieren und nach anderen Assoziationen oder Strukturen suchen, die mir möglicherweise fehlen. Zu diesem Zweck habe ich mich für PCA und Clustering entschieden.

Wenn die PCA mit den normalisierten Daten ausgeführt wird, müssen 11 Komponenten beibehalten werden, um 85% der Varianz beizubehalten. Geben Sie hier die Bildbeschreibung ein Durch das Zeichnen der Pairplots erhalte ich Folgendes: Geben Sie hier die Bildbeschreibung ein

Ich bin mir nicht sicher, was als nächstes kommt ... Ich sehe kein signifikantes Muster im PCA und frage mich, was dies bedeutet und ob es durch die Tatsache verursacht worden sein könnte, dass einige der Variablen binär sind. Durch Ausführen eines Clustering-Algorithmus mit 6 Clustern erhalte ich das folgende Ergebnis, das nicht gerade eine Verbesserung darstellt, obwohl einige Blobs hervorzuheben scheinen (die gelben). Geben Sie hier die Bildbeschreibung ein

Wie Sie wahrscheinlich sehen können, bin ich kein PCA-Experte, habe aber einige Tutorials gesehen und gesehen, wie leistungsfähig es sein kann, einen Blick auf Strukturen im hochdimensionalen Raum zu werfen. Mit dem berühmten MNIST-Ziffern-Datensatz (oder dem IRIS-Datensatz) funktioniert es hervorragend. Meine Frage ist: Was soll ich jetzt tun, um die PCA sinnvoller zu gestalten? Clustering scheint nichts Nützliches aufzunehmen. Wie kann ich feststellen, dass die PCA kein Muster enthält, oder was sollte ich als Nächstes versuchen, um Muster in den PCA-Daten zu finden?

mickkk
quelle
Warum machst du PCA, um Prädiktoren zu finden? Warum nicht eine andere Methode anwenden? zB könnten Sie sie alle in eine logistische Registrierung aufnehmen, Sie könnten LASSO verwenden, Sie könnten ein Baummodell bauen, es wird eingesackt, geboostet usw.
Peter Flom - Reinstate Monica
Was genau meinen Sie mit "Muster", bei dem PCA gut zu enthüllen ist?
ttnphns
@ttnphns Ich versuche, eine Untergruppe von Beobachtungen zu finden, die möglicherweise etwas gemeinsam haben, um das Ergebnis der binären Antwort, die ich vorhersagen möchte, besser zu erklären (dies wurde teilweise von dailyanalytics.ca/2014/ inspiriert). 06 /… ). Auch mit pca und Clustering im Iris-Datensatz ist es nützlich, die Spezies zu isolieren ( scikit-learn.org/stable/auto_examples/decomposition/… ), obwohl dies sehr einfach ist, da wir die Anzahl der Cluster bereits kennen.
Mickkk
@PeterFlom Ich habe bereits eine logistische Regression und ein zufälliges Gesamtstrukturmodell ausgeführt und sie arbeiten anständig. Ich möchte die Daten jedoch weiter untersuchen.
Mickkk

Antworten:

7

Sie haben erklärt, dass das Varianzdiagramm mir sagt, dass PCA hier sinnlos ist. 11/18 ist 61%, daher benötigen Sie 61% Ihrer Variablen, um 85% der Varianz zu erklären. Dies ist meiner Meinung nach bei PCA nicht der Fall. Ich benutze PCA, wenn 3-5 Faktoren von 18 etwa 95% der Varianz erklären.

UPDATE: Sehen Sie sich das Diagramm des kumulierten Prozentsatzes der Varianz an, das durch die Anzahl der PCs erklärt wird. Dies ist aus dem Bereich der Modellierung von Zinstermstrukturen. Sie sehen, wie 3 Komponenten mehr als 99% der Gesamtvarianz erklären. Dies mag wie ein erfundenes Beispiel für PCA-Werbung aussehen :) Dies ist jedoch eine echte Sache. Die Tenöre der Zinssätze sind so stark korreliert, dass PCA in dieser Anwendung sehr natürlich ist. Anstatt sich mit ein paar Dutzend Tenören zu befassen, beschäftigen Sie sich mit nur drei Komponenten.

Geben Sie hier die Bildbeschreibung ein

Aksakal
quelle
Das habe ich überhaupt vermutet. Ich habe nicht direkt darauf hingewiesen, weil ich nicht so viel über PCA weiß, um eine so kühne Aussage zu machen. Kann man mit Sicherheit sagen, dass PCA keine große Hilfe ist, wenn mehr als x% der Komponenten benötigt werden? Ich meine, in den Anwendungsbeispielen, die ich gesehen habe, erklären normalerweise nur wenige Komponenten die größte Varianz.
Mickkk
@ Mickkk, es gibt keine feste Regel. Für mich ist die Angabe Konvexität der Varianz erklärt Grafik. Wenn Sie es als kumulativen Prozentsatz der Gesamtvarianz zeichnen, die durch die Anzahl der PCs erklärt wird, möchten Sie ein sehr konkaves Diagramm sehen. Sie wären nahezu linear gewesen: Jede Komponente scheint ungefähr die gleichen Informationen über die Daten zu enthalten. In diesem Fall sollten Sie PCA überhaupt anstelle der Originaldaten verwenden.
Aksakal
Die Bearbeitung mit dem neuen Beispiel war sehr hilfreich.
Mickkk
5

Wenn Sie Stichproben und nur Prädiktoren haben, wäre es ziemlich vernünftig, nur alle Prädiktoren in einem Modell zu verwenden. In diesem Fall kann ein PCA-Schritt durchaus unnötig sein.p = 19N>1000p=19

Wenn Sie sicher sind, dass nur eine Teilmenge der Variablen wirklich erklärend ist, kann Ihnen die Verwendung eines spärlichen Regressionsmodells, z. B. Elastic Net, dabei helfen, dies festzustellen.

Außerdem ist die Interpretation von PCA-Ergebnissen unter Verwendung von Eingaben gemischten Typs (binär oder real, verschiedene Skalen usw., siehe CV-Frage hier ) nicht so einfach, und Sie möchten sie möglicherweise vermeiden, es sei denn, es gibt einen eindeutigen Grund dafür.

Vermutungen
quelle
4

Ich werde Ihre Frage so kurz wie möglich interpretieren. Lassen Sie mich wissen, wenn es Ihre Bedeutung ändert.

Ich bin ziemlich sicher, dass 6 der Vorhersagevariablen mit der binären Antwort verbunden sind [aber] ich sehe kein signifikantes Muster im pca

Ich sehe auch kein "signifikantes Muster" außer der Konsistenz in Ihren Pairplots. Sie sind alle nur grob kreisförmige Blobs. Ich bin gespannt, was Sie erwartet haben. Klar getrennte Punktcluster einiger Pairplots? Ein paar Diagramme sehr nahe an linear?

Ihre PCA-Ergebnisse - die blobartigen Paardiagramme und nur 85% der Varianz, die in den Top-11-Hauptkomponenten erfasst wurden - schließen nicht aus, dass 6 Variablen für die Vorhersage der binären Antwort ausreichen.

Stellen Sie sich folgende Situationen vor:

  1. Angenommen, Ihre PCA-Ergebnisse zeigen, dass 99% der Varianz von 6 Hauptkomponenten erfasst werden.

    Das scheint Ihre Vermutung über 6 Prädiktorvariablen zu stützen - vielleicht könnten Sie eine Ebene oder eine andere Oberfläche in diesem 6-dimensionalen Raum definieren, die die Punkte sehr gut klassifiziert, und Sie könnten diese Oberfläche als binären Prädiktor verwenden. Was mich zu Nummer 2 bringt ...

  2. Angenommen, Ihre Top-6-Hauptkomponenten haben Pairplots, die so aussehen

    "Muster" in Pairplots.

    Aber lassen Sie uns eine beliebige binäre Antwort farblich kennzeichnen

    "Muster" ist nutzlos.

    Obwohl Sie es geschafft haben, fast die gesamte (99%) Varianz in 6 Variablen zu erfassen, ist Ihnen keine räumliche Trennung garantiert, um Ihre binäre Antwort vorherzusagen.

Möglicherweise benötigen Sie tatsächlich mehrere numerische Schwellenwerte (die als Flächen in diesem 6-dimensionalen Raum dargestellt werden können), und die Zugehörigkeit eines Punkts zu Ihrer binären Klassifizierung hängt möglicherweise von einem komplexen bedingten Ausdruck ab, der aus der Beziehung dieses Punkts zu jedem dieser Schwellenwerte besteht. Dies ist jedoch nur ein Beispiel dafür, wie eine Binärklasse vorhergesagt werden kann. Es gibt eine Vielzahl von Datenstrukturen und Methoden zum Darstellen, Trainieren und Vorhersagen. Dies ist ein Teaser. Zitieren,

Oft ist es am schwierigsten, ein Problem des maschinellen Lernens zu lösen, den richtigen Schätzer für den Job zu finden.

kdbanman
quelle
1
Smiley - Gesicht ist eigentlich gut, weil es ist nicht korreliert! Ich mochte es.
Amöbe
@amoeba, kannst du ein Smiley von unkorrelierten PCs haben?
Aksakal
@Aksakal, ja, das Smiley-Streudiagramm scheint mir keine Korrelation aufzuweisen. Kdbanman, ich schätze das Update, +1.
Amöbe
@amoeba, ok, du meinst lineare Korrelation.
Aksakal