Global Navigation

Sachen Machen mit Open Data und Fidel — Episode 4

Veröffentlicht am Mittwoch, 8. Juni 2016 um 08.50 Uhr
Von Fidel Thomet

Schön, dass das maschinenlesbar ist, aber was soll ich jetzt damit anfangen?

Wann fahren die meisten Velos in Zürich? Durch welche Strassen rollen sie? Und wie sehr lassen sich Velo-fahrerinnen und -fahrer von tiefen Temperaturen vom Velofahren abhalten?

Antworten auf diese Fragen sind tief in den maschinenlesbaren Daten der automatischen Fussgänger- und Velozählung verborgen.

Der Datensatz für das Jahr 2015 setzt sich aus über 1,1 Millionen Beobachtungen zusammen. Alle 15 Minuten eine davon pro Zählstelle. Je nach Zählstelle umfasst eine Beobachtung bis zu vier Messwerte: Fuss- und Veloverkehr, jeweils stadtein- und auswärts.

Jetzt kann ich zwar bereits nachschauen, wie viele Velos am 10. April 2015 zwischen 8:00 Uhr und 8:15 Uhr die Zählstelle Y2G12102807 passiert haben. Noch unbeantwortet bleiben aber meine eingangs gestellten Fragen. Statistische Methoden helfen mir aber mich diesen anzunähern.

Man nennt dies dann Datenanalyse. Diese beinhaltet vier wesentliche Schritte:

1. Aufbereiten

Fast immer müssen die Daten aufbereitet werden, bevor man loslegen kann. So umfassen die Zähldaten nur die Kennung der messenden Zählstelle. Um herauszufinden wo diese genau liegen, muss ich die Daten noch mit den Standortdaten verknüpfen. Ausserdem gibt es Korrekturfaktoren, die angewendet werden müssen.

2. Manipulieren

Um meine Fragen zu beantworten interessieren mich keine Einzelbeobachtungen. Ich muss die Daten aggregieren. Um herauszufinden wann die meisten Velos fahren, aggregiere ich die Daten zeitlich, zum Beispiel auf Tagesbasis. So erhalte ich den Jahresverlauf. Oder auf Basis der Uhrzeit um einen durchschnittlichen Tagesverlauf zu erhalten. Für die Frage, wo die Velos fahren, aggregiere ich die Daten nach ihrem Standort.

Für den Vergleich von der Anzahl Velofahrerinnen und -fahrer mit der Temperatur brauche ich zusätzliche Daten. Die Daten zur Luftqualität enthalten auch die Tagestemperatur. Für den Vergleich muss ich also wieder die Zähldaten auf Tagesbasis aggregieren und dann mit den Temperaturdaten zusammenführen.

3. Visualisieren

Damit ich die ausgewerteten Daten auch verstehe, daraus Muster erkennen und Vergleiche ziehen kann, visualisiere ich sie. Erst im Graph werden die Zusammenhänge zwischen dem Veloaufkommen und der Tagestemperatur greifbar.

4. Prüfen

Jetzt habe ich Antworten auf meine Fragen. Aber stimmen sie auch? Ein einfacher Weg um zumindest gröbere Fehler zu erkennen, ist das Prüfen auf Plausibilität. Würde der durchschnittliche Tagesverlauf das höchste Veloaufkommen in der Nacht zeigen, könnte ich davon ausgehen, dass etwas nicht stimmt. Die Spitzenwerte morgens und abends sind vielleicht auf den ersten Blick verwunderlich, lassen sich aber rasch mit dem Pendlerverkehr begründen.

Das Werkzeug

Das beschriebene Vorgehen ist prinzipiell unabhängig vom Tool, das ich verwende. Hätten wir nicht mit 1,1 Millionen Beobachtungen zu kämpfen, könnte man all das mit Excel oder sogar mit Stift, Papier und Taschenrechner machen.

Im vorliegenden Fall habe ich für die Analyse R verwendet. Das ist eigentlich kein Tool, sondern eine Programmiersprache für Statistik. Auch wenn das erstmal abschreckend klingt, gibt es einige gute Gründe sich R genauer anzuschauen. Zusammengefasst: R kann praktisch alles. Der Einstieg ist gar nicht so schwer und die Community um R wächst stetig, was super ist, falls man irgendwo mal nicht weiter weiss.

Allen, die mit R loslegen wollen, empfehle ich Journocode.com und Rddj.info. Eine deutschsprachige Einführung gibt es beispielsweise hier. Den kommentierten Code zu den Velozählungen gibt es auf Github.

Weitere Informationen