series_outliers()
Poäng avvikelsepunkter i en serie.
Funktionen tar ett uttryck med en dynamisk numerisk matris som indata och genererar en dynamisk numerisk matris med samma längd. Varje värde i matrisen anger en poäng för en möjlig avvikelse med hjälp av "Tukeys test". Ett värde som är större än 1,5 i samma element i indata anger en ökningsavvikelse. Ett värde som är mindre än -1,5 indikerar en nedgångsavvikelse.
Syntax
series_outliers(
series [,
kind ] [,
ignore_val ] [,
min_percentile ] [,
max_percentile ])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Serien | dynamic |
✔️ | En matris med numeriska värden. |
Typ | string |
Algoritmen som ska användas för avvikande identifiering. Alternativen som stöds är "tukey" , som är traditionella "Tukey" och "ctukey" , som är anpassade "Tukey". Standardvärdet är "ctukey" . |
|
ignore_val | int, long eller real | Ett numeriskt värde som anger saknade värden i serien. Standardvärdet är double( null) . Poängen för null-värden och ignore-värden är inställd på 0 . |
|
min_percentile | int, long eller real | Den minsta percentil som ska användas för att beräkna det normala intervallet mellan kvantiler. Standardvärdet är 10. Värdet måste ligga i intervallet [2.0, 98.0] . Den här parametern är endast relevant för typen"ctukey" . |
|
max_percentile | int, long eller real | Den maximala percentilen som ska användas för att beräkna det normala intervallet mellan kvantiler. Standardvärdet är 90. Värdet måste ligga i intervallet [2.0, 98.0] . Den här parametern är endast relevant för typen"ctukey" . |
I följande tabell beskrivs skillnaderna mellan "tukey"
och "ctukey"
:
Algoritm | Standardkvantilintervall | Stöder anpassat kvantilintervall |
---|---|---|
"tukey" |
25% / 75% | No |
"ctukey" |
10% / 90% | Yes |
Tips
Det bästa sättet att använda den här funktionen är att tillämpa den på resultatet av make-series-operatorn .
Exempel
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)
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för