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


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

Если случайная величина X подчиняется полиномиальному распределению, то вероятность того, что исход 1 произойдет ровно x 1 раз, исход 2 произойдет ровно x 2 раза и т. д., можно найти по следующей формуле:

Вероятность = 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 произойдет в данном испытании.

Чтобы вычислить полиномиальную вероятность в R, мы можем использовать функцию dmultinom() , которая использует следующий синтаксис:

dmultinom(x=c(1, 6, 8), prob=c(.4, .5, .1))

куда:

  • x : вектор, который представляет частоту каждого результата
  • prob : вектор, представляющий вероятность каждого исхода (сумма должна быть равна 1)

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1

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

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

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

#calculate multinomial probability
dmultinom(x=c(2, 4, 4), prob=c(.1, .4, .5))

[1] 0.0504

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

Пример 2

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

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

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

#calculate multinomial probability
dmultinom(x=c(4, 0, 0), prob=c(.6, .2, .2))

[1] 0.1296

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

Пример 3

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

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

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

#calculate multinomial probability
dmultinom(x=c(4, 5, 1), prob=c(.5, .3, .2))

[1] 0.0382725

Вероятность того, что игрок А выиграет 4 раза, игрок Б выиграет 5 раз и у них будет ничья 1 раз, составляет около 0,038 .

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

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

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