Unerwünschte Ergebnisse von Clustering-Kriterien

8

Ich habe eine Clusterbildung von Koordinatenpunkten (Längen- und Breitengrad) durchgeführt und überraschende, nachteilige Ergebnisse aus Clustering-Kriterien für die optimale Anzahl von Clustern gefunden. Die Kriterien sind dem clusterCrit()Paket entnommen . Die Punkte, die ich auf einem Plot zu gruppieren versuche (die geografischen Merkmale des Datensatzes sind deutlich sichtbar):

Darstellung aller Beobachtungen

Das vollständige Verfahren war das folgende:

  1. Hierarchisches Clustering an 10.000 Punkten durchgeführt und Medoide für 2: 150 Cluster gespeichert.
  2. Nahm die Medoide aus (1) als Keime für kmeans Clustering von 163k Beobachtungen.
  3. 6 verschiedene Clustering-Kriterien für die optimale Anzahl von Clustern überprüft.

Nur zwei Clustering-Kriterien ergaben für mich sinnvolle Ergebnisse - die Kriterien Silhouette und Davies-Bouldin. Für beide sollte man das Maximum auf dem Grundstück suchen. Es scheint, dass beide die Antwort „22 Cluster sind eine gute Zahl“ geben. Für die folgenden Grafiken: Auf der x-Achse ist die Anzahl der Cluster und auf der y-Achse der Wert des Kriteriums. Entschuldigen Sie die falschen Beschreibungen auf dem Bild. Silhouette und Davies-Bouldin:

Silhoette Criterion Plot Davies-Bouldin-Kriteriendiagramm

Schauen wir uns nun die Werte von Calinski-Harabasz und Log_SS an. Das Maximum befindet sich auf dem Grundstück. Die Grafik zeigt, dass die Clusterbildung umso besser ist, je höher der Wert ist. Ein derart stetiges Wachstum ist ziemlich überraschend. Ich denke, 150 Cluster sind bereits eine ziemlich hohe Zahl. Unterhalb der Diagramme für Calinski-Harabasz- bzw. Log_SS-Werte.

Calinski-Harabasz-Kriteriendiagramm Log_SS-Kriteriendiagramm

Nun zum überraschendsten Teil die letzten beiden Kriterien. Für die Ballhalle ist der größte Unterschied zwischen zwei Clustern erwünscht und für Ratkowsky-Lance das Maximum. Ball-Hall- und Ratkowsky-Lance-Diagramme:

Ball-Hall-Kriteriendiagramm Ratkowsky-Lance-Kriteriendiagramm

Die letzten beiden Kriterien geben völlig negative Antworten (je kleiner die Anzahl der Cluster, desto besser) als das 3. und 4. Kriterium. Wie ist das möglich? Für mich scheinen nur die ersten beiden Kriterien einen Sinn für das Clustering zu haben. Eine Silhouette-Breite von ca. 0,6 ist gar nicht so schlecht. Sollte ich einfach die Indikatoren überspringen, die seltsame Antworten geben, und an diejenigen glauben, die vernünftige Antworten geben?

Bearbeiten: Plotten für 22 Cluster22 Clusterlösung


Bearbeiten

Sie können sehen, dass die Daten in 22 Gruppen recht gut gruppiert sind. Kriterien, die darauf hinweisen, dass Sie 2 Cluster auswählen sollten, scheinen Schwächen zu haben. Die Heuristik funktioniert nicht richtig. Es ist in Ordnung, wenn ich die Daten zeichnen kann oder wenn die Daten in weniger als 4 Hauptkomponenten gepackt und dann geplottet werden können. Aber wenn nicht? Wie soll ich die Anzahl der Cluster anders als anhand eines Kriteriums auswählen? Ich habe Tests gesehen, die Calinski und Ratkowsky als sehr gute Kriterien angaben, und dennoch liefern sie negative Ergebnisse für einen scheinbar einfachen Datensatz. Vielleicht sollte die Frage nicht lauten: "Warum unterscheiden sich die Ergebnisse?", Sondern "Wie sehr können wir diesen Kriterien vertrauen?".

Warum ist eine euklidische Metrik nicht gut? Der tatsächliche, genaue Abstand zwischen ihnen interessiert mich nicht wirklich. Ich verstehe, dass der wahre Abstand sphärisch ist, aber für alle Punkte A, B, C, D, wenn sphärisch (A, B)> sphärisch (C, D) als auch euklidisch (A, B)> euklidisch (C, D), was sein sollte ausreichend für eine Clustering-Metrik.

Warum möchte ich diese Punkte gruppieren? Ich möchte ein Vorhersagemodell erstellen, und am Ort jeder Beobachtung sind viele Informationen enthalten. Für jede Beobachtung habe ich auch Städte und Regionen. Aber es gibt zu viele verschiedene Städte und ich möchte zum Beispiel keine 5000-Faktor-Variablen erstellen. Deshalb habe ich darüber nachgedacht, sie nach Koordinaten zu gruppieren. Es hat ziemlich gut funktioniert, da die Dichten in verschiedenen Regionen unterschiedlich sind und der Algorithmus es gefunden hat, 22 Faktorvariablen wären in Ordnung. Ich könnte die Güte des Clusters auch anhand der Ergebnisse des Vorhersagemodells beurteilen, bin mir aber nicht sicher, ob dies rechnerisch sinnvoll wäre. Vielen Dank für die neuen Algorithmen, ich werde sie auf jeden Fall ausprobieren, wenn sie schnell mit riesigen Datenmengen arbeiten.

Karol Przybylak
quelle
Können Sie sich das Clustering-Ergebnis bei 22 Clustern vorstellen?
Hat aufgehört - Anony-Mousse
Welche Methode haben Sie für das hierarchische Clustering verwendet? Das kann die Ergebnisse, die Sie erhalten, erheblich beeinflussen?
Hong Ooi
Helo Hong, ich habe die "Diana" -Methode mit dem euklidischen Abstand verwendet, der für Koordinaten ein angemessener Abstand sein sollte. Auch die geplottete 22-Cluster-Lösung erscheint mir durchaus vernünftig.
Karol Przybylak
Vielen Dank für Ihre Antwort und Ihren Rat Anony-Mousse. Siehe meine Bearbeitung.
Karol Przybylak
Nun, Sie könnten Ihre Frage aktualisieren. Vergleichen Sie das Ergebnis mit Agnes mit 15 Clustern und Agnes mit 30 Clustern. Obwohl die Cluser konvex sind, bin ich nicht davon überzeugt, dass dies alles ist, was Sie brauchen, um "schöne" Cluster zu haben. Wann ist ein Clustering-Ergebnis gut? Es sind Millionen konvexer Ergebnisse möglich.
Hat aufgehört - Anony-Mousse

Antworten:

6

Die Frage , die Sie sich stellen sollten , lautet: Was wollen Sie erreichen .

Alle diese Kriterien sind nichts als Heuristiken . Sie beurteilen das Ergebnis einer mathematischen Optimierungstechnik anhand einer weiteren mathematischen Funktion. Dies misst nicht wirklich, ob das Ergebnis gut ist , sondern nur, ob die Daten zu bestimmten Annahmen passen.

Jetzt, da Sie einen globalen Datensatz in Längen- und Breitengrad haben, ist die euklidische Entfernung bereits keine gute Wahl. Einige dieser Kriterien und Algorithmen (k-means…) benötigen jedoch diese unangemessene Distanzfunktion.

Einige Dinge, die Sie versuchen sollten:

  • Bessere Algorithmen. Probieren Sie DBSCAN und OPTICS aus , für die Sie nicht die Anzahl der Cluster angeben müssen! Sie haben andere Parameter, aber z. B. Abstand und Mindestanzahl von Punkten sollten für diesen Datensatz viel einfacher einzustellen sein.
  • Visualisierung. Anstatt Statistiken eines mathematischen Maßes zu betrachten, wählen Sie das beste Ergebnis durch visuelle Inspektion ! Visualisieren Sie zunächst die Cluster , um festzustellen , ob das Ergebnis überhaupt Sinn ergibt.
  • Überlegen Sie, was Sie finden möchten. Ein mathematisches Kriterium freut sich, wenn Sie die Kontinente trennen. Dafür brauchen Sie aber keinen Algorithmus, die Kontinente sind bereits bekannt! Also , was tun Sie entdecken?
  • Ausreißer entfernen. Beide k-means und hierarchisches Clustering nicht wie Ausreißer , dass viel, und Sie können die Anzahl der Cluster erhöhen Nötige zu finden , durch die Anzahl der Ausreißer in den Daten (DBSCAN und OPTIK oben erwähnt sind wesentlich robuster gegenüber Ausreißern).
  • Besser geeignete Distanzfunktion. Die Erde ist ungefähr kugelförmig. Verwenden Sie den Großkreisabstand anstelle des euklidischen Abstands.
  • Versuchen Sie, die Daten in ein 3D-ECEF-Koordinatensystem zu konvertieren , wenn Sie den euklidischen Abstand verwenden müssen. Dies führt zu Clusterzentren, die sich unter der Erdoberfläche befinden, ermöglicht jedoch die Clusterbildung in Alaska, und der euklidische Abstand ist mindestens eine Untergrenze des tatsächlichen Oberflächenabstands.

Schauen Sie sich zB diese verwandte Frage / Antwort zum Stackoverflow an .

Hat aufgehört - Anony-Mousse
quelle
0

Länge und Breite sind Winkel , die Punkte auf einer Kugel definieren , so dass Sie wahrscheinlich auf der Suche sollte Großkreisentfernung oder anderen geodätischen Abstände zwischen den Punkten statt der euklidischen Abstand.

Wie bereits erwähnt, treffen bestimmte explizit modellbasierte Clustering-Algorithmen wie Mischungsmodelle und implizit modellbasierte wie K-Mittel Annahmen über die Form und Größe der Cluster. Erwarten Sie in dieser Situation, dass Ihre Daten zu einem zugrunde liegenden Modell passen? Wenn nicht, sind dichtebasierte Methoden, die keine Annahmen über die Form / Größe der Cluster treffen, möglicherweise besser geeignet.

Pontikos
quelle