quantilesGK
quantilesGK
Появилась в версии: v23.4
Вычисляет несколько квантилей числовой последовательности данных на разных уровнях одновременно, используя алгоритм Greenwald-Khanna.
Эта функция работает аналогично quantileGK, но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции квантилей.
Алгоритм Greenwald-Khanna — это алгоритм для вычисления квантилей на потоке данных высокоэффективным образом. Его предложили Michael Greenwald и Sanjeev Khanna в 2001 году. Алгоритм является очень эффективным, требуя только O(log n) памяти и O(log log n) времени на элемент (где n — размер входных данных). Он также обладает высокой точностью, обеспечивая приближённые значения квантилей с контролируемой точностью.
Синтаксис
Параметры
accuracy— Точность квантилей. Положительное целое константное число. Более высокое значение точности означает меньшую погрешность. Например, если аргументaccuracyимеет значение 100, вычисленные квантили будут иметь погрешность не более 1% с высокой вероятностью. Существует компромисс между точностью вычисленных квантилей и вычислительной сложностью алгоритма.UInt*level— Уровни квантилей. Одно или несколько константных чисел с плавающей запятой от 0 до 1.Float*
Аргументы
expr— Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime.(U)Int*илиFloat*илиDecimal*илиDateилиDateTime
Возвращаемое значение
Массив квантилей заданных уровней в том же порядке, в котором были заданы уровни. Array(Float64) или Array(Date) или Array(DateTime)
Примеры
Вычисление нескольких квантилей с помощью алгоритма GK
Квантили с повышенной точностью