Imputation von Nullwerten
Zu viele fehlende Werte können sich negativ auf die Qualität Ihres Modells für maschinelles Lernen auswirken. Imputation ist die Praxis des Auffüllens von fehlenden Werten, auch als Nullwerte bezeichnet. Für fehlende Daten kann es viele Gründe geben, beispielsweise einen Datenbankfehler, einen Benutzer, der ein Formular nur teilweise ausfüllt, oder vielleicht haben Sie erst mit dem Erfassen neuer Daten begonnen und ältere Einträge im Datensatz weisen nicht den neuen Datenpunkt auf.
Es ist wichtig zu verstehen, wie sich eine Imputation auf die Daten auswirken könnte. Die Imputation behält die Vorhersageleistung der Zeile oder Spalte bei, kann möglicherweise aber auch Muster erstellen, die zuvor nicht vorhanden waren, oder Rauschen zu einem vorhandenen Muster hinzufügen. Dadurch wird die Gültigkeit der Daten verringert.
Prüfen Sie Ihre Datenerfassungspraktiken, um die Vollständigkeit der Daten zu gewährleisten, und führen Sie bei Bedarf neue Prozesse ein. Wenn Sie die Darstellung eines leeren Werts beibehalten möchten, können Sie Nullwerte mit einem Wert wie „andere“ oder „unbekannt“ ausfüllen.
Null-Imputation bei automatischer Vorverarbeitung
In Qlik AutoML wird bei der automatischen Vorverarbeitung von Daten die Null-Imputation verwendet, um Ihren Datensatz für das Training vorzubereiten. Während der automatischen Datenvorverarbeitung werden bei Nullwerten Spalten ausgeschlossen, in denen mehr als 50 Prozent der Werte fehlen, und fehlende Werte werden imputiert. Fehlende Werte in kategorialen Features werden mit dem Wert „Sonstige“ und fehlende Werte in numerischen Features werden mit dem Mittelwert imputiert.
Zusätzliche Überlegungen gelten für automatisch entwickelte Features und zeitbezogenes Training.
Weitere Informationen zur Vorverarbeitung finden Sie unter Automatische Datenvorbereitung und -umwandlung.
Automatisch erstellte Features
Mit der automatischen Entwicklung von Features erstellt AutoML neue Features automatisch anhand von übergeordneten Features. Bei automatisch entwickelten Features wird die Null-Imputation wie folgt durchgeführt:
-
Wenn Sie automatisch entwickelte Datums-Features in das Training einschließen, ist der Prozess der Null-Imputation für diese Features derselbe wie für numerische Features.
-
Wenn Sie stattdessen die übergeordneten Datums-Features verwenden, erfolgt die Null-Imputation genauso wie bei kategorialen Features.
-
Für kategoriale Features, die als Freitext behandelt werden, ist die Null-Imputation die gleiche wie für kategoriale Features.
Zeitbezogenes Training
Wenn das zeitbezogene Training aktiviert ist, wird die Null-Imputation wie folgt durchgeführt:
-
Beliebige Zeilen im Trainingsdatensatz, die einen Null-Wert für den ausgewählten Datumsindex aufweisen, werden während der Vorverarbeitung verworfen. Diese Zeilen werden nicht zum Trainieren der Modelle verwendet.
-
Bei numerischen Features wird die Null-Imputation mit linearer Interpolation durchgeführt. Lineare Interpolation wird auch für automatisch entwickelte Datums-Features verwendet.
-
Bei kategorialen Features erfolgt die Null-Imputation auf die gleiche Weise wie bei nicht zeitbezogenem Training.
-
Wenn Sie Datums-Features ohne automatische Feature-Entwicklung verwenden, erfolgt die Null-Imputation genauso wie bei kategorialen Features.
-
Für kategoriale Features, die als Freitext behandelt werden, ist die Null-Imputation die gleiche wie für kategoriale Features.
Weitere Informationen zum zeitbezogenen Training finden Sie unter Erstellen von zeitbezogenen Modellen.
So funktioniert Imputation
Die folgenden Methoden sind übliche Praxis bei der Imputation von Nullwerten.
Numerische Werte
Ein gutes Standardverfahren ist die Imputation des Mittelwerts. Wenn die fehlenden Werte normalverteilt sind, hat dies die gleiche Wirkung wie das Hinzufügen von Gewicht in der Mitte einer Wippe – das Gewicht auf beiden Seiten wird nicht beeinflusst. Sie sollten aber immer berücksichtigen, was durch den Wert dargestellt werden soll. Wenn beispielsweise einige der Werte für Verkaufspreise in Ihren Verkaufsdaten Nullwerte sind, sollten Sie unterscheiden, ob dies durch einen Datenbankfehler verursacht wurde oder ob der Käufer einen Coupon zur Bezahlung verwendete. Wäre 0 oder ein anderer Wert als der Mittelwert sinnvoller?
Kategoriale Werte
Ein gutes Standardverfahren für kategoriale Werte besteht im Hinzufügen einer anderen Kategorie, die als „Andere“, „Unbekannt“ oder sogar „Fehlend“ bezeichnet werden kann. Diese Kategorie kann die zusätzliche Varianz erfassen, wenn die fehlenden Werte zufällig verteilt sind, bzw. die Zunahme der Featurerelevanz, wenn eine sinnvolle Beziehung zwischen dem Fehlen dieses Werts und dem Zielwert besteht.
Als Ausweg kann auch der Durchschnitt in Form des Modus imputiert werden. Wie bei numerischen Werten ist es immer wichtig zu berücksichtigen, was der Wert tatsächlich darstellen soll und aus welchem Grund der Wert fehlen könnte. Wenn Sie wissen, dass die meisten der fehlenden Werte wahrscheinlich der Modus sind, können Sie mit dem Modus imputieren. Wenn dies nicht bekannt oder unsicher ist, können Sie den kategorialen Wert mit einem Filtertext imputieren, der ein neuer eindeutiger Wert für den Datensatz ist.
Auswirkungen der Imputation von numerischen Werten
Numerische Imputation 1 zeigt ein Punktdiagramm mit einer Linie für optimale Übereinstimmung. Wir haben einen numerischen Wert entlang der Kategorieachse (x) und einen Zielwert entlang der Wertachse (y). Das scheint eine gute Übereinstimmung zu sein, aber es werden nur Datenpunkte berücksichtigt, bei denen x bekannt ist.
In „Numerische Imputation 2“ haben wir den Mittelwert imputiert. Die fehlenden Werte scheinen aber nicht zufällig zu sein. Dadurch wird die Linie für beste Übereinstimmung verzerrt und Rauschen hinzugefügt, was die Gesamtgenauigkeit des Modells reduziert.
Das Diagramm in „Numerische Imputation 3“ zeigt, wie es aussehen würden, wenn wir das Mittel imputieren, wenn die fehlenden Werte zufällig verteilt sind, wenn also keine weiteren Kenntnisse gewonnen dadurch werden können, dass wir wissen, ob der Wert vorhanden war oder fehlte. Wenn die fehlenden Werte zufällig verteilt sind, ändert dies die Linie für beste Übereinstimmung nicht. Wenn wir 0 anstelle des Mittelwerts imputiert hätten, hätte dies die Linie für beste Übereinstimmung ähnlich wie in „Numerische Imputation 2“ geändert.
Beispiel: Qualifizierung für ein Darlehen
In einem realen Beispiel könnte x das Jahreseinkommen einer Person und y der Darlehensbetrag sein, für den sie qualifiziert wäre. Wir erwarten eine Beziehung, die besagt, dass eine Person sich umso mehr Geld leihen kann, je mehr sie verdient. Das Muster wäre ähnlich wie bei „Numerische Imputation 1“ oben.
Nehmen wir an, dass Personen, die weniger Geld verdienen, weniger wahrscheinlich ihr Jahreseinkommen angeben. In diesem Fall fehlt der Wert x aus einem bestimmten Grund. Wenn für diese Werte das Mittel imputiert wird, würde dies die Ergebnisse des Modells verzerren. Das Ergebnis wäre ähnlich wie in „Numerische Imputation 2“.
Stellen Sie sich jetzt vor, dass einige Datensätze in der Datenbank zufällig gelöscht wurden. Die Datensätze umfassten Daten dazu, wie viel Geld manche Personen verdienen, aber nicht den Datensatz für die Person. Daher ist der Wert x zufällig Null. Diese Auswirkung ist in „Numerische Imputation 3“ dargestellt. Es ist ein Fall, in dem wir den fehlenden Wert auf sichere Weise imputieren können.
Erwägen Sie außerdem Folgendes: Was wäre, wenn statt des Mittels 0 imputiert würde? Im Beispiel der Qualifizierung für ein Darlehen ist es wahrscheinlich keine genaue Darstellung zu sagen, dass jemand 0 Dollar jährlich verdient. Damit wird das Modell ähnlich wie in „Numerische Imputation 2“ verzerrt.
Auswirkungen der Imputation von kategorialen Werten
Im numerischen Fall oben haben wir das Mittel zum Imputieren fehlender Werte verwendet. Eine einfache Methode für kategoriale Werte besteht im Verwenden des Modus; dies ist der am häufigsten vorkommende Wert. Einige Probleme beim Imputieren des Modus sind die Gleichen wie beim Imputieren des Mittels für einen numerischen Wert.
Im Diagramm unten ist ein Muster für die fehlenden Werte in „Fehlend_1“ in Bezug auf das Ziel vorhanden, während „Fehlend_2“ zufällig verteilt ist. Wir sehen, dass dies daran liegt, dass „Fehlend_2“ dem durchschnittlichen Gesamtzielwert entspricht. „Fehlend_1“ gleicht „Numerische Imputation 2“ und „Fehlend_2“ gleicht „Numerische Imputation 3“.
Der Unterschied zum numerischen Beispiel besteht darin, dass in diesem Fall „Fehlend_1“ und „Fehlend_2“ beide die Mustererkennung verzerren. Sie ist nur für einen Teilsatz der Daten verzerrt (Kategorie B). Dies wäre der imputierte Wert, wenn mit dem Modus imputiert würde, weil dies die größte Kategorie ist.
Eine Verzerrung der Beziehung zwischen einem einzelnen Wert und dem Zielwert ist nicht das einzige Risiko bei der Imputation; es gehört aber zu den häufigsten und am leichtesten zu bewertenden Problemen. Bei anderen Risiken wird meist nur Rauschen hinzugefügt und die Genauigkeit reduziert. Glücklicherweise kann das Risiko einer Verzerrung stark reduziert werden, indem Dimensionen mit relativ geringer Datendichte entfernt werden. Es wird oft diskutiert, bis zu welchem Grad geringe Datendichte in einer Spalte oder Zeile zugelassen werden sollte. Weniger häufig wird besprochen, dass das Imputieren von Daten möglicherweise die Daten auf eine Weise verzerren kann, dass sie nicht mehr repräsentativ dafür sind, was die Daten beschreiben sollen.