timeSeriesLinearRegressionToGrid
Introduzido em: v26.9.0 Função de agregação que recebe dados de séries temporais como pares de timestamps e valores e ajusta uma reta aos valores em uma grade temporal regular definida por timestamp inicial, timestamp final e passo. Para cada ponto da grade, uma reta é ajustada às amostras dentro da janela de tempo especificada, e a função retorna a tupla(intercept, slope): intercept é o valor dessa reta no timestamp do ponto da grade e slope é a inclinação da reta por segundo. Ambos são NULL se não houver amostras suficientes na janela.
O resultado de timeSeriesPredictLinearToGrid com o deslocamento t é igual a intercept + slope * t, e o resultado de timeSeriesDerivToGrid é igual a slope. A função PromQL predict_linear é implementada com esta função, o que permite que o deslocamento da predição varie entre os pontos da grade, como em predict_linear(v, time()).
As amostras podem ser fornecidas de três formas:
- como dois argumentos
timestampevalue, em que cada linha contém uma única amostra; - como dois arrays de timestamps e valores, em que cada linha contém uma série temporal inteira;
- como um único array de tuplas
(timestamp, value), em que cada linha contém uma série temporal inteira.
Esta função está em prévia privada; habilite-a definindo
enable_time_series_aggregate_functions=true.start_timestamp— Especifica o início da grade. Também pode ser um número fracionário ou uma string contendo um número ou um texto de data e hora.UInt32ouDateTimeouDateTime64ouFloat*ouDecimal*ouStringend_timestamp— Especifica o fim da grade. Também pode ser um número fracionário ou uma string contendo um número ou um texto de data e hora.UInt32ouDateTimeouDateTime64ouFloat*ouDecimal*ouStringgrid_step— Especifica o passo da grade em segundos. Também pode ser um número fracionário ou uma string contendo um número ou uma duração, como ’15s’ ou ‘1m’.UInt32ouFloat*ouDecimal*ouStringstaleness— Especifica a “staleness” máxima, em segundos, das amostras consideradas. A janela de staleness é um intervalo aberto à esquerda e fechado à direita. Também pode ser um número fracionário ou uma string contendo um número ou uma duração, como ’15s’ ou ‘1m’.UInt32ouFloat*ouDecimal*ouString
timestamp— Timestamp da amostra. Pode ser composto por valores individuais ou arrays.UInt32ouDateTimeouDateTime64ouArray(UInt32)ouArray(DateTime)ouArray(DateTime64)value— Valor da série temporal correspondente ao timestamp. Pode ser composto por valores individuais ou arrays.Float*ouArray(Float*)samples— Amostras da série temporal passadas como um array de tuplas(timestamp, value), em que os elementos da tupla têm os tipos de timestamp e de valor listados acima. É uma alternativa a passar os timestamps e os valores como dois argumentos separados.Array(Tuple(T1, T2))
(intercept, slope) para cada ponto da grade: o valor da reta ajustada no timestamp do ponto da grade e sua inclinação por segundo. Ambos os elementos são NULL se não houver amostras suficientes dentro da janela de um determinado ponto da grade. Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64)))
Exemplos
Ajustar uma reta à grade [100, 110, 120] e comparar com timeSeriesPredictLinearToGrid e timeSeriesDerivToGrid
Query
Response