Share via


series_periods_validate()

檢查時間數列是否包含指定長度的定期模式。

測量應用程式流量的計量通常是以每週或每日期間為特徵。 您可以藉由執行會每週和每日檢查一次的 series_periods_validate() 來確認此期間。

Syntax

series_periods_validate(系列,period1 [ ,period2, . . . ] )

深入瞭解 語法慣例

參數

名稱 類型 必要 Description
系列 dynamic ✔️ 數值的陣列,通常是 make-seriesmake_list 運算子所產生的輸出。
period1period2 等。 real ✔️ 要以間隔大小的單位進行驗證的期間。 例如,如果數列在 1h 間隔中,則每周期間為 168 個間隔。至少需要一個期間。

重要

  • 每個 句點 參數的最小值為 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_validate() 以驗證每週期間 (長度 14 點),其會導致高的分數,並在您驗證五天期間 (長度 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]