平滑関数は、入力値の時系列曲線を滑らかにしてフィルタリングするために使用します。 フィルタリングは、時系列曲線の形を見つけるための第一歩です。

関数リスト

関数 説明
ts_smooth_simple この関数は、Holt Winters アルゴリズムを使用して、時系列データを平滑化する、デフォルトの平滑関数です。
ts_smooth_fir この関数は、FIR フィルターを使用して、時系列データを平滑化します。
ts_smooth_iir この関数は、IIR フィルターを使用して、時系列データを平滑化します。

ts_smooth_simple

関数の形式:
select ts_smooth_simple(x, y)
パラメータについて、次の表に説明します。
パラメータ 説明
x 時間の列 (昇順) Unixtime timestamp (秒)
y 指定された時点のデータに対応する数値列 --
例:
  • 照合と分析の命令文:

    * | 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 )
  • 結果:

次の表に、表示項目について説明します。
表示項目 説明
横軸 unixtime データの timestamp (秒)
縦軸 src フィルタリング前のデータ
filter フィルタリング後のデータ

ts_smooth_fir

関数の形式:
  • フィルターパラメーターが定義されていない場合、組み込みウィンドウのパラメーターを使用して、時系列データをフィルタリングできます。

    select ts_smooth_fir(x, y,winType,winSize,samplePeriod,sampleMethod)
  • フィルターパラメーターが指定されている場合は、必要に応じて設定できます。

    select ts_smooth_fir(x, y,array[],samplePeriod,sampleMethod)
パラメータについて、次の表に説明します。
パラメータ 説明
x 時間の列 (昇順) Unixtime timestamp (秒)
y 指定された時点でのデータに対応する数値列 -
winType フィルターウィンドウの種類 値の範囲:
  • rectangle:矩形窓
  • hanning:ハニング窓
  • hamming:ハミング窓
  • blackman:ブラックマン窓
よく表示するために、このパラメーターを「rectangle (矩形窓)」に設定することが推奨されます。
winSize フィルターウィンドウ長 2〜15 の long 型の値
array[] 特定の FIR フィルターパラメータ 配列形式の値、配列の合計は 1.0 です。たとえば [0.2, 0.4, 0.3, 0.1]。 For example, [0.2, 0.4, 0.3, 0.1].
samplePeriod 現在の時系列データをサンプル抽出する期間 1 から 86399 秒までの long 型の値
sampleMethod サンプリングウィンドウ内データのサンプリング方法 値の範囲:
  • avg:ウィンドウ内データの平均値
  • max:ウィンドウ内データの最大値
  • min:ウィンドウ内データの最小値
  • sum:ウィンドウ内データの合計
例:
  • 照合と分析の命令文:

    * | select ts_smooth_fir(stamp, value, 'rectangle', 4, 1, 'avg') from ( select __time__ - __time__ % 120 as stamp, avg(v) as value from log GROUP BY stamp order by stamp ) 

    結果:

  • 照合と分析の命令文:

    * | select ts_smooth_fir(stamp, value, array[0.2, 0.4, 0.3, 0.1], 1, 'avg') from ( select __time__ - __time__ % 120 as stamp, avg(v) as value from log GROUP BY stamp order by stamp ) 

    結果:

次の表に、表示項目について説明します。
表示項目 説明
横軸 unixtime Unixtime timestamp (秒)
縦軸 src フィルタリング前のデータ
filter フィルタリング後のデータ

ts_smooth_iir

関数の形式:
select ts_smooth_iir(x, y, array[], array[], samplePeriod, sampleMethod) 
次の表に、パラメーターについて説明します。
パラメータ 説明
x 時間の列 (昇順) Unixtime timestamp (秒)
y 指定された時点でのデータに対応する数値列 -
array[] IIR フィルターアルゴリズムにおける xi の特定パラメーター 長さが 2〜15 の配列値。 配列の合計は 1.0 です。 たとえば、配列 [0.2、0.4、0.3、0.1]。
array[] IIR フィルターアルゴリズムにおける yi−1 の特定パラメーター 長さが 2〜15 の配列値。 配列の合計は 1.0 です。 たとえば、配列 [0.2、0.4、0.3、0.1]。
samplePeriod 現在の時系列データをサンプル抽出する期間 1 から 86399 秒までの long 型の値
sampleMethod サンプリングウィンドウ内データのサンプリング方法 値の範囲:
  • avg:ウィンドウ内データの平均値
  • max:ウィンドウ内データの最大値
  • min:ウィンドウ内データの最小値
  • sum:ウィンドウ内データの合計値
例:
  • 照合と分析の命令文:
    * | select ts_smooth_iir(stamp, value, array[0.2, 0.4, 0.3, 0.1], array[0.4, 0.3, 0.3], 1, 'avg') from ( select __time__ - __time__ % 120 as stamp, avg(v) as value from log GROUP BY stamp order by stamp )
  • 結果:

表示項目について、次の表に説明します。
表示項目 説明
横軸 unixtime Unixtime timestamp (秒単位)
縦軸 src フィルタリング前のデータ
filter フィルタリング後のデータ