.
假設有兩個各裝了100個球的箱子,甲箱子中有70個紅球,30個綠球,乙箱子中有30個紅球,70個綠球。假設隨機選擇其中一個箱子,從中拿出一個球記下球色再放回原箱子,如此重複12次,記錄得到8次紅球,4次綠球。問題來了,你認爲被選擇的箱子是甲箱子的概率有多大?
直接用套用貝葉斯公式來計算。但必須定義清楚 A事件,B事件。
在這個題目中,令事件B爲選擇甲箱子,令事件A爲得到8紅4綠。
則 即爲題目所求:在得到8紅4綠的情況下,選擇的箱子是甲箱子的概率?
.
根據貝葉斯公式:
先來看下選擇甲箱子的情況下,得到8紅4綠的概率爲 :
選擇甲箱子的概率爲 :
得到8紅4綠的概率爲。可以分爲兩種情況來算,一是當選擇甲箱子的情況,另一種情況是當選擇乙箱子的情況,則:
.
綜合以上,最後根據貝葉斯公式算得:
.
用代碼實現:
from scipy.special import perm, comb
c = comb(12,8)
P_AB=c*pow(0.7,8)*pow(0.3,4)
print("P(A|B)=",P_AB)
P_B=0.5
print("P(B)=",P_B)
P_A=0.5*c*(pow(0.7,8)*pow(0.3,4)+pow(0.7,4)*pow(0.3,8))
print("P(A)=",P_A)
P_BA = P_AB*P_B/P_A
print("選擇的箱子是甲箱子的概率是:P(B|A)={0:.2%}".format(P_BA))
P(A|B)= 0.2311
P(B)= 0.5
P(A)= 0.1194
選擇的箱子是甲箱子的概率是:P(B|A)= 96.74%