quantileExactWeightedInterpolated
quantileExactWeightedInterpolated
Добавлена в: v24.10
Вычисляет квантиль числовой последовательности данных с использованием линейной интерполяции с учётом веса каждого элемента.
Чтобы получить интерполированное значение, все переданные значения объединяются в массив и сортируются по соответствующим весам. Далее интерполяция квантилей выполняется с использованием метода взвешенного перцентиля: строится кумулятивное распределение на основе весов, после чего на основе весов и значений выполняется линейная интерполяция для вычисления квантилей.
При использовании нескольких функций quantile* с разными уровнями в запросе их внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы).
В этом случае используйте функцию quantiles.
Мы настоятельно рекомендуем использовать quantileExactWeightedInterpolated вместо quantileInterpolatedWeighted, потому что quantileExactWeightedInterpolated более точен, чем quantileInterpolatedWeighted.
См. пример ниже для более подробной иллюстрации.
Синтаксис
Псевдонимы: medianExactWeightedInterpolated
Параметры
level— Необязательный параметр. Уровень квантиля. Константное число с плавающей запятой от 0 до 1. Рекомендуется использовать значениеlevelв диапазоне[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.Float*
Аргументы
expr— Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime.(U)Int*илиFloat*илиDecimal*илиDateилиDateTimeweight— Столбец с весами элементов последовательности. Вес — это количество вхождений значения.UInt*
Возвращаемое значение
Квантиль указанного уровня. Float64 или Date или DateTime
Примеры
Вычисление точного взвешенного интерполированного квантиля
Используйте quantileExactWeightedInterpolated вместо quantileInterpolatedWeighted
См. также