ОСНОВНАЯ МАТЕМАТИКА ДЛЯ НАУКИ ДАННЫХ

Распределение Пуассона

Узнайте об этом важном дискретном распределении с помощью кода и примеров.

Распределение Пуассона

Распределение Пуассона, названное в честь французского математика Дени Симона Пуассона, представляет собой дискретную функцию распределения, описывающую вероятность того, что событие произойдет определенное количество раз в фиксированный интервал времени (или пространства). Он используется для моделирования данных на основе подсчета, например, количества писем, поступающих в ваш почтовый ящик за один час, или количества клиентов, заходящих в магазин за один день.

Математическое определение

Начнем с примера. На экране 1 показано количество писем, полученных Сарой с интервалом в один час.

Рисунок 1. Электронные письма, полученные Сарой с интервалом в один час за последние 100 часов. (изображение автора)

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

Распределение Пуассона параметризуется ожидаемым количеством событий λ (произносится «лямбда») во временном или пространственном окне. Распределение - это функция, которая принимает количество появлений события в качестве входных данных (целое число, называемое k в следующей формуле) и выводит соответствующую вероятность (вероятность того, что существует k происходящие события).

Распределение Пуассона, обозначаемое как «Пои», выражается следующим образом:

Формула Poi (k; λ) возвращает вероятность наблюдения k событий с учетом параметра λ, который соответствует ожидаемому количеству вхождений в этот временной интервал.

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

Обратите внимание, что и биномиальное, и пуассоновское распределения являются дискретными: они дают вероятности дискретных результатов: количество раз, когда событие происходит для распределения Пуассона, и количество успехов для биномиального распределения. Однако, в то время как бином вычисляет это дискретное число для дискретного количества попыток (например, количества подбрасываний монеты), Пуассон рассматривает бесконечное количество попыток (каждое испытание соответствует очень небольшому отрезку времени), что приводит к очень малой вероятности связаны с каждым событием.

Ниже вы увидите, как распределение Пуассона выводится из биномиального распределения.

Пример

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

Глядя на данные за последние несколько часов, Прия отмечает, что в среднем две птицы обнаруживаются с интервалом в одну минуту. Таким образом, значение 2 может быть хорошим кандидатом для параметра распределения λ. Ее цель - узнать вероятность того, что определенное количество птиц запоет в следующую минуту.

Давайте реализуем функцию распределения Пуассона по формуле, которую вы видели выше:

Помните, что λ - это ожидаемое количество раз, которое птица поет за один минутный интервал, поэтому в этом примере у вас λ = 2. Функция poisson_distribution(k, lambd) принимает значения k и λ и возвращает вероятность наблюдать k вхождений (то есть записывать k пение птиц).

Например, вероятность того, что Прия увидит 5 птиц в следующую минуту, будет:

0.03608940886309672

Вероятность того, что в следующую минуту запоют 5 птиц, составляет около 0,036 (3,6%).

Как и в случае с биномиальной функцией, при больших значениях k произойдет переполнение. По этой причине вы можете использовать poisson из модуля scipy.stats следующим образом:

0.03608940886309672

Построим график распределения для различных значений k:

Рисунок 2: Распределение Пуассона для λ = 2. (изображение автора)

Вероятности, соответствующие значениям k, суммированы в функции массы вероятности, показанной на рисунке 2. Вы можете видеть, что наиболее вероятно, что Прия услышит пение одной или двух птиц в следующую минуту.

Наконец, вы можете построить график функции для разных значений λ:

Рисунок 3: Распределение Пуассона для различных значений λ. (изображение автора)

На рисунке 3 показано распределение Пуассона для различных значений λ, которое в некоторых случаях немного похоже на нормальное распределение. Однако распределение Пуассона является дискретным, а не симметричным, когда значение λ низкое и ограничено нулем.

Бонус: получение распределения Пуассона

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

Вы видели в Essential Math for Data Science, что если вы запустите случайный эксперимент несколько раз, вероятность получить m успехов по N попыткам с вероятностью успеха μ в каждом испытании рассчитывается с помощью биномиального распределения:

Заявление о проблеме

Как вы можете использовать биномиальную формулу для моделирования вероятности наблюдать событие определенное количество раз в заданном временном интервале вместо определенного количества испытаний? Есть несколько проблем:

  1. Вы не знаете N, поскольку нет конкретного количества испытаний, только временное окно.
  2. Вы не знаете μ, но у вас есть ожидаемое количество раз, когда событие произойдет. Например, вы знаете, что за последние 100 часов вы получали в среднем 3 письма в час и хотите узнать вероятность получения 5 писем в следующий час.

Давайте разберемся с этими проблемами математически.

Чтобы обратиться к первому пункту, вы можете рассматривать время как небольшие дискретные отрезки. Назовем эти фрагменты ϵ (произносится «эпсилон»), как показано на рисунке 4. Если вы рассматриваете каждый фрагмент как пробный, у вас есть N фрагментов.

Рис. 4. Непрерывное время можно разделить на сегменты длиной ϵ. (изображение автора)

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

Подводя итог, вы хотите изменить биномиальное распределение, чтобы иметь возможность моделировать очень большое количество испытаний, каждое с очень малой вероятностью успеха. Хитрость заключается в том, чтобы учесть, что N стремится к бесконечности (поскольку непрерывное время аппроксимируется значением ϵ, которое стремится к нулю).

Обновите биномиальную формулу

Давайте найдем μ в этом случае и заменим его в биномиальной формуле. Вы знаете ожидаемое количество событий за период времени t, который мы назовем λ (произносится «лямбда»). Поскольку вы разбили t на небольшие интервалы длиной ϵ, у вас есть количество испытаний:

У вас есть λ как количество успехов в N испытаниях. Таким образом, вероятность μ успеха в одном испытании равна:

Заменив μ в биномиальной формуле, вы получите:

Разработав выражение, записав биномиальный коэффициент в виде факториалов (как вы это делали в Essential Math for Data Science) и используя факт a ^ {b-c} = a ^ b-a ^ c, вы получите:

Давайте рассмотрим первый элемент этого выражения. Если вы укажете, что N стремится к бесконечности (потому что ϵ стремится к нулю), у вас есть:

Это связано с тем, что k можно игнорировать, если оно мало по сравнению с N. Например, у вас есть:

что приблизительно равно 1,000,000 ⋅ 1,000,000 ⋅ 1,000,000

Итак, первое соотношение становится:

Тогда у вас есть:

Наконец, поскольку значение внутри круглых скобок стремится к 1, когда N стремится к бесконечности:

Заменим все это в формуле биномиального распределения:

Это распределение Пуассона:

Первоначально опубликовано на https://hadrienj.github.io 24 ноября 2020 г.

Этот пост представляет собой образец моей книги Essential Math for Data Science!

Бери книгу здесь!