python-幾何分佈(scipy.stats.geom)

一、摘要

幾何分佈很簡單,描述的是重複進行伯努利試驗,直到成功一次時進行的試驗次數n的概率分佈。例如擲骰子直到1點向上時所進行的試驗次數。幾何分佈是離散型概率分佈,要麼就試驗1次時成功,要麼2次時成功,...。沒有1.5次時成功的說法 。

 

二、幾何分佈公式

幾何分佈概率分佈列爲:

P(X=k)=(1-p)^{k-1}p,\, \, \, \, \, \, \, k=1,2,3,...

其中p表示一次試驗成功的概率。

期望:\frac{1}{p},  方差:\frac{1-p}{p^{2}}

 

三、概率直方圖(python計算):

from scipy import stats
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']=False#用來正常顯示負號

p=0.1
X = []
Y=[]
for x in np.linspace(1, 100, 100):
    X.append(x)
  #  Y.append((1-p)**(x-1)*p) #公式計算
    Y.append(stats.geom.pmf(x, p)) #stats.geom工具計算
plt.bar(X, Y, color="red")
plt.xlabel("第一次成功所需的試驗次數")
plt.ylabel("概率")
plt.show()

 

四、累積概率分佈

用scipy.stats.geom.cdf(k, p)計算k之前(包括k)的累積概率

from scipy import stats
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']=False#用來正常顯示負號

p=0.1
X = []
Y=[]
for x in np.linspace(1, 100, 100):
    X.append(x)
    Y.append(stats.geom.cdf(x, p)) #stats.geom工具計算
plt.bar(X, Y, color="red")
plt.xlabel("試驗次數")
plt.ylabel("累積概率")
plt.show()

五、對p的延伸

如果p並不是每次都一樣,也就是每次試驗成功的概率並不完全相等,可以對公式進行改造。

P(X=k)=\left ( \prod_{i=1}^{i=k-1}(1-p_{i}) \right )p_{k},\, \, \, \, \, \, \, k=1,2,3,...

相應的也可以計算期望

E=\sum_{k=0}^{k=\infty }\left (k\left ( \prod_{i=1}^{i=k-1}(1-p_{i}) \right )p_{k} \right)

根據期望計算公式,現實中由於樣本有限,我們可能並沒有k 接近無窮時的概率。假設我們只有n個概率樣本

\left ( p_{1},p_{2},...,p_{n} \right ),這裏有2種方法估計期望:

(1)、取p=(p_{1}+p_{1}+...+p_{n})/n作爲平均每次發生的概率,由此計算期望

E=1/p=n/(p_{1}+p_{2}+...+p_{n})

(2)、由於我們沒有更多的樣本,不妨假設未來一直按樣本重複着\left ( p_{1},p_{2},...,p_{n} \right )\left ( p_{1},p_{2},...,p_{n} \right )\left ( p_{1},p_{2},...,p_{n} \right ),...,由此計算期望

E=\frac{1*p_{1}+2*q_{1}p_{2}+3*q_{1}q_{2}p_{3}+...+(n-1)*q_{1}q_{2}...q_{n-2}p_{n-1}+n*q_{1}q_{2}...q_{n-1}}{1-q_{1}q_{2}...q_{n}}(注意看分子最後2項,最後一項沒有p)

公式推導過程可以看:幾何分佈每次概率不同期望公式推導(多個不同p的幾何分佈期望)

 

問題:

1、某搖號系統,每月搖號一次,由於搖號人數不固定,每個月搖號的中籤率不固定。現收集到歷史連續24個月搖號中籤概率分別爲:

0.0023, 0.0030, 0.0031, 0.0035, 0.0029, 0.0022, 0.0024, 0.0040, 0.0026, 0.0035, 0.0028, 0.0029,

0.0038, 0.0033, 0.0027, 0.0042, 0.0058, 0.0035, 0.0025, 0.0028, 0.0035, 0.0033, 0.0032, 0.0041

問:一個人從現在開始搖號直到中籤的期望月數是多少?

方法(1):E=1/p=n/(p_{1}+p_{2}+...+p_{n}),p=0.0032458, E=308.087。

方法(2):E=\frac{1*p_{1}+2*q_{1}p_{2}+3*q_{1}q_{2}p_{3}+...+(n-1)*q_{1}q_{2}...q_{n-2}p_{n-1}+n*q_{1}q_{2}...q_{n-1}}{1-q_{1}q_{2}...q_{n}}

結果E=308.638

 到這裏,我終於知道爲何搖號我總是沒有中籤。

 

 

author:藍何忠

email:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章