全概率公式
定义: 设 $A_1,A_2,⋯,A_n$ 为完备事件组,$P( A_ {i} )>0(i=1,2, \cdots ,n)$
$$
P(B)= \sum _ {i=1}^ {n} P( A_ {i} )P( B|A_ {i} )
$$贝叶斯公式
请查看 此文章
Python 示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# 导入库
import numpy as np
# 共 10 个盒子,b[i][0] 表示盒子 i 中的苹果数量,b[i][1] 表示盒子 i 中的橙子数量
np.random.seed(0)
b = np.random.randint(0, 10, (10, 2))
# 共 10 个盒子,p[i] 表示盒子 i 被挑中的概率
p = np.array([0.1, 0.1, 0.05, 0.15, 0.08, 0.12, 0.09, 0.11, 0.06, 0.14])
# 初始化概率,P 表示挑出的水果是橙子的概率
P = 0
# 根据全概率公式,求挑出的水果是橙子的概率
for i in range(10):
P += (b[i][1] / (b[i][0] + b[i][1])) * p[i]
# 打印结果
print("挑出的水果是橙子的概率为:", P)
# 已知挑出的水果是橙子,根据贝叶斯公式,求是从第一个盒子挑出的概率
P_1 = (b[0][1] / (b[0][0] + b[0][1])) * p[0] / P
# 打印结果
print("已知挑出的水果是橙子,是从第一个盒子挑出的概率为:", P_1)
|