Sdílet prostřednictvím


series_outliers()

Skóre bodů anomálií v řadě.

Funkce přebírá výraz s dynamickou číselnou maticí jako vstup a generuje dynamickou číselnou matici se stejnou délkou. Každá hodnota pole označuje skóre možné anomálie pomocí testu Tukey. Hodnota větší než 1,5 ve stejném prvku vstupu označuje vzestupnou anomálii. Hodnota menší než -1,5 označuje anomálii poklesu.

Syntaxe

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

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

Parametry

Název Type Požadováno Popis
řada dynamic ✔️ Matice číselných hodnot.
laskavý string Algoritmus, který se má použít k detekci odlehlé hodnoty. Podporované možnosti jsou "tukey", což je tradiční "Tukey" a "ctukey", což je vlastní "Tukey". Výchozí hodnota 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 ignorování hodnot je nastaveno na 0hodnotu .
min_percentile int, long nebo real Minimální percentil, který se použije k výpočtu normálního mezikvantového rozsahu. Výchozí hodnota je 10. Hodnota musí být v rozsahu [2.0, 98.0]. Tento parametr je relevantní pouze pro daný "ctukey" druh.
max_percentile int, long nebo real Maximální percentil, který se použije k výpočtu normálního mezikvantového rozsahu. Výchozí hodnota je 90. Hodnota musí být v rozsahu [2.0, 98.0]. Tento parametr je relevantní pouze pro daný "ctukey" druh.

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

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

Tip

Nejlepší způsob, jak tuto funkci použít, je použít ji na výsledky operátoru 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ých řad s odlehlými hodnotami