Wie würde PCA bei einer k-means Clustering-Analyse helfen?

32

Hintergrund : Ich möchte die Wohngebiete einer Stadt anhand ihrer sozioökonomischen Merkmale in Gruppen einteilen, z. B. Dichte der Wohneinheiten, Bevölkerungsdichte, Grünfläche, Wohnungspreis, Anzahl der Schulen / Gesundheitszentren / Kindertagesstätten usw. Ich möchte verstehen, in wie viele verschiedene Gruppen die Wohngebiete unterteilt werden können und was ihre einzigartigen Merkmale sind. Diese Informationen könnten die Stadtplanung erleichtern.

Anhand einiger Beispiele (vgl. Diesen Blog-Beitrag: PCA und K-Means-Clustering von Delta-Flugzeugen ) habe ich herausgefunden, wie die Analyse durchgeführt werden kann:

  1. Führen Sie zuerst eine PCA-Analyse durch.

  2. Bestimmen Sie die Anzahl der eindeutigen Gruppen (Cluster) auf der Grundlage der PCA-Ergebnisse (z. B. mithilfe der "Ellbogen" -Methode oder alternativ anhand der Anzahl der Komponenten, die 80 bis 90% der Gesamtvarianz erklären).

  3. Wenden Sie nach der Bestimmung der Anzahl der Cluster k-means-Cluster an, um die Klassifizierung durchzuführen.

Meine Fragen: Es schien, dass die Anzahl der PCA-Komponenten mit der Clusteranalyse zusammenhängt. Stimmt das? Wenn wir beispielsweise feststellen würden, dass 5 PCA-Komponenten mehr als 90% der Variation aller Features erklären, würden wir k-means-Clustering anwenden und 5 Cluster erhalten. Würden die 5 Gruppen genau den 5 Komponenten in der PCA-Analyse entsprechen?

Mit anderen Worten, ich denke meine Frage ist: Was ist der Zusammenhang zwischen der PCA-Analyse und dem k-means Clustering?

Updates: Dank Emre, xeon und Kirills Eingaben. Also die aktuellen Antworten:

  1. Das Ausführen von PCA vor der Clusteranalyse ist auch nützlich, um die Dimensionalität als Feature-Extraktor zu reduzieren und Cluster zu visualisieren / aufzudecken.

  2. Wenn Sie PCA nach dem Clustering ausführen, kann der Clustering-Algorithmus validiert werden (Referenz: Kernel-Hauptkomponentenanalyse ).

  3. PCA wird manchmal angewendet, um die Dimensionalität des Datensatzes vor dem Clustering zu reduzieren. Yeung & Ruzzo (2000) zeigten jedoch, dass das Clustering mit den PCs anstelle der ursprünglichen Variablen nicht unbedingt die Clusterqualität verbessert. Insbesondere erfassen die ersten wenigen PCs (die die meisten Variationen in den Daten enthalten) nicht unbedingt den größten Teil der Clusterstruktur.

    • Yeung, Ka Yee und Walter L. Ruzzo. Eine empirische Studie zur Hauptkomponentenanalyse zur Clusterbildung von Genexpressionsdaten. Technischer Bericht, Institut für Informatik und Ingenieurwissenschaften, Universität Washington, 2000. ( pdf )
  4. PCA schien vor einer zweistufigen Clusteranalyse erforderlich zu sein . Basierend auf Ibes (2015), bei dem eine Clusteranalyse unter Verwendung der in der PCA identifizierten Faktoren durchgeführt wurde.

enaJ
quelle
1
Sie können PCA zur Dimensionsreduzierung als Feature-Extraktor und zur Visualisierung der Cluster verwenden.
Emre,
3
Fangen Sie einfach an: Führen Sie einen Klassifikator direkt auf den Daten aus, die Sie haben, und notieren Sie die Leistung. Wenn Sie mit der Leistung nicht zufrieden sind, versuchen Sie es mit PCA (wählen Sie die Anzahl der Komponenten am "Knie" des sortierten Eigenwertplots) und dem Run k-means. Wenn Sie schöne Cluster sehen, besteht eine gute Chance, dass der PCA + -Klassifikator gute Arbeit leistet.
Vladislavs Dovgalecs
1
Sie können PCA auch nach dem Clustering ausführen, um Ihren Clustering-Algorithmus zu validieren. Färben Sie jeden Punkt nach seiner Cluster-Bezeichnung. Ich empfehle auch einen Blick in die Kernel-PCA .
Emre
Es gibt Methoden, die gleichzeitig Dimensionsreduktion und Clustering durchführen. Diese Verfahren streben eine optimal gewählte niedrigdimensionale Darstellung an, um die Identifizierung von Clustern zu erleichtern. Siehe zum Beispiel clustrd package in R und die zugehörigen Referenzen.
Nat

Antworten:

16

PCA ist keine Clustering-Methode. Aber manchmal hilft es, Cluster aufzudecken.

010

1102101010

0

Kirill
quelle
Vielen Dank für Ihre Beiträge. Können Sie erklären, was 10-dimensionale Normalverteilungen mit dem Mittelwert 0 sind? Meinen Sie zehn Eingabe-Feature-Variablen, von denen jede einer Normalverteilung folgt?
enaJ
Es tut mir leid, ich spreche von einer Zufallsvariablen, die einer multivariaten Normalverteilung mit einem Mittelwert folgt, der ein 10-dimensionaler Vektor und eine Kovarianzmatrix ist, die eine 10 × 10-Symmetriematrix ist.
Kirill