Forschungsprojekte sind ein wichtiger Bestandteil unserer Arbeit bei denkwerk. Im Rahmen eines solchen Projekts entstand der Bikespector. Gestartet sind wir mit der Frage: Was lässt sich mit wenig Aufwand mit Machine Learning erreichen?
Im Bereich Shared Mobility gibt es bereits zahlreiche Mobilitätsleitsysteme. Ihr Manko: Sie können nicht vorausschauen. Ob Car Sharing oder Leihrad – man sieht, was aktuell verfügbar ist, wie es um die Verfügbarkeit in den nächsten Tagen bestellt ist, sieht man jedoch nicht. Eine Reiseplanung ist damit unmöglich. Hier setzt der Bikespector an. Er gibt Auskunft darüber, wie viele Fahrräder zur gewünschten Zeit an dem gesuchten Ort mit sehr hoher Wahrscheinlichkeit verfügbar sein werden. Möglich wird die Prognose mit Hilfe von Datensätzen, die das Land Nordrhein-Westfalen im Rahmen seiner Open-Daten-Initiative allen zur Verfügung stellt.
Möglich wird die Prognose mit Hilfe von Datensätzen, die das Land Nordrhein-Westfalen im Rahmen seiner Open-Daten-Initiative allen zur Verfügung stellt.
84%
Vorhersagewahrscheinlichkeit
10.000
Fahrräder
Der Bikespector sollte für einen beliebigen Ort und Zeitpunkt vorhersagen, wie viele Fahrräder höchstwahrscheinlich verfügbar sein werden. Und er sollte die Möglichkeit bieten, den Radius um den Abholort anpassen zu können. Genau den Bereich, den man bereit wäre, zum nächsten Leihrad zu gehen.
Bei der Entwicklung ging es um Fragen wie: Welche Faktoren beeinflussen die Fahrradverfügbarkeit? Und: Kann man überhaupt Vorhersagen auf der Grundlage der verfügbaren Datenquellen treffen? Auch Überlegungen zur geeigneten Struktur für die Vorhersage-Pipeline, den passenden Data-Science-Ansatz und einem Prognosemodell mit höchster Prognosequalität spielten eine wichtige Rolle.
Ein schneller Prototypenbau im Data-Science-Kontext erfordert die Fokussierung von Lösungen mit großer Wirkung und geringem Implementierungsaufwand. Ein sehr früher Prototyp ermöglichte uns eine ganzheitliche Betrachtung von Bikespector, während uns die geringe Komplexität Spielraum für neue Ideen und Ansätze ließ.
Für etwa drei Monate haben wir Leihfahrraddaten von der Next Bike API gezogen. Die Tabelle zeigt die einflussreichsten Faktoren für die Fahrradverfügbarkeit.
Die Karte von Köln zu einem gewählten Zeitpunkt: Die Fahrraddaten liefern die exakten Positionen aller verfügbaren Leihfahrräder. Um die Komplexität der Daten zu reduzieren, haben wir den Raum in Form eines hexagonalen Gitters diskretisiert. Jetzt kann jede hexagonale Zelle als eine unabhängige Vorhersageeinheit betrachtet werden. Wenn der Nutzer eine Position und einen Radius auf der Karte auswählt, werden die Vorhersagen aller im Umkreis einbezogenen Zellen aufsummiert.
Dieser Trick führt zu einem simplen Data-Science-Problem: Die Anzahl der berücksichtigten Faktoren für die Fahrradverfügbarkeit in jeder Gitterzelle ist nun beschränkt auf „Uhrzeit“ und „Wochentag“ (siehe Tabelle). Obwohl der Grad an Nichtlinearität durch die Aufhebung von „Breitengrad“ und „Längengrad“ erheblich reduziert werden konnte, variiert die Fahrradverfügbarkeit immer noch drastisch in der „Uhrzeit“.
Außerdem ist die Datenverfügbarkeit hinsichtlich einer Zelle nun relativ gering. Darüber hinaus haben wir mehr Interesse an der Vorhersage der Fahrradverfügbarkeit und weniger an ihrem Verständnis. Diese Kette von Argumenten führte uns zu einem eher flexiblen Machine-Learning-Modell. Bei der Cross-Validation einer Vielfalt von Modellen erreichte eines von ihnen die höchste Prognosegüte: der Random Forest, eine Kombination von Bagging mit Entscheidungsbäumen.
Für den Applikations-Prototypen haben wir das leistungsfähigste Vorhersagemodell mit einer Schnittstelle zum Bikespector Front-End deployed.