このトピックでは、指定した時系列曲線を平滑化およびフィルタリングするために使用できる平滑関数について説明します。 フィルタリングは、時系列曲線の形状を発見する最初のステップである。

機能一覧

機能説明
ts_smooth_simpleHolt-Winters予測アルゴリズムを使用して、時系列データをフィルタリングします。 この関数はデフォルトのスムーズ関数です。
ts_smooth_fir有限インパルス応答 (FIR) フィルタを使用して時系列データをフィルタリングします。
ts_smooth_iir無限インパルス応答 (IIR) フィルタを使用して時系列データをフィルタリングします。

ts_smooth_simple

  • 関数の形式:
    select ts_smooth_simple(x, y)
  • 関数形式のパラメーターを次の表に示します。
    項目説明
    xタイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。各時点はUnixタイムスタンプです。 単位は秒です。
    y指定された各時点に対応する数値データのシーケンス。N/A
    • クエリステートメントは次のとおりです。
      * | select ts_smooth_simple(stamp, value) from ( select __time__ - __time__ % 120 as stamp, avg(v) as value from log GROUP BY stamp order by stamp )
    • 出力結果出力結果
  • The次の表を表示項目。
    表示項目説明
    横軸unixtime各時点はUnixタイムスタンプです。 単位は秒です。
    垂直軸srcThe生データ。
    filterフィルタリング演算後に生成されたデータが実行される。

ts_smooth_fir

  • 関数の形式:
    • フィルターパラメーターを特定できない場合は、次のステートメントで組み込みウィンドウパラメーターを使用します。
      select ts_smooth_fir( x, y, winType, winSize)
    • フィルターパラメーターを決定できる場合は、次のステートメントで必要に応じてパラメーターを設定できます。
      select ts_smooth_fir( x, y, array[])
  • 関数形式のパラメーターを次の表に示します。
    項目説明
    xタイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。各時点はUnixタイムスタンプです。 単位は秒です。
    y指定された各時点に対応する数値データのシーケンス。N/A
    winTypeフィルタリング用のウィンドウのタイプ。有効な値:
    • rectangle: 长方形のウィンドウ
    • hanning: Hanningウィンドウ
    • ハミング: ハミングウィンドウ
    • ブラックマン: ブラックマンの窓
    説明 よく表示するために、このパラメーターを「rectangle (矩形窓)」に設定することが推奨されます。
    winSizeフィルターウィンドウの長さ。値はlongデータ型です。 有効な値: 2、3、4、5、6、7、8、9、10、11、12、13、14、および15。
    array[]FIRフィルタの係数を計算するために使用されます。値は、要素の合計が1である配列です。 例: array[0.2, 0.4, 0.3, 0.1] 。
  • 例 1
    • クエリステートメントは次のとおりです。
      * | select ts_smooth_fir(stamp, value, 'rectangle', 4) from ( select __time__ - __time__ % 120 as stamp, avg(v) from value from log GROUP BY stamp order by stamp) 
    • 出力結果出力結果
  • 例 2
    • クエリステートメントは次のとおりです。
      * | select ts_smooth_fir(stamp, value, array[0.2, 0.4, 0.3, 0.1]) from ( select __time__ - __time__ % 120 as stamp, avg(v) value from log GROUP BY stamp order by stamp) 
    • 出力結果出力結果
  • 表示项目一覧を次の表に示します。
    表示項目説明
    横軸unixtime各時点はUnixタイムスタンプです。 単位は秒です。
    垂直軸src生データ。
    filterフィルタリング演算後に生成されたデータが実行される。

ts_smooth_iir

  • 関数の形式:
    ts_smooth_iir選択 (×yアレイ []アレイ []) 
  • 関数形式のパラメーターを次の表に示します。
    項目説明
    xタイムシーケンス。 時間内のポイントは、横軸に沿って昇順にソートされます。各時点はUnixタイムスタンプです。 単位は秒です。
    y指定された各時点に対応する数値データのシーケンス。N/A
    array[]IIRフィルタのx iに関するフィルタ係数を計算するために使用されます。値は、要素の合計が1である配列です。 要素の有効な長さ: 2、3、4、5、6、7、8、9、10、11、12、13、14、および15。 例: array[0.2, 0.4, 0.3, 0.1] 。
    array[]IIRフィルタのy i-1に関連するフィルタ係数を計算するアルゴリズムを指定するフィルタのタイプ。値は、要素の合計が1である配列です。 要素の有効な長さ: 2、3、4、5、6、7、8、9、10、11、12、13、14、および15。 例: array[0.2, 0.4, 0.3, 0.1] 。
    • クエリステートメントは次のとおりです。
      * | select ts_smooth_iir(stamp, value, array[0.2, 0.4, 0.3, 0.1], array[0.4, 0.3, 0.3]) from ( select __time__ - __time__ % 120 as stamp, avg(v) value from log GROUP BY stamp order by stamp)
    • 出力結果出力結果
  • 表示项目一覧を次の表に示します。
    表示項目説明
    横軸unixtime各時点はUnixタイムスタンプです。 単位は秒です。
    垂直軸src生データ。
    filterフィルタリング演算後に生成されたデータが実行される。