Condividi tramite


series_outliers()

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Assegna punteggi a punti di anomalia in una serie.

La funzione accetta un'espressione con una matrice numerica dinamica come input e genera una matrice numerica dinamica della stessa lunghezza. Ogni valore della matrice indica un punteggio di una possibile anomalia, usando il test di Tukey. Un valore maggiore di 1,5 nello stesso elemento dell'input indica un'anomalia di aumento. Un valore minore di -1,5 indica un calo dell'anomalia.

Sintassi

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

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
serie dynamic ✔️ Matrice di valori numerici.
kind string Algoritmo da usare per il rilevamento outlier. Le opzioni supportate sono "tukey", che è tradizionale "Tukey" e "ctukey", che è personalizzato "Tukey". Il valore predefinito è "ctukey".
ignore_val int, long o real Valore numerico che indica i valori mancanti nella serie. Il valore predefinito è double(null). Il punteggio dei valori Null e ignora i valori è impostato su 0.
min_percentile int, long o real Percentile minimo da usare per calcolare l'intervallo inter quantile normale. L'impostazione predefinita è 10. Il valore deve essere compreso nell'intervallo [2.0, 98.0]. Questo parametro è rilevante solo per il "ctukey" tipo.
max_percentile int, long o real Percentile massimo da utilizzare per calcolare l'intervallo inter quantile normale. Il valore predefinito è 90. Il valore deve essere compreso nell'intervallo [2.0, 98.0]. Questo parametro è rilevante solo per il "ctukey" tipo.

Nella tabella seguente vengono descritte le differenze tra "tukey" e "ctukey":

Algoritmo Intervallo quantile predefinito Supporta l'intervallo quantile personalizzato
"tukey" 25% / 75% No
"ctukey" 10% / 90%

Suggerimento

Il modo migliore per usare questa funzione consiste nell'applicarla ai risultati dell'operatore make-series .

Esempio

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)

Grafico di una serie temporale con outlier.