Typologie Dresdner Stadtteile / Clusteranalyse mit „R“

Typologie Dresdner Stadtteile: Stadtplan mit 6 Clustern

Eine datenbasierte Typologie zu erstellen, ist leicht und schwierig zugleich. Leicht, weil eine Typologie nicht „falsch“ sein kann. Und deshalb gleichzeitig schwierig, weil der Forscher viele Entscheidungen zu treffen hat und weil es gilt, eine inhaltlich sinnvolle Interpretation zu finden.

Heute geht es darum, Dresdner Stadtteile zu Typen zusammenzufassen. Dabei geht es um folgende Fragen:

  • Wie viele Typen (Cluster) sind aus statistischer Sicht sinnvoll?
  • Vielleicht die spannendste Frage: Welche Stadtteile sind denn nun aus statistischer Sicht ähnlich, sodass sie in einen Typen zusammengefasst werden?
  • Mit welchen Methoden kann die gefundene Typologisierung beurteilt werden?
  • Wie lassen sich die Ergebnisse grafisch visualisieren?

Clusteranalyse mit „R“: Typologie Dresdner Stadtteile

Um die Vorrede abzukürzen, zeige ich gleich ein Ergebnis:

Typologie Dresdner Stadtteile: Stadtplan mit 6 Clustern
Typologie Dresdner Stadtteile.
Methode: kmeans-Clusteranalyse mit 7 Merkmalen zu N=61 Stadtteilen; 1000 Durchläufe mit zufälligen Startwerten; Software: R 3.2.2, Paket „fpc“, Befehl „kmeansruns“
Schraffiert: Dresdner Heide, Flughafen / Industriegebiet Klotzsche (Daten beider zu Klotzsche) und Hellerberge (zu Bühlau / Weißer Hirsch). Daten laut Stadt Dresden aus „datenschutzrechtlichen und fachstatistischen Gründen“ nicht separat ausgewiesen. Datenquellen: Publikationen unter dresden.de (PDFs)

Ich habe mich hier für eine relativ komplexe 6-Cluster-Lösung entschieden, weil ich diese für interessanter halte als eine Lösung mit nur zwei oder drei „Stadtteil-Typen“. (Grafik anklickbar zum Vergrößern.) Die Liste zu den nummerierten Stadtteilen gibt es u. a. hier.

  • Stadtteile, die dem gleichen Typ zugeordnet werden, liegen oft räumlich nebeneinander. „Inseln“ wie Weißig (45; mit weniger
    Einfamilienhäusern und etwas kleinerer Wohnfläche) und Altfranken / Gompitz (99; entsprechend mit mehr Einfamilienhäusern und größerer Wohnfläche) unterscheiden sich nicht zu gravierend von den Nachbar-Stadtteilen.
    (In einer einfacheren 3-Gruppen-Lösung gehören die genannten Stadtteile mit ihren Nachbarn zum gleichen Typ.)
  • Die orangen Stadtteile Prohlis (71, 72), Gorbitz (95-97) und Friedrichstadt (Nr. 5) weisen die höchste Arbeitslosen-Quote sowie den geringsten Anteil an Einfamilienhäusern auf.
  • Interessant fand ich, dass hier die Äußere Neustadt (Antonstadt, Nr. 11) und die Leipziger Vorstadt (14) eine separate Gruppe bilden. Sie zeichnet sich durch einen außergewöhnlich hohen Anteil an Grünen-Wählern (24,5% bei der Bundestagswahl 2013), den höchsten Anteil an Hartz IV-Empfängern zwischen 55 und 64 Jahren sowie die zweitgeringste Leerstandsquote aus.

Ausgangslage: Die Datenbasis

Aus Veröffentlichungen auf dresden.de habe ich einige Daten zusammengestellt: den Anteil sozialversicherungspflichtig Beschäftigter, Anteile von Hartz IV-Empfängern (aufgeschlüsselt nach Altersgruppen und Geschlecht), Veränderungen der Bevölkerungszahl, Anteile von Wohngebäuden mit einer bestimmten Anzahl an Wohnungen (Einfamilienhäuser, Zweifamilienhäuser, Mehrfamilienhäuser), Wohnungsleerstandsquote, durchschnittliche Anzahl an Wohnräumen, durchschnittliche Wohnfläche in Quadratmetern sowie aus der Bundestagswahl 2013 die Wahlbeteiligung und die Anteile der Parteien in Prozent.

Anhand der Verteilungen und Korrelationsmaße sowie durch Vergleich verschiedener Clusterlösungen habe ich die Anzahl der Modellvariablen eingeschränkt. Folgende sieben Merkmale gingen in die Analysen ein:

  • Anteil Arbeitsloser 2013
  • Anteil der Hartz-IV-Empfänger zwischen 55 und 64 Jahren
  • Anteil der Einfamilienhäuser
  • Wohnungsleerstandsquote
  • Durchschnittliche Wohnfläche


  • Anteil der Grünen bei der Bundestagswahl 2013
  • Wahlbeteiligung 2013

Die Auswahl der Grünen ist nicht als politisches Statement gemeint, sondern erfolgte nach statistischen Kriterien: Der Grünen-Anteil schwankte je nach Stadtteil zwischen 3% (Gorbitz-Süd, Prohlis) und 27% (Äußere Neustadt) und differenziert damit sehr gut. Ich hätte auch die CDU nehmen können und wäre bei ihrem prozentual schwächsten Stadtteil (knapp 18%) ebenfalls bei der Äußeren Neustadt gelandet.

Selbstverständlich kann man mit anderen Merkmalen zu anderen Ergebnissen kommen.

Überlegungen zu Clusteranzahl (Typen, Gruppen, Segmente) und Methode

Ein statistisches Kriterium zum Vergleich von Clusterlösungen ist der sog. Silhouettenkoeffizient, der die Unähnlichkeit jedes Datenpunktes zu seinem nächstgelegenen Nachbar-Cluster abbildet. Für die gesamte Clusterlösung kann man somit die durchschnittliche Silhouettenbreite (average silhouette width, ASW) angeben.

Silhouettenplot zur Dresdner Stadtteil-Typologie
Silhouettenplot zur Dresdner Stadtteil-Typologie mit 6 Clustern (kmeans); hier kann man die Zuordnung der Stadtteile zu den Clustern ablesen; die Farben entsprechen der obigen Kartendarstellung

Die ASW von 0,28 war ein Entscheidungskriterium für die hier vorgestellte Lösung, aber nicht ganz der höchste Wert. Einige Lösungen mit weniger Gruppen waren knapp besser (z. B. PAM-Algorithmus mit 3 Clustern: 0,31; kmeans mit 3 Clustern 0,30). Der kmeansruns-Algorithmus bietet die bequeme Option, gleich eine ganze Bandbreite an Clusterlösungen zu berechnen (z. B. von 2 bis 10 Clustern) und dann zu sagen, welcher laut Silhouetten-Kriterium am besten abschneidet. Das wäre hier sogar eine 2-Gruppen-Lösung gewesen, die ich jedoch zu langweilig fand. („pamk“ hätte dagegen 5 Cluster empfohlen.)

Ein anderes Kriterium ist der Anteil, den die Unterschiede zwischen den Clustern an der Gesamtvarianz („between sum of squares“ / „total sum of squares“) aufweisen. Je höher dieser Kennwert, desto besser die Typologie, da man intern möglichst homogene Cluster anstrebt, die sich unter einander möglichst deutlich unterscheiden. Hier ist die 6-Cluster-Lösung mit 78% der 3-Cluster-Lösung mit 61% erwartungsgemäß deutlich überlegen.

Zurück zum obigen Silhouetten-Plot: An ihm kann man ablesen, wie gut jeder Stadtteil in „seinen“ Cluster „passt“. Zum Beispiel passt Löbtau-Süd (Nr. 93) ziemlich schlecht in den gelben Cluster. Im blauen Cluster sind zwar die Innere Neustadt und die Innere Altstadt friedlich vereint, allerdings ist letztere gewissermaßen der „Exot“ der blauen Gruppe.

Anhand einer Reihe alternativer Silhouettenplots habe ich andere Clusterverfahren wie hierarchisches Clustern (hclust), PAM und ewkm verworfen – hier gab es meist mehrere Stadtteile mit Negativ-Balken.

kmeans zählt zu den partitionierenden Clusterverfahren, bei denen die Anzahl der Cluster beim Start festgelegt wird. Dabei werden die anfänglichen Clusterzentren zufällig bestimmt. Dies ist einer der seltenen Fälle, bei denen ein Statistikprogramm beim späteren Ausführen des gleichen Befehls zu einem anderen Ergebnis kommen kann. Die Fixierung des Zufallsgenerators mit set.seed schafft Abhilfe und ist sehr empfehlenswert (eigene Erfahrung! Durch die 1.000 Durchläufe blieb zwar die Clusterlösung an sich stabil, allerdings kam es noch zu unterschiedlichen Reihenfolgen der Cluster. Blöd, wenn dann eine neuere Version der Karte plötzlich nicht mehr zur Legende passt.)

Man könnte noch viel zu den Algorithmen (Distanz- und Ähnlichkeitsmaße, z-Standardisierung zum Ausschluss von Skaleneffekten, …) sagen und weitere Plots ergänzen (plotcluster aus dem fpc-Paket und clusplot aus dem cluster-Paket lohnen einen Blick), aber ich will es in diesem Beitrag nicht übertreiben.

Die unterschiedlichen Schreibweisen der Stadtteile in den Statistik-Daten der Stadt Dresden und in der shape-Datei für die Kartendarstellung habe ich ähnlich wie bei der Choroplethenkarte zur Bevölkerungsdichte mit einer benutzerdefinierten Funktion in R aufbereitet. Auch diesmal habe ich Codeschnipsel aus Thomas Rahlfs  Datendesign mit R: 100 Visualisierungsbeispiele verwendet. Die Abstimmung der Farben in der Karte mit dem Silhouettenplot erforderte etwas Zeit  … Zur Weiterverarbeitung der Ergebnisse habe ich mit dem xlsx-Paket Tabellen direkt in Excelblätter geschrieben, um fehleranfälliges manuelles Copy & Paste zu vermeiden.

Anmerkung zur Datenbasis

Es ist schön, dass solche Informationen heutzutage im Internet zeitnah abrufbar sind. Allerdings ist das PDF-Format, in dem ich die meisten Infos vorfand (z. B. „Bevölkerung und Haushalte 2013“, „Arbeit und Soziales 2013“) nicht ganz ideal für die elektronische Weiterverarbeitung. Es wäre schön, wenn zusätzlich einfache offene Formate ebenso gut zugänglich wären (z. B. .csv, .txt, …).

Sie arbeiten mit „R“ und benötigen eine Schulung für sich oder Ihre Mitarbeiter oder anderweitige Unterstützung? Sprechen Sie mich an.

Passt die Typologie zur Dresdner Lebenserfahrung? Fallen Ihnen griffigere „Schubladenbeschriftungen“ ein? Bin auf Kommentare gespannt!

Du hast den SCHWARZEN GÜRTEL? Na und? Ich kann SPSS!

Freue mich über Kommentare!