Blog

Clusteranalyse: Einführung

Was ist Clusteranalyse?

Clusteranalyse ist ein Sammelbegriff für verschiedene Algorithmen zum Auffinden von Gruppenstrukturen in Daten. Die Gruppen werden dann als Cluster bezeichnet und sind a priori in der Regel nicht bekannt. Im Gegensatz dazu werden bei den Klassifikationsverfahren die Beobachtungen bereits bekannten Gruppen (z.B. Käufer und Nichtkäufer) zugeordnet. Oftmals wird eine Klassifikation mit den in der Clusteranalyse bestimmten Gruppen durchgeführt. Allgemein wird die Gruppenzugehörigkeit der einzelnen Beobachtungen eines Datensatzes bei der Clusteranalyse so gewählt, dass die Gruppen untereinander möglichst heterogen (verschieden), und die Beobachtungen innerhalb einer Gruppe möglichst homogen (gleich) sind. Ob eine gefundene Clusterlösung sinnvoll ist, hängt in der Praxis maßgeblich von der Interpretierbarkeit der identifizierten Cluster ab. Es gibt sehr viele verschiedene Algorithmen, die zu verschiedenen Anzahlen von Clustern und auch zu verschiedenartigen Clustern führen. Im Folgenden beschränken wir uns auf die zwei gängigsten Verfahren.

Ein einfaches Beispiel zeigt das folgende Streudiagramm. Auf der x-Achse ist das Gewicht in kg und auf der y-Achse die Körpergröße in cm für 20 Personen abgetragen. Die Clusteranalyse identifiziert zwei Gruppen, die im Diagramm farblich (rot und blau) markiert wurden. Die Interpretation stellt sich in diesem Beispiel als extrem einfach heraus, da die gefundenen Cluster dem Geschlecht (rot: Frauen, blau: Männer) entsprechen.

Online Marketing: Kundensegmentierung mittels Clusteranalyse

Die Zielsetzung bei der Kundensegmentierung besteht darin, anhand verschiedenster Merkmale (z.B. demographische Merkmale und Transaktionsdaten) die Kunden in möglichst ähnliche Gruppen (Segmente) einzuteilen. In der Praxis haben Kunden unterschiedliche Interessen und Bedürfnisse. Werden alle Kunden in der Ansprache gleich behandelt, so bleiben individuelle Bedürfnisse unbeachtet und Potenziale werden verschenkt. Andererseits ist die individuelle Ansprache jedes einzelnen Kunden kaum kosteneffizient und somit meistens unpraktikabel. Die Kundensegmentierung sucht den goldenen Mittelweg, indem sie eine überschaubare Anzahl an Kundensegmenten identifiziert und beschreibt. Die Segmente werden genau charakterisiert, so dass man im Marketing eine präzise Vorstellung von den entsprechenden Bedürfnisse hat und eine gezielte Ansprache der Kunden möglich wird.

Distanz- vs. Ähnlichkeitsmaße

Die Clusterbildung kann aufgrund von Distanz- oder Ähnlichkeitsmaßen geschehen. Es ist wichtig, sich vor der Analyse darüber klar zu werden, welches Maß Anwendung finden soll. In der folgenden Grafik sind Beobachtungen für zwei Gruppen rot und blau abgetragen. Es könnte einerseits der absolute Abstand zwischen den Beobachtungen der Gruppen von Interesse sein, dann wäre die Distanz ein geeignetes Maß. Hingegen kann aber auch die Ähnlichkeit des Verlaufs, der hier durch die Verbindung der Beobachtungen dargestestellt ist, interessant sein. In diesem Fall wäre ein Ähnlichkeitsmaß anzuwenden.

Um den Unterschied zwischen Distanz- und Ähnlichkeitsmaßen zu verdeutlichen, berechnen wir im Folgenden die Distanz- und Ähnlichkeitsmatrix für das Beispiel mit den Gruppan rot und blau. Dazu kommt die freie Statistik-Umgebung "R" zum Einsatz.

matrix
##      rot blau
## [1,]   3    7
## [2,]   5    9
## [3,]   1    5
## [4,]   2    6

Der Befehl dist() berechnet als Distanzmaß den euklidischen Abstand der Beobachtungen und simil() gibt den Korrelationskoeffizienten (nach Pearson) als Ähnlichkeitsmaß an.

dist(matrix)
##          1        2        3
## 2 2.828427                  
## 3 2.828427 5.656854         
## 4 1.414214 4.242641 1.414214
simil(matrix)
##   1 2 3
## 2 1    
## 3 1 1  
## 4 1 1 1

Die in diesem Blog folgenden Algorithmen zum Auffinden von Clusterstrukturen verwenden ausschließlich Distanzmaße.

Methoden der Clusteranalyse

Unterschieden wird hauptsächlich zwischen partitionierenden und hierarischen Verfahren. Partionierende Clusterverfahren zeichnen sich dadurch aus, dass die Zahl der zu bildenden Cluster k vorgegeben werden muss. Wie bereits erwähnt, ist die Anzahl der Cluster aber meist nicht bekannt, weshalb diese Eigenschaft oft als Nachteil angesehen wird. Je nach verwendetem Verfahren sucht der Algorithmus dann iterativ das Optimum einer Zielfunktion, indem die Beobachtungen zwischen den gegebenen Clustern hin und her getauscht werden. Der berühmte k-means-Algorithmus gehört zu den partionierenden Clusterverfahren: Es werden zunächst k Clusterzentren zufällig gewählt und anschließend die Summe der quadrierten Abstände der Beobachtungen zum nächstgelegenen Clusterzentrum minimiert. Die Clusterzentren werden dann durch Mittelwertberechnung neu bestimmt und die Beobachtungen neu verteilt. Dies geschieht, bis die Zuordnung der Beobachtungen sich nicht mehr ändert.

Die hierarchischen Clusterverfahren werden unterteilt in agglomerative und divisive Verfahren. Agglomerativ bedeutet nichts weiter, als dass anfangs jede einzelne Beobachtung als Cluster angenommen wird. Als nächstes werden die zwei Cluster, die den kleinsten Abstand zueinander haben, zu einem Cluster zusammengefasst und erneut die Distanzen zwischen allen Clustern berechnet. Dies geschieht so lang, bis alle Beobachtungen letztendlich zu einem Cluster zusammengefasst sind. Beim divisiven Verfahren ist es genau umgekehrt, den Ausgangspunkt bildet ein Cluster, das die Gesamtheit der Beobachtungen enthält und in den Folgeschritten aufgeteilt wird.

Hierarchische Clusterverfahren können grafisch mittels eines sog. Dendrogramms dargestellt werden. Ein Dendrogramm zeigt, bei welcher Distanz Beobachtungen zusammengefasst (agglomerativ) oder getrennt (divisiv) werden.

Wie viele Cluster?

Eine “richtige” Anzahl von Clustern gibt es nicht. Um dennoch ein Gefühl dafür zu bekommen, wie viele Cluster sinnvoll sind, ist ein Screeplot empfehlenswert. Ein Screeplot zeigt auf der x-Achse die Anzahl der Cluster k und auf der y-Achse die Varianz innerhalb der Cluster (die es zu minimieren gilt). Das k, bei dem sich ein Knick befindet (sog. Ellenbogen), wird meist verwendet, da zusätzliche Cluster kaum noch zur Verringerung der Varianz beitragen. Um das Ergebnis der Gruppenfindung zu beurteilen, eignet sich ein Silhouettenplot. Ein Silhouettenplot zeigt für jede Beobachtung i die Silhouettenbreite , welche definiert ist als normierte Differenz der kleinsten Distanz zu den Beobachtungen außerhalb der eigenen Gruppe und dem Mittelwert der Distanzen innerhalb einer Gruppe. Die Silhouettenbreite kann jeden Wert im Intervall [-1, 1] annehmen und wird folgendermaßen interpretiert.

: Die Beobachtung ist dem “richtigen” Cluster zugeordnet.
: Die Beobachtung hätte ebenso gut einer anderen Gruppe zugeordnet werden können.
: Die Beobachtung ist schlecht zugeordnet.

Es kann darüber hinaus die durchschnittliche Silhouettenbreite über alle Beobachtungen berechnet werden, womit sich die Gruppenbildung als Ganzes beurteilen lässt. Die durchschnittliche Silhouettenbreite wird analog interpretiert.

Online-Marketing: Bestimmung der Clusteranzahl k

In der Praxis wird sich häufig noch eines anderen Mittels zur Bestimmung der Clusteranzahl bedient: die Interpretierbarkeit. Wie anfangs erwähnt, kann eine Clusteranalyse durchaus Ergebnisse liefern, die zwar aus statistischer Sicht im optimalen Bereich liegen, praktisch aber mangels Interpretierbarkeit oder Umsetzbarkeit wenig nützlich sind. Speziell bei heterogenen Daten kann die aus statistischer Sicht optimale Anzahl an Clustern zu hoch sein, um damit noch sinnvoll arbeiten zu können. Die Herausforderung besteht dann darin, die Anzahl der Cluster zu reduzieren und dabei eine gute Interpretierbarkeit zu gewährleisten.

Der zweite Teil der Artikelserie illustriert die vorgestellten Konzepte der Clusteranalyse anhand eines Beispiels.

Weitere Teile der Artikelreihe:

by Sarah Wagner

Clusteranalyse in R