Auswählen der Anzahl der Cluster - Kriterien für die Clustervalidierung im Vergleich zu domänentheoretischen Überlegungen

8

Ich stehe oft vor dem Problem, eine bestimmte Anzahl von Clustern auswählen zu müssen. Die Partition, die ich am Ende wähle, basiert häufiger auf visuellen und theoretischen Bedenken als auf Qualitätskriterien.

Ich habe zwei Hauptfragen.

Der erste betrifft die allgemeine Idee der Clusterqualität. Soweit ich weiß, schlagen Kriterien wie der "Ellbogen" einen optimalen Wert in Bezug auf eine Kostenfunktion vor. Das Problem, das ich mit diesem Rahmen habe, ist, dass die optimalen Kriterien für theoretische Überlegungen blind sind, so dass es einen gewissen Grad an Komplexität (in Bezug auf Ihr Studienfach) gibt, der in Ihren endgültigen Gruppen / Clustern immer gewünscht wird.

Darüber hinaus hängt der optimale Wert , wie hier erläutert , auch mit Einschränkungen des "nachgelagerten Zwecks" (z. B. wirtschaftlichen Einschränkungen) zusammen. Überlegen Sie also , was Sie mit den Clustering-Angelegenheiten tun werden .

Eine Einschränkung besteht offensichtlich darin, sinnvolle / interpretierbare Cluster zu finden. Je mehr Cluster Sie haben, desto schwieriger ist es, sie zu interpretieren.

Dies ist jedoch nicht immer der Fall. Sehr oft stelle ich fest, dass 8, 10 oder 12 Cluster die minimale "interessante" Anzahl von Clustern sind, die ich in meiner Analyse haben möchte.

Sehr oft deuten Kriterien wie der Ellbogen jedoch auf viel weniger Cluster hin, im Allgemeinen 2,3 oder 4.

Q1 . Was ich gerne wissen würde, ist, was die beste Argumentationslinie ist, wenn Sie sich entscheiden, mehr Cluster als die durch bestimmte Kriterien (wie den Ellbogen) vorgeschlagene Lösung zu wählen . Intuitiv sollte das Mehr immer besser sein, wenn es keine Einschränkungen gibt (wie die Verständlichkeit der Gruppen, die Sie erhalten, oder im Coursera- Beispiel, wenn Sie eine sehr große Geldsumme haben). Wie würden Sie dies in einem wissenschaftlichen Zeitschriftenartikel argumentieren?

Eine andere Möglichkeit, dies auszudrücken, besteht darin, zu sagen, dass Sie, sobald Sie die Mindestanzahl von Clustern (mit diesen Kriterien) ermittelt haben, überhaupt begründen müssen, warum Sie mehr Cluster als diese ausgewählt haben? Sollte die Rechtfertigung nicht nur bei der Auswahl der minimalen sinnvollen Anzahl von Clustern erfolgen?

Q2 . In diesem Zusammenhang verstehe ich nicht, wie bestimmte Qualitätsmaßstäbe wie die Silhouette mit zunehmender Anzahl von Clustern tatsächlich abnehmen können. Ich sehe in der Silhouette keine Bestrafung für die Anzahl der Cluster. Wie kann das sein? Theoretisch ist die Clusterqualität umso höher , je mehr Cluster Sie haben .

# R code 

library(factoextra)

data("iris")
ir = iris[,-5]

# Hierarchical Clustering, Ward.D
# 5 clusters
ec5  = eclust(ir, FUNcluster = 'hclust', hc_metric = 'euclidean', 
              hc_method = 'ward.D', graph = T, k = 5)
# 20 clusters
ec20 = eclust(ir, FUNcluster = 'hclust', hc_metric = 'euclidean', 
              hc_method = 'ward.D', graph = T, k = 20)

a = fviz_silhouette(ec5)  # silhouette plot
b = fviz_silhouette(ec20) # silhouette plot

c = fviz_cluster(ec5)  # scatter plot
d = fviz_cluster(ec20) # scatter plot

grid.arrange(a,b,c,d)

Geben Sie hier die Bildbeschreibung ein

Giac
quelle
Methoden wie WCSS in K bedeuten, dass ein Algorithmus verwendet werden kann, um einen optimalen Wert von K für das Clustering zu ermitteln.
Avi Sharma
Einige Facetten der Clusterqualität stats.stackexchange.com/a/195481/3277 . Wenn Sie allgemeine Informationen zu internen Clustering-Kriterien benötigen, lesen Sie bitte das Dokument "Clustering-Kriterien" auf meiner Webseite.
ttnphns
Theoretically, the more clusters you have, the greater is the cluster qualityAbsolut nein, nicht unbedingt. Die meisten internen Clustering-Kriterien (einschließlich) des Silhouette-Index sind auf diese oder jene Weise in ihrer Formel "normalisiert" oder kalibriert, um zu versuchen, bei der besten Anzahl (n) von Clustern k extrem zu sein, so dass k kleiner oder größer als diese Anzahl ist ergibt einen niedrigeren Kriteriumswert. Das "Elbow SSw" -Kriterium ist sowieso nicht normalisiert, und es ist schlecht und nicht erwägenswert. Verwenden Sie stattdessen Clinski-Harabasz oder Davies-Bouldin als Normalisierungen.
ttnphns
what is the best line of argument when you decide to choose more clusters rather than the solution proposed by a certain criteriaWenn Sie meine Facetten unter dem obigen Link lesen, werden Sie verstehen, dass es keine einzigen besten oder synthetisierten Argumente geben kann. Schließlich ist das beste Argument (für ein kleineres oder größeres k) seine Überzeugungskraft für sich selbst oder das Publikum. Die menschliche Entscheidung basiert nicht auf Argumenten, sondern ist willkürlich. argumentieren heißt erklären , entschuldigen, was niemals entschuldigt werden kann.
ttnphns
WCSS nimmt immer ab, wenn K zunimmt, unabhängig davon, ob mehr Cluster geeignet sind oder nicht.
Gung - Reinstate Monica

Antworten:

3

Die Schlüssel finden aussagekräftige Cluster und was Sie in den resultierenden Clustern schätzen.

Lassen Sie mich anhand eines einfachen Beispiels veranschaulichen. Das Beispiel sind zwei Gaußsche Cluster, die ziemlich gut voneinander getrennt sind. Wenn wir die Daten mit k-means in 2 oder 3 Cluster unterteilen, erhalten wir folgende Partitionen:

set.seed(1066)
x = c(rnorm(200,0,1), rnorm(200,6,1))
y = rnorm(400,0,1)
XY = data.frame(x,y)

KM2 = kmeans(XY, 2)
KM3 = kmeans(XY, 3)

par(mfrow=c(1,2))
plot(XY, pch=20, col=KM2$cluster+1, asp=1)
plot(XY, pch=20, col=KM3$cluster+1, asp=1)

Zwei und drei Cluster

Silhouette sagt, dass Sie mit zwei Clustern besser dran sind als mit drei.

library(cluster)
plot(silhouette(KM2$cluster, dist(XY)))
plot(silhouette(KM3$cluster, dist(XY)))

Silhouette Handlungen

Es ist nützlich zu sehen, warum die Silhouette gesunken ist. Zunächst ist leicht zu erkennen, dass sich die Silhouette für den Cluster auf der rechten Seite kaum verändert hat. Der Grund für den starken Rückgang der durchschnittlichen Silhouette ist der Cluster auf der linken Seite, der in zwei Teile geteilt wurde. Warum hat Silhouette nicht so? Wie gesagt, Sie müssen sich ansehen, was die Metrik bevorzugt. Für jeden Punkt vergleicht die Silhouette den durchschnittlichen Abstand zwischen dem Punkt und den anderen Punkten im selben Cluster mit dem durchschnittlichen Abstand zwischen diesem Punkt und dem nächsten anderen Cluster. Wenn es zwei Cluster gab, waren die Punkte in jedem der beiden Cluster gut vom anderen Cluster getrennt. Nicht so bei drei Clustern. Die Punkte in den beiden Clustern links liegen genau gegeneinander. So kann die Metrik sinken. Silhouette belohnt nicht nur Cluster, bei denen die Punkte in einem Cluster nahe beieinander liegen. es bestraft auch Cluster, die nicht gut voneinander getrennt sind.

Das kommt also zum "Downstream-Zweck". Es gibt Zeiten, in denen es nicht so wichtig ist, gut getrennte Cluster zu haben. Sie können beispielsweise k-means Clustering für die Farben in einem Bild verwenden, um ähnliche Farben für die Bildkomprimierung zu gruppieren. In diesem Fall spielt es keine Rolle, ob manchmal zwei Cluster nahe beieinander liegen, solange jeder Cluster einigermaßen konsistent (kompakt) ist. Häufig verwenden Benutzer jedoch Clustering, um die grundlegendere Struktur ihrer Daten zu verstehen. Im obigen Beispiel mit zwei Gaußschen Werten zeigen zwei Cluster die zugrunde liegende Struktur besser als drei Cluster. Wenn Sie nach einer Struktur suchen, möchten Sie die Anzahl der Cluster, die die natürlichen Gruppierungen in Ihren Daten am besten darstellen. Dies sind jedoch zwei verschiedene Ziele:

  1. eine Gruppierung von Punkten, bei denen Punkte in demselben Cluster nahe beieinander liegen und

  2. Eine Gruppierung, die auch verschiedene Cluster trennt

Ihr Argument, dass mehr Cluster immer besser sein sollten, ist in Ordnung, solange Sie nur möchten, dass Punkte im selben Cluster nahe beieinander liegen. Dies ist jedoch nicht gut, wenn Sie versuchen, die zugrunde liegende Struktur zu ermitteln. Die Struktur ist das, was in den Daten enthalten ist. Es ist keine Verbesserung, einen Cluster zu nehmen und zwei zu nennen.

G5W
quelle
Vielen Dank für Ihre Antwort, sehr informativ. Um kurz auf meinen Punkt zurückzukommen, stellen wir uns in Ihrem Beispiel vor, dass die 0 als eine bestimmte Bedeutung, eine Art qualitative Schwelle, und dass eine Partition, die dort erscheinen würde, (theoretisch) etwas Sinnvolles enthüllen würde. Mein Problem mit der Silhouette ist, dass die Punkte, obwohl sie nahe beieinander liegen, theoretisch sehr weit entfernt sind (weil 0 eine Art signifikante Schwelle darstellt). Nach meiner Erfahrung sind diese qualitativen Unterschiede in der Interpretation von Die Cluster sind wichtig.
Giac
1
Ich glaube nicht, dass wir uns nicht einig sind. Ich habe das Beispiel einfach als zwei Gaußsche Cluster gemacht, daher ist der Unterschied zwischen -0,1 und 0,1 gering und die Version mit drei Clustern ist falsch. Ich akzeptiere jedoch voll und ganz, dass es Anwendungen geben kann, in denen "x <0:" und "x> 0" etwas völlig anderes bedeuten und diese Trennung sinnvoll wäre. Sie können jedoch nicht erwarten, dass eine Metrik wie die Silhouette Ihr Problem kennt. Es werden nur die Daten angezeigt. Es liegt also in Ihrer Verantwortung, die Daten und die Metrik in Bezug auf Ihr Problem zu interpretieren. Wenn die Metrik Ihr Problem nicht widerspiegelt, ist sie nicht hilfreich.
G5W
Ja, ich stimme zu. Nur ein weiterer Gedanke, mein Eindruck ist, dass das, was Sie beschreiben, sehr viel das divisiveParadigma ist, aber im agglomerativeParadigma ist jedes Individuum in erster Linie ein Cluster. Ich habe das Gefühl, dass in diesem Paradigma "je mehr desto besser". Wir zwingen nicht zwei Gruppen, sich zu trennen, sondern zwei Personen, sich zu einer Gruppe zusammenzuschließen. Ich frage mich dann, wie angemessen die Silhouette für agglomeratives Clustering ist. Was denken Sie?
Giac
Wie in der Antwort von @ hxd1011 erwähnt, erlaubt der Extremfall, dass jeder Punkt ein Cluster ist. Der springende Punkt beim Clustering ist, darüber hinaus eine Struktur zu finden. Vermutlich kann "mehr ist besser" nicht vollständig wahr sein. nur bis zu einem gewissen Punkt wahr. Ziel ist es, genau die richtige Ebene für die Kombination von Punkten zu finden, damit Sie die Struktur erfassen können, ohne unterschiedliche Gruppen zusammenzuführen. Bei jedem Schritt müssen Sie die Frage stellen: Soll ich hier aufhören oder weiterhin Cluster kombinieren?
G5W
1
Wenn Ihre Cluster nicht gut voneinander getrennt sind, sagt die Silhouette im Allgemeinen, dass Sie sie weiterhin kombinieren sollen. Die Silhouette ist jedoch nicht einmal für Cluster mit einem Punkt definiert. Es ist zu Beginn eines Agglomerationsprozesses nicht anwendbar.
G5W
1

Beachten Sie, dass die Kreuzvalidierung auch bei Clusterproblemen verwendet werden kann.

In K bedeutet beispielsweise, dass eine zunehmende Anzahl von Clustern immer das Ziel verringert, das wir anpassen. Ein Extremfall wäre die Anzahl der Cluster, die der Anzahl der Datenpunkte entspricht, und das Ziel ist0. Aber das ist ein überpassendes Modell und wird am Test-Set fehlschlagen.

Mein Vorschlag ist die Überprüfung des "Clustering-Qualitätsmaßes" beim Halten des Testdatensatzes.

Haitao Du
quelle
Können Sie mir eine Referenz für die Kreuzvalidierung in der Clusteranalyse geben?
Giac