series_periods_validate()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Проверяет, содержит ли временной ряд периодические шаблоны заданной длины.
Часто метрика, измеряющая трафик приложения, характеризуется еженедельным или ежедневным периодом. Этот период можно подтвердить, выполнив series_periods_validate()
проверку на еженедельный и ежедневный период.
Синтаксис
series_periods_validate(
период,
1 [ ,
период 2 ,
. . . ] )
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
серия | dynamic |
✔️ | Массив числовых значений, как правило, результирующий результат операторов make-series или make_list . |
период1, период2 и т. д. | real |
✔️ | Периоды для проверки в единицах размера ячейки. Например, если серия находится в 1h ячейках, еженедельный период составляет 168 ячеек. Требуется по крайней мере один период. |
Внимание
- Минимальное значение для каждого параметра периода равно 4 , а максимальное значение составляет половину длины входного ряда. Для аргумента периода за пределами этих границ оценка выходных данных будет 0.
- Входные временные ряды должны быть регулярными, т. е. агрегированными в константных ячейках и всегда являются случаем, если он был создан с помощью make-series. В противном случае выходные данные не имеют смысла.
- Функция принимает до 16 периодов для проверки.
Возвраты
Функция выводит таблицу с двумя столбцами:
- периоды: динамический массив, содержащий периоды, которые необходимо проверить, как указано в входных данных.
- оценки: динамический массив, содержащий оценку от 0 до 1. Оценка показывает значение периода в соответствующей позиции в массиве периодов .
Пример
Следующий запрос внедряет моментальный снимок месяца трафика приложения, агрегированный дважды в день (размер ячейки составляет 12 часов).
print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y
| render linechart
Если вы работаете series_periods_validate()
на этой серии, чтобы проверить еженедельный период (14 очков длинный) он приводит к высокой оценке, и с 0 оценкой при проверке пятидневного периода (10 очков длинный).
print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y
| project series_periods_validate(y, 14.0, 10.0)
Выходные данные
series_periods_validate_y_periods | series_periods_validate_y_scores |
---|---|
[14.0, 10.0] | [0.84, 0.0] |