Zurück...

Clusteranalyse

Über die Clusteranalyse werden Gruppen innerhalb Beobachtungen identifiziert. Die Clusteranalyse steht damit methodisch vor der Varianz- und der Diskriminanzanalyse, da bei diesen Verfahren eine Gruppeneinteilung vorausgesetzt wird. Schauen Sie sich auch das Video Clusteranalyse mit R zur Einführung an.

Der Begriff Clusteranalyse steht für unterschiedliche Verfahren zur Gruppenidentifizierung anhand der Eigenschaften der beobachteten Objekte. Über diese Eigenschaften werden Verwandtschaften über Distanz- oder Ähnlichkeitsmaße mit den Verfahren der Clusteranalyse ermittelt. Die dann ermittelten Gruppen sollen praktisch keine Ähnlichkeit besitzen.

Die Clusteranalyse beurteilt zur Gruppenbildung (Clusterbildung) alle Eigenschaften der beobachteten Objekte (polythetisches Verfahren) und ist ein strukturentdeckendes Verfahren.

Der Ablauf einer Clusteranalyse findet prinzipiell über 2 Schritte statt (Abb. 1):

Distant- und Ähnlichkeitsmaße

Abbildung 1

Die Bestimmung der Ähnlichkeit, des Proximitätsmaßes, erfolgt ebenso wie die Bestimmung der Clusteranzahl über verschiedene Verfahren und wird auf der Seite der Distanzbestimmung ausführlich dargelegt.
Zur Darlegung der Clusteranalyse wird auf das dort beschriebene Beispiel zurückgegriffen (Abb. 2):

Abb. 2

Die euklidische Distanzmatrix der Abbildung 2 zeigt Abbildung 3 und sie ist die Ausgangsbasis zur Clusteranalyse:

Abb. 3

Hinweis:
Die Distanzmatrix wurde mit dem opensource Statistikprogramm
R erstellt.

Wie schon erwähnt, bietet die Clusteranalyse eine Reihe unterschiedlicher Methoden zur Analyse an. Abbildung 4 gibt einen Überblick, der aber keinesfalls vollständig ist, über die verschiedenen Verfahren:

Abbildung 4

Partitionierende Verfahren gehen von einer gegebenen Gruppierung, der so genannten Startpartition, aus. Auf Basis von Austauschalgorithmen werden die Gruppen solange umgeordnet, bis ein vorgegebenes Optimum erreicht ist. Diese Verfahren sind von der Startpartition abhängig und sehr rechenintensiv.

Bei hierarischen Verfahren wird unterschieden zwischen agglomerativen und divisiven Verfahren. Bei den agglomerativen Verfahren wird von der kleinsten Partition (jedes Objekt ist eine Partition) ausgegangen und über das Verfahren entsprechend größer Partition (Cluster) gebildet. Bei den divisiven Verfahren wird von der größten Partition (alle Objekte sind in einer Partition) ausgegangen und über das Verfahren wird diese in kleinere Partitionen aufgeteilt.

Im weiteren Text wird die Clusteranalyse auf Basis der agglomerativen Verfahren vorgestellt. Schematisch wird dabei wie in Abbildung 5 gezeigt vorgegangen:

Abbildung 5

Ausgegangen wird von der Distanzmatrix, z. B. wie in Abb. 3 dargestellt.

Suche die beiden Objekte mit der geringsten Distanz und bilde das Ausgangscluster.

Die verbleibenden Objekte, die nicht im neu gebildeten Cluster enthalten sind, bilden die reduzierte Distanzmatrix R.

Die Distanzbildung zwischen dem neuen Cluster (X+Y) und zwischen irgendeiner Gruppe R (oder einem Objekt) der reduzierten Distanzmatrix wird nach F1 gebildet:

D(R, X+Y) = A*D(R,X)+B*D(R,Y)+E*D(X,Y)+G*abs[D(R,X)-D(R,Y)]

F1

A, B, E und G sind Konstanten, die vom Verfahren abhängig sind
D(R,X) ist die Distanz zwischen den Gruppen R und X
D(R,Y)
ist die Distanz zwischen den Gruppen R und Y
D(X,Y)
ist die Distanz zwischen den Gruppen X und Y
abs:
Absolutwert

Tabelle 1 zeigt die Konstanten zum agglomerativen Verfahren:

Verfahren

Konstanten

Distanzberechnung nach F1

A

B

E

G

Single Linkage

0,5

0,5

0

-0,5

0,5*[D(R,X)+D(R,Y)-abs(D(R,X)-D(R,Y))]

Complete Linkage

0,5

0,5

0

0,5

0,5*[D(R,X)+D(R,Y)+abs(D(R,X)-D(R,Y))]

Average Linkage (ungewichtet)

0,5

0,5

0

0

0,5*[D(R,X)+D(R,Y)]

Average Linkage (gewichtet)

nX / (nX+nY)

nY / (nX+nY)

0

0

(1/nX+nY)*[nX*D(R,X)+nY*D(R,Y)]

Centroid

nX / (nX+nY)

nY / (nX+nY)

-[nX*nY / (nX+nY)^2]

0

(1/nX+nY)*[nX*D(R,X)+nY*D(R,Y)] -[nX*nY / (nX+nY)^2]*D(X,Y)

Median

0,5

0,5

-0,25

0

0,5[D(R,X)+D(R,Y)]-0,25*D(X,Y)

Ward

(nR+nX) / (nR+nX+nY)

(nR+nY) / (nR+nX+nY)

nR / (nR+nX+nY)

0

1/(nR+nX+nY) * [(nR*nX)*D(R,X)+(nR*nY)*D(R,Y)-nR*(D(R,Y)]

      nR: Anzahl der Objekte in der Gruppe R
      nX: Anzahl der Objekte in der Gruppe X
      nY: Anzahl der Objekte in der Gruppe Y

Tabelle 1

Im Single-Linkage-Verfahren werden im 1. Schritt die beiden Objekte X und Y vereinigt, die die kleinste Distanz aufweisen. Im Beispiel Abbildung 3 sind das die Objekte X = 5 und Y = 3 mit D(X,Y) = 9,69. Das Objekt D(5,3) stellt nun eine Gruppe (Startpartition) dar. Die Distanz dieser Gruppe wird als Folgeschritt zu den übrigen Objekten R der Gruppe nach F2 (Single Linkage) gebildet:

D(R, X+Y) = 0,5*[D(R,X)+D(R,Y)-abs[D(R,X)-D(R,Y)]

F2

Die Objekte der reduzierten Matrix R sind die Objekte 1, 2 und 4. Die neue Distanzmatrix wird nach dem Schema in Abbildung 5 über F2 wie folgt gebildet:

Abb. 6

Abb. 7

Abb. 8

Hinweis zur Abbildung 6 bis 8:
Die Startpartition stellt, wie oben erwähnt, das Objekt D(X,Y) = D(5,3) dar. Die Objekte der Startpartition sind in den Abbildungen 6 bis 8 grün markiert und durch das gerundete Rechteck andeutungsweise zusammen gefasst.

D(Obj.1, Obj.5+Obj.3) = 0,5*[34,7+25,1-abs(34,7-25,1)] = 25,1

D(Obj.2, Obj.5+Obj.3) = 0,5*[16,85+18,17-abs(16,85-18,17)] = 16,85

D(Obj.4, Obj.5+Obj.3) = 0,5*[15,84+10,53-abs(15,84-10,53)] = 10,53

Durch die ermittelten Distanzen des Objektes D(X,Y) zu den verbleibenden Objekten 1, 2 und 4 erhalten wir, nach Eleminierung der Zeilen und Spalten der fussionierten Objekte D(X,Y) aus der Matrix Abbildung 3, die neue reduzierte Distanzmatrix (Abb. 9):

 

Objekt 5+3

Objekt 1

Objekt 2

Objekt 1

25,1

 

 

Objekt 2

16,85

35,49

 

Objekt 4

10,53

23,81

12,21

Abb. 9

Führen wir nach Abb. 5 einen weiteren Durchlauf durch! Dazu wird das Objekt 4 (kleinste Distanz) zur Gruppe Objekt 5+3 addiert. Die Distanz zu den verbleibenden Objekten 1 und 2 wird wieder nach F2 berechnet:

Abb. 10

Abb. 11

D(Obj.1, [Obj.5+Obj.3]+Obj.4) = 0,5*[25,1+23,81-abs(25,1-23,81)] = 23,81

D(Obj.2, [Obj.5+Obj.3]+Obj.4) = 0,5*[16,85+12,211-abs(16,85-12,21)] = 12,21

Als Resultat erhalten wir eine neue Distanzmatrix zwischen dem Objekt (5+3+4) und den Objekten 1 und 2 (Abbildung 12):

 

Objekt 5+3+4

Objekt 1

23,81

Objekt 2

12,04

Abb. 12

Die gebildeten Cluster unterliegen Ihrer Interpretation, d. h., ist eine weitere Gruppenbildung sinnvoll oder nicht? Die Gruppenbildung ist ebenso von der Relevanz der betrachteten Objekteigenschaften abhängig. Eingangs wurde als Vorteil der Clusteranalyse genannt, dass alle Objekteigenschaften zur Clusteranalyse herangezogen werden können. Empfehlenswert ist es allerdings, diese bezüglich ihrer Relevanz zu beurteilen. Konstante Objekteigenschaften sollten nicht in die Clusteranalyse einbezogen werden!

Wir nehmen uns die Interpretationsfreiheit und beenden die Clusteranalyse für dieses Beispiel mit dem Vorliegen der 3 Clustern Objekt (5+3+4), Objekt 1 und Objekt 2.

Das Statistikprogramm R bietet über die Funktion hclust() und deren Methode single (Single-Linkage) eine einfache Möglichkeit der Clusteranalyse. Abbildung 13 zeigt das Ergebnis der Distanzmatrix aus Abbildung 3 über die Funktion hclust(), das mit unserer manuellen Rechnung übereinstimmt:

Abb. 13

Die R-Funktion hclust() bietet auch die in Abbildung 4 unter den hierarchischen Verfahren gezeigten Methoden an. Auf das Ward-Verfahren wird hier nicht eingegangen, sondern nur erwähnt, dass dieses Verfahren in der Praxis eine weite Verbreitung gefunden hat.

Erwähnen möchte ich neben hclust() die Funktion agnes() aus dem Paket cluster und die agglomerativen Verfahren Single-, Complete- und Average-Linkage darstellen:

Die Daten zur Cluster-Analyse zeigen bezüglich der Größe zwischen den Merkmalen A, B und C deutliche Unterschiede (siehe Abb2). Besonders zwischen den Merkmalen A und B liegt fast eine 10er-Potenz! Derart große Differenzen zwischen den Merkmalen können die Aussagen zur Clusterbildung negativ beeinflussen und deswegen werden die Daten mit stand=T standardisiert. Fehlende Werte (Beobachtungen) müssen ebenfalls aus den Daten zur Clusteranalyse entfernt werden! Aber fangen wir an...!

        > Cluster_Daten
          Objekt Merkmal.A Merkmal.B Merkmal.C
        1      1        15       120        50
        2      2        18       155        55
        3      3        16       140        65
        4      4        17       143        55
        5      5        17       148        70

Single-Linkage-Verfahren:

      > Single_Verfahren <- agnes(Cluster_Daten, stand=T, method = "single")
      > plot(Single_Verfahren, which.plots = 2, main = "Single-Linkage, standardisiert", labels = Cluster_Daten$Objekt)

      Cluster_single

Height zeigt die Heterogenität der gebildeten Cluster an und demnach ist der Unterschied zu z. B. 3 & 4 sehr deutlich! Auf welcher Höhe die Cluster verschmolzen wurden, kann auch als Zahlenwert ausgegeben werden:

      > sort(Single_Verfahren$height)
      [1] 2.064098 2.325285 2.421319 3.730614

D. h., die Objekte 3 & 4 wurden auf der Höhe 2.064 verschmolzen und das Objekt 1 auf der Höhe 3,73. Der agglomerative Koeffizient (AC) liegt zwischen 0 und 1, sollte als Resultat einer guten Clusterschätzung über 0,5 liegen. Nebenbei bemerkt, die Clusterbildung entspricht der Funktion hclust().

Compelte-Linkage-Verfahren:

      > Complete_Verfahren <- agnes(Cluster_Daten, stand=T, method = "complete")
      > plot(Complete_Verfahren, which.plots = 2, main = "Complete-Linkage, standardisiert", labels = Cluster_Daten$Objekt)

      Cluster_complete

Die beiden Verfahren Single- und Complete-Linkage unterscheiden sich deutlich in der Höhe der Clusterbildung und dem AC-Koeffizienten.

Average-Linkage-Verfahren:

      > Average_Verfahren <- agnes(Cluster_Daten, stand=T, method = "average")
      > plot(Average_Verfahren, which.plots = 2, main = "Average-Linkage, standardisiert", labels = Cluster_Daten$Objekt)

      Cluster_average

Beurteilen Sie die Güte der Verfahren selber! Die Differenz zwischen Complete und Average ist nicht besonders deutlich!

Seitenanfang

Hat der Inhalt Ihnen weitergeholfen und Sie möchten diese Seiten unterstützen?