series_outliers()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Ocenia punkty anomalii w serii.
Funkcja przyjmuje wyrażenie z dynamiczną tablicą liczbową jako dane wejściowe i generuje dynamiczną tablicę liczbową o tej samej długości. Każda wartość tablicy wskazuje wynik możliwej anomalii przy użyciu "testu Tukeya". Wartość większa niż 1,5 w tym samym elemecie danych wejściowych wskazuje na anomalię wzrostu. Wartość mniejsza niż -1,5 wskazuje anomalię spadku.
Składnia
series_outliers(
series [,
kind ] [,
ignore_val ] [ ,
min_percentile ] [,
max_percentile ])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
seria | dynamic |
✔️ | Tablica wartości liczbowych. |
rodzaj | string |
Algorytm używany do wykrywania odstającego. Obsługiwane opcje to "tukey" , czyli tradycyjna "Tukey" i "ctukey" , która jest niestandardowa "Tukey". Wartość domyślna to "ctukey" . |
|
ignore_val | int, long lub real | Wartość liczbowa wskazująca brakujące wartości w serii. Wartość domyślna to double( null) . Wynik wartości null i ignorowanie wartości jest ustawiony na 0 wartość . |
|
min_percentile | int, long lub real | Minimalny percentyl używany do obliczania normalnego zakresu międzykwantylowego. Wartość domyślna to 10. Wartość musi znajdować się w zakresie [2.0, 98.0] . Ten parametr jest odpowiedni tylko dla "ctukey" tego rodzaju. |
|
max_percentile | int, long lub real | Maksymalny percentyl używany do obliczania normalnego zakresu międzykwantylowego. Wartość domyślna to 90. Wartość musi znajdować się w zakresie [2.0, 98.0] . Ten parametr jest odpowiedni tylko dla "ctukey" tego rodzaju. |
W poniższej tabeli opisano różnice między elementami "tukey"
i "ctukey"
:
Algorytm | Domyślny zakres kwantylu | Obsługuje niestandardowy zakres kwantylu |
---|---|---|
"tukey" |
25% / 75% | Nie. |
"ctukey" |
10% / 90% | Tak |
Napiwek
Najlepszym sposobem użycia tej funkcji jest zastosowanie jej do wyników operatora serii make-series .
Przykład
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)