Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
1. Deutsche Bahn in die Karten geschaut
IKS-Thementag
16.08.2022
Autor: Philipp Steinweg
2. Deutsche Bahn in die Karten geschaut 2 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
3. Deutsche Bahn in die Karten geschaut 3 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
4. Deutsche Bahn in die Karten geschaut 4 | 44
Was ist Data Science?
Data Science
u ist interdisziplinär,
u extrahiert Wissen,
u zeigt Muster auf
u und stellt Zusammenhänge dar
u aus strukturierten und unstrukturierten Daten.
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
5. Deutsche Bahn in die Karten geschaut 5 | 44
Von Daten zu Wissen: OSEMN!
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
6. Deutsche Bahn in die Karten geschaut 6 | 44
Verwendete Technologien
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
7. Deutsche Bahn in die Karten geschaut 7 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
8. Deutsche Bahn in die Karten geschaut 8 | 44
Die Daten
API liefert Abfahrtstafel zu jeweils einer Bahnstation zum Abfragezeitpunkt
9. Deutsche Bahn in die Karten geschaut 9 | 44
Die Daten: Beispielantwort API
Eine Zeile der Ankunftstafel
Dortmund Hbf. 04.06 um
10:29:46
{'delayArrival': None,
'delayDeparture': 0,
'destination': 'Dorsten',
'isCancelled': 0,
'messages': {'delay': [], 'qos': []},
'missingRealtime': False,
'platform': '23',
'route': [{'name': 'Dortmund Hbf‘},
[…]
{'name': 'Dorsten'}],
'scheduledArrival': None,
'scheduledDeparture': '12:32',
'scheduledPlatform': '23',
'train': 'RB 43',
'trainClasses': ['N'],
'trainNumber': '14767',
'via': ['Dortmund-Huckarde Nord', 'Dortmund-Rahm',
'Wanne-Eickel']}
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
10. Deutsche Bahn in die Karten geschaut 10 | 44
Die Daten: Hinweise
Wir fragen Start / Zielstation der Linien RE1-RE9 ab (insg. 14 Stationen)
Abfrage einer(!) Station alle 12 Sekunden
u 12 Sek. * 14 Stationen = 2 Min. 48. Sek bis zur erneuten Abfrage
u Grund: Limitierung durch API
Erfassungszeitraum: 30.04.2022 - 15.08.2022
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
11. Deutsche Bahn in die Karten geschaut 11 | 44
Die Daten: Welche Bahnlinien/Bahnhöfe wurden
erfasst? Linie Start ↔ Ziel
RE1 Hamm Hbf ↔Aachen Hbf
RE2 Osnabrück ↔Düsseldorf Hbf
RE3 Hamm Hbf ↔ Düsseldorf Hbf
RE4 Dortmund Hbf ↔ Aachen Hbf
RE5 Emmerich Hbf ↔ Koblenz Hbf
RE6 Minden Hbf ↔ Köln/Bonn Flughafen
RE7 Rheine Hbf ↔ Krefeld Hbf
RE8 Mönchengladbach Hbf ↔ Koblenz Hbf
RE9 Aachen Hbf ↔ Siegen Hbf
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
12. Deutsche Bahn in die Karten geschaut 12 | 44
Unser Ziel
Training eines ML-Modells, dass Verspätungen in Minuten vorhersagt
Folgende Einschränkungen:
u Beschränkung auf die Linien RE1-RE9
u Vorhersage nur für abgeschlossene Fahrten
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
13. Deutsche Bahn in die Karten geschaut 13 | 44
Abgeschlossene Fahrten konstruieren
Daten zeigen „Momentaufnahmen" einer Ankunftstafel
à Wie konstruieren wir daraus „abgeschlossene" Fahrten?
Hierfür müssen wir mindestens Start- und Zielbahnhof einer Linie
beobachten
u Warum?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
14. Deutsche Bahn in die Karten geschaut 14 | 44
Beispiel: RE2, Zugnummer 10203 vom 10.06
Wie oft taucht der Zug auf unseren Ankunftstafeln auf?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
15. Deutsche Bahn in die Karten geschaut 15 | 44
Letztes „Signal" jeder Station
Für die Rekonstruktion der Fahrt reicht uns die Anzeige „kurz vor Abfahrt“
à Wir filtern das zeitlich letzte Signal jeder Station
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
16. Deutsche Bahn in die Karten geschaut 16 | 44
Fahrt rekonstruieren
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
17. Deutsche Bahn in die Karten geschaut 17 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
18. Deutsche Bahn in die Karten geschaut 18 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
19. Deutsche Bahn in die Karten geschaut 19 | 44
Erster Blick auf unsere Daten
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
20. Deutsche Bahn in die Karten geschaut 20 | 44
Erfasste Fahrten pro Datum
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
21. Deutsche Bahn in die Karten geschaut 21 | 44
Erfasste Fahrten je Wochentag
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
22. Deutsche Bahn in die Karten geschaut 22 | 44
Erfasste Fahrten je Bahnlinie
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
23. Deutsche Bahn in die Karten geschaut 23 | 44
Verteilung der Verspätungen
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
24. Deutsche Bahn in die Karten geschaut 24 | 44
Verteilung der Verspätungen
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
25. Deutsche Bahn in die Karten geschaut 25 | 44
Verspätungsnachrichten
Innerhalb des Datensatzes Spalten: messages.qos & messages.delay
u messages.qos:
§ „Unannehmlichkeiten“, wie z.B. geänderte Wagenreihung
u messages.delay:
§ „Störungen“, wie z.B. Zugüberholungen, Defekte, Polizeieinsätze
Vermutlich Zusammenhang zwischen Verspätungsmeldung & tatsächlicher
Verspätung
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
26. Deutsche Bahn in die Karten geschaut 26 | 44
Sample: Verspätungsnachrichten
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
27. Deutsche Bahn in die Karten geschaut 27 | 44
Welche Gründe gibt es für Verspätungen?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
28. Deutsche Bahn in die Karten geschaut 28 | 44
Welche Gründe gibt es für Verspätungen?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
29. Deutsche Bahn in die Karten geschaut 29 | 44
Anzahl Fahrten mit N Verspätungsmeldungen
Vermutung: Mehr Verspätungsmeldungen à mehr Verspätung
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
30. Deutsche Bahn in die Karten geschaut 30 | 44
Wie hängen Verspätungen und Anzahl
Verspätungsmeldungen zusammen?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
31. Deutsche Bahn in die Karten geschaut 31 | 44
Agenda
Data Science & die OSEMN-Pipeline
Die Daten & unser Ziel
OSEMN-Pipeline am Beispiel
u Explorative Datenanalyse
u ML-Modelle: Training & Ergebnisse
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
32. Deutsche Bahn in die Karten geschaut 32 | 44
Wie trainiere ich ein ML-Modell?
1. Daten vorbereiten
u Aufteilung in Trainings-/Testdaten
u ggf. weitere Vorverarbeitung (z.B. One-Hot-Encoding)
2. Modell trainieren mit gewählten Algorithmen
3. Modell nutzen/Performance messen
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
33. Deutsche Bahn in die Karten geschaut 33 | 44
1. Daten vorbereiten
ML-Modelle benötigen numerische Daten
u Kategorische Daten müssen „übersetzt" werden (z.B. durch One-Hot-Encoding)
Aufteilung unserer Daten in Trainings-/Testdaten
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
34. Deutsche Bahn in die Karten geschaut 34 | 44
2. Modell trainieren mit gewählten Algorithmen
Wir trainieren zunächst ein Basismodell als „Benchmark“
Anschließend trainieren wir weitere Algorithmen und vergleichen die
Performance
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
35. Deutsche Bahn in die Karten geschaut 35 | 44
Basismodell trainieren
Um unsere trainierten Modelle beurteilen zu können, braucht es eine
„Benchmark"
Abhängig von der Problemstellung, z.B.:
u bestehende Lösung (regelbasiert/ML-Modell)
u Heuristiken
Wir trainieren 2 Basismodelle
u Modell 1: „Die Bahn ist immer pünktlich"
u Modell 2: Modell sagt immer Durchschnittsverspätung voraus
Basismodelle helfen Performance unserer trainierten Modelle zu beurteilen
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
36. Deutsche Bahn in die Karten geschaut 36 | 44
Basismodell trainieren
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
37. Deutsche Bahn in die Karten geschaut 37 | 44
Weitere Modelle trainieren
Nachdem wir unsere Benchmark gesetzt haben, trainieren wir weitere
Modelle
Folgende Modelle betrachten wir:
u LinearRegression
u DecisionTreeRegressor
u RandomForestRegressor
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
38. Deutsche Bahn in die Karten geschaut 38 | 44
Weitere Modelle trainieren
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
39. Deutsche Bahn in die Karten geschaut 39 | 44
Feature Engineering
Modell verbessern, indem Daten um Features angereichert werden
u z.B. Datumsinformationen: Wochentag, Werktag/kein Werktag, Ferientag/kein
Ferientag, Tagesstunde..
u Aus Routeninformationen: abweichende Route ja/nein
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
40. Deutsche Bahn in die Karten geschaut 40 | 44
Beispiel: Feature Engineering
Aus dem Datum erstellen wir drei weitere Spalten
u date_after_introduction_9_euro_ticket:
§ Ist das Datum vor/nach Einführung des 9-Euro-Tickets?
u is_school_holiday:
§ Ist das Datum ein Schulferientag in NRW?
u is_working_day:
§ Ist das Datum ein Werktag?
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
41. Deutsche Bahn in die Karten geschaut 41 | 44
Performance mit zusätzlichen Features
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
42. Deutsche Bahn in die Karten geschaut 42 | 44
Zusammenfassung der Ergebnisse
Daten weisen einige Qualitätsprobleme auf
u Negative Verspätungen, Verspätungen ohne Verspätungsmeldungen, ..
Trotzdem: trainiertes Modell ist ~19% besser als Baseline
Trainiertes Modell ist ein erster MVP, den wir nun in die Produktion
bekommen wollen
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
43. Deutsche Bahn in die Karten geschaut 43 | 44
Ausblick
Diesen MVP gilt es stetig zu
verbessern, z.B. durch:
u weitere „Experimente" ->
Explorative Datenanalyse, Feature
Engineering, ..
Mehr und bessere Daten, z.B.
u Wetterdaten
u Signale von den Zwischenstationen
(Verspätungsverläufe)
u Gleis/Bahnhofsauslastung
u Baustelleninformationen (abfragbar
per API)
Bei der Kommunikation der
Ergebnisse hilft u.a. MLOps
Data Science & OSEMN-Pipeline | Die Daten & unser Ziel | OSEMN-Pipeline am Beispiel | Ende
44. Deutsche Bahn in die Karten geschaut 44 | 44
Impulsvorträge für Ihr Unternehmen
Überblick über das gesamte Angebot an Impulsvorträgen unter:
www.iks-gmbh.com/impulsvortraege
Ihr Nutzen:
u Unabhängiges, aktuelles Expertenwissen.
u Individuell auf Ihr Publikum und Ihr Unternehmen zugeschnittene Vorträge.
u Referenten mit langjähriger und branchenübergreifender Expertise in der IT-Beratung.
u Praxisnahe Vorträge, die aus Projektarbeit entstanden sind, frei von Produktwerbung.
u Ideale Ergänzung für Ihre Führungskräftetreffen, Abteilungsmeetings, Hausmessen,
Innovation Days, Konferenzen, Open Spaces, Kick-off-Meetings oder Zukunftsworkshops.