Partager via


series_outliers()

Calcule des scores pour les points d’anomalie dans une série.

La fonction prend une expression avec un tableau numérique dynamique comme entrée et génère un tableau numérique dynamique de la même longueur. Chaque valeur du tableau indique un score d’anomalie possible, à l’aide du « test de Tukey ». Une valeur supérieure à 1,5 dans le même élément de l’entrée indique une anomalie de hausse. Une valeur inférieure à -1,5 indique une anomalie de déclin.

Syntaxe

series_outliers(série [, kind ] [, ignore_val ] [ , min_percentile ] [, max_percentile ])

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
série dynamic ✔️ Tableau de valeurs numériques.
kind string Algorithme à utiliser pour la détection hors norme. Les options prises en charge sont , qui est "tukey"traditionnelle « Tukey » et "ctukey", qui est personnalisée « Tukey ». Par défaut, il s’agit de "ctukey".
ignore_val int, long ou réel Valeur numérique indiquant les valeurs manquantes dans la série. La valeur par défaut est double(null). Le score des valeurs Null et ignorer les valeurs est défini sur 0.
min_percentile int, long ou réel Centile minimal à utiliser pour calculer la plage inter quantile normale. La valeur par défaut est de 10. La valeur doit se trouver dans la plage [2.0, 98.0]. Ce paramètre n’est pertinent que pour le "ctukey" type.
max_percentile int, long ou réel Centile maximal à utiliser pour calculer la plage inter-quantile normale. La valeur par défaut est 90. La valeur doit se trouver dans la plage [2.0, 98.0]. Ce paramètre n’est pertinent que pour le "ctukey" type.

Le tableau suivant décrit les différences entre "tukey" et "ctukey":

Algorithme Plage de quantiles par défaut Prend en charge de la plage de quantiles personnalisée
"tukey" 25% / 75% Non
"ctukey" 10% / 90% Oui

Conseil

La meilleure façon d’utiliser cette fonction consiste à l’appliquer aux résultats de l’opérateur make-series .

Exemple

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)

Graphique d’une série chronologique avec des valeurs hors norme.