Silhouettenkoeffizient

Die Silhouette gibt für eine Beobachtung an, wie gut die Zuordnung zu den beiden nächstgelegenen Clustern ist. Der Silhouettenkoeffizient gibt eine von der Cluster-Anzahl unabhängige Maßzahl für die Qualität eines Clusterings an. Der Silhouettenplot visualisiert sowohl alle Silhouetten eines Datensatzes als auch den Silhouettenkoeffizient für die einzelnen Cluster und den Gesamtdatensatz.

Silhouette

Gehört das Objekt o {\displaystyle o} zum Cluster A {\displaystyle A} so ist die Silhouette von o {\displaystyle o} definiert als:[1]

S ( o ) = { 0  wenn  o  einziges Element von  A  ist dist ( B , o ) dist ( A , o ) max { dist ( A , o ) , dist ( B , o ) }  sonst  {\displaystyle S(o)={\begin{cases}0&{\text{ wenn }}o{\text{ einziges Element von }}A{\text{ ist}}\\{\frac {\operatorname {dist} (B,o)-\operatorname {dist} (A,o)}{\max\{\operatorname {dist} (A,o),\,\operatorname {dist} (B,o)\}}}&{\text{ sonst }}\end{cases}}}

mit dist ( A , o ) {\displaystyle \operatorname {dist} (A,o)} als seinem mittleren Abstand zu den anderen Objekten des Clusters A {\displaystyle A} und dist ( B , o ) {\displaystyle \operatorname {dist} (B,o)} dem mittleren Abstand zu den Objekten des nächstgelegenen anderen Clusters.

Strukturierung Wertebereich von S ( o ) {\displaystyle S(o)}
stark 0 , 75 < S ( o ) 1 {\displaystyle 0{,}75<S(o)\leq 1}
mittel 0 , 5 < S ( o ) 0 , 75 {\displaystyle 0{,}5<S(o)\leq 0{,}75}
schwach 0 , 25 < S ( o ) 0 , 5 {\displaystyle 0{,}25<S(o)\leq 0{,}5}
keine Struktur 0 < S ( o ) 0 , 25 {\displaystyle 0<S(o)\leq 0{,}25}

Dabei wird die Differenz dieser Abstände dist ( B , o ) dist ( A , o ) {\displaystyle \operatorname {dist} (B,o)-\operatorname {dist} (A,o)} normiert mit dem größeren der beiden Abstände, sodass S ( o ) {\displaystyle S(o)} zwischen −1 und 1 liegt.

Negative Werte zeigen an, dass o {\displaystyle o} eher zum Cluster B {\displaystyle B} passt, bei Werten um null ist eine Zugehörigkeit nicht deutlich und große Werte ergeben sich, wenn o {\displaystyle o} wohl korrekt dem Cluster A {\displaystyle A} zugeordnet wurde.

Silhouettenkoeffizient

Der Silhouettenkoeffizient s C {\displaystyle s_{C}} ist definiert als

s C = 1 n C o C s ( o ) {\displaystyle s_{C}={\tfrac {1}{n_{C}}}\sum _{o\in C}s(o)}

also als das arithmetische Mittel aller n C {\displaystyle n_{C}} Silhouetten des Clusters C {\displaystyle C} definiert. Der Silhouettenkoeffizient kann für jeden Cluster oder für den Gesamtdatensatz berechnet werden.

Beim k-means- oder k-medoid-Algorithmus kann man mit ihm die Ergebnisse mehrerer Durchläufe des Algorithmus vergleichen, um bessere Parameter zu erhalten. Dies bietet sich insbesondere für die genannten Algorithmen an, da sie randomisiert starten und so unterschiedliche lokale Maxima finden können. Der Einfluss des Parameters k {\displaystyle k} kann so reduziert werden, da der Silhouettenkoeffizient von der Cluster-Anzahl unabhängig ist und somit Ergebnisse vergleichen kann, die mit unterschiedlichen Werten für k {\displaystyle k} erhalten wurden.

Silhouettenplot

Die grafische Darstellung der Silhouetten erfolgt für alle Beobachtungen gemeinsam in einem Silhouettenplot. Für alle Beobachtungen, die zu einem Cluster gehören, wird der Wert der Silhouette als waagerechte (oder senkrechte) Linie dargestellt. Die Beobachtungen in einem Cluster werden dabei nach der Größe der Silhouetten geordnet.

In der rechten Grafik werden für vier verschiedene Datensätze die Daten, das Dendrogramm für eine hierarchische Clusteranalyse (euklidische Distanz, Single-Linkage) und der Silhouettenplot für die Lösung mit zwei Clustern dargestellt (von oben nach unten). Die Zuordnung der Datenpunkte durch die hierarchische Clusteranalyse in der Zwei-Cluster-Lösung wird durch die Farben rot (Zuordnung zu Cluster 1) und blau (Zuordnung zu Cluster 2) symbolisiert.

Je besser die beiden Cluster in den Daten getrennt sind (von links nach rechts), desto besser kann die hierarchische Clusteranalyse die Datenpunkte korrekt zuordnen. Auch der Silhouettenplot verändert sich. Während für den linken Datensatz negative Silhouetten vorkommen, finden sich im ganz rechten Datensatz nur positive Silhouetten. Auch die Silhouettenkoeffizienten werden von links nach ganz rechts größer, sowohl für die einzelnen Cluster als auch für den gesamten Datensatz.

Beispiel

Der Iris flower-Datensatz besteht aus jeweils 50 Beobachtungen dreier Arten von Schwertlilien (Iris Setosa, Iris Virginica und Iris Versicolor), an denen jeweils vier Attribute der Blüten erhoben wurden: Die Länge und die Breite des Sepalum (Kelchblatt) und des Petalum (Kronblatt). Rechts zeigt eine Streudiagramm-Matrix die Daten für die vier Variablen.

Dendrogramm und Silhouettenplot für eine Zwei-, Drei- und Vier-Cluster-Lösung.

Für die vier Größen wurde eine hierarchische Clusteranalyse mit der euklidischen Distanz und der Single-Linkage Methode durchgeführt. Oben sind folgenden Grafiken dargestellt:

  • Links oben: Ein Dendrogramm der Clusterlösung. Hier sieht man, dass sich eine Zwei- oder Vier-Cluster-Lösung anböte.
  • Rechts oben: Grafische Darstellung der Silhouetten der Zwei-Cluster-Lösung. Im ersten Cluster sind negative Silhouetten S ( o ) {\displaystyle S(o)} zu finden, sodass diese Beobachtungen eher falsch zugeordnet sind. Eventuell ist eine Lösung mit mehr Clustern besser geeignet.
  • Links unten: Grafische Darstellung der Silhouetten der Drei-Cluster-Lösung. Der erste Cluster wird in zwei Teilcluster zerlegt ( 78 = 50 + 28 {\displaystyle 78=50+28} ); zwar sind im ersten Cluster die negativen Silhouetten verschwunden, jedoch haben Beobachtungen im zweiten Cluster nun negative Silhouetten.
  • Rechts unten: Grafische Darstellung der Silhouetten der Vier-Cluster-Lösung. Der zweite Cluster der Zwei-Cluster-Lösung wird nun in zwei Teilcluster zerlegt ( 72 = 60 + 12 {\displaystyle 72=60+12} ). Es gibt fast keine negativen Silhouetten mehr.

Es ergeben sich folgende Silhouettenkoeffizienten

Silhouettenkoeffizienten
n C / s C {\displaystyle n_{C}/s_{C}}
Anzahl Cluster Total
2 150 / 0,52 78 / 0,39 72 / 0,66
3 150 / 0,51 50 / 0,76 28 / 0,59 72 / 0,31
4 150 / 0,50 50 / 0,76 28 / 0,52 60 / 0,27 12 / 0,51

Literatur

  • Martin Ester, Jörg Sander: Knowledge Discovery in Databases: Techniken und Anwendungen. Springer, Hamburg/Berlin 2000, ISBN 3-540-67328-8, S. 66.  Online: eingeschränkte Vorschau in der Google-Buchsuche
  • Peter J. Rousseeuw: Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis. In: Computational and Applied Mathematics. 20, 1987, S. 53–65. doi:10.1016/0377-0427(87)90125-7.
  • silhouette: Berechnen von Silhouettenkoeffizienten und -plots mit R.

Einzelnachweise

  1. Peter J. Rousseeuw: Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. In: Journal of Computational and Applied Mathematics. Nr. 20, 1987, S. 53–65 (online).