原創 | 一文讀懂泊松分布,指數分布和伽馬分布

2021-02-20 數據派THU

本文以簡單直白的方式讓大家能夠理解泊松分布,指數分布和伽馬分布的實際含義和作用,並且由此推導其概率密度函數。

在開始之前,我們需要預習一下二項分布。

還是丟硬幣的例子,丟某塊特製的硬幣,假設正面向上的概率是P,則擲出次,有K次向上的概率P是多少?

將硬幣正面朝上的次數記為隨機變量,則有

這種分布就是二項分布。容易證明,二項分布的數學期望 

泊松分布


我們回到泊松分布。先來看一個生活場景。

宋朝慶曆年間,劉姥姥由於生活壓力,不得不根據祖傳秘方發明總結並始創了一種名叫十二香的調料,並開始在市場上叫賣。劉姥姥在街上賣了半年,由於本小利薄,味道贊絕,一直供不應求,但由於製作周期長,原料準備流程複雜,而且保存時間較短,一直無法提高產量。

這一天,劉姥姥終於決定要弄清楚她每天剛製作的調料究竟是如何被火速買光的,以便提高進貨量來增加銷量。

劉姥姥首先買了絕對充足的原料,熬夜製作了足份的十二香。賣了一周,每天開張五個時辰,結果沒賣光剩下的調料全部變質了只能丟掉,心疼的她難受了小半天。不過她總算是記錄下了寶貴的數據:這七天內每天調料的銷售情況。

劉姥姥看著這用浪費的調料換來的寶貴數據,想了想,打算以後每天都按照日出貨平均數:即10份來進原材料,製作,保存。

劉姥姥的兒子劉大耳不同意。他認為:如果按照10份準備,那七天裡有四天都不夠賣的,這可能會使王縣令的老婆買不到調料,將來一定會鬧事。

劉大耳說:我們應該保證有90%以上的把握準備最少的調料每日的份數,使來咱這購買十二香的客人需求全都滿足。我們可以如此如此,這般這般……

於是劉姥姥就聽從了大耳兒的建議,從此之後,生意更加興隆,至於王縣令後來入夥加盟,生意不斷做大,後來更是推陳出新創立了十三香舉世聞名,當然這都是後話了。

那麼當時劉大耳的方案是什麼呢?接下來將一一道來。

劉姥姥每天賣五個時辰,也就是600分鐘,如果每分鐘最多只能賣出一份調料,且在這一分鐘賣出調料的概率是P,那麼這一天賣出10份調料的概率可以通過二項分布計算:

但是王縣令家裡人丁興旺,他老婆有時候會一次買幾十份調料,那每分鐘可能就賣出去不止一份調料。於是劉大耳將分割六個時辰的時間間隔進一步縮小,分割成,再利用極限的思想:

再抽象一些,那麼在某天能賣出份調料的概率應該是:

那麼P如何計算呢?還記得二項分布的期望嗎:假設

而我們可以使用當比較小的時候計算平均值得到的來近似。

另外,需要注意的是,在如上假設下,當越來越大時,值也會越來越小。

我們來進一步計算一下這個概率:





至此,我們就得到了教科書中泊松分布的概率密度函數!

劉大耳用近似替代這裡的。於是我們可以利用python中的scipy庫快速畫出劉姥姥每天賣出份十二香的概率密度曲線和累計分布函數。

import numpy as npfrom scipy import statsfrom matplotlib import pyplot as plt
mu = 10x = np.arange(0,101,1) plist = stats.poisson.pmf(x,mu) clist = stats.poisson.cdf(x,mu)
plt.plot(x,plist,label='poisson distribution pmf') # plt.plot(x,cdflist,label='poisson distribution cdf') plt.xlim((-1,15))plt.grid() plt.legend() plt.title(r'Poisson Distribution $\mu$:10') plt.show()

如圖1。近似從圖中得出:每天準備14份十二香,就有超過90%的把握不讓顧客乘興而來空手而去。

從上面的例子可以看出,泊松分布可以近似模擬一個離散事件在連續時間內發生的次數的概率分布。真實世界中有很多場景都和泊松分布有關,比如某網站在某段時間內的點擊率;客服中心在某段時間內接到電話的次數;醫院在某段時間內接生的嬰兒;放射性元素在某段時間內衰變的粒子個數……

事實上我們通過上面的推導過程也能看出:當很小(或很大)時的二項分布就近似等於泊松分布,此時我們也可以用泊松分布來快速近似計算起來更麻煩的二項分布。不信的話我們把代碼和圖撂在這,請看圖2。

import numpy as np from scipy import stats from matplotlib import pyplot as plt
mu = 10 x = np.arange(0,101,1) plist = stats.poisson.pmf(x,mu)blist1 = stats.binom.pmf(x,20,0.5) blist2 = stats.binom.pmf(x,40,0.25) blist3 = stats.binom.pmf(x,100,0.1)
plt.plot(x,plist,label=r'poisson $/mu:10$',color='k') plt.plot(x,blist1,'-.',label=r'binomial $n:20, p:0.5$',alpha=0.5) plt.plot(x,blist2,'-.',label=r'binomial $n:40, p:0.25$',alpha=0.5) plt.plot(x,blist3,'-.',label=r'binomial $n:100, p:0.1$',alpha=0.5)plt.xlim((-1,20)) plt.title(r'Poisson and Binomial Distribution') plt.grid() plt.legend() plt.show()

指數分布

我們繼續劉姥姥的故事。

話說這劉姥姥還有個孫子劉小笨,隨著劉姥姥和劉大耳的買賣日益紅火,劉小笨的夥食也越來越好,飽暖思學術,開始成天開始研究算術。劉小笨天天看劉姥姥賣調料,發現賣出一份調料所需要的時間間隔符合某種分布。經過思考,他決定把這種分布稱為指數分布。

經過後人對劉小笨的著作進行解讀,我們發現了他的思考過程。

這裡我們先考慮簡單的量,比如賣出一份調料所需要的時間大於1個時辰(2個小時,120分鐘)的概率,其實和1個時辰內一份調料也沒有賣出的概率,之和為1。

另外,假設每個時辰平均賣出的調料數為(根據劉姥姥的記錄,我們知道這個數近似為2)。記隨機變量為兩次賣出調料之間的時間間隔。根據之前劉大耳的假設,立刻有:

至此,劉小笨可以估算任意時刻他姥姥賣出一份調料的概率。比如,任何1個時辰內,會有調料賣出的概率是:


而在接下來的30分鐘到60分鐘內,會有調料賣出的概率是:事實上,到這裡我們已經得到了的累計分布函數了:

對其求導就可以得到其概率密度函數:


至此,我們就得到了劉姥姥連續兩次賣出調料的時間間隔的概率密度函數,隨機變量就符合指數分布,其中的指的是每個時辰平均賣出調料的份數(這裡是2) 。
import numpy as np from scipy import stats from matplotlib import pyplot as plt
x = np.arange(0,10,0.1) elist1 = stats.expon.pdf(x,scale=1/2) elist2 = stats.expon.pdf(x,scale=1/3) elist3 = stats.expon.pdf(x,scale=1/5)plt.plot(x,elist1,label=r'$\lambda:2$') plt.plot(x,elist2,label=r'$\lambda:3$') plt.plot(x,elist3,label=r'$\lambda:5$') plt.xlim((0,3)) plt.grid() plt.legend() plt.title(r'Exponential Distribution PDF') plt.show()

可以從圖中看出,當每個時辰賣出更多的調料份數時,更小的連續兩次賣出調料時間間隔發生的概率更高,這很合理。用一句話來概括,每天賣出的調料份數服從的是泊松分布,而賣出兩份調料的時間間隔服從指數分布,它們的期望分別代表了平均每天賣出的調料份數和每份調料賣出的平均時間間隔。真實世界中同樣有很多場景也和指數分布有關,比如某網站被訪問的時間間隔;客服中心連續接到電話中間的休息時間間隔;電子產品的壽命(出現故障的時間間隔即正常使用壽命)……話說劉姥姥去世之後,劉小笨和王縣令合作開店。這個時候生意更好了,王縣令粗略統計了一下,發現平均每個時辰能賣出100份調料。他於是問劉小笨:昨天剛做好的那300份調料都賣光的時間滿足什麼概率分布?劉小笨沉吟片刻,感覺這種分布和之前的泊松分布指數分布都不一樣,於是他把這種分布稱作:伽馬分布。假設每份調料賣出都是相互獨立的,而單位時間賣出調料份數均值為。則在這裡,從開張到賣出到當日第X份調料所需要的時間隨機變量就是我們應該關注的量。我們假設該隨機變量分布的概率密度函數為。進一步的,我們根據概率密度函數定義有:而我們同樣可以使用處理泊松分布時的方法,將均分為份,計算當趨近於無窮大時的。需要注意的是,時間後,我們應該賣出了第份,也就是說,在將這一時間段分為份後,前份中我們肯定已經賣出了份調料。假設每一小份時間段內我們賣出調料的概率為,那麼這麼問題又退化成了二項分布相關的問題。根據期望的定義,我們有, 將帶入上式。至此,我們得到了伽馬分布的概率密度函數。更一般,當我們允許為小數時,可以對階乘做適當的解析延拓,也就是伽馬函數了。別看這式子如此複雜,實際上伽馬分布就是要解決計算從此時到後次隨機事件都發生,需要等多長時間的問題。顯然,當時,退化為了指數分布,即要解決的問題退化為了計算下一次發生該隨機事件的時間間隔問題。
import numpy as np from scipy import stats from matplotlib import pyplot as plt
x = np.arange(0,10,0.1)
glist1 = stats.gamma.pdf(x,1) glist2 = stats.gamma.pdf(x,2) glist3 = stats.gamma.pdf(x,3)plt.plot(x,glist1,label=r'$x:1$') plt.plot(x,glist2,label=r'$x:2$') plt.plot(x,glist3,label=r'$x:3$') plt.grid() plt.legend() plt.title(r'Gamma Distribution PDF: $\lambda:1$') plt.show()

總結一下,泊松分布解決的是離散事件發生在連續的時間內的次數概率分布的問題;指數分布解決的是獨立離散事件發生一次所需連續時間長度分布的問題;伽馬分布解決的是多次離散事件發生所需連續時間長度分布的問題其中,指數分布是伽馬分布的特例。

作者:賈恩東

編輯:於騰凱

校對:林亦霖

數據派研究部成立於2017年初,以興趣為核心劃分多個組別,各組既遵循研究部整體的知識分享實踐項目規劃,又各具特色:

算法模型組:積極組隊參加kaggle等比賽,原創手把手教系列文章;

調研分析組:通過專訪等方式調研大數據的應用,探索數據產品之美;

系統平臺組:追蹤大數據&人工智慧系統平臺技術前沿,對話專家;

自然語言處理組:重於實踐,積極參加比賽及策劃各類文本分析項目;

製造業大數據組:秉工業強國之夢,產學研政結合,挖掘數據價值;

數據可視化組:將信息與藝術融合,探索數據之美,學用可視化講故事;

網絡爬蟲組:爬取網絡信息,配合其他各組開發創意項目。

點擊文末「閱讀原文」,報名數據派研究部志願者,總有一組適合你~

轉載須知

如需轉載,請在開篇顯著位置註明作者和出處(轉自:數據派THUID:DatapiTHU),並在文章結尾放置數據派醒目二維碼。有原創標識文章,請發送【文章名稱-待授權公眾號名稱及ID】至聯繫郵箱,申請白名單授權並按要求編輯。

未經許可的轉載以及改編者,我們將依法追究其法律責任。

點擊「閱讀原文」加入組織~

相關焦點

  • 機器學習:泊松分布與指數分布
    打開APP 機器學習:泊松分布與指數分布 阮一峰 發表於 2017-11-29 03:44:03 我舉一個例子,什麼是泊松分布和指數分布
  • 10分鐘讓你理解泊松分布、指數分布
    我舉一個例子,什麼是泊松分布和指數分布?恐怕大多數人都說不清楚。我可以在10分鐘內,讓你毫不費力地理解這兩個概念。日常生活中,大量事件是有固定頻率的。上面就是泊松分布的公式。泊松分布的圖形大概是下面的樣子。
  • 概率每天一問:如何確定問題中應該選用泊松分布幾何分布和指數分布
    概率每天一問:如何確定問題中應該選用泊松分布幾何分布和指數分布 http://kaoyan.eol.cn      2005-11-23  大 中 小   臨考概率統計30問(每天一問)――源於清華版的「2006
  • 泊松分布
    對於離散概率分布,這些函數稱為概率質量函數(PMF)。泊松分布我們將通過一個案例來開始理解泊松分布。假如你真的很喜歡在醫院裡看新生兒。根據你的觀察和報告,你知道醫院平均每小時出生6個新生兒。你發現你明天要出差,所以在去機場之前,你想最後一次去醫院。
  • 泊松分布與二項分布
    」,大部分的教科書上也都會給出這個收斂過程的數學推導,但是看懂它和真正理解還有很大距離。如果我們要向一個石器時代的人解釋什麼是電話,我們一定會說:「電話是一種機器,兩個距離很遠的人可以通過它進行交談」,而不會說:「電話在1876年由貝爾發明,一臺電話由幾個部分構成……」(泊松分布在1876年由泊松提出,泊松分布的公式是……)所以我們問的第一個問題應該是「泊松分布能拿來幹嘛?」泊松分布最常見的一個應用就是在排隊論中。什麼是排隊論?
  • 內容範圍:正態分布,泊松分布,多項分布,二項分布,伯努利分布
    內容範圍:正態分布,泊松分布,多項分布,二項分布,伯努利分布簡述:正態分布是上述分布趨於極限的分布,屬於連續分布。其它屬於離散分布。伯努利分布(兩點分布/0-1分布):伯努利試驗指的是只有兩種可能結果的單次隨機試驗。如果對伯努利試驗獨立重複n次則為n重伯努利試驗。
  • 【陸勤筆記】《深入淺出統計學》7幾何分布、二項分布、泊松分布:堅持離散
  • 圖解泊松分布與二項分布之差別
    泊松分布刻畫了稀有事件在一段時間內發生次數這一隨機變量的分布,如電話交換臺單位時間內接到的呼喚次數等。
  • 六西格瑪管理基礎-常用離散分布之-泊松分布
    ,取這些值的概率為:此時,稱X服從泊松分布。「入」是泊松分布的重要參數,它給出了產品的平均不合格項數。泊松分布的數學期望-均值、方差、標準差由下面的公式給出。泊松分布的圖形表示如下當二項分布的n很大而p很小時,泊松分布可作為二項分布的近似,其中λ為np。通常當n≧20,p≦0.05時,就可以用泊松公式近似計算。
  • 如何理解泊松分布?
    內賣出3個饅頭的概率,就和拋了4次硬幣(4個時間段),其中3次正面(賣出3個)的概率一樣了。這樣的概率通過二項分布來計算就是:上面就是泊松分布的概率密度函數,也就是說,在 這就是教科書中的泊松分布的概率密度函數。老闆依然蹙眉,不知道
  • 2014考研數學:泊松分布幾何分布的選用
    2014考研數學:泊松分布幾何分布的選用 http://kaoyan.eol.cn      2013-05-28  大 中 小
  • 簡述泊松分布假設條件
    基礎準備泊松分布概率公式推導自二項分布,因為換一種角度來看待它,它就是二項分布;回顧泊松分布公式推導過程及應用案例請點擊下方連結:
  • 泊松分布及其實際應用場景
    泊松分布性質從泊松分布的概率質量函數可以看出,泊松分布是關於歷史平均次數λ的函數,隨著歷史平均次數λ的不同,泊松分布的概率分布形態也將隨之改變。泊松分布的均值和方差也可以通過二項分布的均值和方差進行推導。
  • 從零開始學統計(五)——泊松分布
    泊松定理當然可以證明,如果你還記得極限,又有時間有興趣,可以根據二項分布公式自行證明。我們這裡簡單看下泊松分布的均值和方差,均值不用說了,直接應用二項分布的均值計算公式代入就好。方差,二項分布方差為nπ(1-π),而泊松分布中,因為π很小,那麼1-π趨向於1,於是,泊松分布的方差也為nπ,即和均值一樣,都是。
  • 常見數據分布-機器學習與數據分析常用術語(三)
    稱為超幾何分布,是因為其形式與「超幾何函數」的級數展式的係數有關6.Poisson Distribution (泊松分布)泊松分布的概率函數為:泊松分布的參數λ是單位時間(或單位面積)內隨機事件的平均發生率。 泊松分布適合於描述單位時間內隨機事件發生的次數。
  • 為什麼電話呼叫次數服從泊松分布?
    這裡,我們來討論一下泊松分布在電話呼叫中心資源配置中的應用。Poisson分布(法語:loi de Poisson,英語:Poisson distribution,譯名有泊松分布、普阿松分布、卜瓦松分布、布瓦松分布、布阿松分布、波以松分布、卜氏分配等),是一種統計與概率學裡常見到的離散機率分布(discrete probability distribution),由法國數學家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838
  • Excel的統計方法:泊松分布的計算過程圖文
    一、 目標: 本節主要通過體例講解泊松分布的計算過程。 二、定義: Poisson分布,是一種統計與概率學裡常見到的離散概率分布,由法國數學家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838年時發表。 二項分布中,當n趨於無窮大時,p趨於0,此時事件發生的概率是服從泊松分布的。
  • 比特幣論文中泊松分布期望公式問題|火星技術帖
    那麼我們可以計算他填補上虧空的概率,也就是該攻擊者趕上誠實鏈條,如下所示[8] :假定p>q,那麼攻擊成功的概率就因為區塊數的增長而呈現指數化下降。由於概率是攻擊者的敵人,如果他不能幸運且快速地獲得成功,那麼他獲得成功的機會隨著時間的流逝就變得愈發渺茫。那麼我們考慮一個收款人需要等待多長時間,才能足夠確信付款人已經難以更改交易了。
  • 泊松分布在足球博彩中的實際應用
    今天我來和大家分享一下泊松分布(Poisson Distribution)在足球賠率中的實際應用。我相信大家在玩球的時候在某些網站或者APP中都能看到已經幫我們算好的泊松分布概率圖。那這個究竟是怎麼算出來的呢?大致原理又是什麼呢?
  • 統計學入門級:常見概率分布+python繪製分布圖
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......基本概念離散型隨機變量如果隨機變量X的所有取值都可以逐個列舉出來,則稱X為離散型隨機變量。相應的概率分布有二項分布,泊松分布。