このトピックでは、指定した時系列曲線を平滑化およびフィルタリングするために使用できる平滑関数について説明します。 フィルタリングは、時系列曲線の形状を発見する最初のステップである。
機能一覧
機能 | 説明 |
| Holt-Winters予測アルゴリズムを使用して、時系列データをフィルタリングします。 この関数はデフォルトのスムーズ関数です。 |
| 有限インパルス応答 (FIR) フィルタを使用して時系列データをフィルタリングします。 |
| 無限インパルス応答 (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タイムスタンプです。 単位は秒です。
垂直軸
src
The生データ。
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) as 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) as value from log GROUP BY stamp order by stamp )
出力結果
表示项目一覧を次の表に示します。
表示項目
説明
横軸
unixtime
各時点はUnixタイムスタンプです。 単位は秒です。
垂直軸
src
生データ。
filter
フィルタリング演算後に生成されたデータが実行される。
ts_smooth_iir
関数の形式:
select ts_smooth_iir(x, y, array[], array[] )
関数形式のパラメーターを次の表に示します。
項目
説明
値
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) as value from log GROUP BY stamp order by stamp )
出力結果
表示项目一覧を次の表に示します。
表示項目
説明
横軸
unixtime
各時点はUnixタイムスタンプです。 単位は秒です。
垂直軸
src
生データ。
filter
フィルタリング演算後に生成されたデータが実行される。