Математика для аналитика
Модуль 3 · Байес, ЦПТ, модели событий

Вероятность и распределения

Фундамент под A/B-тесты. Без вероятности p-value остаётся магическим числом, которое сравнивают с 0,05 по традиции.

Прочитано
— из 7
3.1

События, независимость и условная вероятность

Почти любой вопрос о риске — «какая доля заказов опоздает, если курьер вышел в час пик» — это вопрос об условной вероятности, и отвечать на него нужно аккуратно.

Суть

Вероятность — это число от 0 до 1, которое приписывается событию. Событие — это утверждение об исходе наблюдения, которое после наблюдения оказывается либо истинным, либо ложным: «заказ опоздал», «письмо открыли». Наблюдением может быть отдельный заказ, отправленное письмо, рабочий день — важно заранее договориться, что считается одним наблюдением, иначе все дальнейшие числа перестают означать что-либо определённое.

Для аналитика удобнее всего частотная трактовка: вероятность события — это доля наблюдений, в которых событие произошло, если наблюдений очень много. Если из 1000 доставок опоздали 150, оценка вероятности опоздания равна 0,15. Это именно оценка, а не сама вероятность: на другой тысяче заказов получится 0,14 или 0,17.

С событиями работают как с множествами наблюдений. Пересечение «A и B» — наблюдения, где произошли оба события; объединение «A или B» — где произошло хотя бы одно; дополнение «не A» — все остальные, и его вероятность равна 1 − P(A).

0 ≤ P(A) ≤ 1, P(не A) = 1 − P(A)

Условная вероятность

Условная вероятность P(A|B) — это вероятность события A при условии, что событие B уже произошло. Смысл механический: мы выбрасываем из рассмотрения все наблюдения, где B не произошло, и внутри оставшихся считаем долю тех, где произошло A. Знаменатель меняется — в этом вся идея.

P(A|B) = P(A и B) / P(B), при P(B) больше 0

Разберём на цифрах. Возьмём 1000 заказов за неделю. В час пик оформлено 250 из них, вне часа пик — 750. Опоздали 60 заказов из часа пик и 90 из остальных, всего 150. Тогда P(час пик) = 250 / 1000 = 0,25, P(опоздание) = 150 / 1000 = 0,15, а совместная вероятность P(час пик и опоздание) = 60 / 1000 = 0,06. Условная вероятность опоздания в час пик равна 0,06 / 0,25 = 0,24, то есть 24 процента. Вне часа пик — 90 / 750 = 0,12, вдвое меньше.

Число 0,24 нельзя получить из общей доли опозданий 0,15 никаким пересчётом: условная вероятность требует таблицы совместных частот, а не двух отдельных процентов из разных отчётов.

Правило умножения и цепочки событий

Формулу условной вероятности переставляют и получают правило умножения — главный рабочий инструмент, когда событие складывается из нескольких шагов.

P(A и B) = P(B) × P(A|B) = P(A) × P(B|A)

Оно обобщается на любое число шагов. Пусть заказ проходит три стадии: сборка на складе, передача курьеру, вручение. Вероятность пройти сборку без сбоя 0,98; при успешной сборке вероятность корректной передачи 0,99; при корректной передаче вероятность вручения с первой попытки 0,97. Вероятность пройти всю цепочку равна 0,98 × 0,99 × 0,97. Считаем: 0,98 × 0,99 = 0,9702, затем 0,9702 × 0,97 = 0,941094, то есть примерно 0,941. Значит, около 5,9 процента заказов где-то спотыкается, хотя каждый отдельный шаг выглядит почти безупречным: в длинной цепочке высокие вероятности перемножаются в заметно меньшую.

Независимость и как её проверить

События A и B называются независимыми, если знание о наступлении B не меняет вероятность A. Формально это записывается двумя равносильными способами.

P(A|B) = P(A) ⇔ P(A и B) = P(A) × P(B)

Вернёмся к таблице. Если бы час пик и опоздание были независимы, совместная вероятность равнялась бы 0,25 × 0,15 = 0,0375, то есть примерно 38 заказов из тысячи. Наблюдается 60. Разрыв ощутимый, независимости нет. Такая проверка — умножить две частные доли и сравнить с фактической совместной — сразу показывает, есть ли связь между признаками.

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

Для объединения событий действует правило сложения с поправкой на пересечение: иначе общая часть учитывается дважды.

P(A или B) = P(A) + P(B) − P(A и B)

Пусть вероятность опоздания 0,15, вероятность повреждения упаковки 0,03, а вероятность обеих неприятностей сразу 0,01. Тогда вероятность хотя бы одной претензии равна 0,15 + 0,03 − 0,01 = 0,17, а не 0,18.

Пример

Рассылка ушла на 20 000 адресов. Открыли письмо 4400 человек, перешли по ссылке 660, причём все перешедшие — из числа открывших. Тогда P(открытие) = 4400 / 20 000 = 0,22, P(переход) = 660 / 20 000 = 0,033, а условная вероятность перехода при открытии равна 660 / 4400 = 0,15. Именно эти 15 процентов характеризуют качество содержания письма, а 3,3 процента смешивают в себе и качество темы письма, и качество текста. Разложение по правилу умножения: 0,22 × 0,15 = 0,033 — сходится.

Частая ошибка

Подмена P(A|B) на P(B|A). В отчёте пишут: «40 процентов опозданий приходится на час пик, значит час пик — главный источник риска». В нашей таблице 60 из 150 опозданий действительно случились в час пик, это P(час пик | опоздание) = 0,4. Но вероятность опоздания в час пик равна 24 процентам, а вне часа пик — 12 процентам. Первое число зависит от того, сколько заказов вообще оформляется в час пик, второе описывает риск. Способ заметить подмену: спросить, что стоит в знаменателе. Если знаменатель — число опозданий, вы измеряете структуру проблем; если число заказов данной категории — вы измеряете риск. Смешивать их в одном выводе нельзя.

Запомнить
  • Условная вероятность — это пересчёт доли на суженном знаменателе; всегда проговаривайте вслух, что в знаменателе.
  • P(A и B) = P(A) × P(B|A) работает всегда, а P(A) × P(B) — только при независимости.
  • Независимость проверяется сравнением фактической совместной доли с произведением частных долей.
  • Длинная цепочка почти надёжных шагов даёт заметно ненадёжный итог: 0,98 × 0,99 × 0,97 ≈ 0,941.
3.2

Теорема Байеса и ложные срабатывания

Когда модель или правило помечает заказ как проблемный, теорема Байеса отвечает на единственный вопрос, который волнует бизнес: какова вероятность, что метка верна.

Суть

Теорема Байеса связывает две условные вероятности, направленные в разные стороны. У нас обычно есть характеристики инструмента: как часто он срабатывает на действительно проблемных заказах и как часто ошибается на нормальных. А нужна обратная величина: если сработал, насколько велика вероятность, что заказ действительно проблемный. Прямого пересчёта одного в другое не существует — не хватает третьего числа, базовой частоты события.

P(A|B) = P(B|A) × P(A) / P(B)

Формула выводится из правила умножения за один шаг. Совместную вероятность P(A и B) можно разложить двумя способами: P(A) × P(B|A) и P(B) × P(A|B). Приравняв их и разделив на P(B), получаем теорему. Никакой отдельной идеи здесь нет, это перестановка. Содержательным теорему делает то, как раскрывается знаменатель.

Полная вероятность в знаменателе

Знаменатель P(B) — вероятность того, что метка вообще сработала, независимо от того, права она или нет. Метка срабатывает в двух непересекающихся случаях: на проблемном заказе (верное срабатывание) и на нормальном (ложное). Значит, знаменатель складывается из двух слагаемых.

P(B) = P(B|A) × P(A) + P(B|не A) × P(не A)

Это формула полной вероятности. Она и есть место, где в расчёт входит базовая частота P(A) — доля проблемных заказов среди всех. Именно её чаще всего забывают, и именно из-за неё интуиция даёт сбой.

Разбор на числах

Пусть скоринговое правило помечает заказы с риском утраты. Известно: доля реально утраченных отправлений 1 процент, то есть P(У) = 0,01. Правило ловит 90 процентов настоящих утрат: P(метка | У) = 0,9. На нормальных отправлениях оно ошибочно срабатывает в 5 процентах случаев: P(метка | не У) = 0,05.

Числитель: 0,01 × 0,9 = 0,009. Второе слагаемое знаменателя: 0,99 × 0,05 = 0,0495. Знаменатель: 0,009 + 0,0495 = 0,0585. Итог: 0,009 / 0,0585 ≈ 0,1538, то есть примерно 15,4 процента.

P(У | метка) = 0,009 / (0,009 + 0,0495) = 0,009 / 0,0585 ≈ 0,154

Тот же счёт в абсолютных числах нагляднее и защищает от ошибок. Возьмите 10 000 отправлений. Утрачено 100, из них помечено 90. Нормальных 9900, из них ошибочно помечено 495. Всего меток 90 + 495 = 585, верных среди них 90. Доля верных: 90 / 585 ≈ 0,154. Сходится. Хотя правило звучит внушительно — ловит девять утрат из десяти, — примерно пять из каждых шести помеченных заказов окажутся нормальными. Причина в том, что нормальных заказов почти в сто раз больше, и даже редкая ошибка на большой массе даёт много ложных срабатываний.

Как меняется ответ при смене базовой частоты

Тот же инструмент на другой популяции ведёт себя иначе. Допустим, правило применяют не ко всему потоку, а к предварительно отобранной группе — например, к международным отправлениям без описи вложения, где доля утрат составляет 10 процентов. Числитель: 0,1 × 0,9 = 0,09. Второе слагаемое: 0,9 × 0,05 = 0,045. Знаменатель: 0,09 + 0,045 = 0,135. Итог: 0,09 / 0,135 ≈ 0,667, то есть около 67 процентов. Характеристики правила не изменились ни на йоту, а полезность выросла вчетверо. Отсюда практический вывод: сначала сужайте выборку, потом применяйте детектор.

Удобна и запись через шансы. Шансы «до» равны 1 к 99. Отношение правдоподобия равно 0,9 / 0,05 = 18. Шансы «после» равны 18 к 99, что даёт вероятность 18 / 117 ≈ 0,154 — тот же ответ. В этой записи видно, что данные умножают шансы, а не задают ответ сами по себе.

Пример

Модель предсказывает отток подписчиков рассылки. Отписываются в течение месяца 2 процента базы. Модель помечает 80 процентов будущих отписавшихся и ошибочно помечает 10 процентов остальных. На 50 000 адресов: отписавшихся 1000, из них помечено 800; оставшихся 49 000, из них помечено 4900. Всего меток 5700, верных 800, доля верных 800 / 5700 ≈ 0,14. Если по метке отправляют письмо с промокодом, скидку получат в основном те, кто и не собирался уходить. Экономику акции нужно считать именно от 14 процентов, а не от 80.

Частая ошибка

В отчёте пишут «точность модели 90 процентов» и дальше рассуждают так, будто девять из десяти помеченных заказов действительно проблемные. На самом деле 90 процентов — это доля пойманных проблем среди проблем, то есть P(метка | У), а бизнесу нужна обратная величина P(У | метка). Как заметить: попросите развернуть отчёт в четыре абсолютных числа — верные срабатывания, ложные срабатывания, пропуски, верные отказы. Если ложных срабатываний больше, чем верных, никакая формулировка про 90 процентов не спасает. Второй признак — в отчёте нигде не названа базовая частота события. Без неё вывод о полезности метки сделать невозможно.

Запомнить
  • P(A|B) и P(B|A) — разные числа; теорема Байеса переводит одно в другое, но только вместе с базовой частотой.
  • Знаменатель всегда раскрывается как сумма верных и ложных срабатываний.
  • При редком событии даже небольшая доля ложных срабатываний перевешивает верные: 0,009 против 0,0495.
  • Пересчёт на 10 000 наблюдений в абсолютных числах занимает минуту и ловит почти все ошибки в байесовских рассуждениях.
3.3

Случайная величина, матожидание и дисперсия

Матожидание отвечает на вопрос «сколько в среднем», дисперсия — на вопрос «насколько можно доверять этому среднему», и без второго первое почти бесполезно для планирования.

Суть

Случайная величина — это число, которое приписывается исходу наблюдения. Число попыток доставки по заказу, время сборки в минутах, факт открытия письма, закодированный как 1 или 0, — всё это случайные величины. Слово «случайная» означает не хаотичность, а то, что до наблюдения значение неизвестно, но известно, с какими вероятностями оно принимает те или иные значения. Этот набор «значение — вероятность» и называется распределением.

Величины бывают дискретные, принимающие отдельные значения (число попыток: 1, 2, 3), и непрерывные, принимающие любое значение в диапазоне (время сборки). Для дискретных распределение задаётся таблицей вероятностей, для непрерывных — плотностью, площадь под которой на отрезке равна вероятности попасть в этот отрезок. Полная площадь под плотностью равна единице, как и сумма всех вероятностей в таблице.

Матожидание

Математическое ожидание — среднее значение величины, взвешенное по вероятностям. Для дискретного случая это сумма произведений значения на его вероятность.

E[X] = Σ xᵢ × P(X = xᵢ)

Возьмём число попыток доставки X: одна попытка с вероятностью 0,7, две с вероятностью 0,2, три с вероятностью 0,1. Сумма вероятностей равна 1, проверка пройдена. Матожидание: 1 × 0,7 + 2 × 0,2 + 3 × 0,1 = 0,7 + 0,4 + 0,3 = 1,4 попытки. Значение 1,4 само по себе невозможно — попыток не бывает дробное число. Это ориентир для планирования нагрузки, а не прогноз конкретного заказа.

Матожидание линейно, и это его главное рабочее свойство. Если затраты на заказ равны 150 рублей фиксированно плюс 100 рублей за каждую попытку, то ожидаемые затраты равны 150 + 100 × 1,4 = 290 рублей. Линейность работает и для суммы величин, причём независимость для этого не требуется: ожидаемое число попыток на 200 заказов равно 200 × 1,4 = 280.

E[a + b×X] = a + b×E[X], E[X + Y] = E[X] + E[Y]

Дисперсия и стандартное отклонение

Дисперсия измеряет разброс вокруг матожидания. Определяется как ожидаемый квадрат отклонения. Квадрат берётся, чтобы отклонения вверх и вниз не гасили друг друга, и чтобы крупные отклонения весили больше мелких.

Var(X) = E[(X − E[X])²] = E[X²] − (E[X])²

Вторая запись удобнее для счёта. Для наших попыток: E[X²] = 1 × 0,7 + 4 × 0,2 + 9 × 0,1 = 0,7 + 0,8 + 0,9 = 2,4. Квадрат матожидания равен 1,4² = 1,96. Дисперсия: 2,4 − 1,96 = 0,44. Стандартное отклонение σ = √0,44 ≈ 0,66 попытки.

Дисперсия измеряется в квадратах исходных единиц — в «квадратных попытках», в «квадратных минутах», — поэтому в отчётах почти всегда приводят корень из неё, стандартное отклонение. Оно в тех же единицах, что и сама величина, и его допустимо сравнивать со средним.

При линейном преобразовании сдвиг не влияет на разброс, а множитель входит в квадрате. Для затрат C = 150 + 100 × X дисперсия равна 100² × 0,44 = 4400, стандартное отклонение равно 100 × 0,66 ≈ 66 рублей.

Var(a + b×X) = b² × Var(X)

Для суммы независимых величин складываются дисперсии, а не стандартные отклонения. На 200 независимых заказов дисперсия суммарного числа попыток равна 200 × 0,44 = 88, стандартное отклонение равно √88 ≈ 9,4. Обратите внимание на масштаб: среднее выросло в 200 раз, а разброс — примерно в 14 раз, поскольку √200 ≈ 14,1. Относительная неопределённость падает с ростом объёма, и это ровно тот механизм, который разбирается в теме «Закон больших чисел и центральная предельная теорема».

Var(X + Y) = Var(X) + Var(Y) только при независимости

Если величины зависимы, к сумме дисперсий добавляется удвоенная ковариация. На практике это означает, что общий сбой склада, задевающий сразу все заказы дня, повышает разброс суточных показателей сильнее, чем предсказывает формула для независимых слагаемых.

Пример

Два курьерских маршрута дают одинаковое среднее время доставки — 30 минут. На первом стандартное отклонение 5 минут, на втором 20 минут. Если обещать клиенту доставку за 45 минут, на первом маршруте это отклонение в 3 стандартных отклонения от среднего, на втором — меньше одного. Средние совпадают, а доля нарушенных обещаний различается в разы. Планировать SLA по одному только среднему нельзя.

Частая ошибка

В сводке приводят только среднее и на его основе строят обещание клиенту или норматив для курьера. Среднее время доставки 30 минут превращается в обещание «доставим за 30 минут», после чего примерно половина заказов нарушает обещание. Как заметить: в таблице отчёта нет ни одной колонки с разбросом — ни стандартного отклонения, ни перцентилей, ни минимума с максимумом. Правило проверки: рядом с каждым средним в отчёте должна стоять мера разброса, а обещания клиенту строятся по высокому перцентилю, а не по среднему.

Запомнить
  • Матожидание — среднее, взвешенное по вероятностям; оно линейно и складывается всегда, даже для зависимых величин.
  • Дисперсию удобно считать как E[X²] − (E[X])², а в отчёт выносить корень из неё.
  • При умножении на константу дисперсия растёт в квадрате: Var(b×X) = b² × Var(X).
  • Дисперсии суммируются только для независимых величин; общий внешний фактор ломает это правило.
3.4

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

Любая метрика вида «доля» — конверсия рассылки, доля опозданий, доля возвратов — под капотом устроена как биномиальное распределение, и именно оно задаёт величину случайного шума в этой доле.

Суть

Испытание Бернулли — это одно наблюдение с двумя исходами: успех с вероятностью p и неуспех с вероятностью 1 − p. Слово «успех» условное: успехом может быть и открытие письма, и опоздание, смотря что мы считаем. Величина, равная 1 при успехе и 0 при неуспехе, называется бернуллиевской.

Её характеристики выводятся напрямую. Матожидание: 1 × p + 0 × (1 − p) = p. Для дисперсии: E[X²] = 1² × p + 0² × (1 − p) = p, откуда Var = p − p² = p × (1 − p).

E[X] = p, Var(X) = p × (1 − p)

Дисперсия максимальна при p = 0,5, где она равна 0,25, и стремится к нулю у краёв. Отсюда практическое следствие: редкие события дают меньший абсолютный разброс, но больший относительный, и измерять конверсию в доли процента всегда труднее, чем конверсию около половины.

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

Если провести n независимых испытаний Бернулли с одной и той же вероятностью p и посчитать число успехов, получится биномиальное распределение. Оно задаётся двумя параметрами, n и p, и описывается формулой.

P(X = k) = C(n, k) × p^k × (1 − p)^(n − k)

Формула собирается из трёх частей. Вероятность конкретной последовательности из k успехов и n − k неуспехов равна p^k × (1 − p)^(n − k) по правилу умножения для независимых событий. Таких последовательностей несколько, и их число равно числу сочетаний C(n, k) = n! / (k! × (n − k)!). Умножаем одно на другое.

Посчитаем на маленьком примере. Курьер везёт 5 заказов, вероятность опоздания по каждому 0,1, заказы независимы. Вероятность ни одного опоздания: 0,9⁵ = 0,59049. Вероятность ровно одного: C(5,1) × 0,1 × 0,9⁴ = 5 × 0,1 × 0,6561 = 0,32805. Вероятность двух и более: 1 − 0,59049 − 0,32805 = 0,08146. То есть примерно в 8 случаях из 100 рейсов будет два опоздания и больше, хотя по каждому заказу риск невелик.

Характеристики биномиального распределения получаются суммированием n независимых бернуллиевских величин.

E[X] = n × p, Var(X) = n × p × (1 − p), σ = √(n × p × (1 − p))

Доля и её погрешность

В отчётах обычно фигурирует не число успехов, а доля p̂ = X / n. Поделив величину на константу n, получаем: матожидание доли равно p, а дисперсия делится на n², то есть равна p × (1 − p) / n. Корень из неё — стандартная ошибка доли, самая полезная формула этой темы.

SE(p̂) = √(p × (1 − p) / n)

Рассылка на 1000 адресов при конверсии 4 процента: ожидаемое число конверсий 1000 × 0,04 = 40, дисперсия 1000 × 0,04 × 0,96 = 38,4, стандартное отклонение √38,4 ≈ 6,2. В долях: SE = √(0,0384 / 1000) = √0,0000384 ≈ 0,0062, то есть 0,62 процентного пункта. Интервал в два стандартных отклонения — примерно от 27,6 до 52,4 конверсии, или от 2,8 до 5,2 процента. Если на следующей неделе та же рассылка дала 4,6 процента, разумно считать, что ничего не изменилось: разница укладывается в шум.

Из формулы видно, что стандартная ошибка падает как 1 / √n. Чтобы вдвое сузить разброс, объём выборки нужно увеличить вчетверо. Это жёсткое ограничение любого эксперимента с долями: без роста трафика точность растёт медленно.

Где модель ломается

Биномиальное распределение опирается на три допущения: испытаний ровно n, вероятность успеха у всех одинакова, испытания независимы. В реальных данных нарушается второе и третье. Подписчики базы неоднородны: у активного сегмента конверсия 12 процентов, у спящего 1 процент, и среднее по базе не описывает ни тех, ни других. Заказы одного дня зависимы через погоду и загрузку склада. В обоих случаях фактический разброс оказывается больше, чем предсказывает n × p × (1 − p), и доверительные интервалы, посчитанные по формуле, выходят слишком узкими.

Пример

Тестируют две темы письма, по 1000 адресов на вариант. Вариант A: 40 открытий, 4,0 процента. Вариант B: 52 открытия, 5,2 процента. Разница 1,2 процентного пункта выглядит выигрышем. Стандартная ошибка каждой доли около 0,62 и 0,70 процентного пункта, стандартная ошибка разности равна √(0,62² + 0,70²) = √(0,3844 + 0,49) = √0,8744 ≈ 0,94 процентного пункта. Разница составляет 1,2 / 0,94 ≈ 1,3 стандартной ошибки — этого мало, чтобы объявлять победителя. Нужен объём в несколько раз больше.

Частая ошибка

Доли считают на крошечных знаменателях и сравнивают как надёжные числа. В отчёте появляется строка «конверсия сегмента 10 процентов» — за ней стоят 2 отклика из 20. Стандартная ошибка здесь равна √(0,1 × 0,9 / 20) = √0,0045 ≈ 0,067, то есть 6,7 процентного пункта; интервал в два стандартных отклонения покрывает почти весь диапазон от нуля до четверти. Как заметить: требуйте, чтобы рядом с каждым процентом стоял знаменатель. Ориентир для применимости обычных формул — не менее 10 успехов и не менее 10 неуспехов в каждой группе.

Запомнить
  • Одно испытание Бернулли: E = p, Var = p × (1 − p); n независимых испытаний дают биномиальное распределение.
  • Число успехов: E = n × p, σ = √(n × p × (1 − p)); доля: SE = √(p × (1 − p) / n).
  • Точность растёт как √n: вчетверо больше выборка — вдвое уже интервал.
  • Неоднородность базы и зависимость наблюдений делают реальный разброс больше формульного, а интервалы — обманчиво узкими.
3.5

Пуассон и экспоненциальное распределение

Число заявок в час и время между обращениями — две стороны одного процесса, и понимание их распределений позволяет планировать смены, не полагаясь на одно лишь среднее.

Суть

Распределение Пуассона описывает число событий за фиксированный интервал, когда события происходят по отдельности, с постоянной средней интенсивностью и независимо друг от друга. Типичные величины: число заявок в контакт-центр за час, число заказов в пункт выдачи за смену, число отписок от рассылки за сутки. Единственный параметр λ — среднее число событий за интервал.

P(X = k) = (λ^k / k!) × e^(−λ), k = 0, 1, 2, …

Формулу можно получить из биномиального распределения предельным переходом. Разобьём час на очень много коротких интервалов, в каждом из которых событие либо происходит, либо нет с крохотной вероятностью. Число событий — биномиальная величина. Устремляя число интервалов к бесконечности при неизменном произведении n × p = λ, получаем формулу выше. Отсюда и содержательное условие применимости: событий много потенциальных возможностей, а вероятность каждой мала.

У пуассоновского распределения есть примечательное свойство: матожидание и дисперсия совпадают.

E[X] = λ, Var(X) = λ, σ = √λ

Это даёт мгновенный ориентир. Если в среднем поступает 12 заявок в час, стандартное отклонение равно √12 ≈ 3,46 заявки, и типичный час укладывается примерно в диапазон от 5 до 19. Планировать штат ровно под 12 обращений означает не справляться примерно в половине часов.

Расчёт на конкретных числах

Интенсивность масштабируется вместе с интервалом: если λ = 12 в час, то за 10 минут λ = 2. Посчитаем распределение числа обращений за 10 минут. Величина e^(−2) ≈ 0,1353.

P(0) = 0,1353. P(1) = 2 × 0,1353 = 0,2707. P(2) = (2² / 2) × 0,1353 = 2 × 0,1353 = 0,2707. Сумма первых трёх: 0,1353 + 0,2707 + 0,2707 = 0,6767. Значит, вероятность получить три и более обращения за десять минут равна 1 − 0,6767 = 0,3233, примерно треть всех десятиминуток. Если оператор физически успевает обработать два обращения за десять минут, очередь будет копиться в трети интервалов — при том, что «в среднем нагрузка соответствует мощности».

Экспоненциальное распределение

Тот же процесс можно описать с другой стороны: не числом событий за интервал, а временем между соседними событиями. Если число событий пуассоновское с интенсивностью λ, то промежутки между ними распределены экспоненциально с той же λ. Связь выводится в одну строку: время до следующего события превышает t тогда и только тогда, когда за время t не произошло ни одного события, а вероятность нуля событий по формуле Пуассона равна e^(−λt).

P(T больше t) = e^(−λ × t), E[T] = 1 / λ, σ(T) = 1 / λ

При λ = 12 обращений в час среднее время между обращениями равно 1/12 часа, то есть 5 минут. Вероятность прождать более 10 минут равна e^(−12 × 10/60) = e^(−2) ≈ 0,135 — ровно та же величина, что и вероятность нуля обращений за 10 минут. Две формулы описывают один факт.

Медиана экспоненциального распределения равна ln2 / λ ≈ 0,693 / 12 часа ≈ 3,5 минуты, заметно меньше среднего в 5 минут. Распределение скошено вправо: коротких промежутков много, длинные встречаются реже, но бывают очень длинными. Стандартное отклонение равно среднему, так что разброс здесь всегда велик.

Отдельное свойство — отсутствие памяти: если обращения не было уже 8 минут, распределение оставшегося времени ожидания такое же, как в начале. Формально P(T больше s + t | T больше s) = P(T больше t). Практический смысл: для чисто пуассоновского потока фраза «давно не было заявок, сейчас накроет» неверна. Если на практике накрывает, значит поток не пуассоновский — есть суточная или недельная сезонность.

Где модель ломается

Главное нарушение — непостоянная интенсивность. У курьерской компании поток заявок в 11 утра и в 3 ночи различается кратно, поэтому «λ за сутки» не описывает ни один реальный час. Лечение — считать λ по узким однородным окнам: будни, час дня, тип канала. Второе нарушение — событий приходят пачками: одна авария на сортировке порождает сразу десятки обращений. Признак обоих нарушений один и тот же: выборочная дисперсия заметно больше среднего.

Пример

Планируется смена поддержки на пиковый час, λ = 12 обращений. Оператор обрабатывает 8 обращений в час. Двое операторов дают мощность 16. Достаточно ли этого? Вероятность превысить 16 обращений за час считается по хвосту распределения и составляет около 10 процентов, то есть примерно один пиковый час из десяти уйдёт в очередь. Запас в виде третьего оператора снижает риск до долей процента. Само по себе сравнение 12 против 16 такого вывода не даёт — нужен разброс √12 ≈ 3,46.

Частая ошибка

Пуассоновскую модель применяют к потоку с выраженной сезонностью и получают заниженный разброс. В отчёте пишут: «в среднем 12 заявок в час, отклонения в пределах ±3,5». Проверка занимает минуту: посчитайте по историческим данным выборочную дисперсию числа заявок в час и сравните со средним. Если среднее 12, а дисперсия 60, отношение равно 5, и это означает, что данные смешивают разные режимы или события приходят пачками. В этом случае λ надо оценивать отдельно по каждому часу суток, а планирование строить по верхним перцентилям фактических данных, а не по формуле.

Запомнить
  • Пуассон описывает число событий за интервал: E = λ, Var = λ, σ = √λ.
  • Экспоненциальное распределение описывает промежутки между теми же событиями: среднее 1/λ, медиана ln2/λ.
  • P(нуль событий за t) = P(промежуток длиннее t) = e^(−λt) — это одно и то же число.
  • Дисперсия заметно больше среднего означает, что поток неоднороден и модель Пуассона к нему неприменима.
3.6

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

Нормальное распределение описывает суммы и средние, логнормальное — произведения и длительности, и путаница между ними даёт в отчётах отрицательные границы времени доставки.

Суть

Нормальное распределение задаётся двумя параметрами: центром μ и стандартным отклонением σ. Оно симметрично, среднее совпадает с медианой и модой, а плотность быстро убывает по краям. Форма кривой одинакова для любых μ и σ — меняются только положение и масштаб, поэтому любую нормальную величину приводят к стандартной с помощью z-преобразования.

z = (x − μ) / σ

Величина z показывает, на сколько стандартных отклонений значение отстоит от центра. Отсюда правило, которое стоит держать в голове: примерно 68 процентов значений лежат в пределах одного σ от центра, 95 процентов — в пределах двух σ, 99,7 процента — в пределах трёх. Точнее, границу 95 процентов даёт множитель 1,96, но для прикидок достаточно двойки.

Пусть время сборки заказа на складе распределено нормально со средним 18 минут и σ = 4 минуты. Доля сборок дольше 26 минут: z = (26 − 18) / 4 = 2, что соответствует примерно 2,3 процента. Доля быстрее 10 минут: z = −2, тоже около 2,3 процента. Порог, за которым остаётся 5 процентов самых долгих сборок: 18 + 1,645 × 4 = 18 + 6,58 ≈ 24,6 минуты.

Почему нормальное распределение встречается часто

Не потому, что «природа так устроена», а из-за механизма сложения. Когда наблюдаемая величина складывается из множества независимых мелких вкладов сопоставимого размера, её распределение приближается к нормальному независимо от того, как распределены отдельные вклады. Это утверждение разбирается в теме «Закон больших чисел и центральная предельная теорема». Практическое следствие: нормальность разумно ожидать у сумм и средних — среднего чека по дню, суммарного пробега бригады, среднего времени ответа за неделю, — но не у отдельных наблюдений произвольной природы.

Сумма независимых нормальных величин снова нормальна, причём складываются μ и дисперсии, а не стандартные отклонения. Для двух этапов со средними 18 и 9 минут и σ равными 4 и 3: общее среднее 27 минут, дисперсия 16 + 9 = 25, σ = 5 минут.

μ = μ₁ + μ₂, σ = √(σ₁² + σ₂²)

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

Длительности и суммы денег редко бывают симметричными. Время доставки не может быть отрицательным, у него есть плотное скопление около типичного значения и длинный правый хвост из редких, но очень долгих случаев. Такую форму даёт логнормальное распределение: величина логнормальна, если её логарифм распределён нормально. Механизм за этим — умножение: если итог складывается из независимых множителей (пробка увеличила время в 1,3 раза, неверный адрес — ещё в 1,8 раза), то логарифм итога есть сумма логарифмов, а сумма стремится к нормальному распределению.

если ln T ~ N(μ, σ), то медиана = e^μ, среднее = e^(μ + σ²/2)

Числовой пример. Пусть ln T имеет μ = 3,4 и σ = 0,5, где T измеряется в минутах. Медиана равна e^3,4 ≈ 30 минут: половина доставок укладывается в полчаса. Среднее равно e^(3,4 + 0,125) = e^3,525 ≈ 34 минуты. Девяносто пятый перцентиль равен e^(3,4 + 1,645 × 0,5) = e^4,2225 ≈ 68 минут. Обратите внимание на структуру: среднее на 13 процентов выше медианы, а верхний перцентиль более чем вдвое выше медианы. Именно это и означает «длинный правый хвост».

Отсюда практические правила. Для скошенных величин в отчёт выносят медиану и перцентили, а не среднее со стандартным отклонением. Обещания клиенту строят по 90-му или 95-му перцентилю. А сравнивать группы по скошенным величинам корректнее в логарифмической шкале или по медианам, поскольку среднее там определяется несколькими крайними наблюдениями.

Как проверить форму

Три недорогие проверки. Первая: сравнить среднее и медиану — заметный перевес среднего указывает на правый хвост. Вторая: посмотреть на гистограмму исходной величины и на гистограмму её логарифма; если вторая симметрична, распределение логнормально. Третья: проверить, не даёт ли μ − 3σ отрицательного значения там, где величина не может быть отрицательной; если даёт, нормальная модель к этим данным неприменима.

Пример

Для отчёта о качестве доставки берут 5000 заказов: среднее время 34 минуты, медиана 30, 95-й перцентиль 68 минут. Обещать доставку «за 34 минуты» означает нарушать обещание примерно в 40 процентах случаев, поскольку среднее выше медианы и лежит правее середины. Обещание «за 70 минут» нарушается примерно в 4,5 процента случаев. Второе число годится для публичного SLA, первое — только для расчёта суммарной загрузки курьеров за день.

Частая ошибка

К скошенной величине применяют правило «среднее плюс-минус два стандартных отклонения» и строят «нормальный диапазон». По времени доставки со средним 34 минуты и стандартным отклонением 25 минут получают нижнюю границу 34 − 2 × 25 = −16 минут. Отрицательное время доставки — надёжный признак того, что модель выбрана неверно. Как заметить: после расчёта любого интервала посмотрите на его нижнюю границу и спросите, возможна ли такая величина физически. Для длительностей, сумм заказов и числа обращений отрицательная граница означает, что нужно переходить к логнормальной модели или работать с перцентилями напрямую.

Запомнить
  • Нормальное распределение задаётся μ и σ; ориентиры 68, 95 и 99,7 процента для одного, двух и трёх σ.
  • Нормальность разумно ожидать у сумм и средних, а не у произвольных отдельных наблюдений.
  • Длительности и суммы денег обычно логнормальны: среднее выше медианы, хвост длинный, e^(μ + σ²/2) против e^μ.
  • Отрицательная нижняя граница интервала для неотрицательной величины означает, что модель выбрана неверно.
3.7

Закон больших чисел и центральная предельная теорема

Эти две теоремы объясняют, почему выборочное среднее вообще что-то говорит о реальности и как посчитать, насколько сильно ему можно доверять.

Суть

Закон больших чисел утверждает: если брать независимые наблюдения из одного распределения, их среднее с ростом числа наблюдений сходится к матожиданию. Наблюдаемая доля конверсии сходится к истинной вероятности конверсии, наблюдаемое среднее время доставки — к истинному среднему. Это и есть основание всей выборочной аналитики: мы измеряем частоты и выдаём их за вероятности.

Закон больших чисел говорит, что мы придём куда надо, но молчит о том, насколько мы уже близко. На этот вопрос отвечает центральная предельная теорема. Она утверждает, что выборочное среднее n независимых одинаково распределённых величин при большом n распределено приблизительно нормально с центром в истинном среднем μ и стандартным отклонением σ / √n, каким бы ни было распределение отдельного наблюдения.

среднее ≈ N(μ, σ / √n), SE = σ / √n

Величина σ / √n называется стандартной ошибкой среднего. Её важно не путать со стандартным отклонением σ. Стандартное отклонение описывает разброс отдельных наблюдений и с ростом выборки не уменьшается — это свойство самого процесса. Стандартная ошибка описывает разброс оценки среднего и убывает как 1 / √n. Смешение этих двух величин — самая частая техническая ошибка в отчётах.

Как считать интервал

Из нормальности среднего следует приближённый доверительный интервал. Для 95 процентов уверенности берут множитель 1,96, для грубой прикидки — 2.

интервал ≈ среднее ± 1,96 × σ / √n

Пусть время сборки заказа имеет σ = 4 минуты. По выборке из 100 заказов стандартная ошибка равна 4 / √100 = 0,4 минуты, интервал шириной примерно ±0,8 минуты. По выборке из 400 заказов ошибка равна 4 / √400 = 0,2 минуты. Учетверение объёма сузило интервал вдвое — это фундаментальная плата за точность и её нельзя обойти.

Для долей σ известна из бернуллиевской модели и равна √(p × (1 − p)). Тогда стандартная ошибка доли равна √(p × (1 − p) / n). При конверсии 4 процента и выборке 2500 адресов: √(0,04 × 0,96 / 2500) = √(0,0384 / 2500) = √0,00001536 ≈ 0,00392, то есть 0,39 процентного пункта. Интервал 95 процентов: 4 процента ± 0,77 процентного пункта, примерно от 3,2 до 4,8.

Насколько большим должно быть n

Универсального ответа нет: требуемый объём зависит от того, насколько скошено распределение отдельного наблюдения. Для почти симметричных величин приближение работает уже при n около 30. Для долей ориентир иной: не менее 10 успехов и не менее 10 неуспехов, поэтому при конверсии 2 процента выборки в 100 адресов заведомо мало — ожидается всего 2 конверсии. Для сильно скошенных величин вроде стоимости заказа с редкими крупными сделками может не хватить и нескольких тысяч наблюдений.

Полезно помнить, что центральная предельная теорема относится к среднему и к сумме, но не к любой другой статистике. Для медианы, максимума, 95-го перцентиля она в этом виде неприменима, и подставлять σ / √n в интервал для перцентиля нельзя.

Где теорема ломается

Три условия обеспечивают работу теоремы, и в производственных данных нарушается обычно первое. Наблюдения должны быть независимыми. Если в выборке 50 000 заказов, но они принадлежат 4000 клиентам, наблюдения внутри клиента похожи друг на друга, и эффективный объём выборки ближе к числу клиентов, чем к числу заказов. Формула σ / √n при подстановке 50 000 даёт интервал в несколько раз уже реального.

Второе условие — одинаковое распределение. Если в период наблюдений менялись тарифы, регионы или состав базы подписчиков, выборка смешивает разные процессы, и «среднее» описывает несуществующий объект. Третье условие — конечная дисперсия. Для распределений с очень тяжёлыми хвостами, где отдельные наблюдения на порядки превышают типичные, сходимость к нормальной форме идёт настолько медленно, что интервалы становятся бессмысленными; в таких данных работают с медианами и логарифмами.

Наконец, важно понимать границы утверждения. Теорема говорит о распределении оценки при повторных выборках из того же процесса. Она ничего не говорит о том, будет ли процесс завтра таким же, и не защищает от смещения выборки. Если рассылка ушла только по активному сегменту, никакой объём не даст оценку конверсии по всей базе — она будет точной оценкой не той величины.

Пример

Кампания на 2500 адресов дала конверсию 4,0 процента, следующая на 2500 адресов — 4,5 процента. Стандартная ошибка каждой доли около 0,39 и 0,41 процентного пункта, ошибка разности равна √(0,39² + 0,41²) = √(0,1521 + 0,1681) = √0,3202 ≈ 0,57 процентного пункта. Разница 0,5 пункта меньше одной стандартной ошибки, то есть неотличима от случайного колебания. Чтобы уверенно ловить разницу такого размера, потребовалась бы выборка примерно в десять раз больше — порядка 25 000 адресов на вариант.

Частая ошибка

Стандартную ошибку подставляют вместо стандартного отклонения, описывая разброс отдельных доставок. В отчёте появляется строка «время доставки 34 ± 0,4 минуты» при выборке в 5000 заказов. Число 0,4 — это точность оценки среднего, а разброс самих доставок составляет около 25 минут. Как заметить: сравните заявленный интервал с реальными наблюдениями в данных. Если в выборке полно значений за пределами интервала, значит там стоит стандартная ошибка, а не стандартное отклонение. Второй признак — интервал заметно сужается при добавлении данных, хотя сам процесс не менялся.

Запомнить
  • Закон больших чисел даёт сходимость среднего к μ, центральная предельная теорема — форму и масштаб отклонения от него.
  • Стандартная ошибка σ / √n описывает точность оценки, стандартное отклонение σ — разброс наблюдений; они не взаимозаменяемы.
  • Точность растёт как √n: вчетверо больше данных — вдвое уже интервал.
  • Зависимые наблюдения, смена процесса в период измерения и тяжёлые хвосты ломают формулу и делают интервалы обманчиво узкими.
Закрепление

Теория без задач не держится

Восемь задач по этому модулю: выбор ответа и расчёт, с разбором каждого решения. Задачи, в которых вы ошиблись, вернутся в следующий заход.

Перейти к тренажёру