Nahezu jede Datenbank, die wir mithilfe von Algorithmen für maschinelles Lernen vorhersagen möchten, findet für einige der Merkmale fehlende Werte.
Es gibt verschiedene Ansätze, um dieses Problem zu lösen und Zeilen mit fehlenden Werten auszuschließen, bis sie mit den Mittelwerten der Merkmale gefüllt sind.
Ich würde gerne einen etwas robusteren Ansatz wählen, bei dem im Grunde genommen eine Regression (oder eine andere Methode) ausgeführt wird, bei der die abhängige Variable (Y) jede der Spalten ist, in denen Werte fehlen, aber nur die Zeilen der Tabelle die alle Daten enthalten und die fehlenden Werte mit dieser Methode vorhersagen, vervollständigen Sie die Tabelle tabellarisch und gehen Sie zur nächsten 'Spalte' mit fehlenden Werten über und wiederholen Sie die Methode, bis alles gefüllt ist.
Aber das gibt mir einige Zweifel.
Warum startet eine Spalte? Ich glaube, dass der mit den kleinsten fehlenden Werten bis der mit den meisten fehlt
Gibt es einen Schwellenwert für fehlende Werte, dessen Vervollständigung es nicht wert ist? (Wenn dieses Merkmal beispielsweise nur 10% der Werte enthält, wäre es nicht interessanter, es auszuschließen.)
Gibt es irgendeine Art von Implementierung in traditionellen Paketen oder anderen Methoden, die unempfindlich gegen Ausfälle sind?
Amelia II
R eine gute Wahl. Oder du würfelst deine eigenen mitstan
.Antworten:
Die von Ihnen beschriebene Technik wird als Imputation durch sequentielle Regressionen oder multiple Imputation durch verkettete Gleichungen bezeichnet. Die Technik wurde von Raghunathan (2001) entwickelt und in ein gut funktionierendes R-Paket namens
mice
(van Buuren, 2012) implementiert .Ein Aufsatz von Schafer und Graham (2002) erklärt gut, warum mittlere Imputation und listenweises Löschen (was Sie als Zeilenausschluss bezeichnen) normalerweise keine gute Alternative zu den oben genannten Techniken sind. Grundsätzlich ist die mittlere Imputation nicht bedingt und kann daher die unterstellten Verteilungen auf den beobachteten Mittelwert ausrichten. Es wird auch die Varianz verringern, neben anderen unerwünschten Auswirkungen auf die unterstellte Verteilung. Darüber hinaus funktioniert das listenweise Löschen in der Tat nur, wenn die Daten wie durch einen Münzwurf völlig zufällig fehlen. Außerdem erhöht sich der Stichprobenfehler, da die Stichprobengröße verringert wird.
Die oben genannten Autoren empfehlen in der Regel, mit der Variablen mit den am wenigsten fehlenden Werten zu beginnen. Außerdem wird die Technik normalerweise auf Bayes'sche Weise angewendet (dh als Erweiterung Ihres Vorschlags). Variablen werden im Imputationsverfahren häufiger besucht, nicht nur einmal. Insbesondere wird jede Variable durch Ziehen aus ihrer bedingten posterioren Vorhersageverteilung vervollständigt, beginnend mit der Variablen mit den am wenigsten fehlenden Werten. Sobald alle Variablen in einem Datensatz vervollständigt wurden, beginnt der Algorithmus erneut bei der ersten Variablen und wiederholt sich dann bis zur Konvergenz. Die Autoren haben gezeigt, dass es sich bei diesem Algorithmus um Gibbs handelt, weshalb er normalerweise zur korrekten multivariaten Verteilung der Variablen konvergiert.
In der Regel, weil einige nicht testbare Annahmen vorliegen, insbesondere das Fehlen zufälliger Daten (dh ob Daten beobachtet werden oder nicht, hängt nur von den beobachteten Daten und nicht von den nicht beobachteten Werten ab). Die Prozeduren können auch teilweise inkompatibel sein, weshalb sie als PIGS (teilweise inkompatibler Gibbs-Sampler) bezeichnet wurden.
In der Praxis ist die Bayes'sche multiple Imputation immer noch ein guter Weg, um mit multivariaten, nicht monotonen Problemen mit fehlenden Daten umzugehen. Nichtparametrische Erweiterungen, wie z. B. Predictive Mean Matching, tragen zur Lockerung der Annahmen zur Regressionsmodellierung bei.
TE Raghunathan, J. Lepkowski, J. van Hoewyk & P. Solenberger (2001). Eine multivariate Technik zur Multiplikation der Eingabe fehlender Werte mithilfe einer Folge von Regressionsmodellen. Survey Methodology, 27 (1), 85–95.
Schafer, JL & Graham, JW (2002). Fehlende Daten: Unser Blick auf den Stand der Technik. Psychological Methods, 7 (2), 147–177. https://doi.org/10.1037/1082-989X.7.2.147
van Buuren, S. (2012). Flexible Anrechnung fehlender Daten. Boca Raton: CRC Press.
quelle
mice
Algorithmus verwendet jedoch entweder Regression oder prädiktiven Mittelwertabgleich. Sie vervollständigen die fehlenden Daten zunächst durch Ziehungen aus der beobachteten Verteilung und setzen sie dann nacheinander um. Sobald Sie fertig sind, wiederholen Sie dies, verwenden jedoch die neu eingegebenen Werte. Die neuen Daten nehmen teil, jaIch habe nichts gefunden, was mein Problem gelöst hätte. Deshalb habe ich eine Funktion geschrieben, die einige Lösungen für einen Pandas-Datenrahmen mit fehlenden numerischen Werten (mit ausgefallenen Impulsen) und kategorialen Werten (mit zufälligen Gesamtstrukturen) mischt.
quelle
R
Funktionmice
, Stef van Buuren , Kontakt aufzunehmen . Er ist möglicherweise an Ihrem Python-Code interessiert und / oder weist Sie auf die diesbezügliche Arbeit anderer Personen hin. stefvanbuuren.nlObwohl dies in der Regel aufwändiger ist, können Sie versuchen, eine maximale Entropieverteilung basierend auf Ihren Daten zu erstellen.
http://proceedings.mlr.press/v5/huang09a/huang09a.pdf
quelle