Conceitos

Neste artigo, abordaremos conceitos comuns com os quais trabalhamos na APITime Insights Insights e tentaremos fornecer uma explicação intuitiva sobre o que eles representam.

Evento

Um evento é um ponto de dados e a entrada bruta com que a API Timeseries Insights funciona. Conceitualmente, ele representa uma ação realizada por algum agente (por exemplo, uma transação por um cliente ou a publicação de um artigo de notícias) ou uma observação (por exemplo, leituras de um sensor de temperatura ou uso de CPU em um máquina).

Um evento contém:

  • Um conjunto de valores em diferentes dimensões, representando propriedades que descrevem o evento, como rótulos ou medições numéricas.
  • Data e hora que representam a hora em que o evento ocorreu. Esse carimbo de data/hora será usado ao colocar eventos em uma série temporal.
  • Um código de grupo.

Dimensão

Uma dimensão representa um tipo de propriedade para os eventos em um conjunto de dados e o domínio dos valores que pode levar. Uma dimensão pode ser:

  • Categórica. Uma propriedade de evento nesta dimensão pode conter um dos valores limitados/fintos, geralmente strings. Por exemplo: o nome do país ou do editor em um conjunto de dados com artigos de notícias, o nome da máquina em um conjunto com dados de monitoramento de produção.
  • Numérico. Uma medida ou uma propriedade numérica geral de um evento. Exemplos: número de visualizações de página para artigos de notícias, uso de CPU ou número de erros para dados de monitoramento de produção.

Conjunto de dados

Um conjunto de dados é um conjunto de eventos.

Grupo

Os eventos podem ser agrupados especificando o mesmo código de grupo (consulte Event.group_id).

O objetivo do grupo é calcular correlações entre eventos do mesmo grupo, mas a versão atual da API não expõe essa funcionalidade. Por exemplo, se seu conjunto de dados contém dados de monitoramento (como CPU%, RAM etc.), um grupo pode conter todos os dados de monitoramento de um processo. Com isso, poderemos detectar que um aumento na CPU% está correlacionado a outro evento, como uma atualização binária da versão em um momento anterior.

Se não tiver certeza ou não estiver interessado em calcular esses tipos de correlações, cada evento deverá ter um código de grupo exclusivo globalmente.

Fatia

Uma fração é o subconjunto de todos os eventos de um conjunto de dados com os mesmos valores em algumas dimensões categóricas.

Por exemplo, digamos que temos um conjunto de dados com as vendas de um varejista internacional e cada evento é uma venda que tem estas dimensões categóricas: o país onde a venda ocorreu, o nome do produto, o { 101}nome da empresa que criou o produto. Um exemplo de fatias neste caso é: todas as vendas de um determinado produto, todas as vendas de um determinado país para todos os produtos feitos por uma determinada empresa.

Série temporal

Uma série temporal é uma sequência de eventos agregados, colocados em buckets de tempo de tamanho igual. Ele é calculado usando como entrada:

  • Uma fração e, portanto, todos os eventos da fração.
  • Um intervalo de tempo em que a série temporal começa e quando ela deve terminar. Para um determinado QueryDataSetRequest, esses limites são [tested_interval.start_time - forecast_params.forecast_history, tested_interval.start_time + tested_interval.length]. Ao selecionar a série temporal, selecionaremos apenas eventos da fração que têm Event.event_time dentro desses limites.
  • A duração de cada bucket de tempo na série temporal. Para um determinado QueryDataSetRequest, esse comprimento é igual a tested_interval.length.
  • Um método de agregação para os eventos. Atualmente, há dois métodos de agregação compatíveis: a contagem de eventos ou a soma de uma dimensão numérica que está presente em todos os eventos (especificados por forecast_params.aggregated_dimension).

Previsão

O processo de previsão de valores futuros para uma determinada série temporal.

Treino

A restrição é a última parte da série temporal (geralmente as últimas 5% a 10%) usada para avaliar o desempenho do modelo de previsão. Se tivermos erros de previsão mais altos durante o período de suspensão, reduziremos a confiança da nossa previsão ampliando os limites de previsão.

Horizon

Os valores de uma série temporal serão previstos a partir do intervalo testado até o horizonte (determinado pelo campo ForecastParams.horizon_time).

Intervalo testado

O intervalo testado (QueryDataSetRequest.tested_interval) é um intervalo de tempo em que queremos detectar qualquer fração no conjunto de dados que tenha valores inesperados (durante o intervalo testado) ao comparar com o tempo histórico. série.

Anomalia

Um slice será marcado como uma anomalia se, após a previsão, temos um valor previsto durante o intervalo testado que está fora do intervalo esperado por um configurável limite.

A seguir