• Keine Ergebnisse gefunden

Datenaufbereitung und Datenanalyse mittels Methoden Maschineller Lernverfahren

Im Dokument VAR² 2019 – Realität erweitern (Seite 78-82)

Explorative Studie zur computergestützten Analyse im Bereich Fahrsimulationen

2 Methoden & Durchführung

2.4 Datenaufbereitung und Datenanalyse mittels Methoden Maschineller Lernverfahren

Ein Teil der Studierenden beschäftigte sich mit der Analyse und Aufbereitung der durch das verwendete Experimentalsetup entstandenen Daten. Das Lernziel der Gruppe bestand darin, ein Verständnis für die Eigenheiten der Rohdaten zu erhal-ten, diese handhabbar zu machen und mittels zugänglicher Software erste prakti-sche Erfahrungen im Feld des maschinellen Lernens in unbekannten Anwendungs-feldern zu gewinnen. Konkret bestand das Aufgabenfeld aus vier Kernkomponen-ten:

1. Sichtung und Aufbereitung der Rohdaten 2. Definition von potenziellen Analysezielen

3. Anreicherung der Rohdaten mit zusätzlichen Informationen

4. Anwendung und Evaluation Maschineller Lernverfahren inklusive erster Optionen zur Steigerung der Leistungsfähigkeit

Während des gesamten Prozesses wurden die Studierenden sowohl beratend als auch bei der Umsetzung der Ideen durch die Betreuer begleitet. Dadurch war es möglich, sowohl innerhalb des gesteckten Zeitrahmens die technische Umsetzung zu gewährleisten als auch mögliche Fallstricke zu vermeiden. Die Studierenden konnten sich damit auf die eigentlichen Kernideen und notwendigen Schritte fokus-sieren, ohne sich in aufwändigen Problemen der Umsetzung zu verlieren. Folgend werden Details und Ergebnisse der einzelnen Etappen näher beleuchtet.

2.4.1 Sichtung und Aufbereitung der Rohdaten

Die Daten lagen in ihrer Ursprungsform als eine Ansammlung einzelner Dateien im CSV-Format (Comma Separated Values; RFC 4180 [7]) vor. Dabei handelt es sich um ein typisches Dateiformat zum Austausch tabellarischer Informationen. Das Format ist in der täglichen Praxis innerhalb der Domäne des Maschinellen Lernens häufig anzutreffen. Die Studierenden erhalten somit die Möglichkeit, sich mit dem Format tiefer vertraut zu machen und den effektiven Umgang zu lernen.

Die einzelnen Dateien lagen in einem spezifischen Namenschema vor, welches in dem Muster „{Name}_Lap{X}.csv“ folgte. Dabei beschreibt {Name} den Platzhalter für den jeweiligen Fahrer, dessen Daten sich in der Datei befinden und {X} den Platzhalter für die jeweils gefahrene Rundennummer. Konkret würde der Name

„Lisa_Lap2.csv“ die Fahr-/Telemetriedaten von Lisa in Runde 2 enthalten. Die Stu-dierenden standen an dieser Stelle vor drei konkreten Aufgaben:

1. Die Daten müssen für eine sinnvolle Verarbeitung zusammengefasst wer-den. Konkret müssen die Dateien also in eine einzelne, zusammenfassen-de CSV-Datei überführt werzusammenfassen-den, wobei die Informationen über die jeweilige Ursprungsquelle erhalten bleiben muss.

2. Einige der Daten mussten gefiltert werden. Beispielsweise befand sich das Fahrzeug regelmäßig in der Boxengasse, bevor es die eigentliche Strecke erreicht.

3. Für einige Auswertungsschritte sind diese in den Dateinamen vorhande-nen Informatiovorhande-nen essenziell. Die Dateinamen müssen also zerlegt und der entstehende Datensatz mit den zugehörigen Informationen angerei-chert werden.

Für die Realisation galt es ein Skript zu entwerfen, welches die CSV-Daten sowohl einlesen als auch erweitern und speichern konnte. Hierfür kam die Programmier-sprache Python [8] zusammen mit der interaktiven Entwicklungsumgebung Jupyter Notebook [9] zum Einsatz. Jupyter Notebooks erlauben durch ein webbasiertes Interface den interaktiven Umgang mit der jeweiligen sich im Einsatz befindlichen Programmiersprache. Da sich Notebook-basierte Umgebungen in der wissenschaft-lichen Community besonders im Bereich Rapid Prototyping und Lehre etablieren, bieten sie sich im Rahmen des Projektes im besonderen Maße an. Für das Einle-sen und dem Verarbeiten der Daten kam die Bibliothek Pandas [10] zum Einsatz.

Mithilfe der Bibliothek lassen sich verschiedene Datenquellen und Datenformate einlesen, verarbeiten und schreiben. Praktische Erfahrung dieser spezifischen Tools erweisen sich in verwandten Lehrveranstaltungen als Vorteilhaft und sind durch ihre hohe Verbreitung überaus relevant beim industriellen Einsatz nach Ab-schluss des Masterstudiums.

Als Ergebnis des ersten Schrittes lag ein Datensatz bestehend aus 374.146 Daten-punkten und jeweils 285 Attributen vor. Die Attribute setzen sich aus jeweils 283 reell-wertigen Telemetriedaten aus der Rohdatenanalyse, als auch eines kategori-schen Attributs für den jeweiligen Fahrernamens und eines Attributs für die jeweili-ge Rundenzahl im Bereich [1, ..., 4] zusammen. Der Datensatz erfasst insjeweili-gesamt Daten von 13 Teilnehmern. Da das virtuelle Fahrzeug bei Unfällen fahrunfähig werden konnte, sind die Rundenzahlen ungleich verteilt. Tatsächlich erreichte nur ein einziger Teilnehmer Runde 4, was lediglich 9.320 Datenpunkten (0,025 %) entspricht.

2.4.2 Definition potenzieller Analyseziele

Da der Workshop in seiner Natur offen gestalten war, gab es keine zwingenden Zielvorgaben seitens der anleitenden Personen. Aufgabe der Gruppe war es also,

mögliche Ziele für eine prädiktive Analyse zu ersinnen. Dieser Schritt schärft das Verständnis der Domäne des maschinellen Lernens. Die Studierenden mussten sich der vorhandenen Datenlage und der daraus resultierenden Möglichkeiten be-wusstwerden. Dabei fiel die Wahl auf folgende zwei Fragestellungen:

A. Kann auf Basis der gewonnen Telemetriedaten festgestellt werden, ob sich das Fahrzeug in einer Kurvenlage oder auf einem graden Streckenab-schnitt befindet?

B. Kann weiterhin festgestellt werden, auf welchem definierten Streckenab-schnitt sich der oder die jeweilige Fahrer/-in befindet?

Die zwei Probleme liegen von ihrer Schwierigkeit im Sinne der Prädiktion auseinan-der. Problem A resultiert in einem Zweiklassenproblem („Fahrzeug befindet sich in Kurvenlage“ / „Fahrzeug befindet sich auf Gerade“). Problem B hingegen ist un-gleich schwieriger: Die verwendete Strecke Suzuka Grand Prix gliedert sich (ohne Boxengasse) nach offiziellen Einteilungen in 24 verschiedene Streckenabschnitte.

2.4.3 Anreicherung der Rohdaten mit zusätzlichen Informationen

Die Studierenden mussten feststellen, dass sich die gesetzten Ziele auf alleiniger Grundlage der erhobenen Rohdaten nicht realisieren lassen. Es fehlen die eigentli-chen Prädiktionsziele: Der Typ der Strecke, der dem jeweiligen Datenpunkt zuzu-ordnen ist (Gerade / Kurve) und analog der jeweilige Streckenabschnitt im Bereich [1, ..., 24]. Der Datenbestand musste also aufbereitet und erweitert werden.

Durch Analyse der bereits vorhandenen Attribute konnten Studierende und Dozen-ten gemeinsam feststellen, dass die jeweilige Streckendistanz in Metern in den Daten vorlag. Auf Basis dieser Grundlage ließ sich eine Kartierung von Distanzen zu Streckenabschnitten erfolgen. Dafür musste intellektuell auf Basis der Strecken-beschreibung die jeweilige Zuordnung erfolgen. Händisch wurde dafür im ersten Schritt eine Tabelle erzeugt, welche ein jeweiliges Distanzintervall auf den Stre-ckenabschnitt (und Typ) abbildet. In einem zweiten Schritt wurde die Tabelle in das zu diesem Zeitpunkt bekannte CSV-Format exportiert. Die Daten konnten nun in die bereits vorhandene Jupyter Notebook-Umgebung eingelesen werden. Der Pro-grammcode wurde dann so erweitert, dass die Datenreihen basierend auf der Zu-ordnung angereichert werden konnten. Der final resultierende Code für die Aufbe-reitung der Daten umfasste insgesamt circa 100 Codezeilen.

Der Prozess der Datenaufbereitung beanspruchte einen Großteil der eigentlichen Bearbeitungszeit. Das ist für die Studierenden eine entscheidende Beobachtung.

Tatsächlich ist der Prozess der Datenakquise- und Aufbereitung auch im gelebten Berufsalltag ein sehr zeitaufwändiger Vorgang. Laut dem Data Scientist Report von Crowdflower verbringen Datenwissenschaftler über 50% ihrer Zeit mit dem Sam-meln, Labeln, Bereinigen und Organisieren von Daten, welche gleichzeitig zu den unbeliebtesten Tätigkeiten des Jobs zählen [11].

Abbildung 3: Genauigkeit der Lokalisation des virtuellen Fahrzeugs mit Hilfe von Deep Learning-Verfahren und neun Attributwerten auf dem Suzuka-Rundkurs für 2-Klassen-Problem (Gerade vs.

Strecke; links) und für 24-Streckenabschnitte (rechts) mit und ohne Einbezug eines Zeitfenster einer drittel Sekunde.

2.4.4 Anwendung und Evaluation Maschineller Lernverfahren inklusive erster Optionen zur Performance-Steigerung

Final konnten die generierten Daten nun für prädiktive Analysen verwendet werden.

Um die Einstiegshürden so gering wie möglich zu halten, wurde dafür auf die Data Science Plattform RapidMiner [12] zurückgegriffen. Insbesondere kam die Funktion AutoModel des Tools zum Einsatz. Mit der Funktionalität können auf einfache Art Daten importiert, selektiert und auf verschiedene Machine Learning-Modellen trai-niert und ausgewertet werden. RapidMiner führt dabei selbst eine einfache Parame-tersuche durch und unterteilt die Daten selbständig in jeder Iteration in Trainings- und Testdaten. Durch diese Unterstützung müssen die Studierenden derartige Funktionalitäten nicht selbst implementieren, was wertvolle Zeit spart und realisti-sche Ergebnisse liefert, die auch in langwierigen eigenen Implementierungen er-wartbar sind. Dabei konnten die Studierenden Eigenheiten der einzelnen Modelle beobachten. So unterscheiden diese sich sowohl in der tatsächlich erreichten prä-diktiven Güte als auch in ihren Laufzeiten. Eine tiefere Aufarbeitung der Funktions-weise der einzelnen Modelle kann daraufhin gegebenenfalls in verwandten Lehr-veranstaltungen oder Unterrichtseinheiten behandelt werden.

Für die eigentliche Analyse wurde nur ein kleiner Teil der vorhandenen Attribute ausgewählt. Dies sollte einer Überparametrisierung der Modelle entgegenwirken und gleichzeitig den rechnerischen Aufwand reduzieren. Die Studierenden standen damit vor der konkreten Aufgabe, eine möglichst kleine Anzahl an Messwerten zu finden, die mutmaßlich als informationsträchtig im Sinne der Vorhersage der vorher definierten Ziele erscheinen. Dabei wählten sie lediglich neun der zur Verfügung stehenden 285 Attribute aus. In einem ersten Versuch konnte eine Genauigkeit (Precision) von bis zu 80% für das Zweiklassenproblem (Gerade / Kurve) erreicht werden. Das 24-Klassenproblem zur Bestimmung der Position des Fahrzeugs auf

einem konkreten Streckenabschnitt schnitt erwartungsgemäß deutlich schlechter ab, was initiale Hypothesen der Studierenden bestätigte.

Die Analyse erfolgte auf Basis der Rohdaten, die mit 60 Hertz erhoben wurden. Ein offensichtlicher Schwachpunkt der Datendarstellung wurde schnell identifiziert: Eine Momentaufnahme der Telemetriedaten hat nur eine sehr begrenzte Aussagekraft über die tatsächlichen Gegebenheiten. Mit dieser gewonnenen Einsicht konnte mit der Zeitreihenanalyse eine offensichtliche Verbesserungsmöglichkeit identifiziert werden. Unter Zuhilfenahme von RapidMiner konnte der Datensatz auf einfache Weise zu einem Zeitreihenformat erweitert werden. Bei dem Vorgang konnten die Studierenden die Verwendung einiger manueller RapidMiner-Module kennen ler-nen. Ein Datenpunkt bestand nun aus zusammengesetzten Daten, die 0,33 Sekun-den Fahrzeit entsprechen.

Final konnten die Studierenden nun die Genauigkeit für Problem A von 88% auf 95% und Problem B von anfänglich 73% auf 92% steigern, was in Abbildung X nochmal farblich dargestellt wird. Diese positive Entwicklung schärft das Verständ-nis der Wichtigkeit der Datenrepräsentation.

Im Dokument VAR² 2019 – Realität erweitern (Seite 78-82)