如何在 r 中使用多项式分布
多项分布描述了当每个结果具有固定的发生概率时,获得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 发生的概率
要计算 R 中的多项式概率,我们可以使用dmultinom()函数,该函数使用以下语法:
dmultinom(x=c(1, 6, 8), 概率=c(.4, .5, .1))
金子:
- x :表示每个结果的频率的向量
- prob :表示每个结果的概率的向量(总和必须为 1)
以下示例展示了如何在实践中使用此功能。
实施例1
在市长三选制中,候选人 A 获得 10% 的选票,候选人 B 获得 40% 的选票,候选人 C 获得 50% 的选票。
如果我们随机抽取 10 名选民,那么 2 人投票给候选人 A、4 人投票给候选人 B、4 人投票给候选人 C 的概率是多少?
我们可以在R中使用以下代码来回答这个问题:
#calculate multinomial probability
dmultinom(x=c(2, 4, 4), prob=c(.1, .4, .5))
[1] 0.0504
恰好有 2 人投票给 A、4 人投票给 B、4 人投票给 C 的概率是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
假设两个学生正在互相下棋。学生 A 在给定游戏中获胜的概率为 0.5,学生 B 在给定游戏中获胜的概率为 0.3,在给定游戏中平局的概率为 0.2。
如果他们玩 10 场比赛,玩家 A 赢 4 次、玩家 B 赢 5 次、平局 1 次的概率是多少?
我们可以在R中使用以下代码来回答这个问题:
#calculate multinomial probability
dmultinom(x=c(4, 5, 1), prob=c(.5, .3, .2))
[1] 0.0382725
玩家 A 获胜 4 次、玩家 B 获胜 5 次、平局 1 次的概率约为0.038 。
其他资源
以下教程提供有关多项分布的更多信息: