Skip to main content

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)، بحيث يحتوي كل صف على سلسلة زمنية كاملة.
إذا تشاركت عدة عينات الطابع الزمني نفسه، فلا تُستخدم إلا واحدة منها، وهي العينة ذات القيمة الأكبر. وتُقدَّم أي قيمة أخرى على قيمة NaN، لذا لا تُستخدم قيمة NaN إلا إذا كانت جميع العينات عند هذا الطابع الزمني NaN.
هذه الدالة في مرحلة المعاينة الخاصة، ويمكن تفعيلها بضبط enable_time_series_aggregate_functions=true.
الصيغة
المعلمات
  • start_timestamp — يحدد بداية الشبكة الزمنية. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على نص يمثل تاريخًا ووقتًا. UInt32 أو DateTime أو DateTime64 أو Float* أو Decimal* أو String
  • end_timestamp — يحدد نهاية الشبكة الزمنية. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على نص يمثل تاريخًا ووقتًا. UInt32 أو DateTime أو DateTime64 أو Float* أو Decimal* أو String
  • grid_step — يحدد خطوة الشبكة الزمنية بالثواني. ويمكن أن يكون أيضًا عددًا كسريًا، أو string يحتوي على عدد أو على مدة مثل ’15s’ أو ‘1m’. UInt32 أو Float* أو Decimal* أو String
  • staleness — يحدد الحد الأقصى لـ”تقادم” العينات المأخوذة في الحسبان، مقدَّرًا بالثواني. ونافذة التقادم فاصل زمني مفتوح من اليسار ومغلق من اليمين. ويمكن أن يكون أيضًا عددًا كسريًا، أو 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))
القيمة المعادة الـTuple (intercept, slope) لكل نقطة في الشبكة: قيمة الخط المُلائَم عند الطابع الزمني لنقطة الشبكة، وميله في الثانية. يكون كلا العنصرين NULL إذا لم تتوفر عينات كافية ضمن النافذة لنقطة شبكة معينة. Array(Tuple(intercept Nullable(Float64), slope Nullable(Float64))) أمثلة ملاءمة خط على الشبكة [100, 110, 120] ومقارنته بـ timeSeriesPredictLinearToGrid وtimeSeriesDerivToGrid
Query
Response
آخر تعديل في ١٤ أكتوبر ٢٠٢٦