series_periods_validate()

检查时序是否包含给定长度的定期模式。

通常,测量应用程序流量的指标以每周或每天的时间段为特征。 可通过运行 series_periods_validate()(检查每周和每天时间段)来确认此时间段。

语法

series_periods_validate(series,period1 [ ,period2, . 。 。 ] )

详细了解语法约定

参数

客户 类型​​ 必需 说明
series dynamic 数值的数组,通常是 make-seriesmake_list 运算符生成的输出。
period1、period2 等。 real 以箱大小为单位进行验证的周期。 例如,如果将序列按 1 小时的箱分箱,则一个每周期间为 168 箱。至少需要一个周期。

重要

  • 对于每个 period 参数,其最小值是 4,最大值是输入序列长度的一半。 对于在这些界限之外的 period 参数,输出分数将会是 0。
  • 输入时序必须有规律(也就是必须在常数箱中聚合),并且如果是使用 make-series 创建的,则输入时序总是有规律。 否则,输出就没有意义。
  • 该函数最多可接受 16 个要验证的时间段。

返回

此函数输出一个包含两个列的表:

  • periods:一个动态数组,包含要验证的时间段(在输入中提供)。
  • 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.

如果对此序列运行 series_periods_validate() 来验证一个每周时间段(长度为 14 个点),它会产生一个高分,而在验证一个 5 天时间段(长度为 10 个点)时分数为 0。

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]