Skip to main content

timeSeriesLinearRegressionToGrid

Introducido en: v26.9.0 Función de agregación que recibe datos de series temporales como pares de marcas de tiempo y valores, y ajusta una recta a los valores sobre una cuadrícula temporal regular definida por una marca de tiempo inicial, una marca de tiempo final y un paso. Para cada punto de la cuadrícula, las muestras comprendidas en la ventana de tiempo especificada se ajustan mediante una recta, y la función devuelve la tupla (intercept, slope): intercept es el valor de esa recta en la marca de tiempo del punto de la cuadrícula y slope es su pendiente por segundo. Ambos valores son NULL si no hay suficientes muestras en la ventana. El resultado de timeSeriesPredictLinearToGrid con el desplazamiento t es igual a intercept + slope * t, y el resultado de timeSeriesDerivToGrid es igual a slope. La función predict_linear de PromQL se implementa con esta función, lo que permite que el desplazamiento de la predicción varíe entre los puntos de la cuadrícula, como en predict_linear(v, time()). Las muestras pueden pasarse de tres formas distintas:
  • como dos argumentos timestamp y value, donde cada fila contiene una sola muestra;
  • como dos arrays de marcas de tiempo y valores, donde cada fila contiene una serie temporal completa;
  • como un único array de tuplas (timestamp, value), donde cada fila contiene una serie temporal completa.
Si varias muestras tienen la misma marca de tiempo, solo se utiliza una de ellas: la de mayor valor. Un valor NaN pierde frente a cualquier otro valor, por lo que solo se utiliza un valor NaN si todas las muestras con esa marca de tiempo son NaN.
Esta función está en vista previa privada; para habilitarla, establezca enable_time_series_aggregate_functions=true.
Sintaxis
Parámetros
  • start_timestamp — Especifica el inicio de la cuadrícula. También puede ser un número fraccionario o una cadena que contenga un número o una fecha y hora en formato de texto. UInt32 o DateTime o DateTime64 o Float* o Decimal* o String
  • end_timestamp — Especifica el final de la cuadrícula. También puede ser un número fraccionario o una cadena que contenga un número o una fecha y hora en formato de texto. UInt32 o DateTime o DateTime64 o Float* o Decimal* o String
  • grid_step — Especifica el paso de la cuadrícula en segundos. También puede ser un número fraccionario o una cadena que contenga un número o una duración, como ’15s’ o ‘1m’. UInt32 o Float* o Decimal* o String
  • staleness — Especifica la “antigüedad” máxima, en segundos, de las muestras consideradas. La ventana de antigüedad es un intervalo abierto por la izquierda y cerrado por la derecha. También puede ser un número fraccionario o una cadena que contenga un número o una duración, como ’15s’ o ‘1m’. UInt32 o Float* o Decimal* o String
Argumentos
  • timestamp — Marca de tiempo de la muestra. Puede ser un valor individual o un array. UInt32 o DateTime o DateTime64 o Array(UInt32) o Array(DateTime) o Array(DateTime64)
  • value — Valor de la serie temporal correspondiente a la marca de tiempo. Puede ser un valor individual o un array. Float* o Array(Float*)
  • samples — Muestras de la serie temporal pasadas como un array de tuplas (timestamp, value), cuyos elementos tienen los tipos de marca de tiempo y valor indicados anteriormente. Es una alternativa a pasar las marcas de tiempo y los valores como dos argumentos independientes. Array(Tuple(T1, T2))
Valor devuelto La tupla (intercept, slope) para cada punto de la cuadrícula: el valor de la recta ajustada en la marca de tiempo del punto de la cuadrícula y su pendiente por segundo. Ambos elementos son NULL si no hay suficientes muestras dentro de la ventana de un punto de la cuadrícula determinado. Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64))) Ejemplos Ajustar una recta en la cuadrícula [100, 110, 120] y compararla con timeSeriesPredictLinearToGrid y timeSeriesDerivToGrid
Query
Response
Última modificación el 14 de octubre de 2026