Skip to Content

§1. Моделирование дискретных величин: режем отрезок на куски

Дискретная величина принимает отдельные значения c1,c2,…c_1, c_2, \dots с вероятностями pk=P(ξ=ck)p_k = \mathbf{P}(\xi = c_k). Сколько клиентов зашло в ларёк, сколько раз выгорело дело из двадцати — всё такие. Как штамповать их из равномерных чисел?

Общий метод: нарезка

Разрежем отрезок [0,1][0,1] на куски длины p1,p2,…p_1, p_2, \dots подряд. Границы кусков — накопленные суммы:

rm=∑k=1mpk,r0=0.r_m = \sum_{k=1}^{m} p_k, \qquad r_0 = 0.

Кидаем равномерное число yy. Если оно попало в кусок (rj−1,rj](r_{j-1}, r_j] — выдаём значение cjc_j. Шанс попасть в кусок равен его длине pjp_j, так что значения выпадают ровно с нужными вероятностями.

По кирпичикам: это тот же метод обратной функции из главы 4, только функция распределения теперь — лесенка со ступеньками высоты pkp_k. «Обратная» к лесенке находит первую ступеньку, на которую дотягивается высота yy: F−1(y)=inf⁡{x:F(x)≥y}F^{-1}(y) = \inf\{x : F(x) \ge y\}.

По-дворовому: делишь общак на доли по договорённости и кидаешь жребий-указку на отрезок. В чью долю попала указка — тому и достаётся.

Для частных законов бывают способы проще и быстрее. Например, геометрический закон P(ν=k)=(1−p)kp\mathbf{P}(\nu = k) = (1-p)^k p, k=0,1,…k = 0, 1, \dots вообще не надо нарезать: достаточно гнать испытания Бернулли и считать неудачи до первого успеха.

Биномиальное распределение

Определение. Величина ZnZ_n имеет биномиальное распределение с параметрами nn и pp, если

b(k,n,p)=P(Zn=k)=Cnk pk(1−p)n−k,k=0,1,…,n.b(k, n, p) = \mathbf{P}(Z_n = k) = C_n^k\, p^k (1 - p)^{n-k}, \qquad k = 0, 1, \dots, n.

По кирпичикам:

  • Cnk=n!k! (n−k)!C_n^k = \dfrac{n!}{k!\,(n-k)!} — число сочетаний: сколькими способами выбрать, в каких kk из nn испытаний был успех.
  • pkp^k — шанс, что выбранные kk испытаний выгорели.
  • (1−p)n−k(1-p)^{n-k} — шанс, что остальные n−kn - k спалились.

Утверждение 1. Если ζ1,ζ2,…\zeta_1, \zeta_2, \dots — схема Бернулли с вероятностью успеха pp, то число успехов Zn=ζ1+⋯+ζnZ_n = \zeta_1 + \dots + \zeta_n имеет биномиальное распределение.

Отсюда и датчик: проводишь nn испытаний и считаешь, сколько выгорело. Доказательство — индукцией по nn с тождеством Cnk−1+Cnk=Cn+1kC_n^{k-1} + C_n^k = C_{n+1}^k: kk успехов в n+1n+1 испытаниях — это либо kk успехов в первых nn и неудача в последнем, либо k−1k-1 успех и успех в последнем.

Из свойств матожидания и дисперсии суммы сразу получаем MZn=np\mathbf{M}Z_n = np и DZn=np(1−p)\mathbf{D}Z_n = np(1-p): у каждого слагаемого среднее pp и дисперсия p(1−p)p(1-p), и они просто складываются.

Распределение Пуассона и закон редких событий

Определение. Величина NN имеет распределение Пуассона с параметром λ>0\lambda > 0, если

p(k,λ)=P(N=k)=λkk! e−λ,k=0,1,…p(k, \lambda) = \mathbf{P}(N = k) = \frac{\lambda^k}{k!}\, e^{-\lambda}, \qquad k = 0, 1, \dots

Его среднее равно λ\lambda:

MN=∑k=1∞k λkk!e−λ=λ∑k=1∞λk−1(k−1)!e−λ=λ.\mathbf{M}N = \sum_{k=1}^{\infty} k\,\frac{\lambda^k}{k!}e^{-\lambda} = \lambda \sum_{k=1}^{\infty} \frac{\lambda^{k-1}}{(k-1)!}e^{-\lambda} = \lambda.

(Сократили kk с факториалом, вынесли одну λ\lambda, а оставшаяся сумма — это сумма всех вероятностей Пуассона, то есть 1.)

Откуда он берётся. Возьми биномиальное с огромным nn и крошечным pp, но так, чтобы среднее np=λnp = \lambda оставалось на месте. Тогда

b(k,n,p)=(np)kk!(1−p)n[(1−1n)⋯(1−k−1n)(1−p)−k]→λkk!e−λ,b(k, n, p) = \frac{(np)^k}{k!}(1-p)^n \left[\Bigl(1 - \tfrac1n\Bigr)\cdots\Bigl(1 - \tfrac{k-1}{n}\Bigr)(1-p)^{-k}\right] \to \frac{\lambda^k}{k!}e^{-\lambda},

потому что (1−p)n=(1−λ/n)n→e−λ(1-p)^n = (1 - \lambda/n)^n \to e^{-\lambda}, а скобка уходит в 1. Это называют законом редких событий: много попыток, каждая почти никогда не срабатывает. Звонки в дежурку за час, опечатки на странице, клиенты у ларька в тихий вечер — всё по Пуассону.

Датчик Пуассона на произведениях

Утверждение 2. Пусть τ1,τ2,…\tau_1, \tau_2, \dots — независимые показательные величины с параметром λ\lambda, а Sn=τ1+⋯+τnS_n = \tau_1 + \dots + \tau_n. Обозначим через NN число сумм SnS_n, попавших на отрезок [0,1][0,1]. Тогда NN распределено по Пуассону с параметром λ\lambda.

Смысл: если промежутки между событиями показательные, то число событий за единицу времени — пуассоновское. Маршрутки приходят «без памяти», а сколько их пришло за час — Пуассон.

Доказательство опирается на главу 4: Sn∼Γ(n,λ)S_n \sim \Gamma(n, \lambda), и

P(N=n)=P(Sn≤1<Sn+1)=P(Sn≤1)−P(Sn+1≤1)=λnn!e−λ.\mathbf{P}(N = n) = \mathbf{P}(S_n \le 1 < S_{n+1}) = \mathbf{P}(S_n \le 1) - \mathbf{P}(S_{n+1} \le 1) = \frac{\lambda^n}{n!}e^{-\lambda}.

Теперь датчик. По методу обратной функции τj=−1λln⁡yj\tau_j = -\frac1\lambda \ln y_j. Условие «сумма ещё не вылезла за 1» означает −1λ∑ln⁡yj≤1-\frac1\lambda \sum \ln y_j \le 1, то есть ∏yj≥e−λ\prod y_j \ge e^{-\lambda}. Логарифмы исчезают совсем:

ni=min⁡{k≥0:∏j=0kyij<e−λ}.n_i = \min\Bigl\{k \ge 0 : \prod_{j=0}^{k} y_{ij} < e^{-\lambda}\Bigr\}.

Перемножай равномерные числа, пока произведение не упадёт ниже e−λe^{-\lambda}, и считай, сколько раз успел умножить. Одна экспонента на всё про всё.

Покрути виджет: три закона, у каждого свой книжный датчик, столбики частот против точек теории.

Дискретные датчики: частоты против теории

Датчик: считаем успехи в n испытаниях Бернулли. Столбики — частоты по 20000 числам, точки — теоретические вероятности.Среднее по выборке 5.998, теория 6.000.

Закон редких событий кодом: сравним биномиальное с большим nn и маленьким pp с Пуассоном при том же среднем.

Загрузка редактора…

При n=10n = 10 биномиальное ещё заметно отличается от Пуассона, а при n=1000n = 1000 совпадает почти до четвёртого знака.

Проверь себя

Тест

Как датчик из утверждения 2 получает пуассоновское число без логарифмов?
Обновлено