Сообщить об ошибке.

Функция quantiles() модуля statistics в Python, интервалы равной вероятности

Список интервалов равной вероятности числовой последовательности

Синтаксис:

import statistics

# Новое в Python 3.8.
statistics.quantiles(data, *, n=4, method='exclusive')

Параметры:

  • data - данные - любая последовательность, поддерживающая итерацию,
  • n=4 - целое число > 1, обозначает интервал отсечения данных data,
  • method='exclusive' - метод вычисления интервалов отсечения.

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

Описание:

Функция quantiles() модуля statistics делит числовую последовательность с данными data на n интервалов отсечения с равной вероятностью. Возвращает список из n - 1 элементов отсечения, разделяющих эти интервалы.

Аргумент n задает интервал отсечения:
  • по умолчанию установлен, равным 4 для квартилей,
  • для децилей, необходимо установить n равным 10,
  • для процентилей, необходимо установить n равным 100 , что дает 99 точек отсечения, которые разделяют данные на 100 групп равного размера.
  • если n меньше 1, вызывается ошибка StatisticsError.

Образцы данных data могут быть любыми последовательностями, поддерживающими итерацию. Для получения значимых результатов число элементов в последовательности с данными должно быть больше n. Вызывает ошибку StatisticsError, если число элементов последовательности с данными меньше 2-х.

Точки отсечения линейно интерполируются из двух ближайших элементов последовательности с образцами данных. Например, если точка отсечения попадает на одну треть расстояния между двумя значениями выборки, 100 и 112, то элемент отсечения будет оценен как 104.

Метод вычисления интервалов отсечения (задается аргументом method) может варьироваться в зависимости от того, включают ли данные самые низкие и самые высокие возможные значения из всей последовательности данных или исключают их.

Аргумент method по умолчанию является 'exclusive' и используется для выборки данных из всех числовых данных, которые могут иметь более экстремальные значения, чем найденные в выборках. Доля всей числовой последовательности, падающей ниже i-ой из m отсортированных элементов данных, вычисляется как i / (m + 1). Учитывая девять выборочных значений, функция сортирует их и присвоит следующие процентили: 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%.

Установка аргумент method='inclusive' используется для описания данных о совокупности или для выборок, которые, как известно, включают самые экстремальные значения от всех числовых данных. Минимальное значение в данных рассматривается как 0-й процентиль, а максимальное значение рассматривается как 100-й процентиль. Доля всех числовых данных, попадающая ниже i-ой из m отсортированных элементов данных, вычисляется как (i - 1) / (m - 1). Учитывая 11 значений выборки, функция сортирует их и назначит следующие процентили: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%.

Примеры использования функция statistics.quantiles():

>>> import statistics
# Децильные точки отсечения для эмпирически отобранных данных
>>> data = [105, 129, 87, 86, 111, 111, 89, 81, 108, 92, 110,
...         100, 75, 105, 103, 109, 76, 119, 99, 91, 103, 129,
...         106, 101, 84, 111, 74, 87, 86, 103, 103, 106, 86,
...         111, 75, 87, 102, 121, 111, 88, 89, 101, 106, 95,
...         103, 107, 101, 81, 109, 104]
>>> dec = statistics.quantiles(data, n=10)
>>> [round(q, 1) for q in dec]
# [81.0, 86.2, 89.0, 99.4, 102.5, 103.6, 106.0, 109.8, 111.0]