timeSeriesLinearRegressionToGrid
أُضيف في: v26.9.0 دالة تجميعية تستقبل بيانات السلاسل الزمنية على هيئة أزواج من الطوابع الزمنية والقيم، وتُوفِّق خطًا مستقيمًا مع القيم على شبكة زمنية منتظمة تُحدَّد بطابع زمني للبداية وطابع زمني للنهاية وخطوة. فلكل نقطة على الشبكة، تُوفَّق العينات الواقعة ضمن النافذة الزمنية المحددة بخط مستقيم، وتُرجع الدالة الـ Tuple (intercept, slope)، حيث يمثّل intercept قيمة ذلك الخط عند الطابع الزمني لنقطة الشبكة، ويمثّل slope ميله لكل ثانية. وتكون القيمتان كلتاهما NULL إذا لم تتوفر في النافذة عينات كافية.
تساوي نتيجة timeSeriesPredictLinearToGrid مع الإزاحة t القيمة intercept + slope * t، وتساوي نتيجة timeSeriesDerivToGrid القيمة slope. وتُنفَّذ دالة PromQL predict_linear باستخدام هذه الدالة، مما يسمح باختلاف إزاحة التنبؤ من نقطة شبكة إلى أخرى، كما في predict_linear(v, time()).
يمكن تمرير العينات بإحدى ثلاث صيغ:
- وسيطتان
timestampوvalue، بحيث يحتوي كل صف على عينة واحدة؛ - مصفوفتان من الطوابع الزمنية والقيم، بحيث يحتوي كل صف على سلسلة زمنية كاملة؛
- مصفوفة واحدة من عناصر Tuple بالشكل
(timestamp, value)، بحيث يحتوي كل صف على سلسلة زمنية كاملة.
هذه الدالة في مرحلة المعاينة الخاصة، ويمكن تفعيلها بضبط
enable_time_series_aggregate_functions=true.start_timestamp— يحدد بداية الشبكة الزمنية. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على نص يمثل تاريخًا ووقتًا.UInt32أوDateTimeأوDateTime64أوFloat*أوDecimal*أوStringend_timestamp— يحدد نهاية الشبكة الزمنية. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على نص يمثل تاريخًا ووقتًا.UInt32أوDateTimeأوDateTime64أوFloat*أوDecimal*أوStringgrid_step— يحدد خطوة الشبكة الزمنية بالثواني. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على مدة مثل ’15s’ أو ‘1m’.UInt32أوFloat*أوDecimal*أوStringstaleness— يحدد الحد الأقصى لـ”تقادم” العينات المأخوذة في الحسبان، مقدَّرًا بالثواني. ونافذة التقادم فاصل زمني مفتوح من اليسار ومغلق من اليمين. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على مدة مثل ’15s’ أو ‘1m’.UInt32أوFloat*أوDecimal*أوString
timestamp— الطابع الزمني للعينة. يمكن أن يكون قيمًا فردية أو مصفوفات.UInt32أوDateTimeأوDateTime64أوArray(UInt32)أوArray(DateTime)أوArray(DateTime64)value— قيمة السلسلة الزمنية المقابلة للطابع الزمني. يمكن أن تكون قيمًا فردية أو مصفوفات.Float*أوArray(Float*)samples— عينات السلسلة الزمنية المُمرَّرة على هيئة مصفوفة من قيم Tuple(timestamp, value)، تكون فيها عناصر الـTuple من أنواع الطابع الزمني والقيمة المذكورة أعلاه. وهي بديل عن تمرير الطوابع الزمنية والقيم في وسيطتين منفصلتين.Array(Tuple(T1, T2))
(intercept, slope) لكل نقطة في الشبكة: قيمة الخط المُلائَم عند الطابع الزمني لنقطة الشبكة، وميله في الثانية. يكون كلا العنصرين NULL إذا لم تتوفر عينات كافية ضمن النافذة لنقطة شبكة معينة. Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64)))
أمثلة
ملاءمة خط على الشبكة [100, 110, 120] ومقارنته بـ timeSeriesPredictLinearToGrid وtimeSeriesDerivToGrid
Query
Response