Wie lassen sich Ausreißer in multivariaten Daten am besten identifizieren?

94

Angenommen, ich habe einen großen Satz multivariater Daten mit mindestens drei Variablen. Wie finde ich die Ausreißer? Paarweise Streudiagramme funktionieren nicht, da es möglich ist, dass ein Ausreißer in drei Dimensionen existiert, der in keinem der zweidimensionalen Teilräume ein Ausreißer ist.

Ich denke nicht an ein Regressionsproblem, sondern an echte multivariate Daten. Antworten, die eine robuste Regression oder Rechenleistung beinhalten, sind daher nicht hilfreich.

Eine Möglichkeit wäre, die Hauptkomponentenwerte zu berechnen und im bivariaten Streudiagramm der ersten beiden Werte nach einem Ausreißer zu suchen. Würde das garantiert funktionieren? Gibt es bessere Ansätze?

Rob Hyndman
quelle
3
Wenn eine Streudiagramm-Matrix dies nicht erfasst, können Sie ein 3D-Streudiagramm verwenden. Für 4D funktioniert das natürlich nicht, aber dann könnten Sie eine vierte Dimension als Zeit erstellen und einen Film machen. :)
Shane
Was ist mit (hierarchischer) Clusteranalyse?
Andrej
11
5. D in Farbton, 6. D in Farbintensität, 7. D in

Antworten:

26

Schauen Sie sich das mvoutlier- Paket an, das auf bestellten robusten Mahalanobis-Entfernungen basiert, wie von @drknexus vorgeschlagen.

chl
quelle
4
Ich persönlich glaube nicht an dieses Paket! Ich denke, das ist nur wissenschaftlicher Lärm. Diese Arten von Theorien eignen sich sehr gut für simulierte Daten, während nur pffff für reale Daten. Ich habe dieses Paket zum Beispiel verwendet, um Ausreißer zu erkennen :-) Leider wurde die Hälfte meiner Daten als Ausreißer erkannt :-D Es ist lustig, wie Leute nur einige veröffentlichen (ich weiß nicht, wie ich das nennen soll). Wenn Sie einen Kommentar haben, werde ich gerne sehen. Wir haben viele Arten von Ausreißern, aber sollten wir sie einfach aus unseren Daten entfernen? Ich glaube nicht.
Anfänger
1
Können Sie erklären, wann und warum dies funktioniert?
eric_kernfeld
19

Ich denke, Robin Girards Antwort würde für 3 und möglicherweise 4 Dimensionen ziemlich gut funktionieren, aber der Fluch der Dimensionalität würde verhindern, dass es darüber hinaus funktioniert. Sein Vorschlag führte mich jedoch zu einem verwandten Ansatz, der darin besteht, die kreuzvalidierte Kerneldichteschätzung auf die ersten drei Hauptkomponentenbewertungen anzuwenden. Dann kann ein sehr hochdimensionaler Datensatz noch in Ordnung gehandhabt werden.

Zusammenfassend gilt für i = 1 bis n

  1. Berechnen Sie eine Dichteschätzung der ersten drei Hauptkomponentenbewertungen, die aus dem Datensatz ohne Xi erhalten wurden.
  2. Berechnen Sie die Wahrscheinlichkeit von Xi für die in Schritt 1 geschätzte Dichte. Nennen Sie es Li.

Ende für

Sortieren Sie das Li (für i = 1, .., n) und die Ausreißer sind diejenigen, deren Wahrscheinlichkeit unter einem bestimmten Schwellenwert liegt. Ich bin mir nicht sicher, was eine gute Schwelle wäre - das überlasse ich jedem, der die Zeitung darüber schreibt! Eine Möglichkeit besteht darin, ein Boxplot der Log-Werte (Li) zu erstellen und zu sehen, welche Ausreißer am negativen Ende erkannt werden.

Rob Hyndman
quelle
Vielen Dank für diese Antwort (sollte ein Kommentar sein?) Wie ich bereits erwähnt habe, ist ein Kommentar zu Richs hoher Dimension kein Problem (sogar 1000 könnten funktionieren), wenn Sie parametrische strukturelle Annahmen machen.
Robin Girard
@rob "Ich bin mir nicht sicher, was eine gute Schwelle wäre" Dies wäre der Zweck des mehrfachen Testverfahrens, das ich erwähnt habe. Aber ich stimme voll und ganz zu, dass Dinge ausgefüllt werden müssen, und ich mag die Erkennung von Ausreißern wirklich die Ausreißererkennung! Wer möchte eine Arbeit schreiben :)?
Robin Girard
4
(-1) Es ist ein bisschen ärgerlich, dass die akzeptierte Antwort auf diese Frage weder nützlich (z. B. zu vage und nicht umgesetzt) ​​noch wissenschaftlich korrekt ist (da es nicht einmal falsch ist: Soweit ich weiß, wird es im Internet nicht einmal erwähnt relevante Literatur).
User603
6
(-1) Dies scheint eine falsche Antwort zu sein - diese Methode erkennt keine Ausreißer! Es ist leicht vorstellbar, dass eine 3D-Wolke aus Punkten, die wie ein Pfannkuchen von PCA auf eine 2D-Ebene projiziert wird, und ein Ausreißerpunkt, der weit von der Ebene entfernt ist, sich jedoch genau in der Mitte der projizierten Wolke befindet Der Punkt in der 2D-Ebene wird hoch sein, obwohl es sich um einen Ausreißer handelt.
Kochede
1
Ich würde PCA hier für problematisch halten. PCA ist eine Annäherung, die die Hauptbeiträge zur Varianz berücksichtigt. Aber genau hier geht es darum, Ausreißer zu finden - würden sie nicht "zwischen den Rissen fallen"?
Omry Atia
18

Eine pädagogische Zusammenfassung der verschiedenen Methoden finden Sie in (1).

Für einige numerische Vergleiche der verschiedenen dort aufgelisteten Methoden können Sie (2) und (3) überprüfen .

Es gibt viele ältere (und weniger erschöpfende) numerische Vergleiche, die typischerweise in Büchern zu finden sind. Sie finden sie beispielsweise auf den Seiten 142-143 von (4).

Beachten Sie, dass alle hier diskutierten Methoden eine Open Source R-Implementierung haben, hauptsächlich über das rrcov- Paket.

  • (1) P. Rousseeuw und M. Hubert (2013) Hochauflösende Schätzer für multivariate Position und Streuung.
  • (2) M. Hubert, P. Rousseeuw, K. Vakili (2013). Formverzerrung robuster Kovarianzschätzer: eine empirische Studie. Statistische Papiere.
  • (3) K. Vakili und E. Schmitt (2014). Finden multivariater Ausreißer mit FastPCS. Computerstatistik & Datenanalyse.
  • (4) Maronna RA, Martin RD und Yohai VJ (2006). Robuste Statistik: Theorie und Methoden. Wiley, New York.
user603
quelle
Ich würde Papiere, die auf simulierten Daten basieren, nicht empfehlen. Ich glaube, die ersten beiden Papiere basieren auf simulierten Daten. Ich arbeite an realen Daten und SELTENST können diese simulierten starken Ausreißer in Daten gefunden werden. Ich persönlich habe nie einen Datensatz mit sehr starken Ausreißern gefunden. Wenn Sie echte Daten kennen, teilen Sie diese bitte mit
Anfänger
Hallo Nemo: danke für deinen Kommentar. Tatsächlich stellt sich heraus, dass für viele (leider nicht alle) dieser Modelle die schlechtestmögliche Konfiguration von Ausreißern bekannt ist. Dies sind die Konfigurationen, die man normalerweise anhand dieser Modelle simulieren und bewerten würde. Vielleicht können Sie dies als Frage formulieren? Gerne verweise ich auf einige Referenzen!
User603
1
Ich habe bereits eine allgemeine Frage gestellt. Sie können meinen Beitrag hier finden stats.stackexchange.com/questions/139645/...
Learner
13

Ich würde eine Art "einen Testalgorithmus weglassen" (n ist die Anzahl der Daten):

für i = 1 bis n

  1. Berechnen einer Dichteschätzung des Datensatzes, der durch Wegwerfen von wirdXi . (Diese Dichteschätzung sollte mit einer gewissen Annahme durchgeführt werden, wenn die Dimension hoch ist, beispielsweise mit einer Gaußschen Annahme, für die die Dichteschätzung einfach ist: Mittelwert und Kovarianz.)
  2. Berechnen Sie die Wahrscheinlichkeit von für die in Schritt 1 geschätzte DichteXi . nenne es .Li

Ende für

sortiere das (für i = 1, .., n) und benutze ein Testverfahren mit mehreren Hypothesen, um zu sagen, welche nicht gut sind ...Li

Dies funktioniert, wenn n ausreichend groß ist. Sie können auch die "Auslassstrategie" verwenden, die relevanter sein kann, wenn Sie "Gruppen" von Ausreißern haben.

Robin Girard
quelle
Wie würde dies mit Fällen umgehen, in denen Sie nicht wissen, wie viele Ausreißer Sie haben, dh wenn die N-1-Punkte immer noch eine Verzerrung aufweisen, da sie Ausreißer enthalten?
Benjamin Bannier
1
Wenn n ausreichend groß und die Anzahl der Ausreißer gering ist, ist diese Vorspannung vernachlässigbar. Wenn es dann eine große Anzahl von Ausreißern gibt, ist es maibe nicht Ausreißer, und wie ich bereits erwähnte, können Sie die Auslassstrategie verwenden ... (in diesem Fall müssen Sie eine Strategie finden, um zu vermeiden, dass alle Konfigurationen verfolgt werden, die möglicherweise sei NP hart ...) und wenn du k nicht kennst, kannst du viele Werte für k ausprobieren und die relevanteste behalten.
Robin Girard
1
Dies ist eine nette Idee, aber wenn ich sie richtig verstanden habe, scheint sie die Idee des "Ausreißers" zu erweitern, um irgendeinen Wert in einen Datensatz aufzunehmen, der von den anderen entfernt ist. Zum Beispiel würde Ihre Prozedur in dem Stapel {-110 [1] -90, 0, 90 [1] 110} von 43 Ganzzahlen die 0 (das ist der Median dieser Zahlen!) Nicht als den eindeutigen "Ausreißer" identifizieren "?
Whuber
@whuber gute Frage! ohne strukturelle Annahme könnte die Null entfernt werden. Sie können jedoch davon ausgehen, dass die Verteilung unimodal ist, und die Dichte entsprechend berechnen. In diesem Fall hilft die strukturelle Annahme (Unimodalität) der Prozedur, Null als "normalen" Wert zu sehen. Am Ende denkst du, dass es normal ist, weil du diese Art von "struktureller Annahme" in deinem Kopf hast :)?
Robin Girard
3
Einige Aspekte dieses Verfahrens sind mir unangenehm. mein beispiel zeigt nur einen der gründe warum. Die sind stark voneinander abhängig, so dass unklar ist, welches "Multiple Hypothesis Testing Procedure" anwendbar wäre. Darüber hinaus hängt das - wie Sie bereits haben - vom Dichteschätzer ab, sodass sich eine ganze Reihe von Fragen darüber stellen, wie die Dichten für diesen Zweck am besten abgeschätzt werden können. Dies sind Probleme, selbst bei parametrischen univariaten Ausreißererkennungsverfahren, daher erwarte ich nicht, dass sie im multivariaten Fall einfacher zu lösen sind. L iLiLi
whuber
12

Sie können Kandidaten für "Ausreißer" unter den Stützpunkten des Ellipsoids mit minimaler Volumenbegrenzung finden. ( Effiziente Algorithmen , um diese Punkte in relativ hohen Dimensionen genau und ungefähr zu finden, wurden in den 1970er Jahren in einer Reihe von Arbeiten erfunden, da dieses Problem eng mit einer Frage im experimentellen Design verbunden ist.)

whuber
quelle
12

Mein neuartiger Ansatz war IT Jolliffe Principal Components Analysis . Sie führen eine PCA für Ihre Daten aus (Hinweis: PCA kann für sich genommen ein nützliches Tool zur Datenexploration sein). Statt jedoch die ersten paar Hauptkomponenten (Principal Components, PCs) zu betrachten, zeichnen Sie die letzten paar PCs. Diese PCs sind die linearen Beziehungen zwischen Ihren Variablen mit der kleinstmöglichen Varianz. Somit erkennen sie "exakte" oder nahezu exakte multivariate Beziehungen in Ihren Daten.

Eine grafische Darstellung der PC-Ergebnisse für den letzten PC zeigt Ausreißer an, die nicht leicht zu erkennen sind, wenn jede Variable einzeln betrachtet wird. Ein Beispiel ist für Größe und Gewicht - einige, die eine "überdurchschnittliche" Größe und ein "unterdurchschnittliches" Gewicht haben, würden vom letzten PC für Größe und Gewicht erkannt (vorausgesetzt, diese sind positiv korreliert), selbst wenn ihre Größe und ihr Gewicht nicht " extrem "einzeln (zB jemand der 180cm und 60kg war).

Wahrscheinlichkeitslogik
quelle
11

Ich habe niemanden gesehen, der Einflussfunktionen erwähnte . Ich habe diese Idee zum ersten Mal in Gnanadesikans multivariatem Buch gesehen .

In einer Dimension ist ein Ausreißer entweder ein extrem großer oder ein extrem kleiner Wert. Bei der multivariaten Analyse handelt es sich um eine Beobachtung, die aus der Masse der Daten entfernt wird. Aber welche Metrik sollten wir verwenden, um ein Extrem für den Ausreißer zu definieren? Es gibt viele Möglichkeiten. Die Mahalanobis-Distanz ist nur eine. Ich halte es für zwecklos und kontraproduktiv, nach Ausreißern jeder Art zu suchen. Ich würde fragen, warum Sie sich für den Ausreißer interessieren? Bei der Schätzung eines Mittelwerts können sie einen großen Einfluss auf diese Schätzung haben. Robuste Schätzer wiegen weniger und nehmen Ausreißer auf, testen sie jedoch nicht offiziell. In der Regression könnten die Ausreißer - wie Hebelpunkte - große Auswirkungen auf die Steigungsparameter im Modell haben. Mit bivariaten Daten können sie den geschätzten Korrelationskoeffizienten und in drei oder mehr Dimensionen den Mehrfachkorrelationskoeffizienten übermäßig beeinflussen.

Einflussfunktionen wurden von Hampel als Hilfsmittel für robuste Schätzungen eingeführt, und Mallows schrieb eine schöne, unveröffentlichte Abhandlung, in der sie ihre Verwendung befürworteten. Die Einflussfunktion ist eine Funktion des Punktes, an dem Sie sich im n-dimensionalen Raum befinden, und des Parameters. Es misst im Wesentlichen die Differenz zwischen der Parameterschätzung mit dem Punkt in der Berechnung und dem Punkt, der ausgelassen wird. Anstatt sich die Mühe zu machen, die beiden Schätzungen zu berechnen und die Differenz zu berechnen, können Sie häufig eine Formel dafür ableiten. Dann geben die Konturen mit konstantem Einfluss die Richtung an, die in Bezug auf die Schätzung dieses Parameters extrem ist, und geben somit an, wo im n-dimensionalen Raum nach dem Ausreißer zu suchen ist.

Weitere Informationen finden Sie in meinem Artikel von 1983 im American Journal of Mathematical and Management Sciences mit dem Titel "Die Einflussfunktion und ihre Anwendung auf die Datenvalidierung". Bei der Datenvalidierung wollten wir nach Ausreißern suchen, die die beabsichtigte Verwendung der Daten beeinflusst haben. Meiner Meinung nach sollten Sie Ihre Aufmerksamkeit auf Ausreißer lenken, die die Parameter, die Sie schätzen möchten, stark beeinflussen, und sich nicht so sehr für andere interessieren, die dies nicht tun.

Michael Chernick
quelle
1
+1 Sehr schöne Idee, vor allem für die konsequente Fokussierung auf den Zweck der Analyse.
whuber
Eine ähnliche Idee ist Random Sample Consensus ( RANSAC ).
GeoMatt22
8

Möglicherweise handelt es sich um ein Überschießen, Sie trainieren jedoch möglicherweise eine unbeaufsichtigte zufällige Gesamtstruktur mit den Daten und verwenden das Objektnäherungsmaß, um Ausreißer zu erkennen. Weitere Details hier .


quelle
4
Überprüfen Sie die Ausreißerfunktion im randomForest-Paket lib.stat.cmu.edu/R/CRAN/web/packages/randomForest/…
George Dontas
7

Bei moderaten Dimensionen wie 3 erscheint eine Art von Kernel-Kreuzvalidierungstechnik, wie sie an anderer Stelle vorgeschlagen wurde, vernünftig und ist die beste, die ich mir ausdenken kann.

Bei höheren Dimensionen bin ich mir nicht sicher, ob das Problem lösbar ist. es landet ziemlich genau auf dem Territorium des 'Fluches der Dimensionalität'. Das Problem ist, dass Abstandsfunktionen dazu neigen, sehr schnell zu sehr großen Werten zu konvergieren, wenn Sie die Dimensionalität erhöhen, einschließlich der von Verteilungen abgeleiteten Abstände. Wenn Sie einen Ausreißer als "einen Punkt mit einer vergleichsweise großen Abstandsfunktion im Verhältnis zu den anderen" definieren und alle Ihre Abstandsfunktionen anfangen, sich zu vereinigen, weil Sie sich in einem hochdimensionalen Raum befinden, dann sind Sie in Schwierigkeiten .

Ohne irgendeine Art von Verteilungsannahme, die Sie in ein Problem der Wahrscheinlichkeitsklassifizierung verwandeln lässt, oder zumindest eine Rotation, mit der Sie Ihren Raum in "Rauschdimensionen" und "informative Dimensionen" unterteilen können, denke ich, dass die Geometrie hochdimensionaler Räume eine einfache - oder zumindest verlässliche - Identifizierung von Ausreißern verbieten.

Reich
quelle
Das Verfahren, das ich bereits gegeben habe, kann, wie gesagt, unter Verwendung einer Gaußschen Annahme in großen Dimensionen angewendet werden. Wenn die Dimension in Bezug auf die Stichprobengröße wirklich groß ist (dh p >> n), können Sie eine gewisse Knappheit annehmen (beispielsweise davon ausgehen, dass die Parameter Ihrer Gaußschen Verteilung in einem Raum mit geringen Dimensionen liegen) und ein Schwellenwertschätzungsverfahren anwenden für die Schätzung der Parameter ...
Robin Girard
1
Sehr aufschlussreich, dass der Fluch der Dimensionalität eine Lösung ohne Verteilungsannahmen ausschließt (es sei denn, Sie haben einfach wahnsinnige Datenmengen oder die Dimension ist klein)
John Robertson
6

Ich bin mir nicht sicher, was Sie meinen, wenn Sie sagen, Sie denken nicht an ein Regressionsproblem, sondern an "echte multivariate Daten". Meine erste Antwort wäre, die Mahalanobis-Distanz zu berechnen, da es nicht erforderlich ist, dass Sie eine bestimmte IV oder DV angeben, aber im Kern (soweit ich das verstehe) hängt es mit einer Hebelstatistik zusammen.

russellpierce
quelle
Ja, ich könnte den Mahalanobis-Abstand jeder Beobachtung aus dem Mittelwert der Daten berechnen. Die Beobachtungen mit dem größten Abstand zum Mittelwert sind jedoch nicht unbedingt multivariate Ausreißer. Stellen Sie sich ein bivariates Streudiagramm mit hoher Korrelation vor. Ein Ausreißer kann sich außerhalb der Hauptpunktewolke befinden, aber nicht so weit vom Mittelwert entfernt.
Rob Hyndman
4

Meine erste Antwort wäre, wenn Sie multivariate Regression für die Daten durchführen können, die Residuen dieser Regression zu verwenden, um Ausreißer zu erkennen. (Ich weiß, dass Sie sagten, dass es kein Regressionsproblem ist, also könnte dies Ihnen nicht helfen, sorry!)

Ich kopiere einiges davon von einer Stackoverflow-Frage, die ich bereits beantwortet habe und die einen Beispiel- R- Code enthält

Zuerst werden einige Daten erstellt und dann mit einem Ausreißer infiziert.

> testout<-data.frame(X1=rnorm(50,mean=50,sd=10),X2=rnorm(50,mean=5,sd=1.5),Y=rnorm(50,mean=200,sd=25)) 
> #Taint the Data 
> testout$X1[10]<-5 
> testout$X2[10]<-5 
> testout$Y[10]<-530 

> testout 
         X1         X2        Y 
1  44.20043  1.5259458 169.3296 
2  40.46721  5.8437076 200.9038 
3  48.20571  3.8243373 189.4652 
4  60.09808  4.6609190 177.5159 
5  50.23627  2.6193455 210.4360 
6  43.50972  5.8212863 203.8361 
7  44.95626  7.8368405 236.5821 
8  66.14391  3.6828843 171.9624 
9  45.53040  4.8311616 187.0553 
10  5.00000  5.0000000 530.0000 
11 64.71719  6.4007245 164.8052 
12 54.43665  7.8695891 192.8824 
13 45.78278  4.9921489 182.2957 
14 49.59998  4.7716099 146.3090 
<snip> 
48 26.55487  5.8082497 189.7901 
49 45.28317  5.0219647 208.1318 
50 44.84145  3.6252663 251.5620 

Es ist oft am nützlichsten, die Daten grafisch zu untersuchen (Ihr Gehirn kann Ausreißer viel besser erkennen als Mathematik).

> #Use Boxplot to Review the Data 
> boxplot(testout$X1, ylab="X1") 
> boxplot(testout$X2, ylab="X2") 
> boxplot(testout$Y, ylab="Y") 

Sie können dann Statistiken verwenden, um kritische Grenzwerte mithilfe des Lund-Tests zu berechnen (siehe Lund, RE 1975, "Tabellen für einen ungefähren Test für Ausreißer in linearen Modellen", Technometrics, Band 17, Nr. 4, S. 473) -476. Und Prescott, S. 1975, "Ein ungefährer Test für Ausreißer in linearen Modellen", Technometrics, Band 17, Nr. 1, S. 129-132.)

> #Alternative approach using Lund Test 
> lundcrit<-function(a, n, q) { 
+ # Calculates a Critical value for Outlier Test according to Lund 
+ # See Lund, R. E. 1975, "Tables for An Approximate Test for Outliers in Linear Models", Technometrics, vol. 17, no. 4, pp. 473-476. 
+ # and Prescott, P. 1975, "An Approximate Test for Outliers in Linear Models", Technometrics, vol. 17, no. 1, pp. 129-132. 
+ # a = alpha 
+ # n = Number of data elements 
+ # q = Number of independent Variables (including intercept) 
+ F<-qf(c(1-(a/n)),df1=1,df2=n-q-1,lower.tail=TRUE) 
+ crit<-((n-q)*F/(n-q-1+F))^0.5 
+ crit 
+ } 

> testoutlm<-lm(Y~X1+X2,data=testout) 

> testout$fitted<-fitted(testoutlm) 

> testout$residual<-residuals(testoutlm) 

> testout$standardresid<-rstandard(testoutlm) 

> n<-nrow(testout) 

> q<-length(testoutlm$coefficients) 

> crit<-lundcrit(0.1,n,q) 

> testout$Ynew<-ifelse(testout$standardresid>crit,NA,testout$Y) 

> testout 
         X1         X2        Y    newX1   fitted    residual standardresid 
1  44.20043  1.5259458 169.3296 44.20043 209.8467 -40.5171222  -1.009507695 
2  40.46721  5.8437076 200.9038 40.46721 231.9221 -31.0183107  -0.747624895 
3  48.20571  3.8243373 189.4652 48.20571 203.4786 -14.0134646  -0.335955648 
4  60.09808  4.6609190 177.5159 60.09808 169.6108   7.9050960   0.190908291 
5  50.23627  2.6193455 210.4360 50.23627 194.3285  16.1075799   0.391537883 
6  43.50972  5.8212863 203.8361 43.50972 222.6667 -18.8306252  -0.452070155 
7  44.95626  7.8368405 236.5821 44.95626 223.3287  13.2534226   0.326339981 
8  66.14391  3.6828843 171.9624 66.14391 148.8870  23.0754677   0.568829360 
9  45.53040  4.8311616 187.0553 45.53040 214.0832 -27.0279262  -0.646090667 
10  5.00000  5.0000000 530.0000       NA 337.0535 192.9465135   5.714275585 
11 64.71719  6.4007245 164.8052 64.71719 159.9911   4.8141018   0.118618011 
12 54.43665  7.8695891 192.8824 54.43665 194.7454  -1.8630426  -0.046004311 
13 45.78278  4.9921489 182.2957 45.78278 213.7223 -31.4266180  -0.751115595 
14 49.59998  4.7716099 146.3090 49.59998 201.6296 -55.3205552  -1.321042392 
15 45.07720  4.2355525 192.9041 45.07720 213.9655 -21.0613819  -0.504406009 
16 62.27717  7.1518606 186.6482 62.27717 169.2455  17.4027250   0.430262983 
17 48.50446  3.0712422 228.3253 48.50446 200.6938  27.6314695   0.667366651 
18 65.49983  5.4609713 184.8983 65.49983 155.2768  29.6214506   0.726319931 
19 44.38387  4.9305222 213.9378 44.38387 217.7981  -3.8603382  -0.092354925 
20 43.52883  8.3777627 203.5657 43.52883 228.9961 -25.4303732  -0.634725264 
<snip> 
49 45.28317  5.0219647 208.1318 45.28317 215.3075  -7.1756966  -0.171560291 
50 44.84145  3.6252663 251.5620 44.84145 213.1535  38.4084869   0.923804784 
       Ynew 
1  169.3296 
2  200.9038 
3  189.4652 
4  177.5159 
5  210.4360 
6  203.8361 
7  236.5821 
8  171.9624 
9  187.0553 
10       NA 
11 164.8052 
12 192.8824 
13 182.2957 
14 146.3090 
15 192.9041 
16 186.6482 
17 228.3253 
18 184.8983 
19 213.9378 
20 203.5657 
<snip> 
49 208.1318 
50 251.5620 

Natürlich gibt es auch andere Ausreißertests als den Lund-Test (Grubbs), aber ich bin mir nicht sicher, welche für multivariate Daten besser geeignet sind.

PaulHurleyuk
quelle
1
Univariate Boxplots sind nützlich, um univariate Ausreißer zu erkennen. Sie können jedoch multivariate Ausreißer vollständig übersehen. Die Regressionsidee ist in Ordnung, wenn ich ein Y und eine Reihe von X-Variablen hätte. Aber wie ich in der Frage sagte, gibt es kein Y, so dass eine Regression unangemessen ist.
Rob Hyndman
@RobHyndman - Man kann Y korrigieren (als Konstante festlegen) und versuchen, eine Multi-Regression ohne Intercept zu modellieren . In der Praxis funktioniert es wunderbar. Im Wesentlichen verwandelt dies ein grundlegend unbeaufsichtigtes Problem, das eine typische Anomalieerkennung darstellt, in ein überwachtes.
Arielf
@arielf Interessant. Haben Sie eine Referenz dafür?
Rob Hyndman
@ RobHyndman keine akademische Arbeit, aber vielleicht besser, Sie können es selbst versuchen. Siehe meine Github-Seite auf vw-top-errors@ goo.gl/l7SLlB (Beachten Sie, dass die Beispiele dort ein Y haben, aber ich habe die gleiche Technik angewendet, auch bei unbeaufsichtigten Problemen sehr erfolgreich, indem ich Y
korrigiert habe.
1

Eine der oben genannten Antworten wurde in Mahalanobis-Entfernungen angesprochen. Vielleicht hilft ein weiterer Schritt und die Berechnung gleichzeitiger Konfidenzintervalle dabei, Ausreißer zu erkennen!

Mojo
quelle