你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

series_periods_detect()

适用于:✅✅Azure 数据资源管理器Azure Monitor✅ Sentinel

查找时序内最重要的时间段。

series_periods_detect() 函数可用于检测数据中的定期模式,例如每日、每周或每月周期。

语法

series_periods_detect( series,min_period,max_period,num_periods)

详细了解语法约定

参数

客户 类型​​ 必需 说明
series dynamic ✔️ 数值的数组,通常是 make-seriesmake_list 运算符生成的输出。
min_period real ✔️ 要搜索的最小时间段长度。
max_period real ✔️ 要搜索的最大时间段长度。
num_periods long ✔️ 要返回的最大时间段数。 此数字是输出动态数组的长度。

重要

  • 该算法可检测至少包含 4 个点且最多包含序列长度一半的期间。
  • 请将 min_period 设置为略低于预计在时序中找到的期间数,而将 max_period 设置为略高于该期间数。 例如,如果你有每小时聚合的信号,并且你要查找每日和每周期间(分别是 24 小时和 168 小时),则可以设置 min_period=0.8*24、max_period=1.2*168,并围绕这些期间留出 20% 的富余。
  • 输入时序必须有规律。 也就是说,聚合在常量箱中(使用 make-series 创建的时序始终满足此条件)。 否则,输出就没有意义。

返回

该函数返回包含两列的表:

  • 句点:一个动态数组,其中包含按其分数排序的箱大小的周期(以单位为单位)。
  • scores:一个动态数组,其中包含 0 到 1 之间的值。 每个数组都会度量 periods 数组中的一个期间在其相应位置上的重要性。

示例

以下查询将应用程序流量的快照嵌入一个月。 每天聚合两次流量,这意味着箱大小为 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_detect() 函数,以标识定期模式。 该函数搜索指定时间段范围内的模式,并返回两个值。 第一个值指示检测到的模式长度为 14 分,分数约为 .84。 另一个值为零,指示未找到其他模式。

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_detect(y, 0.0, 50.0, 2)

输出

series_periods_detect_y_periods series_periods_detect_y_periods_scores
[14, 0] [0.84, 0]

series_periods_detect_y_periods_scores中的值将被截断。

注意

图表中还显示每日模式,但查询不会返回此模式,因为采样太粗糙(12 小时箱大小)。 每天 2 个箱的时间段低于算法所需的最小周期大小 4 磅。