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илиDateTime64.(U)Int*илиInt128илиUInt128илиInt256илиUInt256илиFloat*илиDecimal*илиDateилиDateTimeилиDateTime64
Array((U)Int*) или Array(Int128) или Array(UInt128) или Array(Int256) или Array(UInt256) или Array(Float*) или Array(Decimal*) или Array(Date) или Array(DateTime) или Array(DateTime64)
Примеры
Вычисление нескольких квантилей с помощью алгоритма GK
Query
Response
Query
Response