series_periods_validate()

Verifica se uma série temporal contém padrões periódicos de determinados comprimentos.

Muitas vezes, uma métrica que mede o tráfego de uma aplicação é caracterizada por um período semanal ou diário. Este período pode ser confirmado ao executar series_periods_validate() que verifica um período semanal e diário.

Syntax

series_periods_validate(série,period1 [ ,period2, . . . ] )

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
série dynamic ✔️ Uma matriz de valores numéricos, normalmente a saída resultante de operadores de make-series ou make_list .
period1, period2, etc. real ✔️ Os períodos a validar em unidades do tamanho da reciclagem. Por exemplo, se a série estiver em 1h bins, um período semanal é de 168 classes. É necessário, pelo menos, um período.

Importante

  • O valor mínimo para cada um dos parâmetros de período é 4 e a máxima é metade do comprimento da série de entrada. Para um argumento de período fora destes limites, a classificação de saída será 0.
  • A série temporal de entrada tem de ser regular, ou seja, agregada em classes constantes e é sempre o caso se tiver sido criada através de make-series. Caso contrário, a saída não tem sentido.
  • A função aceita até 16 períodos para validar.

Devoluções

A função produz uma tabela com duas colunas:

  • períodos: uma matriz dinâmica que contém os períodos para validar conforme fornecido na entrada.
  • pontuações: uma matriz dinâmica que contém uma classificação entre 0 e 1. A classificação mostra a significância de um período na respetiva posição na matriz de períodos .

Exemplo

A seguinte consulta incorpora um instantâneo de um mês do tráfego de uma aplicação, agregado duas vezes por dia (o tamanho da reciclagem é de 12 horas).

print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y  
| render linechart

Períodos de série.

Se executar series_periods_validate() nesta série para validar um período semanal (14 pontos de comprimento), resulta numa classificação elevada e com uma pontuação de 0 quando valida um período de cinco dias (10 pontos de comprimento).

print y=dynamic([80, 139, 87, 110, 68, 54, 50, 51, 53, 133, 86, 141, 97, 156, 94, 149, 95, 140, 77, 61, 50, 54, 47, 133, 72, 152, 94, 148, 105, 162, 101, 160, 87, 63, 53, 55, 54, 151, 103, 189, 108, 183, 113, 175, 113, 178, 90, 71, 62, 62, 65, 165, 109, 181, 115, 182, 121, 178, 114, 170])
| project x=range(1, array_length(y), 1), y  
| project series_periods_validate(y, 14.0, 10.0)

Saída

series_periods_validate_y_periods series_periods_validate_y_scores
[14.0, 10.0] [0.84, 0.0]