泊松分布一
文章目錄
- 1. 泊松分布定義
- 2.泊松分布具體實例
- 實例1:
- 實例2:
- 3.生成泊松分布的代碼
泊松分布適合于描述單位間隔(時間、距離、面積、體積)內(nèi)隨機事件發(fā)生的次數(shù)的概率分布。如電話交換機接到呼叫的次數(shù)、汽車站臺的候客人數(shù)、機器出現(xiàn)的故障數(shù)、自然災(zāi)害發(fā)生的次數(shù)、DNA序列的變異數(shù)、放射性原子核的衰變數(shù)、一年內(nèi)撞擊地球的直徑大于1米的隕石數(shù)量、CCD/CMOS像元接受光子的數(shù)量等等。
1. 泊松分布定義
定義
如果一個離散隨機變量XXX,它的質(zhì)量密度函數(shù)由下式給出,則我們稱這個離散隨機變量XXX服從泊松分布
f(k;λ)=p(X=k)=λke?λk!,λ>0,k=0,1,2,3,...f(k;\lambda)=p(X=k)=\frac{\lambda^{k}e^{-\lambda}}{k!},\lambda>0,k=0,1,2,3,...f(k;λ)=p(X=k)=k!λke?λ?,λ>0,k=0,1,2,3,...
假設(shè)與有效條件
以下假設(shè)成立時,泊松分布模型適用:
- 事件在一個時間間隔內(nèi)發(fā)生,且k可以取值0,1,2,…;
- 一個事件的發(fā)生不影響下一個事件發(fā)生的概率,也就是事件發(fā)生是相互獨立的;
- 事件發(fā)生的平均速率(average event rate)與任何事件的發(fā)生無關(guān)。一般為簡單起見,通常假定事件發(fā)生的平均速率為常數(shù),但實際上可能隨時間而變化;
- 兩個事件不可能在完全相同的時刻發(fā)生,即在每一小段的時間內(nèi)正好有一個事件發(fā)生或不發(fā)生。
(如果這些條件成立,那么kkk就是一個泊松隨機變量,kkk的分布就是一個泊松分布。)
泊松分布的參數(shù)λ是隨機事件發(fā)生次數(shù)的數(shù)學(xué)期望值,且服從泊松分布的隨機變量,其數(shù)學(xué)期望與方差相等,即 λ=E(X)=Var(X)\lambda=E(X)=Var(X)λ=E(X)=Var(X)。
2.泊松分布具體實例
實例1:
在一條特定的河流上,平均每 100 年發(fā)生一次洪水。假設(shè)發(fā)生洪水次數(shù)符合泊松分布,那么計算 100 年間發(fā)生k = 0、1、2、3、4、5 或 6 次洪水的概率 就可以用泊松分布的公式直接計算。
因為平均事件率(average event rate)是每 100 年發(fā)生一次洪水,所以λ=1\lambda=1λ=1.
p(100年內(nèi)發(fā)生k次洪水)=λke?λk!=1ke?1k!=e?1k!p(100年內(nèi)發(fā)生k次洪水)=\frac{\lambda^{k}e^{-\lambda}}{k!}=\frac{1^{k}e^{-1}}{k!}=\frac{e^{-1}}{k!}p(100年內(nèi)發(fā)生k次洪水)=k!λke?λ?=k!1ke?1?=k!e?1?
p(100年內(nèi)發(fā)生0次洪水)=10e?10!=e?11≈0.368p(100年內(nèi)發(fā)生0次洪水)=\frac{1^{0}e^{-1}}{0!}=\frac{e^{-1}}{1}\approx0.368p(100年內(nèi)發(fā)生0次洪水)=0!10e?1?=1e?1?≈0.368
p(100年內(nèi)發(fā)生1次洪水)=11e?11!=e?11≈0.368p(100年內(nèi)發(fā)生1次洪水)=\frac{1^{1}e^{-1}}{1!}=\frac{e^{-1}}{1}\approx0.368p(100年內(nèi)發(fā)生1次洪水)=1!11e?1?=1e?1?≈0.368
p(100年內(nèi)發(fā)生2次洪水)=12e?12!=e?12≈0.184p(100年內(nèi)發(fā)生2次洪水)=\frac{1^{2}e^{-1}}{2!}=\frac{e^{-1}}{2}\approx0.184p(100年內(nèi)發(fā)生2次洪水)=2!12e?1?=2e?1?≈0.184
p(k=3)=0.061p(k=3)=0.061p(k=3)=0.061
p(k=4)=0.015p(k=4)=0.015p(k=4)=0.015
…
實例2:
María Dolores Ugarte及其同事在一篇報道中指出世界杯足球比賽中的平均進球數(shù)約為2.5個,也適合泊松分布。 因為平均事件率(average event rate)為每場比賽 2.5 個進球,所以 λ = 2.5。
p(一場世界杯比賽進k個球)=2.5ke?2.5k!p(一場世界杯比賽進k個球)=\frac{2.5^{k}e^{-2.5}}{k!}p(一場世界杯比賽進k個球)=k!2.5ke?2.5?
p(一場世界杯比賽進0個球)=2.50e?2.50!=e?2.51≈0.082p(一場世界杯比賽進0個球)=\frac{2.5^{0}e^{-2.5}}{0!}=\frac{e^{-2.5}}{1}\approx0.082p(一場世界杯比賽進0個球)=0!2.50e?2.5?=1e?2.5?≈0.082
p(一場世界杯比賽進1個球)=2.51e?2.51!=2.5e?2.51≈0.205p(一場世界杯比賽進1個球)=\frac{2.5^{1}e^{-2.5}}{1!}=\frac{2.5e^{-2.5}}{1}\approx0.205p(一場世界杯比賽進1個球)=1!2.51e?2.5?=12.5e?2.5?≈0.205
p(一場世界杯比賽進2個球)=2.52e?2.52!=6.25e?2.52≈0.257p(一場世界杯比賽進2個球)=\frac{2.5^{2}e^{-2.5}}{2!}=\frac{6.25e^{-2.5}}{2}\approx0.257p(一場世界杯比賽進2個球)=2!2.52e?2.5?=26.25e?2.5?≈0.257
p(k=3)=0.213p(k=3)=0.213p(k=3)=0.213
p(k=4)=0.133p(k=4)=0.133p(k=4)=0.133
p(k=5)=0.067p(k=5)=0.067p(k=5)=0.067
…
3.生成泊松分布的代碼
import numpy as np import matplotlib.pyplot as pltdef poisson(lam:float,max_k:int):"""采用迭代求解的方式計算泊松分布泊松分布:p(k) = exp(-lam) * (lam**k) / k!,k>=0.迭代方式:p(k) = p(k-1) * lam / k, k>=1, and p(0) = exp(-lam)."""poisson_score = []# p(0) = exp(-lam)p_0 = np.exp(-lam)poisson_score.append(p_0)k_mult = 1 # 計算階乘的中間變量for i in range(1,max_k):p_k = poisson_score[-1] * lam / ipoisson_score.append(p_k)return poisson_scoredef main():lam1 = 1lam2 = 2lam3 = 5lam4 = 10max_k = 20poisson_score1 = poisson(lam1,max_k)poisson_score2 = poisson(lam2,max_k)poisson_score3 = poisson(lam3,max_k)poisson_score4 = poisson(lam4,max_k)x = np.arange(len(poisson_score1))plt.plot(x,poisson_score1,'c*-',c='b',label='lambda='+str(lam1))plt.plot(x,poisson_score2,'c*-',c='g',label='lambda='+str(lam2))plt.plot(x,poisson_score3,'c*-',c='r',label='lambda='+str(lam3))plt.plot(x,poisson_score4,'cv-',c='b',label='lambda='+str(lam4))plt.title("Poisson distribution")plt.ylabel("Probability")plt.xlabel("k")plt.xticks(x,[str(item) for item in range(len(poisson_score1))]) # 刻度plt.grid(True)plt.legend()plt.show()if __name__ == "__main__":main()參考文獻
[1].https://en.wikipedia.org/wiki/Poisson_distribution
總結(jié)
- 上一篇: 5.Django路由path和re_pa
- 下一篇: EBS功能_如何月结对账