Функции quantileExact
quantileExact
Точно вычисляет квантиль числовой последовательности.
Чтобы получить точный результат, все переданные значения собираются в массив, который затем частично сортируется. Таким образом, функция потребляет объем памяти O(n), где n — количество переданных значений. Для небольшого числа значений эта функция эффективна.
Внутренние состояния функций quantile* не объединяются, если они используются в одном запросе. Если вам необходимо вычислить квантили нескольких уровней, используйте функцию quantiles, это повысит эффективность запроса.
Синтаксис
Алиас: medianExact.
Аргументы
level— уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значениеlevelиз диапазона[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.expr— выражение, зависящее от значений столбцов, возвращающее данные числовых типов или типов Date, DateTime.
Возвращаемое значение
- Квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date, если входные значения имеют тип
Date. - DateTime, если входные значения имеют тип
DateTime.
Пример
Запрос:
Результат:
quantileExactLow
Как и quantileExact, эта функция вычисляет точный квантиль числовой последовательности данных.
Чтобы получить точное значение, все переданные значения объединяются в массив, который затем полностью сортируется. Сложность алгоритма сортировки равна O(N·log(N)), где N = std::distance(first, last).
Возвращаемое значение зависит от уровня квантили и количества элементов в выборке, то есть если уровень 0,5, то функция возвращает нижнюю медиану при чётном количестве элементов и медиану при нечётном. Медиана вычисляется аналогично реализации median_low, которая используется в python.
Для всех остальных уровней возвращается элемент с индексом, соответствующим значению level * size_of_array. Например:
При использовании в запросе нескольких функций quantile* с разными уровнями, внутренние состояния не объединяются (то есть запрос работает менее эффективно). В этом случае используйте функцию quantiles.
Синтаксис
Алиас: medianExactLow.
Аргументы
level— уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значениеlevelиз диапазона[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.expr— выражение, зависящее от значений столбцов, возвращающее данные числовых типов, Date или DateTime.
Возвращаемое значение
- Квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date если входные значения имеют тип
Date. - DateTime если входные значения имеют тип
DateTime.
Пример
Запрос:
Результат:
quantileExactHigh
Как и quantileExact, эта функция вычисляет точный квантиль числовой последовательности данных.
Все переданные значения объединяются в массив, который затем сортируется, чтобы получить точное значение. Сложность алгоритма сортировки равна O(N·log(N)), где N = std::distance(first, last).
Возвращаемое значение зависит от уровня квантили и количества элементов в выборке, то есть если уровень 0,5, то функция возвращает верхнюю медиану при чётном количестве элементов и медиану при нечётном. Медиана вычисляется аналогично реализации median_high, которая используется в python. Для всех остальных уровней возвращается элемент с индексом, соответствующим значению level * size_of_array.
Эта реализация ведет себя точно так же, как quantileExact.
При использовании в запросе нескольких функций quantile* с разными уровнями, внутренние состояния не объединяются (то есть запрос работает менее эффективно). В этом случае используйте функцию quantiles.
Синтаксис
Алиас: medianExactHigh.
Аргументы
level— уровень квантили. Опциональный параметр. Константное занчение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значениеlevelиз диапазона[0.01, 0.99]. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану.expr— выражение, зависящее от значений столбцов, возвращающее данные числовых типов, Date или DateTime.
Возвращаемое значение
- Квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date если входные значения имеют тип
Date. - DateTime если входные значения имеют тип
DateTime.
Пример
Запрос:
Результат:
quantileExactExclusive
Точно вычисляет квантиль числовой последовательности.
Чтобы получить точный результат, все переданные значения собираются в массив, который затем частично сортируется. Таким образом, функция потребляет объем памяти O(n), где n — количество переданных значений. Для небольшого числа значений эта функция эффективна.
Эта функция эквивалентна Excel функции PERCENTILE.EXC, тип R6.
Если в одном запросе вызывается несколько функций quantileExactExclusive с разными значениями level, эти функции вычисляются независимо друг от друга. В таких случаях используйте функцию quantilesExactExclusive, запрос будет выполняться эффективнее.
Синтаксис
Аргументы
expr— выражение, зависящее от значений столбцов. Возвращает данные числовых типов, Date или DateTime.
Параметры
level— уровень квантиля. Необязательный параметр. Возможные значения: (0, 1) — граничные значения не учитываются. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану. Float.
Возвращаемое значение
- Квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date, если входные значения имеют тип
Date. - DateTime, если входные значения имеют тип
DateTime.
Пример
Запрос:
Результат:
quantileExactInclusive
Точно вычисляет квантиль числовой последовательности.
Чтобы получить точный результат, все переданные значения собираются в массив, который затем частично сортируется. Таким образом, функция потребляет объем памяти O(n), где n — количество переданных значений. Для небольшого числа значений эта функция эффективна.
Эта функция эквивалентна Excel функции PERCENTILE.INC, тип R7.
Если в одном запросе вызывается несколько функций quantileExactInclusive с разными значениями level, эти функции вычисляются независимо друг от друга. В таких случаях используйте функцию quantilesExactInclusive, запрос будет выполняться эффективнее.
Синтаксис
Аргументы
expr— выражение, зависящее от значений столбцов. Возвращает данные числовых типов, Date или DateTime.
Параметры
level— уровень квантиля. Необязательный параметр. Возможные значения: [0, 1] — граничные значения учитываются. Значение по умолчанию: 0.5. Приlevel=0.5функция вычисляет медиану. Float.
Возвращаемое значение
- Квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date, если входные значения имеют тип
Date. - DateTime, если входные значения имеют тип
DateTime.
Пример
Запрос:
Результат:
Смотрите также