Ausreißererkennung in Zeitreihen: Wie können Fehlalarme reduziert werden?


11

Ich versuche, die Erkennung von Ausreißern in Zeitreihen zu automatisieren, und habe eine Modifikation der hier von Rob Hyndman vorgeschlagenen Lösung verwendet .

Angenommen, ich messe die täglichen Besuche einer Website aus verschiedenen Ländern. In einigen Ländern, in denen die täglichen Besuche einige Hundert oder Tausende betragen, scheint meine Methode vernünftig zu funktionieren.

In Fällen, in denen ein Land nur zu 1 oder 2 Besuchen pro Tag führt, sind die Grenzen des Algorithmus jedoch sehr eng (z. B. 1 ± 0,001), und daher werden die 2 Besuche als Ausreißer betrachtet. Wie kann ich solche Fälle automatisch erkennen und wie kann ich sie behandeln, um Ausreißer zu identifizieren? Ich möchte keinen manuellen Schwellenwert von beispielsweise 100 Besuchen pro Tag festlegen.

Vielen Dank!


2
Ein natürlicher, einfacher Weg, um Ihr Problem zu lösen - was (zumindest teilweise) auf eine sehr variable Varianz zurückzuführen ist -, besteht darin, eine varianzstabilisierende Transformation wie eine Anscombe- oder Freeman-Tukey-Transformation auf die Daten anzuwenden bevor Sie nach Ausreißern suchen.
whuber

Antworten:


3

Erwarten Sie nicht viel für kleine, diskrete Zählungen. Von 1 auf 2 Besuche zu gehen ist eine 100% ige Zunahme, und von 0 auf 1 Besuche zu gehen ist eine unendliche Zunahme. Bei niedrigen Pegeln haben Sie es möglicherweise mit Modellen ohne Luftdruck zu tun , und es kann auch dort unten sehr laut sein.

Nach meiner Erfahrung führt das Zählen von Daten mit einer Mischung aus großen und kleinen Zählungen wie dieser zu zwei Problemen mit Ihren kleinen Zählungen: 1) Sie sind zu grob, um viel damit zu tun, 2) sie werden durch unterschiedliche Prozesse erzeugt. (Denken Sie an ein kleines, ländliches Postamt im Vergleich zu einem Großstadtpostamt). Sie müssen Ihre Modellierung also mindestens in zwei Teile aufteilen: Machen Sie das, was Sie erfolgreich für größere Zählungen tun, und machen Sie etwas anderes - gröber und näherungsweise - mit kleinen Zählungen. Aber erwarten Sie nicht viel von den kleinen Zahlen.

Die gute Nachricht ist, dass die großen Zahlen per Definition mehr Ihrer Transaktionen umfassen, sodass Ihr besseres Modell mehr Daten abdeckt, auch wenn es möglicherweise nicht die meisten Ihrer Websites abdeckt.

(Ich sage "Modellierung" als allgemein, aber natürlich setzt die Ausreißererkennung ein bestimmtes Modell voraus und findet Punkte, die mit den Annahmen dieses Modells höchst unwahrscheinlich sind.)


1

Jeder Wert aus Ihrer Zeitreihe ist eine Stichprobe aus einer Wahrscheinlichkeitsverteilung. Sie müssen zuerst die Wahrscheinlichkeitsverteilung ermitteln und dann definieren, was das Wort "selten" in dieser Verteilung bedeutet.

Berechnen Sie also das empirische PDF und das 95% -Konfidenzintervall. Wann immer etwas außerhalb dieser Region aufgetreten ist, wissen Sie per Definition, dass es ein seltenes Ereignis sein muss.


0

Es ist eine Sache, einen Ausreißer auf einem bestimmten Vertrauensniveau zu erkennen und eine andere, eine zweite Spezifikation zu platzieren, die die Akzeptanz des Ausreißers weiter einschränken würde. Mir wurde einmal die folgende Frage gestellt: "Kann AUTOBOX eine mittlere Verschiebung von xx Einheiten bei einem vorgegebenen Vertrauensniveau erkennen?". Im Wesentlichen war ein Doppeltest erforderlich. AUTOBOX ist eine Software, die ich mitentwickelt habe und die Sie möglicherweise als kostengünstig empfinden, da keine freie Software diesen Doppeltest implementiert hat.

Danke Nick: Ich habe eine Pegelverschiebung als besonderes Beispiel für einen "Ausreißer" oder allgemein die empirisch identifizierten deterministischen Auswirkungen verwendet. Andere Formen von "Ausreißern" sind Impulse, saisonale Impulse und lokale Zeittrends UND bestimmte Kombinationen wie ein vorübergehender Wechsel auf ein neues Niveau. Der Hauptpunkt war, dass es möglicherweise zwei Hypothesen gibt, die statistische Signifikanz und reale Signifikanz widerspiegeln. Der Kunde, der mich ursprünglich auf dieses Problem aufmerksam gemacht hatte, war an beiden interessiert.


Ein Ausreißer muss keine mittlere Verschiebung bedeuten. Tatsächlich muss ein schrittweiser oder verstärkter Wechsel zwischen Regimen mit unterschiedlichen Mitteln überhaupt keine Ausreißer mit sich bringen. Sie wissen das sehr gut, aber ich denke, es impliziert, dass es für andere am hilfreichsten wäre, Ihre Antwort zu konkretisieren.
Nick Cox

Danke euch beiden. Ich interessiere mich für die Bedeutung der realen Welt. Nachdem ich einen Ausreißer identifiziert habe, gewichte ich seine Bedeutung beispielsweise mit dem Anteil der Besuche im Vergleich zu den Gesamtbesuchen, um seine endgültige Bedeutung zu erhalten. Obwohl dieser Anteil bei 2 Besuchen sehr gering ist, ist der 'Abstand' des tatsächlichen Punkts von den erwarteten Grenzen sehr hoch, da die erwarteten Werte 1 ± 0,001 betragen (z. B. 2 / 0,002, wobei 0,002 der 'iqr' ist). . Das Thema bekommt also am Ende eine hohe Bedeutung. Irgendwelche Ideen?
Stergios

Ich würde darauf hinweisen, dass die erweiterte Verwendung von "Ausreißer" hier viel weiter geht als der großzügige Sinn für alles Extreme, das in vielen Literaturen üblich ist. Erfahrene Leser werden wissen, dass @IrishStat an seiner Stärke der Zeitreihenanalyse festhält.
Nick Cox

0

Sie haben dieses Problem, weil Ihre Daten weit von einer normalen Verteilung entfernt sind. Wenn die Verteilung stark asymmetrisch ist, mit Unebenheiten, Buckeln oder zu langen / kurzen Schwänzen, treten Probleme auf. Eine gute Idee ist es, eine Transformation wie Box Cox oder Yeo-Johnson anzuwenden, bevor Sie Ihre Methode anwenden. Wenn Sie in Ihrem Beispiel F (x) = log (1 + x) verwenden, vermeiden Sie das Problem der unterschiedlichen Größe und können mit exp (z) -1 zurückkonvertieren

Es gibt verschiedene Verfahren, mit denen Sie automatisch ein gutes Lambda für die Box-Cox-Transformation finden können. Ich persönlich verwende den Median aller Methoden der boxcoxnc-Funktion aus dem AID-Paket in R. Wenn Ihre Daten nicht streng positiv sind, müssen Sie 1 oder eine andere positive Zahl hinzufügen, bevor Sie sie verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.