series_outliers()

Bewertet Anomaliepunkte in einer Reihe.

Die Funktion nimmt einen Ausdruck mit einem dynamischen numerischen Array als Eingabe an und generiert ein dynamisches numerisches Array der gleichen Länge. Jeder Wert des Arrays gibt eine Bewertung einer möglichen Anomalie mithilfe von "Tukey's test" an. Ein Wert größer als 1,5 im selben Element der Eingabe weist auf eine Anstiegsanomalie hin. Ein Wert kleiner als -1,5 weist auf eine Abstiegsanomalie hin.

Syntax

series_outliers(Serie [,Art ] [,ignore_val ] [,min_percentile ] [,max_percentile ])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
Serie dynamic ✔️ Ein Array numerischer Werte.
kind string Der Algorithmus, der für die Ausreißererkennung verwendet werden soll. Die unterstützten Optionen sind "tukey", was traditionell "Tukey" ist, und "ctukey", was benutzerdefinierte "Tukey" ist. Der Standardwert lautet "ctukey".
ignore_val int, long oder real Ein numerischer Wert, der die fehlenden Werte in der Reihe angibt. Der Standardwert ist double(NULL). Die Bewertung von NULL- und Ignore-Werten ist auf 0festgelegt.
min_percentile int, long oder real Das minimale Perzentil, das zum Berechnen des normalen interquantilen Bereichs verwendet werden soll. Der Standardwert ist 10. Der Wert muss im Bereich liegen [2.0, 98.0]. Dieser Parameter ist nur für die "ctukey"Art relevant.
max_percentile int, long oder real Das maximale Perzentil, das zum Berechnen des normalen interquantilen Bereichs verwendet werden soll. Der Standard ist 90. Der Wert muss im Bereich liegen [2.0, 98.0]. Dieser Parameter ist nur für die "ctukey"Art relevant.

In der folgenden Tabelle werden die Unterschiede zwischen "tukey" und "ctukey"beschrieben:

Algorithmus Quantil-Standardbereich Unterstützt benutzerdefinierten Quantilbereich
"tukey" 25%/75% No
"ctukey" 10%/90% Ja

Tipp

Die beste Möglichkeit, diese Funktion zu verwenden, besteht darin, sie auf die Ergebnisse des Make-Series-Operators anzuwenden.

Beispiel

range x from 0 to 364 step 1 
| extend t = datetime(2023-01-01) + 1d*x
| extend y = rand() * 10
| extend y = iff(monthofyear(t) != monthofyear(prev(t)), y+20, y) // generate a sample series with outliers at first day of each month
| summarize t = make_list(t), series = make_list(y)
| extend outliers=series_outliers(series)
| extend pos_anomalies = array_iff(series_greater_equals(outliers, 1.5), 1, 0)
| render anomalychart with(xcolumn=t, ycolumns=series, anomalycolumns=pos_anomalies)

Diagramm einer Zeitreihe mit Ausreißern.