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. 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.

Rohdaten enthalten oft fehlende Werte und Ausreißer, was bei der Analyse zu fehlerhaften Schlussfolgerungen führen kann. Mit MATLAB® können Sie Datenvorverarbeitungsmethoden wie das Ergänzen fehlender Daten, das Entfernen von Ausreißern und die Datenglättung anwenden und so Attribute wie Größe, Häufigkeit und Art der Periodizität visualisieren.

Liniendiagramm mit fehlenden Werten und Ausreißern, aufgezeichnet in MATLAB.

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.

Ursprüngliche und vorverarbeitete Daten nach dem Anwenden der smoothdata-Funktion. (Siehe MATLAB Programmcode.)

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
Liniendiagramm der Sonneneinstrahlung über einen Zeitraum von 24 Stunden, das fehlende Werte und die Notwendigkeit der Datenvorverarbeitung hervorhebt.

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

Nach der Vorverarbeitung der Daten zeigt die MATLAB-Darstellung der Sonneneinstrahlungsdaten, dass die fehlenden Werte im Rohdatensatz aufgefüllt wurden.

Sonneneinstrahlungsdaten, die mit der fillmissing-Funktion zum Nachtragen fehlender Werte vorverarbeitet wurden. (Siehe MATLAB Programmcode.)

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
Nach der Trendbereinigung (Detrending) wird die Trendverzerrung beseitigt und die trendbereinigten Daten folgen nicht mehr der Trendlinie.

Rohdaten, ihr Trend und ihre vorverarbeitete Version mit entfernter Trendverzerrung mithilfe der detrend-Funktion. (Siehe MATLAB Programmcode.)

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 Datenvorverarbeitung 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 verschiedene Datenvorverarbeitungstechniken anwenden, um die Tabelle zu bereinigen, indem Sie fehlende Werte ergänzen oder entfernen und die Tabellenzeilen und Variablen in einer anderen Reihenfolge anordnen. 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 Vorverarbeitung von Bildern für Deep Learning

Bewährte Praktiken bei der Datenvorverarbeitung

Bei der Datenvorverarbeitung gibt es keine Patentlösung. Es hängt von den Eigenschaften der Daten, dem Algorithmus für Machine Learning und dem zu lösenden Problem ab. Bewährte Praktiken können bei der Auswahl von Datenvorverarbeitungstechniken helfen:

  • Individuelle Anpassung der Techniken an die jeweilige Anwendung: Die Auswahl geeigneter Datenvorverarbeitungstechniken ist entscheidend, um zuverlässige und genaue Ergebnisse zu erzielen. Effektive Datenvorverarbeitungstechniken müssen oft auf die Anforderungen der verschiedenen Anwendungen zugeschnitten werden. So unterscheiden sich beispielsweise die Techniken für medizinische Bildgebungsanwendungen erheblich von denen für den Finanzsektor. Durch die Anpassung der Datenvorverarbeitungstechniken an die jeweilige Anwendung können die wichtigsten Merkmale in den Eingabedaten hervorgehoben werden, wodurch individuell abgestimmte und äußerst genaue Modelle entstehen. Dieser benutzerdefinierte Ansatz stellt sicher, dass die Daten optimal für die Analyse oder Modellierung vorbereitet sind, was zu genaueren und effektiveren Ergebnissen führt.
  • Evaluierung der Auswirkungen: Die richtigen Datenvorverarbeitungsmethoden können die Modellgenauigkeit, Effizienz und Interpretierbarkeit verbessern. Allerdings können sich in einigen Fällen auch Vorverarbeitungstechniken negativ auf die Modellgenauigkeit auswirken, weshalb es wichtig ist, die Modellperformance während des gesamten Prozesses der Modellerstellung zu bewerten. Eine regelmäßige Validierung der Auswirkungen einzelner Schritte zur Datenvorverarbeitung stellt sicher, dass alle Anpassungen einen positiven Beitrag zur gesamten Modellleistung leisten. Bei der Analyse von Gesundheitsdaten sind beispielsweise die Normalisierung der Labortestergebnisse von Patienten und die Eingabe fehlender Werte wichtige Schritte der Datenvorverarbeitung. Diese Techniken stellen sicher, dass jedes Testergebnis gleichermaßen zu den Vorhersagemodellen beiträgt und dass die Analysen nicht durch fehlende oder unverhältnismäßig skalierte Daten verzerrt werden, sodass genauere und umsetzbare Erkenntnisse gewonnen werden können.

Datenvorverarbeitung in Machine-Learning-Workflows

Die Datenvorverarbeitung ist ein wichtiger Schritt in der Pipeline des Machine Learning, der sicherstellt, dass der Datensatz sauber, relevant und bereit zur Modellierung ist. Richtig aufbereitete Daten können die Performance von Machine-Learning-Modellen erheblich verbessern, indem sie ihnen genaue, relevante und standardisierte Eingaben liefern.

Machine-Learning-Workflow: Laden von Rohdaten, Datenvorverarbeitung, Merkmalsextraktion, Training des Modells, Bewertung der Modellperformance und Erstellung von Vorhersagen.

Machine-Learning-Workflow.

Nachdem Sie Ihre Daten im Wesentlichen vorverarbeitet haben, müssen Sie möglicherweise einige weitere Schritte unternehmen, bevor Sie ein Machine-Learning-Modell erstellen und trainieren können. Das auf die Datenvorverarbeitung folgende Feature Engineering (Merkmalserkundung, -extraktion und -selektion) ist ein iterativer Prozess, bei dem Rohdaten in Merkmale umgewandelt werden, die vom Machine Learning verwendet werden können. Das umfasst Folgendes:

  • Durch die Merkmalsextraktion werden Rohdaten in Informationen umgewandelt, die für Machine-Learning-Algorithmen geeignet sind, wodurch die Performance der Modelle verbessert wird, da wesentliche Informationen erhalten bleiben. Dieser Schritt kann manuell erfolgen, indem einschlägiges Wissen für bestimmte Datentypen wie Bilder, Signale und Text genutzt wird, oder er kann durch Algorithmen oder Deep-Learning-Netze automatisiert werden. Die Wavelet-Streuung beispielsweise ist eine automatisierte Methode zur Extraktion von Merkmalen aus Signalen oder Bildern, die den Übergang von Daten zur Modellentwicklung vereinfacht.
  • Bei der Merkmalstransformation werden bestehende Merkmale in neue Merkmale (Prädiktorvariablen) umgewandelt, während weniger aussagekräftige Merkmale wegfallen. In MATLAB stehen mehrere Ansätze zur Verfügung, darunter die Hauptkomponentenanalyse (Principal Component Analysis, PCA), die Faktorenanalyse und die t-verteilte stochastische Nachbareinbettung (t-SNE), die bei der Erstellung aussagekräftigerer Merkmale für das Modell helfen.
  • Die Merkmalsauswahl ist ein Verfahren zur Dimensionalitätsreduktion, bei dem eine Teilmenge von Merkmalen (Prädiktorvariablen) ausgewählt wird, die die beste Vorhersagekraft für die Modellierung bieten. MATLAB unterstützt verschiedene Methoden wie Nachbarschaftskomponentenanalyse (NCA), Minimum-Redundanz-Maximum-Relevanz (MRMR), F-Test und Chi-Quadrat-Merkmalsauswahl, um sicherzustellen, dass die relevantesten Merkmale im Modell verwendet werden.

Verschiedene Methoden der Datenvorverarbeitung sind auf unterschiedliche Arten von Machine-Learning-Algorithmen zugeschnitten. Diese Methoden sind grundlegend für die Vorbereitung von Daten für Machine-Learning-Modelle und zielen darauf ab, die Modellgenauigkeit, Effizienz und Verallgemeinerbarkeit verschiedener Arten von Algorithmen und Anwendungsfällen zu verbessern.

Vorverarbeitungsmethoden Zweck Anwendbarkeit auf Machine-Learning-Algorithmen
Datenbereinigung Umgang mit fehlenden Daten, Entfernung von Ausreißern und Korrektur von Fehlern Alle Arten
Standardisierung und Normalisierung von Daten Skalierung der Merkmale zur Gewährleistung der Einheitlichkeit und Verbesserung der Modellleistung Alle Arten, insbesondere Support-Vektor-Maschinen (SVMs) und neuronale Netze
Kategorische Codierung Umwandlung kategorischer Variablen zur Verwendung in Algorithmen Neuronale Netze, Entscheidungsbäume, Wälder
Skalierung von Merkmalen Anpassen der Merkmalsskala für die Abstandsberechnung und Konvergenz SVMs, neuronale Netze, k-nächster Nachbar (k-nearest neighbor, KNN)
Merkmalsauswahl und -transformation Reduzierung der Modellkomplexität, Verbesserung der Interpretierbarkeit und der Modellanpassung Entscheidungsbäume, Wälder, Regressionsmodelle
Reduzierung der Dimensionalität Konzentration auf die informativsten Aspekte durch Reduzierung der Variablen Clustering, PCA

Datenvorverarbeitung mit MATLAB

Die Wahl des richtigen Ansatzes für die Datenvorverarbeitung 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

Mit der Data Cleaner-App können Sie Zeitreihen vorverarbeiten, ohne dafür Code schreiben zu müssen. Sie können Daten importieren und anschließend 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.

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 und Normalize Data vorverarbeiten, indem Sie die Daten bei jedem Schritt visualisieren.

Die Symbolleiste für die Datenvorverarbeitung enthält Live-Tasks zum Bereinigen von Daten, zum Auffinden von Wendepunkten und Extrema, zum Entfernen von Trends sowie zur Normalisierung und Glättung von Daten.

Toolbar für die Datenvorverarbeitung in MATLAB mit einer Sammlung von Live-Tasks.

Screenshot eines „Clean Outlier Data“-Tasks zur Datenvorverarbeitung mit Eingabedatenmenge „A“, der Bereinigungsmethode „Fill outliers“ (Nachtragen von Ausreißern) durch „Linear Interpolation“ und der Erkennungsmethode „Median“. Das sich daraus ergebende Diagramm zeigt zwei nachgetragene Ausreißer.

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

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. So enthält beispielsweise ein Datensatz mit der an einem typischen Tag empfangenen Sonneneinstrahlung fehlende Werte und Ausreißer. Raue Witterungsbedingungen könnten der drahtlosen Telemetrieübertragung im Weg stehen und zu lückenhaften Rohdaten führen.

Nach der Datenvorverarbeitung zeigt das MATLAB 2D-Diagramm der Rohdaten für die Sonneneinstrahlung fehlende Werte und Ausreißer an.

Zeitreihendiagramm mit Rohdaten zur Sonneneinstrahlung, deren fehlende Werte und Ausreißer gekennzeichnet sind. (Siehe MATLAB Programmcode für die Funktionen isnan und isoutlier).

Fünf gängige Methoden der Datenvorverarbeitung können mit MATLAB auf diesen Rohdatensatz der Sonneneinstrahlung angewendet werden.

Datenvorverarbeitungsmethode MATLAB-Diagramm

Umgang mit Ausreißern

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.

Ergänzung von fehlenden Daten

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.

Glätten von Daten

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.

Normalisierung von Daten

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