series_outliers()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
為數列中的異常分數評分。
函式會採用具有動態數值數位作為輸入的運算式,併產生相同長度的動態數值數位。 陣列的每個值都會使用 「Tukey」s test」 指出可能異常的分數。 在輸入的相同元素中大於 1.5 的值表示上升異常。 小於 -1.5 的值表示拒絕異常。
語法
series_outliers(
series [,
kind ] [,
ignore_val ] [ min_percentile ] [,
,
max_percentile ])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
系列 | dynamic |
✔️ | 數值的陣列。 |
種類 | string |
要用於極端值偵測的演算法。 支持的選項是 "tukey" ,這是傳統的 「Tukey」 和 "ctukey" ,也就是自定義的 「Tukey」。 預設值為 "ctukey" 。 |
|
ignore_val | int、long 或 real | 數值,表示數列中遺漏的值。 預設值為 double( Null) 。 Null 與忽略值的分數會設定為 0 。 |
|
min_percentile | int、long 或 real | 用來計算一般分位數範圍的最低百分位數。 預設值為 10。 值必須位於範圍 [2.0, 98.0] 中。 此參數只與"ctukey" 種類相關。 |
|
max_percentile | int、long 或 real | 用來計算一般分位數範圍的最大百分位數。 預設值為 90。 值必須位於範圍 [2.0, 98.0] 中。 此參數只與"ctukey" 種類相關。 |
下表描述 和"ctukey"
之間的差異"tukey"
:
演算法 | 默認分位數範圍 | 支援自定義分位數範圍 |
---|---|---|
"tukey" |
25% / 75% | No |
"ctukey" |
10% / 90% | Yes |
提示
使用此函式的最佳方式是將它套用至 make-series 運算符的結果。
範例
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)