Hierarchische Clusteranalyse

In diesem Artikel möchten ich kurz die Hierarchische Clusteranalyse vorstellen.

Ist gibt zwei grundsätzliche Verfahren für die Hierarchische Clusteranalyse. Man nennt sie Top-Down und Bottom-Up Verfahren.

Die Top-Down Verfahren werden als divisive Cluster-verfahren bezeichnet. Im englischen Sprachgebrauch wird hierfür gerne die Abkürzung DIANA verwendet. Sie steht für Divise Analysis.

Wir steigen gleich ein, indem wir die notwendigen Bibliotheken laden:

library(tidyverse)  # data manipulation
library(cluster)    # clustering algorithms
library(factoextra) # clustering visualization
library(gapminder)

Verwendet wird in meinem Beispiel der bekannte gapminder Datensatz. Wir haben diesen bereits mit library(gapminder) geladen.

Betrachten wir den Datensatz mit der funktion head().

head()
A tibble: 6 x 6
 country        continent  year   lifeExp  pop        gdpPercap
                           
 1 Afghanistan  Asia       1952    28.8    8425333      779.
 2 Afghanistan  Asia       1957    30.3    9240934      821.
 3 Afghanistan  Asia       1962    32.0   10267083      853.
 4 Afghanistan  Asia       1967    34.0   11537966      836.
 5 Afghanistan  Asia       1972    36.1   13079460      740.
 6 Afghanistan  Asia       1977    38.4   14880372      786.

Der gapminder Datensatz zeigt die Entwicklungen der einzelnen Länder pro Jahr. Da wir Länder untereinander vergleichen möchten, werden wir mit Durchschnittswerten arbeiten. Diese erzeugen wir mit folgenden Code:

df <- gapminder %>% 
   group_by(country) %>%
   summarise(lifeExp_mean = mean(lifeExp), 
   pop_mean = mean(pop),      
   gdpPercap_mean = mean(gdpPercap)) %>%
   filter(lifeExp_mean < 50) %>% 
   na.omit()

head(df)

A tibble: 6 x 4
 country               lifeExp_mean  pop_mean         gdpPercap_mean
                                
 1 Afghanistan         37.5           15823715.           803.
 2 Albania             68.4            2580249.          3255.
 3 Algeria             59.0           19875406.          4426.
 4 Angola              37.9            7309390.          3607.
 5 Argentina           69.1           28602240.          8956.
 6 Australia           74.7           14649312.         19981.

Mit den nächsten Schritten werden wir die Daten anpassen, damit man eine Hierarchische Clusteranalyse durchführen kann. Zu Beginn werden wir die erste Spalte umwandeln, damit diese als Reihen namen erkannt wird.

df <-  column_to_rownames(df,"country")
 head(df)

                 lifeExp_mean      pop_mean            gdpPercap_mean
 Afghanistan     37.47883           15823715       802.6746
 Albania         68.43292            2580249      3255.3666
 Algeria         59.03017           19875406      4426.0260
 Angola          37.88350            7309390      3607.1005
 Argentina       69.06042           28602240      8955.5538
 Australia       74.66292           14649313     19980.5956

Danach folgt die Skalierung/Standardisierung der Daten mit scale().

df <- scale(df)
d <- dist(df, method = "euclidean")
head(d)

Nachdem die Skalierung / Standardisierung abgeschlossen ist, werden die Daten auf Unterschiede untersucht, bzw. es wird eine Distanzmatrix erstellt. Wir verwenden in unserem Beispiel den häufig verwendeten euklidischen Abstand. Wir haben die dist() funktion bereits oben ausgeführt.

Die Distanzmatrix lässt sich auch bildlich darstellen. Wir verwenden dazu folgende Code:

fviz_dist(d, gradient = list(low = "white", mid = "blue", high = "red"))

Dadurch erhält man folgende Distanzmatrix als Bild:

Jetzt führen wir die Berechnung der Cluster durch. Dazu verwenden wir die „complete“ Methode.

hc1 <- hclust(d, method = "complete" )
plot(hc1, cex = 0.6, hang = -1)
rect.hclust(hc1, k = 4, border = 2:6)

Mit der Funktion rect.hclust() haben wir die Cluster noch farblich in Quadrate eingeteilt.

Eine weitere Möglichkeit ist der Verwendung des factoextra Packetes. Wie führen den folgenden Code aus um das Paket zu verwenden:

hc.cut <- hcut(d, k = 4, hc_method = "complete")
fviz_dend(hc.cut, show_labels = TRUE, rect = TRUE)
fviz_cluster(data=d,hc.cut, frame.type = "convex")

Erstell wird dadurch ein weiteres Dendrogramm und ein weitere Darstellung der Cluster.

Cluster Plots und die hierarchische Clusteranalyse sind mächtige Werkzeuge in der Welt der Datenanalyse, insbesondere nützlich für Aufgaben in Supply Chain Management und Operations Management. Sie helfen, die komplexen Strukturen und Beziehungen innerhalb großer Datensätze zu entwirren und bieten eine visuelle Darstellung von Gruppierungen oder Clustern innerhalb dieser Daten. Hier ein detaillierter Einblick in ihre Anwendungsbereiche:

Erkennung natürlicher Gruppierungen

Die hierarchische Clusteranalyse ermöglicht es uns, natürliche Gruppierungen innerhalb eines Datensatzes zu identifizieren. Zum Beispiel können Kunden eines Online-Einzelhändlers basierend auf Kaufverhalten, Präferenzen und demografischen Merkmalen in verschiedene Gruppen eingeteilt werden. Dieses Wissen ermöglicht es Unternehmen, maßgeschneiderte Marketingstrategien zu entwickeln, die auf spezifische Kundensegmente abzielen.

Optimierung von Lieferketten

In der Lieferkettenverwaltung kann die hierarchische Clusteranalyse dazu beitragen, Lieferanten oder Transportwege zu clustern, die ähnliche Eigenschaften aufweisen, wie geographische Nähe oder Lieferfähigkeiten. Durch die Analyse dieser Cluster können Unternehmen effizientere Routen planen, Transportkosten senken und die Lieferzeit verkürzen.

Verbesserung der betrieblichen Effizienz

Die Clusteranalyse kann auch dazu verwendet werden, Produktionsprozesse zu optimieren. Durch die Gruppierung von Maschinen, die ähnliche Aufgaben ausführen oder ähnliche Wartungsbedürfnisse haben, können Betriebsleiter Wartungspläne effizienter gestalten und Ausfallzeiten minimieren.

Entscheidungsfindung und Strategieentwicklung

Die visuelle Darstellung in Cluster Plots ermöglicht es Führungskräften, die Struktur der Daten schnell zu erfassen und fundierte Entscheidungen zu treffen. In einem Cluster Plot dargestellte Daten können Aufschluss darüber geben, welche Geschäftsbereiche verstärkt Aufmerksamkeit benötigen oder welche Strategien angepasst werden sollten, um die Leistung zu verbessern.

Risikomanagement

Durch die Identifizierung von Clustern, die ein hohes Risiko darstellen könnten, wie z.B. Cluster von Lieferanten in politisch instabilen Regionen, können Unternehmen proaktive Maßnahmen ergreifen, um potenzielle Unterbrechungen in der Lieferkette zu vermeiden.

Fazit

Cluster Plots und die hierarchische Clusteranalyse sind nicht nur Werkzeuge für Datenwissenschaftler, sondern auch unentbehrliche Instrumente für jeden, der in den Bereichen Supply Chain und Operations Management tätig ist. Sie bieten tiefe Einblicke und fördern datengestützte Entscheidungen, die essentiell für die Wettbewerbsfähigkeit und Effizienz in der modernen Geschäftswelt sind. Durch ihre Fähigkeit, komplexe Datenmengen zugänglich und interpretierbar zu machen, spielen sie eine Schlüsselrolle bei der Transformation von Daten in handlungsreiche Erkenntnisse.