Viele reale Datensätze können aus verschiedenen Gründen fehlende Werte enthalten. Sie werden oft als NaNs, Leerzeichen oder andere Platzhalter kodiert. Das Training eines Modells mit einem Datensatz, der viele fehlende Werte enthält, kann die Qualität des maschinellen Lernmodells drastisch beeinträchtigen. Einige Algorithmen, wie z. B. Scikit-Learn-Schätzer, gehen davon aus, dass alle Werte numerisch sind und einen sinnvollen Wert haben und behalten.

Eine Möglichkeit, mit diesem Problem umzugehen, besteht darin, die Beobachtungen mit fehlenden Daten loszuwerden. Dabei riskiert man jedoch den Verlust von Datenpunkten mit wertvollen Informationen. Eine bessere Strategie wäre die Imputation der fehlenden Werte. Mit anderen Worten, wir müssen diese fehlenden Werte aus dem vorhandenen Teil der Daten ableiten. Es gibt drei Haupttypen fehlender Daten:

  • Völlig zufällig fehlende Werte (MCAR)
  • Zufällig fehlende Werte (MAR)
  • Nicht zufällig fehlende Werte (NMAR)

In diesem Artikel konzentriere ich mich jedoch auf 6 gängige Methoden zur Imputation von Daten für Querschnittsdatensätze (Zeitreihendatensätze sind eine andere Geschichte).

Das ist ganz einfach. Man überlässt es einfach dem Algorithmus, die fehlenden Daten zu verarbeiten. Einige Algorithmen können die fehlenden Werte berücksichtigen und lernen die besten Imputationswerte für die fehlenden Daten auf der Grundlage der Trainingsverlustreduktion (z. B. XGBoost). Einige andere haben die Option, sie einfach zu ignorieren (z. B. LightGBM – use_missing=false). Andere Algorithmen geraten jedoch in Panik und geben einen Fehler aus, der sich über die fehlenden Werte beschwert (z. B. Scikit learn – LinearRegression). In diesem Fall müssen Sie mit den fehlenden Daten umgehen und sie bereinigen, bevor Sie sie in den Algorithmus einspeisen.

Lassen Sie uns einige andere Möglichkeiten sehen, die fehlenden Werte vor dem Training zu imputieren:

Hinweis: Alle folgenden Beispiele verwenden den California Housing Dataset von Scikit-learn.

2- Imputation mit (Mittelwert/Median) Werten:

Dies funktioniert, indem der Mittelwert/Median der nicht fehlenden Werte in einer Spalte berechnet wird und dann die fehlenden Werte innerhalb jeder Spalte separat und unabhängig von den anderen ersetzt werden. Es kann nur mit numerischen Daten verwendet werden.

Mean Imputation

Pros:

  • Einfach und schnell.
  • Arbeitet gut mit kleinen numerischen Datensätzen.

Gegenargumente:

  • Die Korrelationen zwischen den Merkmalen werden nicht berücksichtigt. Es funktioniert nur auf Spaltenebene.
  • Ergibt schlechte Ergebnisse bei kodierten kategorischen Merkmalen (NICHT für kategorische Merkmale verwenden).
  • Nicht sehr genau.
  • Berücksichtigt nicht die Unsicherheit in den Imputationen.
Mittelwert-Imputation

3- Imputation mittels (häufigster) oder (Null/Konstante) Werte:

Die häufigste Imputation ist eine weitere statistische Strategie zur Imputation fehlender Werte und JA!!! Sie funktioniert mit kategorischen Merkmalen (Zeichenketten oder numerischen Darstellungen), indem fehlende Daten durch die häufigsten Werte in jeder Spalte ersetzt werden.

Profis:

  • Arbeitet gut mit kategorischen Merkmalen.

Probleme:

  • Sie berücksichtigt auch nicht die Korrelationen zwischen Merkmalen.
  • Sie kann Verzerrungen in den Daten verursachen.
Most Frequent Imputation

Null- oder Konstant-Imputation – wie der Name schon sagt, werden die fehlenden Werte entweder durch Null oder einen von Ihnen angegebenen konstanten Wert ersetzt

4- Imputation mit k-NN:

Die k-Nächste Nachbarschaft ist ein Algorithmus, der für eine einfache Klassifizierung verwendet wird. Der Algorithmus verwendet die „Merkmalsähnlichkeit“, um die Werte eines neuen Datenpunktes vorherzusagen. Das bedeutet, dass dem neuen Punkt ein Wert zugewiesen wird, der sich danach richtet, wie sehr er den Punkten im Trainingssatz ähnelt. Dies kann sehr nützlich sein, um Vorhersagen über fehlende Werte zu machen, indem man die k nächsten Nachbarn der Beobachtung mit fehlenden Daten findet und sie dann auf der Grundlage der nicht fehlenden Werte in der Nachbarschaft imputiert. Sehen wir uns einen Beispielcode an, der die Impyute-Bibliothek verwendet, die eine einfache und leichte Möglichkeit bietet, KNN für die Imputation zu verwenden:

KNN Imputation for California Housing Dataset

Wie funktioniert es?

Es wird eine einfache Mittelwert-Imputation erstellt und dann die resultierende vollständige Liste verwendet, um einen KDTree zu konstruieren. Dann verwendet es den resultierenden KDTree, um die nächsten Nachbarn (NN) zu berechnen. Nachdem die k-NNs gefunden wurden, wird das gewichtete Mittel aus ihnen gebildet.

Vorteile:

  • Kann viel genauer sein als die Mittelwert-, Median- oder häufigste Imputationsmethode (hängt vom Datensatz ab).

Nachteil:

  • Rechenintensiv. KNN arbeitet mit der Speicherung des gesamten Trainingsdatensatzes im Speicher.
  • K-NN ist ziemlich empfindlich gegenüber Ausreißern in den Daten (im Gegensatz zu SVM)

5- Imputation mittels Multivariater Imputation durch verkettete Gleichung (MICE)

Hauptschritte bei multiplen Imputationen

Diese Art der Imputation funktioniert durch mehrfaches Auffüllen der fehlenden Daten. Multiple Imputationen (MIs) sind viel besser als eine einfache Imputation, da sie die Unsicherheit der fehlenden Werte besser erfassen. Der Ansatz der verketteten Gleichungen ist außerdem sehr flexibel und kann mit verschiedenen Variablen unterschiedlicher Datentypen (z. B. kontinuierlich oder binär) sowie mit komplexen Gegebenheiten, wie z. B. Grenzwerten oder Erhebungsausfällen, umgehen. Weitere Informationen zur Mechanik des Algorithmus finden Sie im Forschungspapier

MICE Imputation using impyute

6- Imputation Using Deep Learning (Datawig):

Diese Methode funktioniert sehr gut mit kategorischen und nicht-numerischen Merkmalen. Es handelt sich um eine Bibliothek, die Modelle des maschinellen Lernens mit Hilfe von Deep Neural Networks erlernt, um fehlende Werte in einem Datenrahmen zu imputieren. Sie unterstützt sowohl CPU als auch GPU für das Training.

Imputation mit Datawig

Profis:

  • Im Vergleich zu anderen Methoden recht genau.
  • Sie hat einige Funktionen, die kategorische Daten verarbeiten können (Feature Encoder).
  • Es unterstützt CPUs und GPUs.

Nachteile:

  • Einzelspalten-Imputation.
  • Kann bei großen Datensätzen recht langsam sein.
  • Sie müssen die Spalten angeben, die Informationen über die Zielspalte enthalten, die imputiert werden soll.

Stochastische Regressions-Imputation:

Sie ist der Regressions-Imputation recht ähnlich, bei der versucht wird, die fehlenden Werte durch Regression aus anderen verwandten Variablen im selben Datensatz plus einem zufälligen Restwert vorherzusagen.

Extrapolation und Interpolation:

Es wird versucht, Werte aus anderen Beobachtungen innerhalb des Bereichs eines diskreten Satzes bekannter Datenpunkte zu schätzen.

Hot-Deck-Imputation:

Wirkt durch zufällige Auswahl des fehlenden Wertes aus einem Satz verwandter und ähnlicher Variablen.

Zusammenfassend lässt sich sagen, dass es keinen perfekten Weg gibt, um fehlende Werte in einem Datensatz zu kompensieren. Jede Strategie kann bei bestimmten Datensätzen und fehlenden Datentypen besser abschneiden, bei anderen Arten von Datensätzen kann sie jedoch viel schlechter sein. Es gibt einige feste Regeln, um zu entscheiden, welche Strategie für bestimmte Arten von fehlenden Werten zu verwenden ist, aber darüber hinaus sollten Sie experimentieren und prüfen, welches Modell für Ihren Datensatz am besten funktioniert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.