如何在 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 。
其他资源
以下教程提供有关多项分布的更多信息: