05 / 22 · Случайные величины
Дискретные распределения
Случайные величины как числа, определяемые исходом, и дискретные распределения, которые описывают большинство счётных величин: распределение Бернулли и категориальное (выход классификатора), биномиальное, геометрическое и его отсутствие памяти, пуассоновское как предел для редких событий с данными Борткевича о гибели от ударов копытом и гипергеометрическое — число особых элементов в выборке без возвращения.
На этой странице 13
Большинство вопросов о случайности — вопросы о числах: сколько орлов выпадет в 10 бросках, сколько кликов придётся на 1000 показов, сколько бросков понадобится до первой шестёрки, сколько запросов поступит на сервер за секунду. Случайная величина — это такое число, а её распределение говорит, как вероятность разнесена по возможным значениям. Несколько распределений, у каждого из которых есть короткая порождающая его история, описывают большинство встречающихся на практике счётных величин. В этой заметке мы вводим случайные величины и пять таких историй; следующая заметка делает то же самое для измерений, которые меняются непрерывно.
Обозначения. — случайные величины. — функция вероятности (probability mass function, PMF; закон распределения) дискретной величины , а — её функция распределения (cumulative distribution function, CDF). Запись читается как « имеет биномиальное распределение с параметрами и ». — индикатор события : 1, если происходит, и 0 иначе.
Случайные величины#
Формально случайная величина — это функция , которая сопоставляет каждому исходу число. Бросим две кости; сумма переводит исход в 8. События, связанные с , — это события, связанные с исходами: — множество из пяти пар с суммой 8, поэтому . Вся функция вероятности :
Функция вероятности неотрицательна и в сумме по всем значениям даёт 1, а любая вероятность, связанная с , — сумма её значений: . Когда распределение известно, о пространстве исходов можно забыть. Два разных эксперимента — бросок кости и вращение колеса с шестью равными секторами — дают случайные величины с одним и тем же распределением, и все вероятностные утверждения о них совпадают.
Функция распределения несёт ту же информацию в накопленном виде. Для дискретной величины это ступенчатая функция, которая подскакивает на в каждом значении , и .
Распределения Бернулли и категориальное#
Простейшая случайная величина принимает значение 1 с вероятностью и 0 с вероятностью : (распределение Бернулли). Каждое событие типа «да/нет» даёт такую величину — свой индикатор . Спам-фильтр, модель кликов и бинарный классификатор — все они выдают параметр распределения Бернулли для метки.
Если возможных значений не два, а , категориальное распределение (categorical) приписывает значению вероятность , где . Выход softmax классификатора — категориальное распределение по классам, а выход языковой модели — категориальное распределение по словарю. Обучать их по кросс-энтропии — значит подбирать эти параметры методом максимального правдоподобия.
Биномиальное распределение#
Повторим испытание Бернулли раз независимо, с одним и тем же , и подсчитаем успехи: . Конкретная последовательность с успехами и неудачами в силу независимости имеет вероятность , а таких последовательностей , поэтому
Десять бросков честной монеты дают ровно 5 орлов с вероятностью , а не меньше 8 орлов — с вероятностью . Объявление, показанное 1000 раз с вероятностью клика 2%, получает кликов: в среднем 20, а 30 и больше — с вероятностью всего . Говорят ли 30 кликов о том, что объявление лучше, или это везение, — вопрос для проверки гипотез; вычисления в ней опираются на биномиальное распределение. Число правильных ответов классификатора на тестовой выборке тоже имеет биномиальное распределение, если тестовые примеры независимы.
Геометрическое распределение#
Будем повторять испытание до первого успеха и подсчитаем число испытаний: . Первый успех наступает в испытании , если первые испытаний неудачны, а -е успешно:
Ожидание шестёрки занимает больше 10 бросков с вероятностью . (В некоторых книгах вместо этого считают неудачи до первого успеха, что сдвигает значения на единицу.)
Геометрическое распределение не имеет памяти (memoryless; свойство отсутствия последействия): то, что уже было неудач, ничего не меняет в предстоящем ожидании:
После 10 бросков без шестёрки вероятность ещё 10 бросков без неё по-прежнему . У кости нет памяти; убеждение, что шестёрка «должна вот-вот выпасть», — это ошибка игрока (gambler’s fallacy).
Распределение Пуассона#
Многие счётные величины — это числа редких событий среди очень большого числа возможностей: опечатки на странице, запросы к серверу за секунду, мутации в геноме, голы в футбольном матче. Если возможностей и у каждой малая вероятность , то число событий распределено как , и при росте с фиксированным средним
Словами: первый множитель сравнивает число способов расположить событий, , с и стремится к 1, поскольку фиксировано, а растёт; так же ведёт себя последний множитель; а средний — вероятность того, что ни одна из возможностей не сработала, — стремится к по известному из анализа пределу , тому самому, что стоит за непрерывным начислением процентов.
Предел — это распределение Пуассона, , с при У него один параметр — среднее число событий, и ему не нужны и по отдельности, поэтому оно подходит для счётных величин, у которых число возможностей никто не знает. Приближение хорошее уже при умеренных :
Биномиальное распределение с малым p приближается к пуассоновскому
Классический набор данных — подсчёт Ладислава Борткевича: число солдат прусской кавалерии, погибших от удара копытом лошади. За 200 корпусо-лет погибли 122 человека, в среднем на корпус в год. Распределение Пуассона с , подобранное по одному этому числу, предсказывает, сколько корпусо-лет должно было прийтись на 0, 1, 2, 3 и 4 смерти:
Гибель от удара копытом в прусской кавалерии и распределение Пуассона
Согласие хорошее, потому что подходит история: много солдат, и у каждого крошечный и примерно независимый риск.
Гипергеометрическое распределение#
Вынем элементов без возвращения из совокупности из элементов, из которых особые, и подсчитаем особые. Заметка о подсчёте уже вычислила это распределение для двух тузов в раздаче из пяти карт:
и при , , . Число особых элементов меняется от — когда выборка так велика, что избежать всех особых элементов нельзя, — до ; вне этого диапазона один из биномиальных коэффициентов в формуле равен нулю. Извлечения зависимы: каждый вынутый туз делает следующий менее вероятным. Если считать их независимыми испытаниями с , получится биномиальный ответ — на 17% больше. Когда совокупность гораздо больше выборки, удаление нескольких элементов почти не меняет пропорций, и гипергеометрическое распределение близко к биномиальному; поэтому в опросах 1000 человек в многомиллионной стране пользуются биномиальными формулами.
Какая история даёт какое распределение#
| История | Распределение | Значения | Функция вероятности |
|---|---|---|---|
| Одно испытание «да/нет» | 0, 1 | ||
| Одна из категорий | |||
| Успехи в независимых испытаниях | |||
| Испытания до первого успеха | |||
| Редкие события среди многих возможностей | |||
| Особые элементы в выборке без возвращения |
Что изменилось#
| События | Случайные величины | |
|---|---|---|
| Что описывается | одно утверждение «да/нет» за раз | число и сразу все утверждения о нём |
| Как | функция вероятности или функция распределения | |
| Повторное использование | новое вычисление для каждой задачи | именованное распределение для каждой истории: биномиальное, геометрическое, пуассоновское, … |
Ограничения#
- Распределение хорошо ровно настолько, насколько хороша его история. Биномиальному распределению нужны независимые испытания с одним и тем же ; клики одного и того же пользователя или тестовая выборка с почти-дубликатами нарушают оба условия, и реальный разброс оказывается шире биномиального.
- Реальные счётные данные часто сверхдисперсны (overdispersed). Числа событий, которые приходят всплесками (запросы от ботов, слова в документах), меняются сильнее, чем допускает распределение Пуассона с тем же средним; тогда используют отрицательное биномиальное распределение или модели смесей.
- Значений должно быть не более чем счётное число. Измерениям вроде времени ожидания или роста нужны плотности — тема следующей заметки.
Что нужно запомнить#
- Случайная величина — число, определяемое исходом; её функция вероятности или функция распределения отвечает на любой вероятностный вопрос о ней.
- Распределения Бернулли и категориальное: одно испытание с двумя или исходами, выход классификатора.
- Биномиальное: число успехов в независимых испытаниях, .
- Геометрическое: число испытаний до первого успеха, , нет памяти.
- Пуассоновское: предел , , для редких событий среди многих возможностей.
- Гипергеометрическое: выборка без возвращения; близко к биномиальному, когда совокупность гораздо больше выборки.
Код#
Все числа заметки с помощью scipy.stats:
import numpy as np
from scipy import stats
# the sum of two dice: a random variable and its PMF (counts out of 36)
s = np.add.outer(np.arange(1, 7), np.arange(1, 7)).ravel()
print(np.bincount(s)[2:]) # [1 2 3 4 5 6 5 4 3 2 1]
print(round(stats.binom(10, 0.5).pmf(5), 4), round(stats.binom(10, 0.5).sf(7), 4)) # 0.2461 0.0547
clicks = stats.binom(1000, 0.02)
print(clicks.mean(), round(clicks.sf(29), 4)) # 20.0 0.0207
print(round((5 / 6) ** 10, 4)) # 0.1615: more than 10 rolls to the first six
# binomial(n, 3/n) against Poisson(3): total variation distance
for n in [5, 10, 100]:
k = np.arange(n + 1)
tv = 0.5 * (np.abs(stats.binom(n, 3 / n).pmf(k) - stats.poisson(3).pmf(k)).sum() + stats.poisson(3).sf(n))
print(n, round(tv, 3)) # 5 0.219, 10 0.086, 100 0.008
# Bortkiewicz's horse kicks: corps-years with 0..4 deaths, and the Poisson fit
observed = np.array([109, 65, 22, 3, 1])
lam = (observed * np.arange(5)).sum() / observed.sum()
print(lam, (observed.sum() * stats.poisson(lam).pmf(np.arange(5))).round(1)) # 0.61 [108.7 66.3 20.2 4.1 0.6]
# two aces in five cards: hypergeometric, and the binomial that ignores the missing cards
print(round(stats.hypergeom(52, 4, 5).pmf(2), 4), round(stats.binom(5, 4 / 52).pmf(2), 4)) # 0.0399 0.0465
Дальше#
Счётные величины принимают отдельные значения, и их вероятности — массы, сосредоточенные в этих значениях. Время ожидания, рост или положение случайной точки могут принимать любое значение из интервала, и каждое отдельное значение имеет вероятность 0, как заметка об аксиомах показала для точки на . Следующая заметка заменяет функцию вероятности плотностью, вводит равномерное, показательное и нормальное распределения и показывает, что показательное распределение — непрерывный аналог геометрического: единственное время ожидания без памяти.
Литература#
- J. K. Blitzstein, J. Hwang. Introduction to Probability, 2nd ed. CRC Press, 2019. Глава 3 (случайные величины, распределения Бернулли, биномиальное и гипергеометрическое), глава 4 (геометрическое распределение, распределение Пуассона, пуассоновское приближение).
- W. Feller. An Introduction to Probability Theory and Its Applications, Vol. 1, 3rd ed. Wiley, 1968. Глава VI (биномиальное распределение и распределение Пуассона).
- L. von Bortkiewicz. Das Gesetz der kleinen Zahlen. Teubner, 1898. Данные о гибели от ударов копытом.