全部產品
Search
文件中心

Simple Log Service:平滑函數

更新時間:Jun 30, 2024

平滑函數是針對輸入的時序曲線進行平滑和簡單的濾波操作,濾波操作通常是發現時序曲線形態的第一步。

函數列表

函數

說明

ts_smooth_simple

預設平滑函數,使用Holt-Winters演算法對時序資料進行濾波操作。

ts_smooth_fir

使用FIR濾波器對時序資料進行濾波操作。

ts_smooth_iir

使用IIR濾波器對時序資料進行濾波操作。

ts_smooth_simple

  • 函數格式:

    select ts_smooth_simple(x, y)
  • 參數說明:

    參數

    說明

    取值

    x

    時間列,順序為從小到大。

    Unixtime時間戳記,單位為秒。

    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

    資料的時間戳記,單位為秒。

    縱軸

    src

    濾波前的資料。

    filter

    濾波後的資料。

ts_smooth_fir

  • 函數格式:

    • 若您無法確定濾波參數,請使用內建視窗的參數進行濾波操作。

      select ts_smooth_fir(x, y,winType,winSize)
    • 若您可以確定濾波參數,可以根據需求自訂設定濾波參數。

      select ts_smooth_fir(x, y,array[])
  • 參數說明:

    參數

    說明

    取值

    x

    時間列,從小到大排列。

    格式為Unixtime時間戳記,單位為秒。

    y

    數值列,對應某時刻的資料。

    -

    winType

    濾波的視窗類別型。

    取值包括:

    • rectangle:矩形視窗。

    • hanning:漢寧窗。

    • hamming:漢明窗。

    • blackman:布萊克曼窗。

    說明

    推薦您選擇rectangle類型以獲得更好的顯示效果。

    winSize

    濾波視窗的長度。

    long類型,取值範圍為2~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

    資料的Unixtime時間戳記,單位為秒。

    縱軸

    src

    濾波前的資料。

    filter

    濾波後的資料。

ts_smooth_iir

  • 函數格式:

    select ts_smooth_iir(x, y, array[], array[] ) 
  • 參數說明:

    參數

    說明

    取值

    x

    時間列,從小到大排列。

    格式為Unixtime時間戳記,單位為秒。

    y

    數值列,對應某時刻的資料。

    -

    array[]

    IIR濾波演算法中關於x i的具體參數。

    數組格式,長度(length)的取值範圍為2~15,且數組中元素的和為1。例如array[0.2, 0.4, 0.3, 0.1]。

    array[]

    IIR濾波演算法中關於y i−1的具體參數。

    數組格式,長度(length)的取值範圍為2~15,且數組中元素的和為1。例如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

    資料的Unixtime時間戳記,單位為秒。

    縱軸

    src

    濾波前的資料。

    filter

    濾波後的資料。