Перейти к основному содержанию

quantilesGK

Добавленный в: v23.4.0 Вычисляет несколько квантилей числовой последовательности на разных уровнях одновременно с использованием алгоритма Greenwald-Khanna. Эта функция похожа на quantileGK, но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции квантилей. Алгоритм Greenwald-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
Query
Response
Более точные квантили
Query
Response
Последнее изменение 2 июля 2026 г.