Todos os produtos
Search
Central de documentação

:Funções de suavização

Última atualização: Jul 03, 2026

Este tópico descreve as funções de suavização disponíveis para suavizar e filtrar curvas de séries temporais específicas. A filtragem é a primeira etapa para identificar o formato das curvas de séries temporais.

Lista de funções

Função

Descrição

ts_smooth_simple

Usa o algoritmo de previsão Holt-Winters para filtrar dados de séries temporais. Esta é a função de suavização padrão.

ts_smooth_fir

Filtra dados de séries temporais com um filtro de resposta ao impulso finito (FIR).

ts_smooth_iir

Filtra dados de séries temporais com um filtro de resposta ao impulso infinito (IIR).

ts_smooth_simple

  • Formato da função:

    select ts_smooth_simple(x, y)
  • A tabela a seguir lista os parâmetros da função.

    Parâmetro

    Descrição

    Valor

    x

    A sequência temporal. Os pontos no tempo são ordenados em ordem crescente ao longo do eixo horizontal.

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    y

    A sequência de dados numéricos correspondente a cada ponto no tempo especificado.

    N/A.

  • Exemplos

    • Instrução de consulta:

      * | 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 )
    • Resultado da saída Output result

  • A tabela a seguir lista os itens de exibição.

    Item de exibição

    Descrição

    Eixo horizontal

    unixtime

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    Eixo vertical

    src

    Os dados brutos.

    filter

    Dados gerados após a operação de filtragem.

ts_smooth_fir

  • Formato da função:

    • Se não for possível determinar os parâmetros do filtro, use os parâmetros de janela integrados na instrução a seguir:

      select ts_smooth_fir(x, y,winType,winSize)
    • Se for possível determinar os parâmetros do filtro, defina-os conforme necessário na instrução a seguir:

      select ts_smooth_fir(x, y,array[])
  • A tabela a seguir lista os parâmetros da função.

    Parâmetro

    Descrição

    Valor

    x

    A sequência temporal. Os pontos no tempo são ordenados em ordem crescente ao longo do eixo horizontal.

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    y

    A sequência de dados numéricos correspondente a cada ponto no tempo especificado.

    N/A.

    winType

    O tipo de janela para filtragem.

    Valores válidos:

    • rectangle: janela retangular

    • hanning: janela Hanning

    • hamming: janela Hamming

    • blackman: janela Blackman

    Nota

    Recomendamos definir este parâmetro como rectangle para melhorar a exibição.

    winSize

    O comprimento da janela de filtro.

    O valor é do tipo de dados long. Valores válidos: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 e 15.

    array[]

    Usado para calcular coeficientes do filtro FIR.

    O valor é um array cuja soma dos elementos é igual a 1. Exemplo: array[0.2, 0.4, 0.3, 0.1].

  • Exemplo 1

    • Instrução de consulta:

      * | 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 ) 
    • Resultado da saída Output result

  • Exemplo 2

    • Instrução de consulta:

      * | 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 ) 
    • Resultado da saída Output result

  • A tabela a seguir lista os itens de exibição.

    Item de exibição

    Descrição

    Eixo horizontal

    unixtime

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    Eixo vertical

    src

    Os dados brutos.

    filter

    Dados gerados após a operação de filtragem.

ts_smooth_iir

  • Formato da função:

    select ts_smooth_iir(x, y, array[], array[] ) 
  • A tabela a seguir lista os parâmetros da função.

    Parâmetro

    Descrição

    Valor

    x

    A sequência temporal. Os pontos no tempo são ordenados em ordem crescente ao longo do eixo horizontal.

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    y

    A sequência de dados numéricos correspondente a cada ponto no tempo especificado.

    N/A.

    array[]

    Usado para calcular os coeficientes de filtro relacionados a x i para o filtro IIR.

    O valor é um array cuja soma dos elementos é igual a 1. Comprimentos válidos dos elementos: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 e 15. Exemplo: array[0.2, 0.4, 0.3, 0.1].

    array[]

    O tipo de filtro que especifica o algoritmo para calcular os coeficientes de filtro relacionados a y i-1 para o filtro IIR.

    O valor é um array cuja soma dos elementos é igual a 1. Comprimentos válidos dos elementos: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 e 15. Exemplo: array[0.2, 0.4, 0.3, 0.1].

  • Exemplos

    • Instrução de consulta:

      * | 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 )
    • Resultado da saída Output result

  • A tabela a seguir lista os itens de exibição.

    Item de exibição

    Descrição

    Eixo horizontal

    unixtime

    Cada ponto no tempo é um timestamp Unix. Unidade: segundos.

    Eixo vertical

    src

    Os dados brutos.

    filter

    Dados gerados após a operação de filtragem.