Kann jemand den C-Index im Kontext des hierarchischen Clusters erklären?

8

Dies ist eine Fortsetzung dieser Frage. Ich versuche derzeit, den C-Index zu implementieren, um eine nahezu optimale Anzahl von Clustern aus einer Hierarchie von Clustern zu finden. Dazu berechne ich den C-Index für jeden Schritt der (agglomerativen) hierarchischen Clusterbildung. Das Problem ist, dass der C-Index für sehr degenerierte Cluster minimal ist (um genau zu sein 0). Bedenken Sie:

c=SSminSmaxSmin

In diesem Fall ist die Summe aller Abstände zwischen Beobachtungspaaren in demselben Cluster über alle Cluster. Sei die Anzahl dieser Paare. und sind die Summen von niedrigsten / höchsten Abständen über alle Beobachtungspaare. Im ersten Schritt des hierarchischen Clusters werden die beiden nächsten Beobachtungen (minimaler Abstand) zu einem Cluster zusammengeführt. Sei der Abstand zwischen diesen Beobachtungen. Jetzt gibt es ein Beobachtungspaar im selben Cluster, also (alle anderen Cluster sind Singletons). Folglich ist . Das Problem ist, dass auch gleichSnSminSmaxndn=1S=dSmind, weil der kleinste Abstand ist (deshalb wurden die Beobachtungen zuerst zusammengeführt). In diesem Fall ist der C-Index also immer 0. Er bleibt 0, solange nur Singleton-Cluster zusammengeführt werden. Dies bedeutet, dass die optimale Clusterbildung gemäß dem C-Index immer aus einer Reihe von Clustern besteht, die zwei Beobachtungen und die restlichen Singletons enthalten. Bedeutet dies, dass der C-Index nicht auf hierarchisches Clustering anwendbar ist? Mache ich etwas falsch? Ich habe viel gesucht, konnte aber keine passende Erklärung finden. Kann mich jemand auf eine Ressource verweisen, die im Internet frei verfügbar ist? Oder, wenn nicht, zumindest ein Buch, das ich in meiner Universitätsbibliothek bekommen möchte?d

Danke im Voraus!

Björn Pollex
quelle
Ihre Beobachtung ist richtig, aber mit dem C-Index ist alles in Ordnung. Der C-Index ist 0, wenn sich die beobachtete Clusterlösung nicht von der theoretisch "idealen" besten unter der angegebenen (beobachteten) Anzahl von Abständen innerhalb des Clusters unterscheidet. Stellen Sie sich einen Datensatz vor, der alle aus engen Objektpaaren besteht und dessen Paare ziemlich weit voneinander entfernt sind. Hierarchisches Clustering unter praktisch jeder Verknüpfungsmethode "sammelt" zunächst - in ersten Schritten - die Objekte in diesen Paaren. Und die ganze Zeit über bleibt der C-Index 0. Später verschmilzt die Clusterbildung zwischen den einzelnen Paaren: Der C-Index wird sich ungemein verschlechtern.
ttnphns
Der Algorithmus zur Berechnung des C-Index wird hier unter stats.stackexchange.com/q/343878/3277 gezeigt .
ttnphns
PS Vergessen Sie nicht, dass der C-Index umso niedriger ist (näher an 0), desto besser!
ttnphns

Antworten:

2

Dies kann einer der Fälle sein, in denen Clustering mehr Kunst als Wissenschaft beinhaltet. Ich würde vorschlagen, dass Sie Ihren Clustering-Algorithmus für eine kurze Zeit laufen lassen, bevor Sie die C-Index-Berechnungen starten. "Kurze Zeit" kann nach der Verarbeitung einiger Paare sein, wenn sie anfängt, 0 oder eine andere Heuristik zu überschreiten. (Schließlich erwarten Sie nicht, dass Sie bei 1 oder 2 Clustern anhalten, da sonst möglicherweise ein anderer Trennungsalgorithmus bereitgestellt wurde.)

Für eine Buchempfehlung kann ich vorschlagen:

Sie können die verfügbaren Inhalte in Google Books scannen / durchsuchen, um festzustellen, ob sie Ihren Anforderungen entsprechen. Es hat in der Vergangenheit als Referenz für mich gearbeitet.

ars
quelle
Hoppla, Sie verwenden agglomerative Methoden, daher macht der Teil "1 oder 2 Cluster" keinen Sinn - das "Inverse" gilt, Sie möchten keine n-1 oder n-2 Singletons usw., dh Clustering zulassen Arbeiten Sie ein wenig, bevor Sie Gültigkeitskriterien anwenden, sollte dies nicht problematisch sein.
Ars