このトピックでは、最大値検出関数を使用して、指定されたウィンドウ内の時系列データのローカル最大値を見つける方法について説明します。

ts_find_peaks

関数の形式:
select ts_find_peaks( xywinSize)
関数形式のパラメーターを次の表に示します。
パラメーター説明
xタイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。各時点はUnixタイムスタンプです。 単位:秒。
y指定された各時点に対応する数値データのシーケンス。N/A
winSize検出ウィンドウの最小の長さです。パラメーターの値は、1から時系列データの長さまでの長いデータ型です。 このパラメーターは、実際のデータ長の10分の1に設定することを推奨します。
例:
  • クエリステートメントは次のとおりです。
    * およびh : nu2h05202.nu8およびm: NET | select ts_find_peaks(stamp, value, 30) from (select __time__ - __time__ % 10 as stamp, avg(v) value from log GROUP BY stamp order by stamp)
  • 以下の図にテスト結果を示します。出力結果
表示项目一覧を次の表に示します。
表示項目説明
横軸unixtime時系列データのタイムスタンプ。 単位:秒。 例: 1537071480。
垂直軸src生データ。 例: 1956092.7647745228。
peak_flagその時点の数値が最大値であるかどうかを示します。 有効な値:
  • 1.0: その時点の数値が最大値です。
  • 0.0: その時点の数値が最大値ではありません。