Algorithmen für maschinelles Lernen zur Behandlung fehlender Daten

25

Ich versuche, ein Vorhersagemodell mit hochdimensionalen klinischen Daten einschließlich Laborwerten zu entwickeln. Der Datenraum ist mit 5k Samples und 200 Variablen spärlich. Die Idee ist, die Variablen mithilfe einer Feature-Auswahlmethode (IG, RF usw.) zu klassifizieren und hochrangige Features für die Entwicklung eines Vorhersagemodells zu verwenden.

Während die Featureauswahl mit einem Naive Bayes-Ansatz gut funktioniert, stoße ich jetzt auf ein Problem bei der Implementierung eines Vorhersagemodells, da Daten (NA) in meinem variablen Raum fehlen. Gibt es einen Algorithmus für maschinelles Lernen, der mit Stichproben mit fehlenden Daten sorgfältig umgehen kann?

Khader Shameer
quelle
1
Das Vorhandensein überstimmter Antworten impliziert für mich, dass diese Frage nicht zu weit gefasst ist, um beantwortet zu werden. Ich stimme dafür, offen zu lassen.
gung - Wiedereinsetzung von Monica

Antworten:

15

Dies hängt vom verwendeten Modell ab. Wenn Sie ein generatives Modell verwenden, gibt es eine prinzipielle Möglichkeit, mit fehlenden Werten umzugehen (). Beispielsweise würden Sie in Modellen wie Naive Bayes oder Gauß'schen Prozessen fehlende Variablen ausschließen und die beste Option für die verbleibenden Variablen auswählen.

Für diskriminative Modelle ist es aufwändiger, da dies nicht möglich ist. Es gibt eine Reihe von Ansätzen. Gharamani und Jordan beschreiben einen prinzipiellen Ansatz, bei dem fehlende Werte wie versteckte Variablen behandelt werden und eine Variante des EM-Algorithmus verwendet wird, um sie zu schätzen. In ähnlicher Weise haben Smola et al. beschreiben eine Variante des SVM-Algorithmus, die das Problem explizit angeht.

Beachten Sie, dass häufig empfohlen wird, die fehlenden Werte durch den Mittelwert der Variablen zu ersetzen. Dies ist problematisch, wie im ersten Artikel beschrieben. Manchmal bin ich auf Artikel gestoßen, die die Variablen regressiv behandeln, um fehlende Werte abzuschätzen, aber ich kann nicht sagen, ob dies auf Ihren Fall zutrifft.

jpmuc
quelle
2
Es wird häufig empfohlen, die fehlenden Werte durch den Mittelwert der Variablen zu ersetzen . Können Sie bitte auf die Quelle verweisen?
Sergey Bushmanov
1
@juampa Warum ist es Ihrer Meinung nach nicht möglich, fehlende Variablen in diskriminative Modelle zu integrieren? Wir tun dies die ganze Zeit für die logistische Regression. Tatsächlich kann gezeigt werden, dass es einer Mehrfachzuschreibung entspricht.
AdamO
1
@SergeyBushmanov Ich bin mit Ihnen in Ihrer Verwirrung hier. Es wird nicht oft empfohlen, eine (einzelne) mittlere Imputation zu verwenden, da dies in einigen Fällen zu Verzerrungen und in anderen Fällen zu antikonservativen Validierungsmetriken führt.
AdamO
7

Das R-Paket randomForestSRC, das die zufälligen Wälder von Breiman implementiert, verarbeitet fehlende Daten für eine breite Klasse von Analysen (Regression, Klassifikation, Überleben, konkurrierendes Risiko, unbeaufsichtigt, multivariat).

Siehe folgenden Beitrag:

Warum verarbeitet Random Forest fehlende Werte in Prädiktoren nicht?

Hemant
quelle
2

Versuchen Sie eine Imputation mit den nächsten Nachbarn, um fehlende Daten zu beseitigen.

Darüber hinaus verfügt das Caret-Paket über Schnittstellen zu einer Vielzahl von Algorithmen. Alle bieten Vorhersagemethoden in R, mit denen neuartige Daten vorhergesagt werden können. Leistungsmetriken können auch mithilfe der k-fachen Kreuzvalidierung unter Verwendung desselben Pakets geschätzt werden.

Ankur Chakravarthy
quelle
2

Es gibt auch Algorithmen, die den fehlenden Wert als eindeutigen und unterschiedlichen Wert beim Erstellen des Vorhersagemodells verwenden können, z. B. Klassifizierungs- und Regressionsbäume. wie xgboost

Ajay
quelle