series_outliers()

Puntúa los puntos de anomalía en una serie.

La función toma una expresión con una matriz numérica dinámica como entrada y genera una matriz numérica dinámica de la misma longitud. Cada valor de la matriz indica una puntuación de una posible anomalía, mediante "prueba de Tukey". Un valor mayor que 1,5 en el mismo elemento de la entrada indica una anomalía de aumento. Un valor menor que -1.5 indica una anomalía de disminución.

Syntax

series_outliers(series [,kind ] [,ignore_val ] [,min_percentile ] [,max_percentile ])

Más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
Serie dynamic ✔️ Matriz de valores numéricos.
kind string Algoritmo que se va a usar para la detección de valores atípicos. Las opciones admitidas son "tukey", que es "Tukey" tradicional y "ctukey", que es personalizada "Tukey". El valor predeterminado es "ctukey".
ignore_val int, long o real Valor numérico que indica los valores que faltan en la serie. El valor predeterminado es double(NULL). La puntuación de valores NULL y omitir valores se establece en 0.
min_percentile int, long o real Percentil mínimo que se va a usar para calcular el intervalo entre cuantiles normal. El valor predeterminado es 10. El valor debe estar en el intervalo [2.0, 98.0]. Este parámetro solo es relevante para el "ctukey"tipo .
max_percentile int, long o real Percentil máximo que se va a usar para calcular el intervalo entre cuantiles normal. El valor predeterminado es 90. El valor debe estar en el intervalo [2.0, 98.0]. Este parámetro solo es relevante para el "ctukey"tipo .

En la tabla siguiente se describen las diferencias entre "tukey" y "ctukey":

Algoritmo Rango intercuartil predeterminado Admite rango intercuartil personalizado
"tukey" 25% / 75% No
"ctukey" 10% / 90%

Sugerencia

La mejor manera de usar esta función es aplicarla a los resultados del operador make-series .

Ejemplo

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)

Gráfico de una serie temporal con valores atípicos.