Вы подписаны на Машинное обучение доступно
Отлично! завершите оплату для полного доступа к Машинное обучение доступно
Снова приветствуем Вас! Вы успешно авторизовались
Успех! Аккаунт активирован, и Вы имеете полный доступ к контенту.
Квантиль (Quantile)

Квантиль (Quantile)

in

Квантиль (иногда фрактиль) – граница деления Выборки (Sample) или Совокупности (Population) на равные по размеру смежные подгруппы. Это также относится к разделению распределения вероятностей на области равного размера:

Площади многоугольников, разделенные пунктирными проекциями, равны

Медиана – это тоже квантиль, которая расположена так, чтобы ровно половина данных (0,5) была левее медианы. Медиана делит распределение на две равные области, поэтому ее еще называют 2-м квантилем.

Квартили также являются квантилями; они делят распределение на четыре равные части. Тоже верно и для процентилей, децилей и квинтилей, разделяющих распределение на 100, 10 и 5 равных частей соответственно.

Пример. Найдем 20% самых маленьких чисел в списке:

lst = [110, 59, 127, 91, 14, 22, 78, 79, 91, 13, 116, 59, 88, 10, 114, 107, 11, 124, 74, 9, 128, 98, 68, 88, 123, 99, 6, 56, 9, 106, 26, 124, 82, 25, 2, 57, 28, 17, 4, 94]

Шаг 1. Упорядочим данные от наименьшего к наибольшему:

lst.sort()
print('Сортированный список:', lst)
Сортированный список: [2, 4, 6, 9, 9, 10, 11, 13, 14, 17, 22, 25, 26, 28, 56, 57, 59, 59, 68, 74, 78, 79, 82, 88, 88, 91, 91, 94, 98, 99, 106, 107, 110, 114, 116, 123, 124, 124, 127, 128]

Шаг 2. Подсчитаем, сколько Наблюдений (Observation) в совокупности:

n = len(lst)
print(n)
40

Шаг 3: Определим значение, отсекающее 20% значений от остальных, с помощью формулы:

$$Пограничное\space{наблюдение} = q × (n + 1), где$$
$$q\space{–}\space{размер}\space{квантили,}$$
$$n\space{–}\space{число}\space{наблюдений}$$

Размер квантили – это величина, характеризующая количество измерений, входящих в обозначенную часть совокупности. В нашем случае, это первые 20%, то есть 0,2.

$$Пограничное\space{наблюдение} = 0,2 × (40 + 1) = 8,2$$

Дело за малым – отфильтруем список по условию "меньше 8,2":

small = [x for x in lst if x < 8.2]
print(small)
[2, 4, 6]

Квантили в Машинном обучении

Помимо прочего, квантили используются в т.н. Квантильной регрессии (Quantile Regression) и делают ее оценки более устойчивыми к выбросам.

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

Фото: @thmsvrbrggn