Ich arbeite mit einer Zeitreihe von Anomalie-Scores (Hintergrund ist die Anomalieerkennung in Computernetzwerken). Jede Minute erhalte ich einen Anomalie-Score der mir sagt, wie "unerwartet" oder abnormal der aktuelle Status des Netzwerks ist. Je höher die Punktzahl, desto abnormaler ist der aktuelle Zustand. Scores nahe 5 sind theoretisch möglich, treten jedoch fast nie auf.
Jetzt möchte ich einen Algorithmus oder eine Formel entwickeln, die automatisch einen Schwellenwert für diese Anomalie-Zeitreihe bestimmt. Sobald ein Anomalie-Score diesen Schwellenwert überschreitet, wird ein Alarm ausgelöst.
Die folgende Häufigkeitsverteilung ist ein Beispiel für eine Anomalie-Zeitreihe über 1 Tag. Es ist jedoch nicht sicher anzunehmen, dass jede Anomalie-Zeitreihe so aussehen wird. In diesem speziellen Beispiel wäre eine Anomalieschwelle wie das .99-Quantil sinnvoll, da die wenigen Punkte ganz rechts als Anomalien angesehen werden können.
Und die gleiche Häufigkeitsverteilung wie bei Zeitreihen (sie reicht nur von 0 bis 1, da es in den Zeitreihen keine höheren Anomaliewerte gibt):
Leider kann die Häufigkeitsverteilung Formen haben, bei denen das .99-Quantil nicht nützlich ist . Ein Beispiel ist unten. Der rechte Schwanz ist sehr niedrig. Wenn also das 0,99-Quantil als Schwellenwert verwendet wird, kann dies zu vielen falsch positiven Ergebnissen führen. Diese Häufigkeitsverteilung scheint keine Anomalien zu enthalten, daher sollte der Schwellenwert bei etwa 0,25 außerhalb der Verteilung liegen.
Zusammenfassend besteht der Unterschied zwischen diesen beiden Beispielen darin, dass das erste Anomalien zu zeigen scheint, während das zweite keine Anomalien aufweist.
Aus meiner naiven Sicht sollte der Algorithmus diese beiden Fälle berücksichtigen:
- Wenn die Häufigkeitsverteilung einen großen rechten Schwanz hat (dh ein paar abnormale Werte), kann das 0,99-Quantil ein guter Schwellenwert sein.
- Wenn die Häufigkeitsverteilung einen sehr kurzen rechten Schwanz hat (dh keine abnormalen Werte), sollte der Schwellenwert außerhalb der Verteilung liegen.
/ edit: Es gibt auch keine Grundwahrheit, dh beschriftete Datensätze verfügbar. Der Algorithmus ist also "blind" gegenüber der Art der Anomalie-Scores.
Jetzt bin ich mir nicht sicher, wie diese Beobachtungen in Form eines Algorithmus oder einer Formel ausgedrückt werden können. Hat jemand einen Vorschlag, wie dieses Problem gelöst werden könnte? Ich hoffe, dass meine Erklärungen ausreichen, da mein statistischer Hintergrund sehr begrenzt ist.
Danke für Ihre Hilfe!