series_outliers()
Оценивает точки аномалий в ряду.
Функция принимает выражение с динамическим числовым массивом в качестве входных данных и создает динамический числовой массив той же длины. Каждое значение массива указывает на оценку возможной аномалии с помощью "теста Tukey". Значение больше 1,5 в том же элементе входных данных указывает на аномалию роста. Значение меньше -1,5 указывает на аномалию снижения.
Синтаксис
series_outliers(
series [,
kind ] [,
ignore_val ] [,
min_percentile ] [,
max_percentile ])
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
Серии | dynamic |
✔️ | Массив числовых значений. |
kind | string |
Алгоритм, используемый для обнаружения выбросов. Поддерживаемые параметры: "tukey" , который является традиционным "Tukey", и "ctukey" , который является пользовательским "Tukey". Значение по умолчанию — "ctukey" . |
|
ignore_val | int, long или real | Числовое значение, указывающее отсутствующие значения в ряду. Значение по умолчанию — double( NULL) . Оценка значений NULL и игнорируемых значений имеет значение 0 . |
|
min_percentile | int, long или real | Минимальный процентиль, используемый для вычисления нормального межквантильного диапазона. Значение по умолчанию равно 10. Значение должно находиться в диапазоне [2.0, 98.0] . Этот параметр относится только к типу"ctukey" . |
|
max_percentile | int, long или real | Максимальный процентиль, используемый для вычисления нормального межквантильного диапазона. Значение по умолчанию — 90. Значение должно находиться в диапазоне [2.0, 98.0] . Этот параметр относится только к типу"ctukey" . |
В следующей таблице описаны различия между "tukey"
и "ctukey"
:
Алгоритм | Диапазон квантилей по умолчанию | Поддержка пользовательского диапазона квантилей |
---|---|---|
"tukey" |
25 %–75 % | Нет |
"ctukey" |
10 %–90 % | Да |
Совет
Лучший способ использовать эту функцию — применить ее к результатам оператора make-series .
Пример
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)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по