timeSeriesLinearRegressionToGrid
導入バージョン: v26.9.0 タイムスタンプと値のペアからなる時系列データを受け取り、開始タイムスタンプ、終了タイムスタンプ、ステップで定義される等間隔の時間グリッド上で、値に直線をフィッティングする集約関数です。グリッド上の各点について、指定された時間ウィンドウ内のサンプルに直線をフィッティングし、タプル(intercept, slope) を返します。intercept はグリッド点のタイムスタンプにおけるその直線の値、slope は 1 秒あたりの傾きです。ウィンドウ内のサンプルが不足している場合は、どちらも NULL になります。
オフセット t を指定した timeSeriesPredictLinearToGrid の結果は intercept + slope * t と等しく、timeSeriesDerivToGrid の結果は slope と等しくなります。PromQL 関数 predict_linear はこの関数を使って実装されているため、predict_linear(v, time()) のように、グリッド点ごとに異なる予測オフセットを使用できます。
サンプルは次の 3 つの形式のいずれかで渡せます。
- 2 つの引数
timestampとvalueとして渡す形式。各行に 1 つのサンプルが格納されます。 - タイムスタンプと値の 2 つの Array として渡す形式。各行に 1 つの時系列全体が格納されます。
(timestamp, value)タプルからなる単一の Array として渡す形式。各行に 1 つの時系列全体が格納されます。
この関数はプライベートプレビュー段階です。
enable_time_series_aggregate_functions=true を設定して有効化してください。start_timestamp— グリッドの開始時刻を指定します。小数、または数値や日時テキストを含む文字列も指定できます。UInt32またはDateTimeまたはDateTime64またはFloat*またはDecimal*またはStringend_timestamp— グリッドの終了時刻を指定します。小数、または数値や日時テキストを含む文字列も指定できます。UInt32またはDateTimeまたはDateTime64またはFloat*またはDecimal*またはStringgrid_step— グリッドのステップ (間隔) を秒単位で指定します。小数、または数値や ’15s’、‘1m’ のような期間を含む文字列も指定できます。UInt32またはFloat*またはDecimal*またはStringstaleness— 対象とするサンプルの最大「staleness」 (秒単位) を指定します。staleness ウィンドウは左開右閉区間です。小数、または数値や ’15s’、‘1m’ のような期間を含む文字列も指定できます。UInt32またはFloat*またはDecimal*またはString
timestamp— サンプルのタイムスタンプ。単一の値またはArrayを指定できます。UInt32またはDateTimeまたはDateTime64またはArray(UInt32)またはArray(DateTime)またはArray(DateTime64)value— タイムスタンプに対応する時系列の値。単一の値またはArrayを指定できます。Float*またはArray(Float*)samples— タプル(timestamp, value)のArrayとして渡される時系列のサンプル。タプルの各要素は、上記のタイムスタンプおよび値の型を持ちます。タイムスタンプと値を 2 つの別々の引数として渡す代わりに使用できます。Array(Tuple(T1, T2))
(intercept, slope)。グリッド点のタイムスタンプにおける回帰直線の値と、1 秒あたりの傾きを表します。あるグリッド点についてウィンドウ内のサンプルが不足している場合、両方の要素が NULL になります。Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64)))
例
グリッド [100, 110, 120] 上で直線をフィッティングし、timeSeriesPredictLinearToGrid および timeSeriesDerivToGrid と比較する
Query
Response