Ich habe einen Vektor und möchte darin Ausreißer erkennen.
Die folgende Abbildung zeigt die Verteilung des Vektors. Rote Punkte sind Ausreißer. Blaue Punkte sind normale Punkte. Gelbe Punkte sind ebenfalls normal.
Ich benötige eine Ausreißererkennungsmethode (eine nicht parametrische Methode), mit der nur rote Punkte als Ausreißer erkannt werden können. Ich habe einige Methoden wie IQR und Standardabweichung getestet, aber sie erkennen auch gelbe Punkte als Ausreißer.
Ich weiß, dass es schwierig ist, nur den roten Punkt zu erkennen, aber ich denke, es sollte einen Weg (sogar eine Kombination von Methoden) geben, um dieses Problem zu lösen.
Punkte sind Messwerte eines Sensors für einen Tag. Die Werte des Sensors ändern sich jedoch aufgrund der Neukonfiguration des Systems (die Umgebung ist nicht statisch). Die Zeiten der Neukonfigurationen sind unbekannt. Blaue Punkte gelten für den Zeitraum vor der Neukonfiguration. Gelbe Punkte stehen für nach der Neukonfiguration, was zu Abweichungen in der Verteilung der Messwerte führt (sind jedoch normal). Rote Punkte sind das Ergebnis einer illegalen Änderung der gelben Punkte. Mit anderen Worten, es handelt sich um Anomalien, die erkannt werden sollten.
Ich frage mich, ob die Schätzung der Kernel-Glättungsfunktion ('pdf', 'Survivor', 'cdf' usw.) Abhilfe schaffen könnte oder nicht. Würde jemand über die Hauptfunktionalität (oder andere Glättungsmethoden) und die Rechtfertigung für die Verwendung in einem Kontext zur Lösung eines Problems helfen?
Antworten:
Sie können Ihre Daten als Zeitreihen betrachten, in denen eine normale Messung einen Wert ergibt, der dem vorherigen Wert sehr nahe kommt, und eine Neukalibrierung einen Wert ergibt, der sich stark vom Vorgänger unterscheidet.
Hier sind simulierte Beispieldaten basierend auf der Normalverteilung mit drei verschiedenen Mitteln ähnlich Ihrem Beispiel.
Durch Berechnung der Differenz zum vorherigen Wert (eine Art Ableitung) erhalten Sie folgende Daten:
Meine Interpretation Ihrer Beschreibung ist, dass Sie eine Neukalibrierung tolerieren (dh Punkte in größerem Abstand von Null, rot im Diagramm), aber sie müssen zwischen positiven und negativen Werten wechseln (dh entsprechend der Verschiebung vom blauen zum gelben Zustand und zurück).
Dies bedeutet, dass Sie einen Alarm einrichten können, bei dem ein zweiter roter Punkt entweder auf der negativen oder der positiven Seite angezeigt wird .
quelle
Wenn Sie die Protokollierung verwenden, können Sie einen laufenden Durchschnitt verwenden, der zurückgesetzt wird, wenn sich die Konfiguration ändert. Dies hat jedoch die Schwäche, dass Sie mindestens einige Daten benötigen, bevor Sie einen solchen Ausreißer erkennen können.
Ihre Daten sehen eher "nett" aus (nicht zu viel Rauschen). Ich würde empfehlen, den Durchschnitt der letzten 10 bis 20 Punkte in derselben Konfiguration zu ermitteln. Wenn es sich bei diesen Werten um eine gezählte Größe handelt, können Sie einen Poisson-Fehler für einzelne Datenpunkte nehmen und den Fehler im Durchschnitt berechnen.
Wie viele historische Daten haben Sie? Wenn Sie viel haben, können Sie damit Ihre Alarmrate so einstellen, dass Sie ein akzeptables Verhältnis aller echten Ausreißer erhalten und gleichzeitig eine minimale Anzahl gefälschter Warnungen erhalten. Was akzeptabel ist, hängt vom spezifischen Problem ab. (Kosten für falsch positive oder nicht erkannte Ausreißer und deren Häufigkeit).
quelle
Veranschaulichen wir den in der anderen Antwort vorgeschlagenen Ansatz anhand eines einfachen Beispiels
Daten empfangen
Wir werden diese Daten mit sieben Blöcken simulieren, die mit normaler Verteilung mit unterschiedlichen Mitteln erzeugt wurden.
Dies ist wichtig, da wir so sauber zwischen den Gruppen unterscheiden und die Bruchstellen einfach erkennen können. Bei dieser Antwort wird ein elementarer Schwellenwertansatz verwendet. Für Ihre realen Daten ist möglicherweise ein fortgeschrittener Weg erforderlich.
Leiten Sie die Bruchstellen ab
Mit einem einfachen Unterschied zum vorhergehenden Punkt erhalten
lag(y)
wir die Ausreißer. Sie werden anhand eines Schwellenwerts klassifiziert.Änderung der Verhaltensklassifizierung
Basierend auf den von Ihnen beschriebenen Regeln werden die Bruchstellen als
OK
und klassifiziertproblem
.Die Regel besagt, dass keine zwei Änderungen in derselben Richtung zulässig sind. Der zweite Schritt in die vorherige Richtung wird als Problem angesehen.
Möglicherweise müssen Sie diese einfache Interpretation anpassen, wenn Ihre Logik fortgeschrittener ist.
Präsentation
Schließlich projizieren Sie die erkannten Ausreißer auf die Originaldaten
quelle