Projekte

Road Accidents in France

Titelbild von road-accidents-fr

Motivation

Jedes Jahr sterben ca. 1,3 Millionen Menschen infolge von Verkehrsunfällen (Quelle: WHO).

Das Ziel dieses Data-Science-Projektes ist es, die Einflüsse auf das Vorkommen und die Schwere von Unfällen zu untersuchen. Das so gewonnenen Erkenntnisse können Entscheidungsträgern bei ihren Entscheidungen helfen und somit tödliche Unfälle verhindern.

Meine Arbeit

In diesem Projekt
  • kombiniere ich die in verschiedenen Dateien vorliegenden Daten zu einem Datensatz
  • visualisiere ich einige Zusammenhänge zwischen den vorliegenden Variablen
  • trainiere ich verschiedene Modelle des maschinellen Lernens, um die Schwere von Verkehrsunfällen vorherzusagen:
    • konventionelle Modelle: XGBoost, Random Forest (parametrisiert mit Bayes’scher Optimierung)
    • künstliche neuronale Netze mit Tensorflow/Keras.
  • interpretiere ich die Ergebnisse sowie die Funktionsweise der genannten Modelle, u. a. mittels Features-Permutationen
  • nutze ich GitHub Actions, um die Qualität des Codes automatisiert sicherzustellen:
    • Linting mit Pylint
    • Testen der Jupyter Notebooks mit papermill

Geplante Erweiterungen

  • Zeitreihenanalyse
  • Identifizieren der Variablen, die die Anzahl der Unfälle in einer bestimmten Stadt / einem bestimmten Département beeinflussen

Vorläufige Erkenntnisse

Bedeutung der Variablen

Die Permutation der Eingangsvariablen des XGBoost-Modells zeigt, dass die Schwere (unversehrt/verletzt/getötet) vor allem von Variablen von Ort und Zeit abhängen […]

Alter der Verkehrsteilnehmer

Altersverteilung der Teilnehmer von Verkehrsunfällen ist hier mittels violin plot dargestellt. Wenn ich diese betrachte, kann fallen mir folgende Dinge auf:

  • Die jüngsten Fahrer sind jünger als das Mindestalter für einen Führerschein. Nachdem eine Täuschung durch die Glättung des violin plots ausgeschlossen ist, lässt dies den Schluss zu, dass bei männlichen Jugendlichen das Fahren ohne Führerschein ein Problem ist (ein prominenter Fall ist der von Nahel Merzouk im Juni 2023).
  • Männer sind im Vergleich zu Frauen deutlich öfter als Fahrer in Unfälle verwickelt. In diesem Zusammenhang wäre eine Betrachtung nützlich, wie viel Kilometer Männer und Frauen jeweils jährlich zurücklegen. Es ist auf jeden Fall zu beobachten, dass ältere Männer fast gar nicht als Beifahrer an Unfällen beteiligt sind; dies lässt darauf schließen, dass sie i. d. R. am Steuer sitzen, während die Frauen blo mitfahren.
  • Es ist kein nennenswerter Einfluss des Renteneintrittsalters zu sehen. Ein Grund dafür ist sicherlich, dass der Renteneintritt verteilt erfolgt (nicht alle Menschen gehen am selben Tag in Rente), ein möglicher Einfluss wäre demnach schwieriger zu identifizieren. Es kann auch sein, dass die unfallvermeidenden Faktoren (weniger Strecke wird zur Arbeit zurückgelegt, weniger Eile) und die unfallfördernden Faktoren (mehr Zeit, um unbekannte Strecken zu fahren) sich die Waage halten.
Verteilung zur Tageszeit

Die Verteilung der Unfälle über die Tageszeit interpretiere ich wie folgt:

  • Die meisten Unfälle treten zu den Spitzenzeiten des Berufsverkehrs auf, also werktags vor 9 und 18 Uhr
  • Am Wochenende ist die Unfallfrequenz nachts deutlich erhöht. Dies sind vermutlich Fälle von Leuten, die vom Feiern zurückkehren. Interessant wäre in diesem Zusammenhang eine Darstellung der Altersverteilungen der Tageszeiten.
Rollenverteilung der Verkehrsteilnehmer

Die Verkehrsteilnehmer sind im Dataset in drei Rollen unterteilt: Fahrer, Passagier und Fußgänger. Die Verteilung der Verkehrsteilnehmer auf diese Rollen ist hier in einem waffle chart dargestellt. Dafür habe ich das Paket PyWaffle verwendet.

Genutzte Pakete und Techniken (Auswahl)

Jupyter Notebooks betrachten

Badges

Links

Train Stats DE

DB Regionalexpress

In diesem Projekt nutze ich die Timetables API der Deutschen Bahn, um alle Verbindungen im deutschen Bahnstreckennetz zu erfassen und mittels Graphentheorie (genutztes Paket: networkx) zu analysieren.

Mehr Informationen in meinem Blog-Post: Vorstellung des Projektes Train Stats DE

Cookiecutter Template

Für meine Data-Science-Projekte nutze ich ein Template, welches mit Cookiecutter verwendet werden kann. Dieses Template erläutere ich etwas ausführlicher in einem Blogpost: Cookiecutter Template für Data Science

Kaggle Projects

Ames Housing Prices

Mein Beitrag wurde auf Platz 764 von 3939 plaziert und mit einer Bronze-Medaille ausgezeichnet.

Gemstone Price Prediction

Mein Beitrag wurde auf Platz 54 von 132 plaziert.

Weitere Programmierprojekte, nicht ML-bezogen

  • Matlab-Tool zur Auswertung von Geometrieabweichungen am Innen- und Außenbogen eines Biegeteils

    B. Sc. Thesis

  • OpenMP parallel implementation of fast polynomial transformations in Fortran

    M.Sc. thesis

  • Krümmungs- und Torsionsanalyse von Biegelinien mittels Frenet-Serret-Gleichungen

    Matlab/Python

  • Algorithmus zum geometrischen Vergleich von Soll- und Ist-Geometrie von Biegeteilen

    Matlab/Python

Kay Langhammer

Researcher

Kay Langhammer 2024