多期間評価関数では、異なる期間の時系列データを推定し、フーリエ変換などの一連の動作を実行して期間データを抽出することができます。

ts_period_detect

この関数は、時系列データを期間ベースで推定します。

関数の形式:
select ts_period_detect(x, y,minPeriod,maxPeriod,samplePeriod,sampleMethod)
パラメーターについて、次の表に説明します。
パラメータ 説明
x 時間の列 (昇順) Unixtime timestamp (秒)
y 指定された時点のデータに対応する数値列 -
minPeriod 時系列データの全長に対する事前推定期間の最小長の比率 値の範囲:(0、1)
maxPeriod 時系列データの全長に対する事前推定期間の最大長の比率
maxPeriod値は、 minPeriod値より大きくなければなりません。
値の範囲:(0、1)
samplePeriod 現在の時系列データをサンプル抽出する期間 間 1 から 86399 秒までの long 型の値
sampleMethod サンプリングウィンドウ内データのサンプリング方法 値の範囲:
  • avg:ウィンドウ内データの平均値
  • max:ウィンドウ内データの最大値
  • min:ウィンドウ内データの最小値
  • sum:ウィンドウ内データの合計
例:
  • 照合と分析の命令文:

    * | select ts_period_detect(stamp, value, 0.2, 1.0, 1, 'avg') from ( select __time__ - __time__ % 120 as stamp, avg(v) as value from log GROUP BY stamp order by stamp )
  • 結果:

次の表に、表示項目について説明します。
表示項目 説明
period_id 配列の長さが 1 の期間 ID で構成される配列。 値 0.0 は元の系列を示します。
time_series Timestamp シーケンス
data_series 各 timestamp の結果
  • period_id が 0.0 の場合の元のシーケンスを示します。
  • period_id が 0.0 ではない場合、フィルタリング後の期間推定結果を示します。