我家小朋友年方1歲半,家里每天上午都要出去遛小孩。現在小朋友有兩項愛好,在家翻垃圾桶,出門撿煙頭。
翻垃圾桶可以有效地限制,撿煙頭可是防不勝防。
也許煙頭能散發出特殊的能量波動,小區的綠化帶和草坪上的大部分煙頭都能被小朋友准確地發現,如果他在不規則的前進路線中突然停下了,那肯定是看到了新的煙頭。
錯失獎勵概率
在我的嚴密監視下,小朋友撿煙頭的幾率已經從原來的“絕不放過”下降到了現在的20%,如果他直到回家還沒有煙頭,就能得到一個棒棒糖作為獎勵。當然,每個煙頭對他來說仍然存在着獨特的魅力,在最初遇到的3個煙頭中沒有經受住考驗的概率是多少?
設隨機變量X是小朋友最終撿起煙頭時所發現的煙頭個數,那么:
最初遇到的3個煙頭中沒有抵抗住誘惑的概率可以用P(X ≤ 3)表示:
每個煙頭都是一次考驗,我的關注點是,小朋友在第幾次考驗時會撿起煙頭?
質量函數
小朋友每次遇到煙頭的行為都是一個獨立的隨機試驗,試驗只有成功和失敗兩種結果,且對於每個隨機試驗來說,成功的概率都是相同的。對於小朋友自己來說,撿起煙頭是成功,錯過才是失敗,只要成功一次就沒有棒棒糖,試驗結束。現在用p表示成功率(撿起煙頭的概率),q = 1 – p表示失敗率,隨機變量X表示第一次成功時所經歷的試驗次數,那么在進行了r次試驗后才遇到第一次成功的概率(或者說在第r次試驗取得成功前,需要經歷r-1次失敗的概率)可以表示為:
這個分布就是幾何分布(Geometric distribution),X服從幾何分布,記為X~GE(p)。
下面的python代碼展示了r取不同值時的P(X=r)。
1 import numpy as np 2 import matplotlib.pyplot as plt 3 from scipy import stats 4 5 p = 0.2 # 成功率 6 print('X ~ GE({0})'.format(p)) 7 8 rs = np.array(range(1, 11, 1)) # 隨機變量的取值 9 # 幾何分布 X ~ GE(0.2) 10 ps = stats.geom.pmf(rs, p) # 每個隨機變量對應的概率 11 for i, r in enumerate(rs): 12 print('P(X={0})={1}'.format(r, ps[i])) 13 14 plt.bar(left=rs, height=ps, width=0.5) 15 plt.xlabel('r, X=r表示第r次試驗才成功') 16 plt.ylabel('P(X=r)') 17 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標簽 18 plt.show()
X ~ GE(0.2)
P(X=1)=0.2
P(X=2)=0.16000000000000003
P(X=3)=0.12800000000000003
P(X=4)=0.10240000000000003
P(X=5)=0.08192000000000002
P(X=6)=0.06553600000000002
P(X=7)=0.052428800000000025
P(X=8)=0.041943040000000015
P(X=9)=0.033554432000000016
P(X=10)=0.026843545600000015
對於幾何分布來說,r是大於等於1的自然數,並且只有成功的概率處於(0, 1)之間才有意義,因此當r = 1時,P(X = r)達到最大值,隨着r的增大,P(X = r)也越來越小。
幾何分布是一個典型的長尾分布,第一次就成功的概率是最高的,這看似有違直覺。這里需要注意的是,“第r次才取得成功”和“在r次之內取得成功”是兩回事,后者才是概率越來越大。
實際中有不少隨機變量服從幾何分布,例如某產品的不合格率為0.05,則首次查到不合格品的檢查次數X~GE(0.05)。
分布的形狀
現在回到問題的關注點:小朋友在第幾次考驗時會撿起煙頭?這個問題並不能確切地回答,可以回答的是,在r次考驗之內撿起煙頭的概率。這個概率可以用分布函數表示:
另一種計算方法是:
P(X > r)表示在取得第一次成功時,前r次試驗都失敗的概率。F(r)更為專業的說法是:為得到1次成功而進行r次伯努利試驗,r的概率分布。
下面的代碼展示了幾何分布的形狀:
1 fs = stats.geom.cdf(rs, p) # 每個r對應的分布 2 for i, r in enumerate(rs): 3 print('F({0})=P(X<={0})={1}'.format(r, fs[i])) 4 5 plt.bar(left=rs, height=fs, width=0.5) 6 plt.xlabel('r, X<=r表示前r次試驗至少有一次成功') 7 plt.ylabel('F(r) = P(X <= r)') 8 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標簽 9 plt.show()
F(1)=P(X<=1)=0.19999999999999998)
F(2)=P(X<=2)=0.36)
F(3)=P(X<=3)=0.488)
F(4)=P(X<=4)=0.5904)
F(5)=P(X<=5)=0.67232)
F(6)=P(X<=6)=0.7378560000000001)
F(7)=P(X<=7)=0.7902848)
F(8)=P(X<=8)=0.83222784)
F(9)=P(X<=9)=0.865782272)
F(10)=P(X<=10)=0.8926258176)
小朋友大約有89%的概率在10次考驗內撿起煙頭,他也因此很少得到棒棒糖。
期望和方差
X ~ GE(p),q=1-p,P(X = r) = pqr-1,當r→∞時:
來看看是怎么得出的。
期望
可以根據幾何級數的公式繼續計算:
對於幾何分布來說,p=0.2表示單次試驗成功的概率是0.2,E[X]=1/p=5是在告訴我們,期望在第5次試驗時獲得成功,或者說5次試驗中就有一次趨向成功。
方差
根據Var(X) = E[X2] – E[X]2來計算幾何分布的方差:
將①代入:
出處:微信公眾號 "我是8位的"
本文以學習、研究和分享為主,如需轉載,請聯系本人,標明作者和出處,非商業用途!
掃描二維碼關注作者公眾號“我是8位的”