Как использовать полиномиальное распределение в python


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

Если случайную величину можно найти по следующей формуле:

Вероятность = n! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)

Золото:

  • n: общее количество событий
  • x 1 : количество раз, когда возникает результат 1
  • p 1 : вероятность того, что результат 1 произойдет в данном испытании.

В следующих примерах показано, как использовать функцию scipy.stats.multinomial() в Python для ответа на различные вопросы о вероятности, касающиеся полиномиального распределения.

Пример 1

На трехсторонних выборах мэра кандидат А получает 10% голосов, кандидат Б — 40% голосов, а кандидат С — 50% голосов.

Если мы выберем случайную выборку из 10 избирателей, какова вероятность того, что 2 проголосуют за кандидата А, 4 проголосуют за кандидата В и 4 проголосуют за кандидата С?

Чтобы ответить на этот вопрос, мы можем использовать следующий код на Python:

 from scipy. stats import multinomial

#calculate multinomial probability
multinomial. pmf (x=[2, 4, 4], n=10, p=[.1, .4, .5])

0.05040000000000001

Вероятность того, что ровно 2 человека проголосовали за А, 4 за В и 4 за С, равна 0,0504 .

Пример 2

Предположим, в урне лежат 6 желтых шариков, 2 красных шарика и 2 розовых шарика.

Если мы случайным образом выберем из урны 4 шара с заменой, какова вероятность того, что все 4 шара будут желтыми?

Чтобы ответить на этот вопрос, мы можем использовать следующий код на Python:

 from scipy. stats import multinomial

#calculate multinomial probability
multinomial. pmf (x=[4, 0, 0], n=4, p=[.6, .2, .2])

0.1295999999999999

Вероятность того, что все 4 шара желтые, равна примерно 0,1296 .

Пример 3

Предположим, два ученика играют друг против друга в шахматы. Вероятность того, что студент А выиграет данную игру, равна 0,5, вероятность того, что студент Б выиграет данную игру, равна 0,3, а вероятность того, что в данной игре будет ничья, равна 0,2.

Если они сыграют 10 игр, какова вероятность того, что игрок А выиграет 4 раза, игрок Б выиграет 5 раз и что они сыграют вничью 1 раз?

Чтобы ответить на этот вопрос, мы можем использовать следующий код на Python:

 from scipy. stats import multinomial

#calculate multinomial probability
multinomial. pmf (x=[4, 5, 1], n=10, p=[.5, .3, .2])

0.03827249999999997

Вероятность того, что игрок А выиграет 4 раза, игрок Б выиграет 5 раз и что они 1 раз сравняют счет, равна примерно 0,038 .

Дополнительные ресурсы

Следующие руководства предоставляют дополнительную информацию о полиномиальном распределении:

Введение в полиномиальное распределение
Калькулятор полиномиального распределения
Что такое полиномиальный тест? (Определение и пример)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *