Der erste Schritt zur Modellierung war die Evaluierung der Daten, die mit den statischen Methoden durchgeführt wurde. Es wurden dazu die NumPy und Pandas Python Bibliotheken verwendet. Mit Hilfe von Matplotlib wurden auch Grafiken erstellt, die bei der Erkennung der täglichen Muster hilfreich gewesen sind. Nach dem Schritt war auch noch Literaturrecherche notwendig um zu entscheiden, welcher Typ von künstlichen neuronalen Netzwerken (KNN) am besten für Vorhersagen geeignet ist. Letztendlich wurde die Entscheidung getroffen, dass die ersten Vorhersagen mit einem Multilayer Perceptron (MLP) Modell geliefert werden. Für das Implementieren vom neuronalen Netz wurde die freie Software Maschinelles Lernen Bibliothek Scikit-learn für die Programmiersprache Python verwendet. Folgende Schritte wurden dabei abgearbeitet:
- scikit-learn zur ersten Evaluierung der Daten
- Tensorflow-Umgebung aufsetzen
- Aus der mit tausenden Snapshots gefüllten Datenbank ein Trainings- und Testdatenset generieren
- Mit unterschiedlichen KNN-Typen jeweils ein AI-Modell generieren und dieses mit dem Testdatenset validieren
Im so erarbeiteten nichtlinearen Regressionsmodell ist die Anzahl der verfügbaren Räder die abhängige Variable. Mehrere Eingangsfaktoren und deren Kombinationen sind als unabhängige Variablen getestet worden. Auch die Struktur des Neuronales Netzes ist in mehreren Konfigurationen genauer untersucht worden. In dem Modell sind soweit nur reine Stationsdaten als Eingangsdaten verwendet worden. Es sollten aber weitere Variablen inkludiert werden, u.a. Wetterprognosen oder generelle Verkehrsdaten.
Wir werden in einem weiteren Beitrag den Multilayer Perceptron (MLP) Ansatz genauer vorstellen. Ein mehrschichtiges Perzeptron (MLP) ist ein überwachter Lernalgorithmus, der eine Funktion lernt, indem er auf einem Datensatz trainiert. Die in den so erzeugten Modellen mögliche Generalisierung auf beliebige Eingabedaten hängt dabei vor allem von der Anzahl der Neuronen in den versteckten Schicht ab. Neuronen sind dabei die Knoten im künstlichen neuronalen Netzwerk, die in Schichten zusammengefasst werden. Zwischen den Neuronen der Eingabeschicht und denen der Ausgabeschicht (welche am Ende die Prognose liefert) liegen sogenannte versteckte Schichten. Was das genau bedeutet, werden wir uns im nächsten Blogbeitrag genauer ansehen.