Unsupervised Learning: k-means Clustering Datenwelten I: Einführung in Data Science WS 2022/23 Inhalte des Videos 1. Clusteranalyse: Ansätze und Zielsetzungen 2. k-means-Clustering: Verfahren 3. Allgemeine Vorgehensweise: Beispiel I 4. Weitere Aspekte: Beispiel II 2 1. Clusteranalyse: Ansätze und Zielsetzungen Zielsetzungen Erkennung von unbekannten Mustern in Daten (mit hoher Heterogenität) „Sag mir, was für Muster in meinen Daten verborgen sind.“ Bildung von Gruppen (Cluster), die hinsichtlich von mehreren oder vielen Merkmalen möglichst homogen sind Gruppenzugehörigkeit nicht in Daten definiert, sondern wird durch Algorithmus „entdeckt“ die Lösung kann nicht anhand vorherigen Gruppenzuordnungen in den Daten „überwacht“ werden Stichworte: Exploration („musterentdeckend“), data mining 4 Clusteranalyse Beispiel und Zielsetzung Ergebnis: Zuordnung zu drei Clustern, neue Variable: Clusterzugehörigkeit B wenig A und viel B viel A und mittelviel B • • • • • Merkmale, „features“ n=12 zwei Variablen: A, B Daten weisen klare Muster auf drei unterscheidbare Gruppen („Cluster“) Clusterzugehörigkeit in Daten nicht definiert Wie können über einen Algorithmus die Muster in den Daten und sich daraus ergebende Cluster identifziert werden? A Ziel: Beobachtungen innerhalb der Cluster möglichst homogen, Unterschiede zwischen Clustern möglichst ausgeprägt 5 Clusteranalyse Schritte 1. Auswahl der Variablen („feature selection“) Kriterien u.a.: Relevanz für Gruppierung, Unabhängigkeit, Messbarkeit 2. Bestimmung von Distanzen bzw. Ähnlichkeiten viele unterschiedliche Maße, z.B. Korrelation (Ähnlichkeit) oder (quadrierte) euklidische Distanz 3. Auswahl des Algorithmus viele unterschiedliche Verfahren, z.B. hierarchische Clusteranalyse mit WardMethode, k-means Clustering 4. Bestimmung der Clusteranzahl Orientiert an Homogenität (Visualisierung in Screeplot) und Handhabbarkeit der Clusterlösung 5. Interpretation der Clusterlösung insb. zu k-means Clustering: “The trouble is that choosing the right combination of data and clusters can be a bit of an art; sometimes a great deal of trial and error is involved.” “Evaluating clustering results can be somewhat subjective.” (Lantz 2019: 304, 306) 6 Clustering Algorithmen Datenmenge und Rechenzeit u.a. Verfahren mit Ward Methode k-means Clustering „big data“ “Benchmarking Performance and Scaling of Python Clustering Algorithms”, https://hdbscan.readthedocs.io/en/latest/performance_and_scalability.html (Zugriff: 16.11.2021) 7 2. k-means Clustering: Verfahren k-means Clustering Verfahren allgemein Methode in 1950er grundsätzlich entwickelt, Bezeichnung k-means erstmalig 1967 verwendet Grundidee: initiale Festlegung von Clusterzentren (“means”, Mittelpunkte, centroids ) für k Cluster Zuordnung der Datenpunkte zum jeweils nächstgelegenen Clusterzentrum (min. Distanz) Verschiebung der Clusterzentren, sodass die Summe der Distanzen innerhalb der Cluster minimal ist ggf. Neuzuordnung der Datenpunkte und weitere Durchläufe (“Iterationen”) MacQueen 1967: 281 9 k-means Clustering Initiale Clusterzentren und weitere Schritte Backhaus et al. 2021: 567 10 Distanzmaß euklidische Distanz euklidische Distanz zwischen zwei Beobachtungen k und l mit Ausprägungen von j Variablen (im Beispiel: j=2) euklidische Distanz („Luftlinie“) Beobachtung k, x1=1, x2=6 a= c b= Backhaus et al. 2021: 501. Beobachtung l, x1=5, x2=2 11 Auswahl der Variablen / Anzahl Cluster? “The trouble is that choosing the right combination of data and clusters can be a bit of an art; sometimes a great deal of trial and error is involved.” (Lantz 2019, S. 304). weitere Erläuterung am Beispiel 12 3. Allgemeine Vorgehensweise: Beispiel 1 Beispiel: Regionen in Deutschland Daten: n=401 Kreise und kreisfreie Städte Variablen: BIP pro Einwohner:in (in Euro), Bevölkerungsdichte (Einw. pro km2), durchschnittliches Alter der Einw. (in Jahren) Jahr: 2018 Datenquelle: https://regionalatlas.statistikportal.de/ (Stat. Bundes- und Landesämter) z-Standardisierung aller Variablen 14 z-Standardisierung Werden Clustervariablen auf unterschiedlichen Messdimensionen […] gemessen, so kann es allein dadurch zu einer Vergrößerung von Distanzen zwischen Objekten kommen. Um eine Vergleichbarkeit zwischen den Variablen herzustellen, sollte deshalb bei metrisch skalierten Clustervariablen vorab eine [z-]Standardisierung vorgenommen werden. Diese hat zur Folge, dass alle (standardisierten) Variablen einen Mittelwert von Null und eine Varianz von 1 besitzen.“ (Backhaus et al. 2021: 496) Differenz der Werte aller Beobachtungen i=1, 2 … n einer Variable x vom arithmetischen Mittel geteilt durch die Standardabweichung 15 Beispiel: Regionen in Deutschland Lage- und Streuungsmaße n arith. Mittel in jeweiligen Einheiten BIP pro Einw. (in Euro) 2 Bevölkerungsdichte (Einw./km ) durchschnittl. Alter (in Jahren) z-standardisiert BIP pro Einw. Bevölkerungsdichte durchschnittl. Alter Std.abw. min max 401 37.681 16.710 16.320 182.301 401 401 536 45,0 708 2,0 36 40,4 4.736 50,7 -1,28 -0,71 -2,33 8,65 5,93 2,88 401 401 401 0 0 0 1 1 1 Quelle: Regionatlas (13.11.2021), eigene Auswertung. Beispiel 1 nur mit n=32 und 2 Variablen (BIP, Bevölkerungsdichte) 16 Streudiagramm Bevölkerungsdichte und BIP/Einw. in jeweiligen Einheiten z-standardisiert Quelle: Regionatlas (13.11.2021), eigene Auswertung. 17 Streudiagramm Bevölkerungsdichte und BIP/Einw. in jeweiligen Einheiten z-standardisiert Quelle: Regionatlas (13.11.2021), eigene Auswertung. Wieviele Cluster enthalten die Daten? 18 Streudiagramm Bevölkerungsdichte und BIP/Einw. in jeweiligen Einheiten z-standardisiert Drei? Quelle: Regionatlas (13.11.2021), eigene Auswertung. Wieviele Cluster enthalten die Daten? 19 Streudiagramm Bevölkerungsdichte und BIP/Einw. in jeweiligen Einheiten z-standardisiert Zwei? …? Quelle: Regionatlas (13.11.2021), eigene Auswertung. Wieviele Cluster enthalten die Daten? 20 Clusteranalyse Schritte 1. Auswahl der Variablen („feature selection“) BIP pro Einw., Bevölkerungsdichte 2. Bestimmung von Distanzen bzw. Ähnlichkeiten Euklidische Distanz 3. Auswahl des Algorithmus k-means Clustering 4. Bestimmung der Clusteranzahl 2, 3 oder mehr ? 5. Interpretation der Clusterlösung 21 Streudiagramm Bevölkerungsdichte und BIP/Einw. Quelle: Regionatlas (13.11.2021), eigene Auswertung. 22 Streudiagramm mit 2-Clusterlösung (k-means) Bevölkerungsdichte und BIP/Einw. Quelle: Regionatlas (13.11.2021), eigene Auswertung. 23 Streudiagramm mit 3-Clusterlösung (k-means) Bevölkerungsdichte und BIP/Einw. Quelle: Regionatlas (13.11.2021), eigene Auswertung. 24 Streudiagramm mit 4-Clusterlösung (k-means) Bevölkerungsdichte und BIP/Einw. Quelle: Regionatlas (13.11.2021), eigene Auswertung. 25 Clusterlösungen: Lage- und Streuungsmaße Cluster ohne Cluster BIP pro Einw. (in Euro) n arithm. Stand. Mittel abw. min max 32 42.325 17.798 21.456 81.563 2 Bevölkerungsdichte (Einw./km ) arithm. Stand. Mittel abw. min max 819 867 39 2.849 2 Cluster 1 2 20 12 31.552 60.279 8.433 14.393 21.456 40.524 49.898 81.563 228 1.804 179 606 39 1.068 727 2.849 1 2 3 20 3 9 31.552 69.015 57.367 8.433 11.055 14.702 21.456 60.711 40.524 49.898 81.563 78.057 228 2.689 1.509 179 220 318 39 2.438 1.068 727 2.849 2.086 1 2 3 4 20 3 5 4 31.552 69.015 68.145 43.896 8.433 11.055 9.779 3.650 21.456 60.711 55.311 40.524 49.898 81.563 78.057 47.639 228 2.689 1.377 1.674 179 220 271 327 39 2.438 1.068 1.290 727 2.849 1.805 2.086 3 Cluster 4 Cluster Quelle: Regionatlas (13.11.2021), eigene Auswertung. 26 Streudiagramm mit 4-Clusterlösung (k-means) Bevölkerungsdichte und BIP/Einw. Quelle: Regionatlas (13.11.2021), eigene Auswertung. 27 Streudiagramm mit 4-Clusterlösung (k-means) Bevölkerungsdichte und BIP/Einw. 3 5? 2 4 1 Quelle: Regionatlas (13.11.2021), eigene Auswertung. 28 Scree-Plot Summierte quadr. Abweichungen nach Anzahl der Cluster Zur Erinnerung: sum of squares Varianz (auch: Std.abw.) 1 n var( x) s ( xi x ) 2 n i 1 2 Quelle: Regionatlas (13.11.2021), eigene Auswertung. 29 Scree-Plot Summierte quadr. Abweichungen nach Anzahl der Cluster Zur Erinnerung: sum of squares Varianz (auch: Std.abw.) 1 n var( x) SSs ( xi x ) 2 n i 1 2 WSS: within-(cluster) sum of squares Quelle: Regionatlas (13.11.2021), eigene Auswertung. 30 Scree-Plot Summierte quadr. Abweichungen nach Anzahl der Cluster “Evaluating clustering results can be somewhat subjective.” (Lantz 2019: 306) Zur Erinnerung: sum of squares Varianz (auch: Std.abw.) 1 n var( x) SSs ( xi x ) 2 n i 1 2 WSS: within-(cluster) sum of squares „Ellenbogenkriterium“ Quelle: Regionatlas (13.11.2021), eigene Auswertung. 31 4. Beispiel 2: Weitere Aspekte Beispiel: Regionen in Deutschland Lage- und Streuungsmaße n arith. Mittel in jeweiligen Einheiten BIP pro Einw. (in Euro) 2 Bevölkerungsdichte (Einw./km ) durchschnittl. Alter (in Jahren) z-standardisiert BIP pro Einw. Bevölkerungsdichte durchschnittl. Alter Std.abw. min max 401 37.681 16.710 16.320 182.301 401 401 536 45,0 708 2,0 36 40,4 4.736 50,7 -1,28 -0,71 -2,33 8,65 5,93 2,88 401 401 401 0 0 0 1 1 1 Quelle: Regionatlas (13.11.2021), eigene Auswertung. Beispiel 2 mit n=401 mit 2 oder 3 Variablen ( „feature selection“) 33 Streudiagramm mit 2-Clusterlösung (k-means) Variablen: BIP, Bev.dichte BIP, Bev.dichte; Alter Quelle: Regionatlas (13.11.2021), eigene Auswertung. 34 Streudiagramm mit 3-Clusterlösung (k-means) Variablen: BIP, Bev.dichte BIP, Bev.dichte; Alter Quelle: Regionatlas (13.11.2021), eigene Auswertung. 35 Streudiagramm mit 4-Clusterlösung (k-means) Variablen: BIP, Bev.dichte BIP, Bev.dichte; Alter Quelle: Regionatlas (13.11.2021), eigene Auswertung. 36 Karte: Clusterzugehörigkeit der Kreise 2-Clusterlösungen Variablen: BIP, Bev.dichte n1=330 n2=71 BIP, Bev.dichte; Alter Cluster 1: Land Cluster 2: Stadt n1=324 n2=77 Unterschiede (Bsp.) Quelle: Regionatlas (13.11.2021), eigene Auswertung. 37 Karte: Clusterzugehörigkeit der Kreise 3-Clusterlösungen Variablen: BIP, Bev.dichte n1=312 n2=71 n3=18 Quelle: Regionatlas (13.11.2021), eigene Auswertung. BIP, Bev.dichte; Alter Cluster 1: Land Cluster 2: Stadt Cluster 3: Stadt („reich“) n1=323 n2=58 n3=20 38 Karte: Clusterzugehörigkeit der Kreise 4-Clusterlösungen Variablen: BIP, Bev.dichte „Cluster 4“: Wolfsburg n1=313 n2=58 n3=29 n4=1 Quelle: Regionatlas (13.11.2021), eigene Auswertung. BIP, Bev.dichte; Alter Cluster 1: Land Cluster 2: Stadt Cluster 3: Stadt („reich“) Cluster 4: Land („alt“) n1=217 n2=63 n3=6 n4=115 39 Clusterlösungen: Lage- und Streuungsmaße Cl. n 401 1 218 2 63 3 6 4 115 BIP pro Einw. (in Euro) arithm. Stand. Mittel abw. min max 37.681 16.710 16.320 182.301 35772 54138 120359 27834 8382 17236 32261 5171 20050 23188 98042 16320 72973 94190 182301 54776 Bevölkerungsdichte (Einw./km2) arithm. Stand. Mittel abw. min max 536 708 36 4.736 326 1887 997 167 288 775 418 165 61 634 525 36 1243 4736 1514 1118 durchschnitt. Alter (in Jahren) arithm. Stand. Mittel abw. min max 45,0 2,0 40,4 50,7 44,4 42,9 43,6 47,5 1,0 1,2 1,6 1,2 40,8 40,4 41,4 45,7 46,2 45,7 45,6 50,7 Quelle: Regionatlas (13.11.2021), eigene Auswertung. Cluster 1: Land Cluster 2: Stadt Cluster 3: Stadt („reich“) Cluster 4: Land („alt“) 40 Weitere Anmerkungen In Beispielen betrachtet: Unterschiede nach … Anzahl Cluster Variablenauswahl („feature selection“) Clusterlösungen können sich aber auch nach weiteren Kritierien unterscheiden, insbesondere wenn in den Daten keine klare Clusterstruktur erkennbar ist: Initiale Clusterzentren (zufällig) Sortierreihenfolge der Daten Behandlung von Ausreißern Robustheit der Ergebnisse durch mehrfache Analysen überprüfen 41 (Mangelnde) Robustheit der Ergebnisse “Due to the heuristic nature of k-means, you may end up with somewhat different final results by making only slight changes to the starting conditions. If the results vary dramatically, this could indicate a problem. For instance, the data may not have natural groupings, or the value of k has been poorly chosen. With this in mind, it's a good idea to try a cluster analysis more than once to test the robustness of your findings.” (Lantz 2019: 292) 42 Literatur Zum Beispiel: Backhaus, Klaus/ Erichson, Bernd/ Gensler, Sonja/ Weiber, Rolf/ Weiber/ Thomas (2021): Multivariate Analysemethoden. Eine anwendungsorientierte Einführung. 16. Aufl., Wiesbaden: SpringerGabler. (S. 490-502, 566-569) Lantz, Brett. 2019. Machine Learning with R. Birmingham, Mumbai: Packt> (S. 287-312) Ng, Annalyn / Soo, Kenneth (2018): Data Science – was ist das eigentlich?! Berlin: Springer (S. 19-28) Wiedenbeck, Michael/ Züll, Cornelia (2010): Clusteranalyse. In: Wolf, Christof/ Best, Henning (Hg.): Handbuch der sozialwissenschaftlichen Datenanalyse, Wiesbaden: VS: S. 525-552.