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
timestampyvalue, 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.
Esta función está en vista previa privada; para habilitarla, establezca
enable_time_series_aggregate_functions=true.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.UInt32oDateTimeoDateTime64oFloat*oDecimal*oStringend_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.UInt32oDateTimeoDateTime64oFloat*oDecimal*oStringgrid_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’.UInt32oFloat*oDecimal*oStringstaleness— 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’.UInt32oFloat*oDecimal*oString
timestamp— Marca de tiempo de la muestra. Puede ser un valor individual o un array.UInt32oDateTimeoDateTime64oArray(UInt32)oArray(DateTime)oArray(DateTime64)value— Valor de la serie temporal correspondiente a la marca de tiempo. Puede ser un valor individual o un array.Float*oArray(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))
(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