Este tópico descreve as funções de detecção de pontos de mudança que identificam alterações em dados de séries temporais.
As funções de detecção de pontos de mudança identificam os seguintes tipos de alteração:
Mudanças nas características estatísticas dentro de um período especificado
Anomalias nos dados de séries temporais
Lista de funções
|
Função |
Descrição |
|
Detecta intervalos com características estatísticas diferentes nos dados de séries temporais. Os extremos do intervalo correspondem aos pontos de mudança. |
|
|
Identifica os momentos em que as estatísticas apresentam aumentos ou quedas abruptas nos dados de séries temporais. |
ts_cp_detect
Formato da função:
-
Se não for possível definir um tamanho adequado para a janela de tempo, use a função abaixo. O tamanho padrão da janela de detecção é 10.
select ts_cp_detect(x, y, samplePeriod) -
Para ajustar o comportamento ao seu ambiente de negócios, especifique o parâmetro minSize na função a seguir.
select ts_cp_detect(x, y, minSize)
A tabela a seguir descreve os parâmetros da função.
|
Parâmetro |
Descrição |
Valor |
|
x |
A sequência temporal. Os pontos no tempo são ordenados de forma 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. |
|
minSize |
O comprimento mínimo dos dados de séries temporais dentro de um intervalo contínuo. |
O comprimento mínimo é 3. O comprimento máximo não pode exceder um décimo do total dos dados de séries temporais especificados. |
Exemplo:
-
Instrução de consulta:
* | select ts_cp_detect(stamp, value, 3) from (select '("__time__" - ("__time__" % 10))' 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 | O timestamp do momento em que os dados foram registrados. Unidade: segundos. Exemplo: 1537071480. |
Eixo vertical | src | Os dados brutos. Exemplo: 1956092.7647745228. |
prob | A probabilidade de um ponto no tempo ser um ponto de mudança. Valores válidos: [0, 1]. | |
ts_breakout_detect
Formato da função:
select ts_breakout_detect(x, y, winSize)
A tabela a seguir descreve os parâmetros da função.
|
Parâmetro |
Descrição |
Valor |
|
x |
A sequência temporal. Os pontos no tempo são ordenados de forma 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. |
|
winSize |
O comprimento mínimo dos dados de séries temporais dentro de um intervalo contínuo. |
O comprimento mínimo é 3. O comprimento máximo não pode exceder um décimo do total dos dados de séries temporais especificados. |
Exemplo:
-
Instrução de consulta:
* | select ts_breakout_detect(stamp, value, 3) from (select '("__time__" - ("__time__" % 10))' 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 | O timestamp do momento em que os dados foram registrados. Unidade: segundos. Exemplo: 1537071480. |
Eixo vertical | src | Os dados brutos. Exemplo: 1956092.7647745228. |
prob | A probabilidade de um ponto no tempo ser um ponto de mudança. Valores válidos: [0, 1]. | |