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

quantileTDigestWeighted

quantileTDigestWeighted

Введена в: v20.1

Вычисляет приближенный квантиль числовой последовательности с использованием алгоритма t-digest. Функция учитывает вес каждого элемента последовательности.

Максимальная погрешность составляет 1%. Потребление памяти — log(n), где n — количество значений.

Производительность функции ниже, чем у quantile или quantileTiming. С точки зрения соотношения размера State к точности эта функция значительно лучше, чем quantile.

Результат зависит от порядка выполнения запроса и недетерминирован.

При использовании нескольких функций quantile* с разными уровнями в одном запросе внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы). В этом случае используйте функцию quantiles.

Примечание

Использование quantileTDigestWeighted не рекомендуется для очень маленьких наборов данных и может приводить к значительной погрешности. В этом случае рассмотрите возможность использования quantileTDigest вместо нее.

Синтаксис

quantileTDigestWeighted(level)(expr, weight)

Псевдонимы: medianTDigestWeighted

Параметры

  • level — Необязательный параметр. Уровень квантиля. Константное число с плавающей запятой от 0 до 1. Рекомендуется использовать значение level в диапазоне [0.01, 0.99]. Значение по умолчанию: 0.5. При level=0.5 функция вычисляет медиану. Float*

Аргументы

  • expr — Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime. (U)Int* или Float* или Decimal* или Date или DateTime
  • weight — Столбец с весами элементов последовательности. Вес — это количество вхождений значения. UInt*

Возвращаемое значение

Приближённый квантиль указанного уровня. Float64 или Date или DateTime

Примеры

Вычисление взвешенного квантиля с t-digest

SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);
┌─quantileTDigestWeighted(number, 1)─┐
│                                4.5 │
└────────────────────────────────────┘

См. также