前面我們介紹了多種離散型概率分布,大家可以點擊下方連結來回顧:
今天要給大家介紹另一個常見的離散型概率分布:泊松分布(Poisson distribution)。它由法國數學家西莫恩·德尼·泊松 (1781–1840) 於1837年發表,在實際生活中有著非常廣泛的應用。
1. 定義和現實應用泊松概率分布描述的是在某段時間或某個空間內發生隨機事件次數的概率,簡而言之就是:根據過去某個隨機事件在某段時間或某個空間內發生的平均次數,預測該隨機事件在未來同樣長的時間或同樣大的空間內發生k次的概率。其概率質量函數為:
其中:
由於泊松分布適用於描述某段時間(或某個空間)內隨機事件發生的次數,因此它常用於預測某些事件的發生。例如:某家醫院在一定時間內到達的人數;超市收銀臺在某段時間內的結帳人數;某段時間內發生自然災害的次數;某段時間內DNA序列的變異數;放射性原子核在一段時間內的衰變數等等。
2. 泊松分布的推導泊松分布的概率質量函數可以由二項分布的概率質量函數推導而來,下面是推導過程。
二項分布的概率質量函數為:
其中n代表伯努利試驗的次數;p代表試驗成功的概率,則1-p為試驗失敗的概率;k代表n次試驗中成功的次數,則失敗次數為n-k。
假定在過去的歷史中,某個隨機事件在固定長度時間段發生的平均次數為λ,那麼就可以將固定長度的時間分成n等份;在每等份的時間內,隨機事件發生的概率可以表示為λ/n。若n趨於無窮大,也就是這段時間被分成無數的小段,那麼λ/n的值將趨近於0,也就是在每個等份的時間內,該隨機事件發生兩次或兩次以上是不可能的。根據以上假設條件,在固定長度時間內,隨機事件發生k次的概率服從二項概率分布,可以表示為:
由上可知,在二項分布的伯努利試驗中,如果試驗次數n很大,成功概率p很小,且乘積λ= np比較適中,則事件出現的次數的概率可以用泊松分布來逼近。事實上,二項分布可以看作泊松分布在離散時間上的對應物。
3. 泊松分布的性質從泊松分布的概率質量函數可以看出,λ是泊松分布所依賴的唯一參數,隨著歷史平均次數λ的不同,泊松分布的概率分布形態也將隨之改變。如下圖,隨著λ的增大,泊松分布的形態也由右偏分布 (尾巴在右邊) 逐漸變為對稱分布。
在實際情況中,當λ很大時,可以用正態分布近似地處理泊松分布問題
泊松分布的期望值與方差相等,同為參數λ,即:E(X)=Var(X)=λ (具體推導過程可參考泊松分布的中文維基百科詞條)。對於這個性質,也可通過二項分布的期望值和方差進行推導,我們知道二項分布的期望值和方差分別為np和npq,則泊松分布的期望值和方差為:
上式推導利用了λ/n的值趨近於0的這個性質
4. R中的相關函數R中也有四個函數可用於泊松分布,分別是:
dpois(x,lambda):返回發生x次隨機事件的概率
ppois(q,lambda):返回累積概率
qpois(p,lambda):返回相應分位點x,詳情見下面的例子
rpois(n,lambda):返回每組發生隨機事件的次數
這四個函數都有 lambda,對應於隨機事件發生的平均次數λ。下面通過一個例子來了解如何使用它們:
根據歷史數據,某條河(比如:長江)100年平均要發生一次洪水,那麼接下來的100年發生0次,1次和2次洪水的概率分別是多少呢?
分析:由於是過去很長時間的數據總結,因此可以認為這條河發生洪水的概率是穩定的,因此這條河發生洪水次數的概率服從泊松分布,且λ=1。
結果:
下表給出了在未來100年內,這條河發生0到6次洪水的概率:
從表格結果可以看出,未來100年內這條河發生洪水的概率高達63.2% (= 1-P(k=0)),因此對於這條河要不斷加強和完善防洪工程措施。
下面我們利用R中的函數來計算相關量:
第一個問題:未來100年內,發生0次,1次和2次洪水的概率分別是多少?此時要用到 dpois(x,lambda)函數,其中 x參數指定發生的次數,函數返回相應概率,結果為:
> dpois(0:2, 1)
[1] 0.3678794 0.3678794 0.1839397
第二個問題:至多發生1次洪水的概率是多少?此時要用到 ppois(q,lambda)函數,其中 q參數指定至多發生的次數(這裡為1),函數返回相應累積概率,結果為:
> ppois(1, 1)
[1] 0.7357589
第三個問題:90%概率下這條河至多能發生幾次洪水?此時要用到 qpois(p,lambda)函數,其中 p參數指定概率(這裡是0.9),函數返回相應分位點x(即F(x)≥0.9對應的最小x值),結果為:
> qpois(0.9, 1)
[1] 2
結果表明,90%概率下至多發生2次洪水
最後一個問題:重複10000組模擬,每組發生洪水的次數是多少?這時就要用到 rpois(n,lambda)函數,其中 n參數指定模擬的組數(這裡為10000),函數返回每組發生的次數,結果為:
> set.seed(123)
> ns <- rpois(10000, 1)
> table(ns)
ns
0 1 2 3 4 5 6 7
3652 3757 1831 580 145 26 8 1
> mean(ns) ##發生次數的平均值
[1] 0.9924
> var(ns) ##發生次數的方差
[1] 0.9760398
模擬1萬組,3652組沒有發生洪水,與理論上36.78%不發生洪水很接近。此外均值和方差也與理論值 (λ=1)很接近。
泊松分布的介紹就到此結束,希望對大家的學習有所幫助。如果覺得文章不錯,動手轉發支持一下哦!
感謝您的閱讀!想了解更多有關技巧,請關注我的微信公眾號「R語言和Python學堂」,我將定期更新相關文章。同時也歡迎大家積極投稿,促進交流。
文章也同步更新到我的專欄: