Quito Traffic Jam

Stillstandsprognose für Taxifahrten in Quito
Data-Science-Projekt mit 280-Konfigurationen-Sweep | 2016–2017

Technischer Deep-Dive für Data Scientists. Aufbereitung, Feature-Engineering, Modellauswahl über 280 Konfigurationen und Evaluation im Detail.

280
Konfigurationen je Split-Variante
2
Split-Regime im Vergleich
± 3 s
Streuung in der Kreuzvalidierung
6
Module in src/

Agenda

1Der Auftrag und die Messlatte
2Was die Daten hergeben — und was nicht
3Modellsuche über 280 Konfigurationen
4Das Ergebnis gegen die Zielmarke
5Methodische Prüfungen
6Grenzen und Empfehlungen
Ausgangssituation

Die Messlatte steht in der Aufgabe

Eine einfache lineare Regression als Referenz

164,09 s
mittlerer Fehler der Referenz
0,08
Bestimmtheitsmass der Referenz
222 s
Median-Wartezeit im Datensatz
„Kannst du diesen Wert unterbieten?“ — die Aufgabenstellung formuliert das Ziel selbst.
Daten

Der Datensatz

EigenschaftWert
Fahrten15.657
Spalten11, davon 1 Zielgrösse
ZeitraumJuni 2016 – August 2017
GebietQuito, Stadt und Randbezirke inklusive Flughafen
Nach Bereinigung98,8 % der Zeilen erhalten
QuelleKaggle, Mario Navas, CC BY-SA 4.0
Daten

Was die Daten kennen — und was nicht

Der Grund für alles, was danach kommt

Annahme: Wo die Fahrt beginnt und endet
Vorhanden — Koordinaten für Start und Ziel
Befund: Wo die Fahrt beginnt und endet
Sagt nichts darüber, welche Strasse genommen wurde
Annahme: Wie lange sie planmässig dauert
Vorhanden — geschätzte Fahrzeit ohne Verkehr
Befund: Wie lange sie planmässig dauert
Stärkstes Einzelsignal, aber eine fremde Schätzung
Annahme: Wie voll die Strasse war
Nicht vorhanden
Befund: Wie voll die Strasse war
Genau das erzeugt den Stillstand
Annahme: Welche Route gefahren wurde
Nicht vorhanden
Befund: Welche Route gefahren wurde
Zwei Fahrten mit gleichen Endpunkten können völlig verschieden verlaufen
Daten

Bereinigung

Regeln
  • Koordinaten ausserhalb des Stadtgebiets
  • Geplante Geschwindigkeit über 120 km/h oder unter 1 km/h
  • Fahrzeit unter 1 Sekunde, Distanz unter 100 Metern
  • Exakte Duplikate
Anmerkung zur Schwelle
  • Die Aufgabe nennt 50 km/h innerorts und 70 km/h Richtung Flughafen
  • Gefiltert wird bei 120 km/h — das trifft 2 von 15.657 Zeilen
  • Der Median der geplanten Geschwindigkeit liegt bei 28,8 km/h
  • Die Regel ist damit praktisch wirkungslos und als offener Punkt vermerkt
Exploration

Die Zielgrösse ist rechtsschief

Verteilung von wait_sec, roh und nach log1p

Der Median liegt bei 222 s, der Mittelwert bei 304 s. Ein Training auf der Rohskala würde seine Kapazität auf wenige Extremfahrten verwenden.

Nach der Log-Transformation ist die Verteilung annähernd symmetrisch — das ist der Grund, warum das transformierte Ziel später den grössten einzelnen Sprung bringt.

Modell

Konstruierte Features bringen 20 Sekunden

Bestes Ergebnis je Feature-Set

Von der reinen Physik — Distanz und geschätzte Fahrzeit — zu den konstruierten Sets sind es rund 20 Sekunden.

Danach passiert nichts mehr: die beiden besten Sets liegen weniger als eine Sekunde auseinander, obwohl eines 14 und das andere 21 Spalten hat.

Modell

Die Ziel-Transformation ist der grösste Hebel

Wirkung des log1p-Ziels je Algorithmus

Beim SVR sind es 19 Sekunden Gewinn, bei Gradient Boosting knapp 7.

Bei den linearen Modellen kehrt sich der Effekt um: sie werden um 4 Sekunden schlechter. Die Transformation hilft Modellen, die eine umverteilte Fehlerfläche ausnutzen können, und schadet denen, die eine Gerade hindurchlegen.

Modell

Bei 140 Sekunden ist Schluss

Alle 280 Läufe, nach Fehler sortiert

Sechs von 280 Konfigurationen kommen unter 145 Sekunden. Lineare Regression, SVR, Random Forest und Gradient Boosting trennen an der Spitze weniger als vier Sekunden.

Wenn völlig verschiedene Verfahren auf denselben Boden fallen, liegt die Grenze nicht am Verfahren.

Modell

Woran das Modell hängt

Feature Importance des ausgelieferten Modells

Die geschätzte Fahrzeit trägt 49 % — mehr als alle Geo- und Zeitmerkmale zusammen.

Das ist bemerkenswert, weil diese Schätzung nicht aus der Analyse stammt, sondern bereits in den Rohdaten liegt. Wie viel eigene Wertschöpfung übrig bleibt, klärt die Ablation im Methodik-Teil.

Evaluation

Das Protokoll

Auswählen und berichten sind zwei verschiedene Jobs

1Train
  • 14.091 Fahrten
  • Alle 280 Konfigurationen werden hier trainiert
2Validierung
  • Alle 280 werden hier gemessen
  • Hier fällt die Auswahl
3Test
  • Genau einmal angefasst
  • Liefert die berichtete Zahl
Der erste Durchgang hat den Sieger auf demselben Testset gekürt, auf dem er ihn berichtet hat — nachgemessen kostete das 0,62 s beim zufälligen und 0,00 s beim temporalen Split.
SplitBester auf TestAuf Val gewähltOptimismusRang des Val-Siegers
zufällig145,23 s145,85 s0,62 s2 von 280
temporal139,63 s139,63 s0,00 s1 von 280
Evaluation

Die Rangliste trägt keine Information

Kreuzvalidierung gegen einfachen Validierungssplit

Wiederholte Kreuzvalidierung ergibt eine Streuung von rund ± 3 Sekunden — grösser als die Abstände zwischen den besten Kandidaten.

Validierung und Kreuzvalidierung küren unterschiedliche Sieger. Die belastbare Aussage lautet nicht „SVR gewinnt“, sondern „diese sechs sind ununterscheidbar“.

Evaluation

Der ehrlichere Split ist konfundiert

Zufälliger gegen temporalen Split

Ein temporaler Split ist der bessere Test für den Einsatz — er verlangt, dass das Modell in eine ungesehene Periode überträgt.

Hier liefert er die bessere Zahl, weil sein Testabschnitt keine einzige Regenzeit-Fahrt enthält. Bei 14 Monaten Daten fällt der letzte Zeitabschnitt zwangsläufig in eine Jahreszeit. Eine Zahl, die sich verbessert, wenn die Methodik strenger wird, misst das Fenster, nicht das Modell.

Evaluation

Woher das Signal kommt

Ablation gegen die Median-Baseline

Von rund 53 Sekunden Gewinn über der Baseline liefert die bereits vorhandene Fahrzeitschätzung allein etwa 28.

Sie wegzulassen kostet aber nur rund 8 Sekunden — Schätzung und konstruierte Features sind grösstenteils redundant. Das Modell verpackt keine fremde Schätzung neu, aber die eigene Wertschöpfung ist kleiner, als die Gesamtzahl vermuten lässt.

Evaluation

Schiefe gegen echte Drift

Residuen des ausgelieferten Modells

Der mittlere vorzeichenbehaftete Fehler liegt bei rund +60 Sekunden und liest sich wie eine systematische Unterschätzung.

Er ist überwiegend die Schiefe der Zielverteilung: MAE wird vom bedingten Median minimiert, und bei rechtsschiefem Ziel liegt der Mittelwert zwangsläufig darüber. Die tatsächliche Drift des Modells beträgt rund 14 Sekunden.

Ergebnis

Die Antwort auf die Frage der Aufgabe

Bewertet gegen Werte, die während der Modellierung nicht vorlagen

Mittlerer Fehler auf dem Abschluss-Testset

Die gebaute Pipeline unterbietet die Referenz der Aufgabe um 15,3 % und den ersten eigenen Anlauf vom März um 9,0 %.

Gemessen auf 1.635 Fahrten, deren echte Werte erst nach der Projektbesprechung vorlagen. Auf dem vorgeschriebenen Testsplit sind es 135,70 s bei einem Bestimmtheitsmass von 0,3673.

Grenzen

Lange Fahrten sind schwerer

Fehler je Distanz-Quartil

Der mittlere absolute Fehler steigt von 74 auf 220 Sekunden — längere Fahrten bieten mehr Gelegenheit, im Stau zu stehen, und streuen entsprechend.

Die Verzerrung wächst deutlich schwächer mit: von +8 auf +26 Sekunden. Der Grossteil des scheinbaren Anstiegs ist wieder die Schiefe, nicht das Modell.

Grenzen

MAE ist für das Produkt die falsche Metrik

MAE-Modell gegen Quantil-Modell

MAE wird vom Median minimiert — die Hälfte aller Schätzungen liegt damit zu niedrig. Für eine Zusage an einen wartenden Fahrgast ist das die falsche Zielfunktion.

Ein auf das 80. Perzentil trainiertes Modell hat die deutlich schlechtere Kennzahl und hält seine Zusage in vier von fünf Fahrten statt in gut der Hälfte.

Grenzen

Was dieses Projekt nicht beantwortet

Saisonale Übertragbarkeit
14 Monate reichen nicht, um Periode und Jahreszeit zu trennen.
Flughafenfahrten
Nur 25 von 15.657 Fahrten berühren ihn — nicht auswertbar, obwohl die Aufgabe ihn hervorhebt.
Erwartungswert statt Median
Eine Smearing-Korrektur nach der Rücktransformation wurde nicht angewandt.
Die eigentliche Ursache
Ohne Route und Verkehrslage bleibt der Boden bei 140 Sekunden, mit welchem Modell auch immer.
Empfehlungen

Empfehlungen

Drei betreffen das Produkt, eine das Data-Engineering-Team

Anzeige
Spanne statt Sekundenwert
  • Ein Intervall, das mit der Fahrtdistanz breiter wird
  • Der Fehler im längsten Quartil ist dreimal so gross wie im kürzesten
Zielfunktion
Auf das 80. Perzentil optimieren
  • Eine Zusage, die in der Hälfte der Fälle zu niedrig ist, taugt nicht als Versprechen
  • Kostet Kennzahl, gewinnt Verlässlichkeit
Datenbedarf
Fehlende Signale anfragen
  • Gefahrene Route, Verkehrslage zum Fahrtzeitpunkt, Strassenkategorie
  • Ohne sie ist der Boden bei 140 Sekunden nicht zu unterschreiten
Datenbasis
Mehrjährige Daten für Saison-Aussagen
  • Ein temporaler Testabschnitt fällt sonst immer in eine Jahreszeit
  • Im vorliegenden Fall in eine ohne einen einzigen Regenzeit-Tag

Quito Traffic Jam

Stillstandsprognose für Taxifahrten in Quito
Data-Science-Projekt mit 280-Konfigurationen-Sweep | 2016–2017

Die Grenze lag nicht am Modell

Die Aufgabe fragte, ob 164 Sekunden zu unterbieten sind. Die Antwort ist ja, um 15 Prozent. Der lehrreichere Teil war die Feststellung, dass 280 Modellvarianten auf demselben Boden landen — und dass der nächste Fortschritt aus Daten kommen muss, die es noch nicht gibt.