Skip to main content

timeSeriesLinearRegressionToGrid

Introduit dans : v26.9.0 Fonction d’agrégation qui prend en entrée des données de séries temporelles sous forme de paires timestamp-valeur, et ajuste une droite aux valeurs sur une grille temporelle régulière définie par un timestamp de début, un timestamp de fin et un pas. Pour chaque point de la grille, une droite est ajustée aux échantillons compris dans la fenêtre temporelle spécifiée, et la fonction renvoie le tuple (intercept, slope) : intercept est la valeur de cette droite au timestamp du point de la grille et slope est sa pente par seconde. Les deux valent NULL si la fenêtre ne contient pas suffisamment d’échantillons. Le résultat de timeSeriesPredictLinearToGrid avec le décalage t est égal à intercept + slope * t, et le résultat de timeSeriesDerivToGrid est égal à slope. La fonction PromQL predict_linear repose sur cette fonction, ce qui permet au décalage de prédiction de varier d’un point de la grille à l’autre, comme dans predict_linear(v, time()). Les échantillons peuvent être transmis sous l’une des trois formes suivantes :
  • deux arguments timestamp et value, chaque ligne contenant un seul échantillon ;
  • deux tableaux de timestamps et de valeurs, chaque ligne contenant une série temporelle complète ;
  • un seul tableau de tuples (timestamp, value), chaque ligne contenant une série temporelle complète.
Si plusieurs échantillons ont le même timestamp, un seul d’entre eux est retenu : celui dont la valeur est la plus élevée. Une valeur NaN l’emporte toujours sur toute autre valeur dans la comparaison ; une valeur NaN n’est donc utilisée que si tous les échantillons à ce timestamp valent NaN.
Cette fonction est en aperçu privé ; activez-la en définissant enable_time_series_aggregate_functions=true.
Syntaxe
Paramètres
  • start_timestamp — Indique le début de la grille. Il peut également s’agir d’un nombre fractionnaire, ou d’une string contenant un nombre ou une date-heure sous forme de texte. UInt32 ou DateTime ou DateTime64 ou Float* ou Decimal* ou String
  • end_timestamp — Indique la fin de la grille. Il peut également s’agir d’un nombre fractionnaire, ou d’une string contenant un nombre ou une date-heure sous forme de texte. UInt32 ou DateTime ou DateTime64 ou Float* ou Decimal* ou String
  • grid_step — Indique le pas de la grille, en secondes. Il peut également s’agir d’un nombre fractionnaire, ou d’une string contenant un nombre ou une durée telle que ’15s’ ou ‘1m’. UInt32 ou Float* ou Decimal* ou String
  • staleness — Indique l’ancienneté (« staleness ») maximale, en secondes, des échantillons pris en compte. La fenêtre d’ancienneté est un intervalle ouvert à gauche et fermé à droite. Il peut également s’agir d’un nombre fractionnaire, ou d’une string contenant un nombre ou une durée telle que ’15s’ ou ‘1m’. UInt32 ou Float* ou Decimal* ou String
Arguments
  • timestamp — Timestamp de l’échantillon. Peut être une valeur individuelle ou un tableau. UInt32 ou DateTime ou DateTime64 ou Array(UInt32) ou Array(DateTime) ou Array(DateTime64)
  • value — Valeur de la série temporelle correspondant au timestamp. Peut être une valeur individuelle ou un tableau. Float* ou Array(Float*)
  • samples — Échantillons de la série temporelle, passés sous forme de tableau de tuples (timestamp, value) dont les éléments ont les types de timestamp et de valeur indiqués ci-dessus. Alternative au passage des timestamps et des valeurs sous forme de deux arguments distincts. Array(Tuple(T1, T2))
Valeur renvoyée Le tuple (intercept, slope) pour chaque point de la grille : la valeur de la droite ajustée au timestamp du point de la grille, et sa pente par seconde. Les deux éléments valent NULL si la fenêtre ne contient pas suffisamment d’échantillons pour un point de la grille donné. Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64))) Exemples Ajuster une droite sur la grille [100, 110, 120] et comparer avec timeSeriesPredictLinearToGrid et timeSeriesDerivToGrid
Query
Response
Dernière modification le 14 octobre 2026