quantileGK
الكمّ المئيني لتسلسل من البيانات الرقمية باستخدام خوارزمية Greenwald-Khanna.
خوارزمية Greenwald-Khanna هي خوارزمية تُستخدم لحساب الكمّات المئينية على تدفق من البيانات بكفاءة عالية جدًا.
وقد طرحها Michael Greenwald وSanjeev Khanna في عام 2001.
وتُستخدم على نطاق واسع في قواعد البيانات وأنظمة البيانات الضخمة عندما يكون من الضروري حساب الكمّات المئينية بدقة على تدفق كبير من البيانات في الوقت الفعلي.
وتتميّز الخوارزمية بكفاءة عالية جدًا، إذ لا تتطلب سوى مساحة O(log n) وزمن O(log log n) لكل عنصر (حيث إن n هو حجم المُدخلات).
كما أنها عالية الدقة، إذ توفّر قيمة الكمّ المئيني تقريبية باحتمال مرتفع.
تختلف quantileGK عن دوال الكمّ المئيني الأخرى في ClickHouse، لأنها تُمكّن المستخدم من التحكم في دقة نتيجة الكمّ المئيني التقريبية.
الصيغة
medianGK
المعلمات
accuracy— دقة الكمّ المئيني. عدد صحيح موجب ثابت. كلما زادت قيمة الدقة، قلّ الخطأ. على سبيل المثال، إذا ضُبطت وسيطة الدقة على 100، فسيكون للكمّ المئيني المحسوب خطأ لا يتجاوز 1% باحتمال مرتفع. توجد مفاضلة بين دقة القيم الكمية المحسوبة والتعقيد الحسابي للخوارزمية. فالدقة الأعلى تتطلب مزيدًا من الذاكرة والموارد الحسابية لحساب الكمّ المئيني بدقة، بينما تتيح وسيطة الدقة الأقل تنفيذ الحساب بشكل أسرع وبكفاءة أعلى في استخدام الذاكرة، لكن بدقة أقل قليلًا.UInt*level— اختياري. مستوى الكمّ المئيني. عدد ثابت بفاصلة عائمة من 0 إلى 1. القيمة الافتراضية: 0.5. عندlevel=0.5تحسب الدالة الوسيط.Float*
expr— تعبير على قيم العمود ينتج عنه أنواع بيانات رقمية أوDateأوDateTimeأوDateTime64.(U)Int*أوInt128أوUInt128أوInt256أوUInt256أوFloat*أوDecimal*أوDateأوDateTimeأوDateTime64
(U)Int* أو Int128 أو UInt128 أو Int256 أو UInt256 أو Float* أو Decimal* أو Date أو DateTime أو DateTime64
أمثلة
حساب الكمّ المئيني بمستويات دقة مختلفة
Query
Response
Query
Response