series_periods_validate()

時系列に特定の長さの周期的なパターンが含まれているかどうかを確認します。

多くの場合、アプリケーションのトラフィックを測定するメトリックは、週単位または日単位の期間によって特徴付けられます。 この期間は、週単位の期間と日単位の期間をチェックする series_periods_validate() を実行することによって確認できます。

構文

series_periods_validate(シリーズ,period1 [ ,period2, . . . ] )

構文規則について詳しく知る。

パラメーター

名前 必須 説明
シリーズ dynamic ✔️ 数値の配列。通常は、 make-series 演算子または make_list 演算子の結果の出力。
period1period2 など real ✔️ ビン サイズの単位で検証する期間。 たとえば、系列が 1h ビンの場合、週単位の期間は 168 ビンです。少なくとも 1 つの期間が必要です。

重要

  • 期間 パラメーターの最小値は 4 で、最大値は入力系列の長さの半分です。 これらの境界の外部にある period 引数の場合、出力スコアは 0 になります。
  • 入力時系列は一定である (つまり、一定のビンで集計されている) 必要があり、make-series を使用して作成されている場合は、常にこれが当てはまります。 そうでない場合、出力は意味のないものになります。
  • この関数は、検証する期間として最大 16 個を受け付けます。

戻り値

関数は、次の 2 つの列を含むテーブルを出力します。

  • periods: 入力で指定されたとおりに検証する期間を含む動的配列。
  • scores: 0 から 1 までのスコアが含まれている動的配列。 このスコアは、periods 配列内のそれに対応する位置にある期間の重要性を示します。

次のクエリでは、1 日に 2 回集計された、アプリケーションのトラフィックの 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 ポイント分の長さ) を検証した場合は大きなスコアになり、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]