2017-01-04 8 views
7

Ich habe überall nach der besten Methode gesucht, um die multivariaten Ausreißer mit R zu identifizieren, aber ich glaube nicht, dass ich bisher einen glaubwürdigen Ansatz gefunden habe.Multivariate Ausreißererkennung mit R mit Wahrscheinlichkeit

Wir können die Irisdaten als Beispiel nehmen, wie meine Daten auch mehrere Felder

data(iris) 
df <- iris[, 1:4] #only taking the four numeric fields 

Zum einen enthält, ich bin mit Abstand Mahalanobis aus der Bibliothek MVN

library(MVN) 
result <- mvOutlier(df, qqplot = TRUE, method = "quan") #non-adjusted 
result <- mvOutlier(df, qqplot = TRUE, method = "adj.quan") #adjusted Mahalonobis distance 

Sowohl in Folge eine große Anzahl von Ausreißern (50 von 150 für nicht-adjusted und 49/150 für adjusted), die ich denke, braucht mehr Verfeinerung. Ich kann leider nicht scheinen, eine Variable in der mvOutlier Methode zu finden, um die Schwelle zu setzen (sage die Wahrscheinlichkeit eines Punktes zu erhöhen einen Ausreißer zu sein, so dass wir eine geringere Anzahl haben)

Zweitens habe ich Ausreißern Bibliothek . Dies ist univariate Ausreißer zu finden. Daher ist es mein Plan, die Ausreißer für jede Dimension der Daten zu finden, und diese Punkte, die Ausreißer in allen Dimensionen sind, werden als Ausreißer des Datensatzes betrachtet.

Dafür können wir die Wahrscheinlichkeit setzen, aber ich denke nicht, dass es die multivariate Ausreißererkennung ersetzen kann.

Einige andere Ansätze, die ich

  • Bibliothek (mvoutlier) versucht: dies zeigt nur die Handlung. Es ist schwer zu Ausreißer automatisch zu finden. Und ich weiß nicht, wie die Wahrscheinlichkeit in diesen
  • Koch Abstand hinzufügen (link): Ein Mann sagte, dass er Koch verwendete Entfernung, aber ich glaube nicht, dass es jeder starker wissenschaftlicher Beweis zu beweist, dass dies OK.

Antwort

3

Ich werde Sie mit diesen beiden Links verlassen, die ersten ein Papier über verschiedene Methoden für multivariate Ausreißer-Erkennung ist, während die zweite auf sucht, wie diese in R. implementieren

Entfernung des Kochs ist eine gültige Methode, um den Einfluss eines Datenpunkts zu untersuchen und somit die Erkennung von Randpunkten zu unterstützen. Mahalanobis Distance wird auch regelmäßig verwendet.

Für Ihr Testbeispiel ist das Iris-Dataset nicht nützlich. Es wird für Klassifizierungsprobleme verwendet, da es eindeutig trennbar ist. Ihr Ausschluss von 50 Datenpunkten würde eine ganze Spezies loswerden.

Erkennung von Ausreißern in Multivariate Data-

http://www.m-hikari.com/ams/ams-2015/ams-45-48-2015/13manojAMS45-48-2015-96.pdf

R Implementierung

http://r-statistics.co/Outlier-Treatment-With-R.html

+0

Hallo Andreas, vielen Dank für Ihren Kommentar. Cooks Abstand scheint gut, aber ich weiß nicht, was ich in das Y setzen soll, wenn man eine Fit-Linie lm (Y ~) machen muss., Daten), wenn alle Datenfelder äquivalent unabhängig sind. Für Mahalanobis Distance glaube ich nicht, dass ich irgendeine R-Implementierung gesehen habe. Das Papier sagte auch nichts über das Erhöhen/Verringern der Schwelle. Ich frage mich, was passiert, wenn ich die Schwelle für Ausreißer auf die 3-fache Kochentfernung reduziere. Schließlich wissen Sie zufällig, wie Sie das Vertrauen/die Genauigkeit dieser Methoden testen können? –

Verwandte Themen