Die Handhabung und Transformation von Daten gehört zu den grundlegenden Fähigkeiten eines jeden Data Scientists. In diesem Kapitel geht es darum, wie Daten für die Analyse importiert, beschrieben, transformiert und aufbereitet werden. Am Beispiel des New Yorker Citibike-Bikeshare-Systems wird gezeigt, wie man Daten effizient verarbeitet, um sie in eine Form zu bringen, die für eine weitere Analyse geeignet ist. Besonders hervorgehoben wird dabei die Bedeutung der sogenannten „tidy data“-Struktur und wie man diese in R implementiert.

Zunächst wird der Datensatz geladen, der speziell für diese Übung vorbereitet wurde. Der Code zum Laden der Daten ist relativ einfach und setzt voraus, dass man die R-Pakete „tidyverse“, „fst“, „lubridate“ und „sf“ installiert hat. Diese Pakete bieten eine leistungsstarke Grundlage für die Datenmanipulation und -analyse. In der Regel wird der Datensatz über die Funktion read_csv() oder read_fst() importiert, je nachdem, ob es sich um eine CSV-Datei oder eine speziell optimierte Datei handelt, die im „fst“-Format vorliegt. Der „fst“-Dateityp bietet den Vorteil, dass er große Datensätze schnell im Arbeitsspeicher laden kann, was insbesondere bei der Analyse großer Mengen von Passagierdaten hilfreich ist.

Ein wesentliches Konzept in der Datenanalyse ist die Idee der „tidy data“, wie sie von Hadley Wickham definiert wurde. Bei tidy data wird jeder Datenpunkt in einer eigenen Zeile gespeichert, jede Variable befindet sich in einer eigenen Spalte, und jede Tabelle repräsentiert eine bestimmte Art von Beobachtungseinheit. Diese Struktur hat zwei wesentliche Vorteile: Erstens können Werkzeuge zur Datenmanipulation effizienter auf die Daten angewendet werden, da sie dieselbe Struktur aufweisen. Zweitens können die vektorisierte Funktionen in R verwendet werden, um die Daten schnell zu transformieren, da diese für Daten im tidy-Format optimiert sind.

In der Praxis bedeutet dies, dass beim Import der Citibike-Daten jede Spalte für eine spezifische Variable wie z.B. „start_time“, „stop_time“, „bike_id“, „user_type“ oder „gender“ vorgesehen ist. Die Umwandlung der Datentypen für die einzelnen Variablen ist ein wichtiger Schritt, der nicht übersehen werden sollte. So sollten Datums- und Zeitangaben wie „start_time“ und „stop_time“ in ein geeignetes Datetime-Format konvertiert werden, um eine korrekte Zeitmanipulation zu ermöglichen. Die Stationen-IDs und die geografischen Koordinaten, die zu Beginn als Text vorliegen, können ebenfalls effizienter als numerische Werte oder Geometriedaten (z.B. mit dem „sf“-Paket) bearbeitet werden.

Ein weiterer wichtiger Aspekt ist das Verständnis, dass in den analysierten Daten nicht alle Informationen aktiv gesammelt wurden. Die Daten stammen aus einem passiv gesammelten System, das über das Citibike-System in New York funktioniert. Das bedeutet, dass es gewisse Verzerrungen wie die Non-Response-Bias und die Social-Desirability-Bias gibt, die in traditionellen Umfragen oder Datenerhebungen häufig auftreten. Die Citibike-Nutzer sind nicht repräsentativ für die gesamte Bevölkerung von Radfahrern in New York, was bei der Analyse berücksichtigt werden sollte. Doch gleichzeitig kann man durch die Analyse dieser „passiv gesammelten“ Daten wertvolle Einsichten über das Verhalten von Nutzern gewinnen, die weniger durch das Design der Datenerhebung beeinflusst sind.

Das Arbeiten mit „tidy data“ ist besonders nützlich, wenn es darum geht, mit dem „dplyr“-Paket zu manipulieren. „dplyr“ ist ein Kernbestandteil des „tidyverse“ und stellt eine Sammlung von Funktionen zur Verfügung, die eine effiziente Manipulation von Datensätzen ermöglichen. Typische Operationen beinhalten das Filtern von Daten (filter()), das Neuordnen von Zeilen (arrange()), das Umbenennen von Variablen (rename()), oder das Hinzufügen neuer Spalten (mutate()). Alle diese Funktionen arbeiten nach einem konsistenten Prinzip: Sie erwarten einen Datenrahmen als Eingabe, modifizieren diesen und geben das Ergebnis zurück. So lässt sich Schritt für Schritt eine Datenaufbereitung durchführen, die die Daten für die anschließende Analyse bereitstellt.

Ein zentraler Aspekt ist die Verwendung der sogenannten „Pipes“ (|>), die es ermöglichen, mehrere Transformationen hintereinander anzuwenden, ohne jedes Zwischenergebnis explizit speichern zu müssen. Dies erhöht die Lesbarkeit des Codes und erleichtert das Arbeiten mit komplexeren Datenstrukturen.

Es ist auch wichtig zu wissen, dass nicht alle Variablen immer sofort im richtigen Format vorliegen. In dem Citibike-Datensatz gibt es etwa Variablen wie „trip_duration“, die als numerische Werte vorliegen, aber in einem anderen Format interpretiert werden könnten, oder „start_station_id“, die als Text vorliegen und effizienter als integer-Typen verarbeitet werden könnten. Der Umgang mit verschiedenen Datentypen und deren Transformationen ist also eine der grundlegenden Fähigkeiten, die jeder Datenanalyst beherrschen sollte.

Zusätzlich zu den beschriebenen grundlegenden Manipulationen, kann die Nutzung von „dplyr“-Funktionen in Verbindung mit Visualisierungspaketen wie „ggplot2“ dazu beitragen, die analysierten Daten nicht nur zu transformieren, sondern auch in übersichtliche und aussagekräftige Darstellungen zu überführen. Eine vollständige Datenanalyse erfordert oft die Visualisierung der Ergebnisse, um Muster und Trends zu erkennen und die Daten für den Endnutzer zugänglich zu machen.

Die Arbeit mit großen und komplexen Datensätzen, wie sie im Citibike-Beispiel vorkommen, verlangt ein hohes Maß an Genauigkeit und Disziplin. Fehler in der Datenaufbereitung oder bei der Transformation von Variablen können schnell zu falschen Ergebnissen führen. Daher ist es entscheidend, bei jeder Transformation und Manipulation der Daten sorgfältig vorzugehen und sicherzustellen, dass der resultierende Datensatz für die Analyse geeignet ist.

Es ist außerdem wichtig, sich bewusst zu machen, dass nicht alle Transformationen und Bereinigungen immer sofort notwendig sind. In vielen Fällen wird die Entscheidung, welche Schritte man zuerst durchführt und welche später angepasst werden, vom spezifischen Anwendungsfall und der Zielstellung der Analyse abhängen. Ein strukturierter Arbeitsablauf, der es ermöglicht, Datensätze iterativ zu verfeinern, ist hier oft der Schlüssel zum Erfolg.

Wie beeinflusst die Deprivation die Erfassung von Verkehrsunfällen? Eine Untersuchung der STATS19-Daten

Die Darstellung von Daten und deren Layout spielen eine zentrale Rolle bei der Analyse und dem Verständnis von Mustern in komplexen Datensätzen. Insbesondere bei der Visualisierung von geografischen Informationen, wie sie im Fall von Verkehrsunfällen und -opfern vorliegen, ist eine gut durchdachte Anordnung der Daten unerlässlich, um sinnvolle Vergleiche zu ermöglichen. Wenn etwa eine Standardalphabetische Sortierung der Stadtbezirke verwendet worden wäre, wie es in vielen üblichen Analysen der Fall ist, würde dies die Aussagekraft der Darstellung erheblich mindern. Ein durchdachtes Layout stellt sicher, dass komplexe Zusammenhänge sichtbar werden und die Interpretation der Daten nicht durch die Art und Weise der Anordnung beeinträchtigt wird.

Ein konkretes Beispiel hierfür sind die Heatmaps in der Abbildung 4.6, die ohne eine räumliche, gezielte Anordnung der Bezirke von London erheblich weniger aufschlussreich wären. In einer solchen Karte ist es entscheidend, die geographischen Besonderheiten und die potenziellen Korrelationen zwischen den Datenpunkten, wie etwa der Häufigkeit von Unfällen oder den spezifischen Unfallarten in verschiedenen Stadtteilen, visuell zu erfassen. Die Darstellung auf einer Karte ermöglicht es, Zusammenhänge zwischen verschiedenen Faktoren – wie etwa dem Index der Mehrdimensionalen Deprivation (IMD) der betroffenen Gebiete – zu erkennen, die bei anderen Darstellungsformen möglicherweise verloren gehen würden.

Im Kontext dieser Untersuchung wurden Verkehrsunfälle, bei denen Fußgänger betroffen sind, analysiert, wobei Daten aus dem STATS19-Datensatz verwendet wurden. Der Datensatz, der zwischen 2010 und 2019 aufzeichnete, enthält eine Vielzahl von Variablen: die genaue Zeit und der Ort des Unfalls, die Art des Fahrzeugs, die Schwere des Unfalls und, was besonders wichtig ist, der IMD-Status der betroffenen Personen sowie des Unfallorts. Diese Merkmale ermöglichen eine detaillierte Untersuchung der sozialen und wirtschaftlichen Faktoren, die möglicherweise Einfluss auf die Schwere der Unfälle haben könnten.

Die STATS19-Daten sind in drei Haupttabellen organisiert: Unfälle (Accidents), Opfer (Casualties) und Fahrzeuge (Vehicles). Jede dieser Tabellen enthält detaillierte Informationen, die miteinander verknüpft werden können, um ein umfassenderes Bild der Unfälle zu zeichnen. Zum Beispiel kann ein Unfall anhand seiner einzigartigen ID mit den beteiligten Fahrzeugen und den erfassten Verletzungen der Opfer verknüpft werden. Interessanterweise enthält der Datensatz auch Angaben über den IMD-Quintilen der betroffenen Personen sowie der Umgebung, in der der Unfall stattfand.

Für die Analyse wurde ein neuer Datensatz erstellt, der nur die Unfälle umfasst, für die vollständige Demographiedaten vorliegen. Dabei wurde festgestellt, dass rund 23% der Unfälle in diesem Datensatz vollständig erfasst sind. Doch auch diese Unfälle weisen eine bemerkenswerte Variation in der Qualität der Erfassung auf. Unfälle, bei denen leichte Verletzungen verzeichnet wurden, sind in weniger wohlhabenden Gebieten tendenziell schlechter dokumentiert, was zu einer möglichen Verzerrung in den Ergebnissen führen kann. Solche Unfälle werden möglicherweise weniger detailliert erfasst, da sie weniger schwerwiegende Folgen haben und daher als weniger wichtig erachtet werden.

Ein weiteres interessantes Detail, das bei der Analyse beachtet werden muss, ist, dass die Vollständigkeit der Unfalldaten auch in Gebieten mit höherer Deprivation signifikant niedriger ist. Dies könnte ein Hinweis auf systematische Unterschiede in der Erfassung und Meldung von Unfällen in verschiedenen sozioökonomischen Kontexten sein. In den ärmeren Vierteln Londons könnte es eine größere Zahl von weniger schwerwiegenden Unfällen geben, die weniger gut dokumentiert werden, was zu einer verzerrten Sicht auf die Gefährdungslage in diesen Gebieten führen könnte.

Dieser Befund wird durch eine detaillierte Untersuchung der "Vollständigkeitsraten" der Unfalldaten weiter gestützt. In Abbildung 4.8 sind diese Raten nach Schweregrad der Verletzungen und dem IMD-Status des Unfallorts getrennt aufgeführt. Die Darstellung zeigt, dass schwerere Unfälle – wie etwa schwere oder tödliche Verletzungen – mit höherer Wahrscheinlichkeit detailliert erfasst werden, während leichtere Unfälle, insbesondere in sozial benachteiligten Gebieten, tendenziell weniger vollständig dokumentiert sind. Dies könnte nicht nur auf Unterschiede in der Berichterstattung oder der Wichtigkeit der Unfälle für die Behörden hinweisen, sondern auch auf ein systemisches Ungleichgewicht in der Art und Weise, wie Unfälle in verschiedenen gesellschaftlichen Schichten behandelt werden.

Die grafische Darstellung dieses Phänomens erfolgt durch die Verwendung von ggplot2, einer leistungsstarken Bibliothek zur Visualisierung von Daten in R. Dabei wird die Vollständigkeit der Unfalldaten auf der X-Achse und der IMD-Status des Unfallorts auf der Y-Achse abgebildet. Die Farbcodierung verdeutlicht die Schwere der Verletzungen, wobei eine Unterscheidung zwischen leichten und schwereren Unfällen vorgenommen wird. Diese Art der Darstellung hilft, Muster zu erkennen und gezielt in Bereichen nachzuforschen, in denen Daten fehlen oder verzerrt sein könnten.

Es zeigt sich, dass der Zusammenhang zwischen sozialer Deprivation und der Vollständigkeit von Unfalldaten eine zentrale Rolle bei der Analyse von Verkehrsunfällen spielt. Besonders in benachteiligten Vierteln können die erfassten Daten unvollständig oder sogar verzerrt sein, was dazu führt, dass bestimmte Unfalltypen oder Schweregrade weniger gut erfasst werden. Um diese Verzerrungen zu minimieren und ein vollständigeres Bild der Unfallsituation zu erhalten, ist es wichtig, diese Ungleichgewichte in der Datenerhebung und -verarbeitung zu berücksichtigen.

Die Auswirkungen solcher Verzerrungen in der Datenerfassung sind nicht nur theoretischer Natur. Sie beeinflussen die genaue Analyse von Verkehrsunfällen und die Entwicklung von Strategien zur Verbesserung der Verkehrssicherheit. In sozioökonomisch benachteiligten Gebieten könnte die geringere Vollständigkeit der Daten zu einer Fehleinschätzung der tatsächlichen Gefährdungslage führen. Es ist daher entscheidend, bei der Interpretation von Verkehrsunfalldaten stets auf die möglichen systematischen Verzerrungen zu achten, die durch unvollständige oder fehlerhafte Datenerhebung entstehen können. Nur so können wir eine realistischere Einschätzung der Unfallursachen und -folgen vornehmen und gezielte Maßnahmen zur Verbesserung der Verkehrssicherheit entwickeln.