series_outliers()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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 0 hodnotu . |
|
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)