Compartir a través de


series_periods_validate()

Comprueba si una serie temporal contiene patrones periódicos de longitudes dadas.

A menudo, una métrica que mide el tráfico de una aplicación se caracteriza por un período semanal o diario. Este período se puede confirmar ejecutando series_periods_validate() que comprueba un período semanal y diario.

Syntax

series_periods_validate(Serie,period1 [ ,period2, . . . ] )

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
Serie dynamic ✔️ Matriz de valores numéricos, normalmente la salida resultante de los operadores make-series o make_list .
period1, period2, etc. real ✔️ Períodos que se van a validar en unidades del tamaño del contenedor. Por ejemplo, si la serie está en contenedores de 1h, un período semanal es de 168 contenedores. Se requiere al menos un período.

Importante

  • El valor mínimo para cada uno de los parámetros de período es 4 y el máximo es la mitad de la longitud de la serie de entrada. Para un argumento de período fuera de estos límites, la puntuación de salida será 0.
  • La serie temporal de entrada debe ser normal, es decir, agregada en contenedores constantes y siempre es el caso si se ha creado mediante make-series. En caso contrario, el resultado no tendrá sentido.
  • La función acepta hasta 16 períodos para validar.

Devoluciones

La función genera una tabla con dos columnas:

  • puntos: matriz dinámica que contiene los períodos que se van a validar tal y como se proporcionan en la entrada.
  • score: matriz dinámica que contiene una puntuación entre 0 y 1. La puntuación muestra la importancia de un período en su posición respectiva en la matriz de períodos .

Ejemplo

La consulta siguiente inserta una instantánea de un mes del tráfico de una aplicación, agregada dos veces al día (el tamaño de la discretización es 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 serie.

Si se ejecuta series_periods_validate() en esta serie para validar un período semanal (14 puntos de largo), da como resultado una puntuación alta y con una puntuación de 0 al validar un período de cinco días (10 puntos de largo).

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)

Salida

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