quantilesGK
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