Datenvorverarbeitung

Was versteht man unter Datenvorverarbeitung?

Bei der Datenvorverarbeitung (Data Preprocessing) werden die Rohdaten bereinigt und transformiert, um sie auf die Analyse und Modellierung vorzubereiten. Bei Rohdaten gibt es oft Datenlücken, Ausreißer und andere Inkonsistenzen wie beispielsweise Formatierungsprobleme. Die Vorverarbeitungsschritte umfassen das Bereinigen, Normalisieren und Transformieren der Daten. Ziel der Datenvorverarbeitung ist es, die nachfolgende Analyse und Modellierung genauer und effizienter zu machen.

MATLAB® stellt Apps und Funktionen zur Vorverarbeitung von Eingabedaten bereit, damit sie zur statistischen Modellierung, für Machine-Learning-Algorithmen und andere datenbasierte Anwendungen verwendbar sind.

Abbildung 1 zeigt Rohdaten mit fehlenden Werten und Ausreißern, was bei der Analyse zu fehlerhaften Schlussfolgerungen führen kann. Abbildung 2 zeigt dieselben Daten nach der Anwendung von drei verschiedenen Methoden der Datenvorverarbeitung: Nachtragen fehlender Daten, Entfernen von Ausreißern und Glätten. Die verbesserte Datenqualität zeigt jetzt markant Attribute wie Amplitude, Frequenz und Art der Periodizität.

MATLAB-Diagramm eines Rohdatensatzes mit fehlenden Werten und Ausreißern.

Abbildung 1: MATLAB-Diagramm von Rohdaten mit fehlenden Werten und Ausreißern.

MATLAB-Diagramm mit Daten vor und nach dem Glätten mithilfe von Datenvorverarbeitungsmethoden wie Nachtragen fehlender Daten und Entfernen von Ausreißern.

Abbildung 2: Ursprüngliche und vorverarbeitete Daten nach dem Anwenden der smoothdata-Funktion in MATLAB.

Methoden der Datenvorverarbeitung

Datenvorverarbeitungsmethoden lassen sich in drei Hauptkategorien unterteilen: Datenbereinigung, Datentransformation und strukturelle Operationen. Diese Schritte können wiederholt und in beliebiger Reihenfolge ausgeführt werden.

Datenbereinigung

Datenbereinigung umfasst das Beheben von Anomalien in der Datenmenge mithilfe von Methoden wie:

  • Ausreißer bearbeiten: Ausreißer ermitteln und dann entfernen oder durch statistische Schätzwerte ersetzen
  • Fehlende Daten nachtragen: Fehlende oder ungültige Datenpunkte ermitteln und durch interpolierte Werte ersetzen
  • Glättungen: Rauschen mit Techniken wie gleitender Mittelwert, lineare Regression und spezialisierten Filtermethoden ausfiltern
Zeitdiagramm mit rohen Eingabedaten zur Sonneneinstrahlung mit Datenlücken, in MATLAB dargestellt.

Abbildung 3: Zeitreihendiagramm einer Menge von Rohdaten zur Sonneneinstrahlung, einschließlich fehlender Werte.

MATLAB-Diagramm von Daten zur Sonneneinstrahlung nach dem Nachtragen fehlender Werte in die Rohdatenmenge.

Abbildung 4: Sonneneinstrahlungsdaten, die mit der fillmissing-Funktion in MATLAB zum Nachtragen fehlender Werte vorverarbeitet wurden.

Datentransformation

Bei der Datentransformation wird eine Datenmenge durch folgende Operationen in ein bevorzugtes Format konvertiert:

  • Normalisierung und Neuskalierung: Standardisierung von Datenmengen mit verschiedenen Maßstäben in einen einheitlichen Maßstab
  • Trendbereinigung: Entfernung polynomialer Trends, um die Variationen besser in der Datenmenge sichtbar zu machen
MATLAB-Diagramm zur Ermittlung des Trends der Rohdaten und zur Entfernung der Trendverzerrung durch die Datenvorverarbeitungsmethode zur Trendbereinigung.

Abbildung 5: Rohdaten, ihr Trend und ihre vorverarbeitete Version mit entfernter Trendverzerrung mithilfe der detrend-Funktion in MATLAB.

Strukturelle Operationen

Strukturelle Operationen werden häufig zum Kombinieren, Neuorganisieren und Kategorisieren von Datenmengen verwendet und umfassen:

  • Joining: Zwei Tabellen oder Zeittabellen zeilenweise mithilfe einer gemeinsamen Schlüsselvariablen kombinieren
  • Stacking und Unstacking: Mehrdimensionale Arrays in eine neue Form bringen, um Daten innerhalb der Tabelle zu konsolidieren oder umzuverteilen; das erleichtert die Analyse
  • Gruppieren und Binning: Die Datenmenge umorganisieren, um wertvolle Erkenntnisse zu gewinnen
  • Berechnung von Pivot-Tabellen: Große Datenmengen in Tabellenform werden in Teiltabellen aufgeschlüsselt, um gezielte Informationen zu erhalten

Datenvorverarbeitung und Datentypen

Datenvorverarbeitungsschritte können sich je nach Datentyp unterscheiden. Hier sind drei Beispiele verschiedener Datenvorverarbeitungsmethoden, die für verschiedene Datentypen zur Verfügung stehen.

Zeitreihendaten Tabellendaten Bilddaten
Sie können eine Reihe von Aufgaben zur Datenbereinigung und -vorverarbeitung durchführen, beispielsweise fehlende Werte entfernen, filtern, glätten und Daten mit Zeitstempeln mit verschiedenen Zeitschritten synchronisieren. Befinden sich ungeordnete Daten in einer Tabelle, können sie durch das Nachtragen oder Entfernen fehlender Werte sowie das Neuordnen der Tabellenzeilen und Variablen in einer anderen Reihenfolge bereinigt werden. Die Datenvorverarbeitung ist für Anwendungen mit Bildern nützlich, einschließlich KI. Sie können Ihre Daten vorverarbeiten, indem Sie Bilder in der Größe ändern oder beschneiden oder auch die Menge der Trainingsdaten für Deep-Learning-Modelle erhöhen.

 

 

 

 

 

Daten mit Zeitstempel vorverarbeiten und erkunden Ungeordnete und fehlende Daten in Tabellen Bilder für Deep Learning  vorverarbeiten

Datenvorverarbeitung mit MATLAB

Die Wahl der passenden Herangehensweise bei der Vorverarbeitung ist nicht immer offensichtlich. MATLAB bietet sowohl interaktive Möglichkeiten (Apps und Live Editor-Tasks) als auch allgemeine Funktionen, die das Ausprobieren verschiedener Methoden und das Ermitteln der für Ihre Daten passenden erleichtern. Die verschiedenen Konfigurationen durchzuprobieren und die optimalen Einstellungen auszuwählen, hilft Ihnen bei der Vorbereitung Ihrer Daten auf weitere Analysen.

Interaktive Möglichkeiten

Die Data Cleaner-App ist ein eigenständiges interaktives Tool zur Vorverarbeitung von Zeitreihendaten ohne Programmierung. Abbildung 6 zeigt, wie Sie Daten importieren und dann bereinigen, fehlende Daten nachtragen und Ausreißer entfernen. Sie können Ihre modifizierten Daten dann zwecks weiterer Analysen im MATLAB-Workspace speichern. Außerdem können Sie automatisch MATLAB-Code generieren, um Ihre Schritte zu dokumentieren und später nachzuvollziehen.

Abbildung 6: Verwendung der Data Cleaner-App in MATLAB zum Erkunden und Bereinigen von Zeitreihendaten.

Live Editor-Tasks bestehen aus einer einfachen Point-and-Click-Oberfläche, die direkt in Skripte eingefügt werden kann, um eine bestimmte Folge von Operationen auszuführen. Diese Tasks können interaktiv konfiguriert werden, um sie mit verschiedenen Einstellungen durchzuprobieren und die optimale Konfiguration für Ihre Anwendung zu ermitteln. Wie mit der Data Cleaner-App können Sie auch hier automatisch MATLAB-Code generieren, um Ihre Arbeit nachzuvollziehen.

Sie können Daten interaktiv mit einer Abfolge von Live Editor-Tasks wie Clean Missing Data, Clean Outlier Data, Normalize Data usw. vorverarbeiten, indem Sie die Daten bei jedem Schritt visualisieren.

Screenshot der Symbolleiste für die Datenvorverarbeitung in MATLAB mit verschiedenen verfügbaren Live Editor-Tasks.

Abbildung 7. Symbolleiste für die Datenvorverarbeitung (Data Preprocessing) in MATLAB mit verschiedenen Live Editor-Tasks.

Screenshot eines „Clean Outlier Data“-Tasks mit Eingabedatenmenge „A“, der Bereinigungsmethode „Fill outliers“ (Nachtragen von Ausreißern) durch „Linear Interpolation“, der Erkennungsmethode „Median“ und dem Ergebnisdiagramm mit zwei nachgetragenen Ausreißern.

Abbildung 8. Live Editor-Task „Clean Outlier Data“ erkennt Ausreißer mithilfe der Methode Median-Schwellenwert und trägt sie mit linearer Interpolation nach.

Verwendung von MATLAB Funktionen

MATLAB bietet Tausende von generischen integrierten Funktionen für gängige mathematische, wissenschaftliche und ingenieurwissenschaftliche Berechnungen, darunter die Datenvorverarbeitung.

Visualisieren Sie Ihre Rohdatenmenge in MATLAB, um sie genauer anzusehen. Abbildung 9 zeigt Rohdaten mit fehlenden Werten und Ausreißern. Die Datenmenge erfasst die an einem typischen Tag eingehende Sonneneinstrahlung. Raue Witterungsbedingungen könnten der drahtlosen Telemetrieübertragung im Weg stehen und zu lückenhaften Rohdaten führen.

MATLAB 2D-Diagramm der Roheingabedaten zur Sonneneinstrahlung mit Hervorhebung fehlender Werte und Ausreißer.

Abbildung 9. Zeitreihendiagramm mit Rohdaten zur Sonneneinstrahlung, deren fehlende Werte und Ausreißer gekennzeichnet sind.

Hier werden mit MATLAB fünf häufig verwendete Datenvorverarbeitungsmethoden auf die in Abbildung 9 gezeigte Rohdatenmenge zur Sonneneinstrahlung angewendet. 

Datenvorverarbeitungsmethode MATLAB-Diagramm

Ausreißer behandeln:

Anomalien in den Telemetriedaten werden als Ausreißer dargestellt. Die Ausreißer werden mit filloutliers entfernt. Sie können angeben, mit welcher Methode Werte als Ausreißer ermittelt bzw. Werte zum Nachtragen eines Ausreißer-Datenpunkts geschätzt werden.

 

 

Fehlende Daten nachtragen:

Durch die Unterbrechung der Kommunikation kommt es bei der Telemetrie zu fehlenden Daten. Mit fillmissing ersetzen Sie NULL-Werte in der Datenmenge durch einen Schätzwert. Sie können Methoden auf Basis von Interpolation oder gleitenden Fenstern angeben, um den fehlenden Wert zu schätzen.

 

 

Daten glätten:

Rauschen in den Sonneneinstrahlungsdaten wird mit smoothdata unterdrückt. Sie können die für Ihre Daten am besten geeignete Glättungsmethode auswählen und angeben.

 

 

Daten normalisieren:

Mit der normalize-Funktion lässt sich leicht erkennen, dass in dieser Datenmenge über 50% der Spitzensonneneinstrahlung zwischen 8 Uhr und 16 Uhr eingehen.

 

 

Gruppieren:

Mit retime können Sie Sonneneinstrahlungsdaten in 4-Stunden-Intervalle gruppieren, um die mittlere Sonneneinstrahlung in diesen Zeitspannen zu ermitteln.

 

 

Auch die Qualität ungeordneter Daten kann mit Datenvorverarbeitungsmethoden verbessert werden, um sie auf weitere Analysen vorzubereiten. Weitere Informationen finden Sie in den im Folgenden aufgeführten Quellen.

Siehe auch: Datenbereinigung, MATLAB für die Datenanalyse, MATLAB-Grafiken