series_outliers()

Boduje body anomálií v řadě.

Funkce jako vstup vezme výraz s dynamickým číselným polem a vygeneruje dynamickou číselnou matici o stejné délce. Každá hodnota pole udává skóre možné anomálie pomocí "Tukeyho testu". Hodnota větší než 1,5 ve stejném prvku vstupu označuje anomálii nárůstu. Hodnota menší než -1,5 označuje anomálii poklesu.

Syntax

series_outliers(řada [,druh ] [,ignore_val ] [,min_percentile ] [,max_percentile ])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Série dynamic ✔️ Pole číselných hodnot.
Druhu string Algoritmus, který se má použít k detekci odlehlejších hodnot. Podporované možnosti jsou "tukey", což je tradiční "Tukey" a "ctukey", což je vlastní "Tukey". Výchozí formát je "ctukey".
ignore_val int, long nebo real Číselná hodnota označující chybějící hodnoty v řadě. Výchozí hodnota je double(null). Skóre hodnot null a ignorovaných hodnot je nastaveno na 0.
min_percentile int, long nebo real Minimální percentil, který se použije k výpočtu normálního mezikvantilového rozsahu. Výchozí hodnota je 10. Hodnota musí být v rozsahu [2.0, 98.0]. Tento parametr je relevantní pouze pro druh"ctukey".
max_percentile int, long nebo real Maximální percentil, který se má použít k výpočtu normálního mezikvantilového rozsahu. Výchozí hodnota je 90. Hodnota musí být v rozsahu [2.0, 98.0]. Tento parametr je relevantní pouze pro druh"ctukey".

Následující tabulka popisuje rozdíly mezi "tukey" a "ctukey":

Algoritmus Výchozí rozsah kvantil Podporuje vlastní rozsah kvantil.
"tukey" 25% / 75% No
"ctukey" 10% / 90% Yes

Tip

Nejlepší způsob, jak tuto funkci použít, je použít ji na výsledky operátoru vy make-series .

Příklad

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)

Graf časové řady s odlehlými hodnotami