As funções de estimativa de múltiplos períodos identificam ciclos em dados de séries temporais em diferentes intervalos. Elas extraem padrões periódicos por meio de operações como a transformada de Fourier.
Lista de funções
|
Função |
Descrição |
|
Estima o período dos dados de séries temporais em diversos intervalos de tempo. |
|
|
Calcula a periodicidade de uma curva de série temporal usando a transformada de Fourier. Utilize esta função para determinar rapidamente se uma curva apresenta padrões periódicos. |
ts_period_detect
Sintaxe:
select ts_period_detect(x,y,minPeriod,maxPeriod)
A tabela a seguir descreve os parâmetros.
|
Parâmetro |
Descrição |
Valor |
|
x |
Coluna de tempo, ordenada de forma crescente. |
Timestamp Unix em segundos. |
|
y |
Coluna de valores para cada ponto no tempo. |
Nenhum |
|
minPeriod |
Comprimento mínimo estimado do período, definido como uma proporção do comprimento total da série temporal. |
Valor decimal no intervalo (0, 1]. |
|
maxPeriod |
Comprimento máximo estimado do período, definido como uma proporção do comprimento total da série temporal. Importante
O valor de maxPeriod deve ser maior que minPeriod e não pode exceder 0,5. Se você definir maxPeriod com um valor superior a 0,5, o sistema usará 0,5 por padrão. |
Valor decimal no intervalo (0, 1]. |
Exemplo:
-
Consulta
* | select ts_period_detect(stamp, value, 0.2, 0.5) from ( select __time__ - (__time__ % 120) as stamp, avg(v) as value from log GROUP BY stamp order by stamp ) -
Saída
A função retorna um array contendo timestamps Unix, valores estatísticos (como tráfego médio) e códigos de status do período. Um código de status 1.0 corresponde a um círculo vermelho na figura a seguir. É possível visualizar a saída em um gráfico de série temporal, conforme mostrado abaixo.
Na figura abaixo, a área sombreada entre dois círculos vermelhos representa um período. Os padrões da curva tendem a ser semelhantes em diferentes períodos.

ts_period_classify
Sintaxe:
select ts_period_classify(stamp,value,instanceName)
A tabela a seguir descreve os parâmetros.
|
Parâmetro |
Descrição |
Valor |
|
stamp |
Coluna de tempo, ordenada de forma crescente. |
Timestamp Unix em segundos. |
|
value |
Coluna de valores para cada ponto no tempo. |
Nenhum |
|
instanceName |
Nome da curva da série temporal. |
Nenhum |
Exemplo:
-
Consulta
* and h : nu2h05202.nu8 | select ts_period_classify(stamp, value, name) from log Saída: A consulta retorna uma tabela com três colunas: line_name (nome da linha temporal, que corresponde ao ID do grupo do Auto Scaling), prob (valor de probabilidade) e type (sinalizador de tipo, onde
-1.0indica anomalia e0.0indica normalidade). Por exemplo, o grupo do Auto Scalingasg-2zgicin6zf5ewg188pg5apresenta prob de1.0e type de-1.0, o que indica que essa linha temporal foi identificada como uma anomalia.
A saída inclui as seguintes colunas:
|
Coluna |
Descrição |
|
line_name |
Nome da curva da série temporal. |
|
prob |
Proporção do período principal dentro da curva da série temporal. O valor está no intervalo [0, 1]. Um valor de 0,15 é um limiar experimental típico. |
|
type |
Classificação da curva:
|