如何在 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 发生的概率

以下示例演示如何使用 Python 中的scipy.stats.multinomial()函数来回答有关多项分布的不同概率问题。

实施例1

在市长三选制中,候选人 A 获得 10% 的选票,候选人 B 获得 40% 的选票,候选人 C 获得 50% 的选票。

如果我们随机抽取 10 名选民,那么 2 人投票给候选人 A、4 人投票给候选人 B、4 人投票给候选人 C 的概率是多少?

我们可以用Python中的以下代码来回答这个问题:

 from scipy. stats import multinomial

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

0.05040000000000001

恰好有 2 人投票给 A、4 人投票给 B、4 人投票给 C 的概率是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

假设两个学生正在互相下棋。学生 A 在给定游戏中获胜的概率为 0.5,学生 B 在给定游戏中获胜的概率为 0.3,在给定游戏中平局的概率为 0.2。

如果他们玩 10 场比赛,玩家 A 赢 4 次、玩家 B 赢 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

玩家 A 获胜 4 次、玩家 B 获胜 5 次、平局 1 次的概率约为0.038

其他资源

以下教程提供有关多项分布的更多信息:

多项式分布简介
多项分布计算器
什么是多项式检验? (定义和例子)

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注