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 |
|
|
Usa o algoritmo de previsão Holt-Winters para filtrar dados de séries temporais. Esta é a função de suavização padrão. |
|
|
Filtra dados de séries temporais com um filtro de resposta ao impulso finito (FIR). |
|
|
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

-
-
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
NotaRecomendamos 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

-
-
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

-
-
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

-
-
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.