泊松分布

2021-01-18 DeepHub IMBA

一個故事:你已經做了10年的自由職業者了。到目前為止,你的平均年收入約為8萬美元。今年,你覺得自己陷入了困境,決定要達到6位數。要做到這一點,你需要先計算這一令人興奮的成就發生的概率,但你不知道怎麼做。

在世界上有許多場景,其中存在某個隨機事件的已知概率,企業希望發現該事件在未來發生的概率大於或小於這個概率。例如,已經知道自己平均銷售額的零售商所有者會試圖猜測他們在黑色星期五或雙十一等特殊日子能多賺多少錢。這將幫助他們儲存更多的產品,並相應地管理他們的員工。

在這篇文章中,我們將討論用於模擬上述情況的泊松分布背後的理論,如何理解和使用它的公式,以及如何使用Python代碼來模擬它。

離散型概率分布

這篇文章假設你對概率有一個基本的了解。在我們開始真正的文章之前,我們將建立一些對離散概率分布的理解。

首先,讓我們定義離散的含義。在描述統計學中,離散數據是通過計數記錄或收集的任何數據,即整數。例如考試分數、停車場裡的汽車數量、醫院裡的分娩數量等。

然後,有一些隨機實驗會產生離散的結果。例如,拋硬幣有兩種結果:正面和反面(1和0),擲骰子有6種離散結果,以此類推。如果用一個隨機變量X來存儲離散實驗的可能結果,那麼它將具有離散概率分布。

概率分布記錄了隨機實驗的所有可能結果。

作為一個簡單的例子,讓我們來構建一次拋硬幣的分布:

這很容易。如果我們想以編程的方式記錄這個分布,它應該是Python列表或Numpy數組的形式:

然而,你可以想像,對於有許多可能結果的大型實驗,用這種方法建立分布並找到概率是不可能的。值得慶幸的是,每個概率分布都有自己的公式來計算任何結果的概率。對於離散概率分布,這些函數稱為概率質量函數(PMF)。

泊松分布

我們將通過一個案例來開始理解泊松分布。假如你真的很喜歡在醫院裡看新生兒。根據你的觀察和報告,你知道醫院平均每小時出生6個新生兒。

你發現你明天要出差,所以在去機場之前,你想最後一次去醫院。因為你要離開好幾個月,你想看到儘可能多的新生兒,所以你想知道在起飛前一小時是否有機會見到10個或更多的嬰兒。

如果我們把觀察新生兒作為一個隨機實驗,結果將遵循經典的泊松分布。原因是它滿足泊松分布的所有條件:

有一個已知的事件速率:平均每小時有6個新生兒

事件是獨立發生的:1嬰兒的出生並不影響下一個嬰兒的出生時間

已知的出生率隨時間是不變的:平均每小時嬰兒的數量不隨時間變化

兩件事不會在同一時刻發生(每個結果都是離散的)

泊松分布具有許多重要的業務含義。企業通常使用他來預測某一天的銷售額或客戶數量,因為他們知道每天的平均價格。做出這樣的預測有助於企業在生產、調度或人員配備方面做出更好的決策。例如,庫存過多意味著銷售活動減少,或者沒有足夠的商品意味著失去商機。

簡而言之,泊松分布有助於發現事件在固定時間間隔內發生的概率大於或小於已經記錄的速率(通常表示為λ(lambda))。

其概率質量函數為:

這個公式的字母含義如下:

k是成功的次數(期望發生的次數)

λ是給定的速率

e為歐拉數,e = 2.71828…

k !是k的階乘嗎

使用這個公式,我們可以求出看到10個新生兒知道平均出生率為6的概率:

不幸的是,只有大約4%的機率能看到10個孩子。

我們不會詳細講解這個公式是如何推導出來的,但如果你感興趣,請觀看可汗學院的視頻。

還有一些要點你必須記住。即使有一個已知的速率,它只是一個平均值,所以事件的時間可能是完全隨機的。例如,你可以觀察兩個背靠背出生的嬰兒,或者你可能會為下一個嬰兒等待半個小時。

而且,在實踐中,λ的速率可能不總是恆定的。這甚至適用於我們的新生兒實驗。即使這個條件不成立,我們仍然可以認為分布是泊松分布,因為泊松分布足夠接近,可以模擬情況的行為。

模擬泊松分布

利用numpy從泊松分布中模擬或抽取樣本非常容易。我們首先導入它,並使用它的隨機模塊進行模擬:

import numpy as np

從泊松分布中提取樣本,我們只需要速率參數λ。我們把它插入np,隨機的。泊松函數,並指定樣本個數:

poisson = np.random.poisson(lam=10, size=10000)

這裡,我們模擬了一個速率為10的分布,有10k個數據點。為了看到這個分布,我們將繪製其PMF的結果。雖然我們可以手工完成,但已經有一個非常好的包叫empiricaldist,由艾倫·b·唐尼(Allen B. Downey)撰寫,他是《ThinkPython》(ThinkPython)和《ThinkStats》(ThinkStats)等著名著作的作者。我們將安裝並導入其Pmf函數到我們的環境中:

from empiricaldist import Pmf  # pip install empiricaldist

Pmf有一個名為from_seq的函數,它接受任何分布並計算Pmf:

poisson = np.random.poisson(lam=10, size=10000)
pmf_poisson = Pmf.from_seq(poisson)
pmf_poisson

回想一下,PMF顯示了每個唯一結果的概率,所以在上面的結果中,結果被作為指數和概率下的概率給出。讓我們使用matplotlib來繪製它:

# Create figure and axes objects
fig, ax = plt.subplots(figsize=(20, 10))

# Plot the PMF
ax.plot(pmf_poisson, marker='.') # label each data point with a dot

# Labelling
ax.set(title='Probability Mass Function of Poisson Distribution',
      ylabel='P (X = x)', xlabel='Number of events')

plt.show();

正如預期的那樣,最高的概率是均值(速率參數,λ)。

現在,讓我們假設我們忘記了泊松分布的PMF公式。如果我們做觀察新生兒的實驗,我們如何求出看到10個新生兒而比率為6的概率呢?

首先,我們用給定的速率作為參數來模擬完美泊松分布。同時,為了獲得更好的精度,我們會繪製大量的樣本:

child_births = np.random.poisson(lam=6, size=1000000)

我們對一個速率為6,長度為100萬的分布進行抽樣。接下來,我們看看他們中有多少人有10個孩子:

births_10 = np.sum(child_births == 10)

>>> births_10
41114

所以,我們在41114個試驗中觀察了10個嬰兒(每個小時可以考慮有一個試驗)。然後,我們用這個數除以樣本總數:

>>> births_10 / 1e6

0.041114

如果您回想一下,使用PMF公式,結果是0.0413,我們可以看到我們手工編寫的解決方案非常接近。

結論

關於泊松分布仍有許多值得探討的地方。我們討論了這個詞的基本用法及其在商業世界中的含義。泊松分布還有一些有趣的地方比如它和二項分布的關係。

作者:Bex T.

原文地址:https://towardsdatascience.com/how-to-use-poisson-distribution-like-you-know-what-you-are-doing-c095c1e477c1

deephub翻譯組


相關焦點

  • 泊松分布與二項分布
    如果我們學習的意義是為了通過考試,那麼我們大可停留在「只會做題」的階段,因為試卷上不會出現「請發表一下你對泊松公式的看法」這樣的題目,因為那樣一來卷子就變得不容易批改。所以現在的大部分考試都會出一些客觀題。而如果我們學習的目的是為了理解一樣東西,那麼我們就有必要停下來去思考一下諸如「為什麼要有泊松分布?」、「泊松分布的物理意義是什麼?」這樣的「哲學」問題。
  • 機器學習:泊松分布與指數分布
    打開APP 機器學習:泊松分布與指數分布 阮一峰 發表於 2017-11-29 03:44:03 我舉一個例子,什麼是泊松分布和指數分布
  • 簡述泊松分布假設條件
    基礎準備泊松分布概率公式推導自二項分布,因為換一種角度來看待它,它就是二項分布;回顧泊松分布公式推導過程及應用案例請點擊下方連結:
  • 圖解泊松分布與二項分布之差別
    泊松分布刻畫了稀有事件在一段時間內發生次數這一隨機變量的分布,如電話交換臺單位時間內接到的呼喚次數等。
  • 泊松分布及其實際應用場景
    基礎準備前面為大家介紹了第一種常見的離散型概率分布:二項分布及其實際生活運用,大家可以點擊下方文章連結及進行回顧:今天要給大家介紹的是第二種常見的離散型概率分布:泊松分布。泊松分布是以18~19 世紀的法國數學家西莫恩·德尼·泊松的名字命名的,它作為一種常見的離散型變量的分布,在實際生活中有著非常廣泛的應用。
  • 如何理解泊松分布?
    這樣的概率通過二項分布來計算就是:上面就是泊松分布的概率密度函數,也就是說,在 這就是教科書中的泊松分布的概率密度函數。老闆依然蹙眉,不知道 老闆算出一腦門的汗,「那就這麼定了!」鑑於二項分布與泊松分布的關係,可以很自然的得到一個推論,當二項分布
  • 10分鐘讓你理解泊松分布、指數分布
    我舉一個例子,什麼是泊松分布和指數分布?恐怕大多數人都說不清楚。我可以在10分鐘內,讓你毫不費力地理解這兩個概念。日常生活中,大量事件是有固定頻率的。上面就是泊松分布的公式。泊松分布的圖形大概是下面的樣子。
  • 從零開始學統計(五)——泊松分布
    。嗯,泊松分布既然是從二項分布推導出來的,那麼泊松分布的應用前提與二項分布一樣(回想一下!),外加一條:n很大且π很小,屬於稀有發生事件。泊松分布具有以下特性:1)總體的均數與方差相等,均為;2)具備「可加性」卻不具備「可乘性」;3)當
  • 六西格瑪管理基礎-常用離散分布之-泊松分布
    ,取這些值的概率為:此時,稱X服從泊松分布。「入」是泊松分布的重要參數,它給出了產品的平均不合格項數。泊松分布的數學期望-均值、方差、標準差由下面的公式給出。泊松分布的圖形表示如下當二項分布的n很大而p很小時,泊松分布可作為二項分布的近似,其中λ為np。通常當n≧20,p≦0.05時,就可以用泊松公式近似計算。
  • 為什麼電話呼叫次數服從泊松分布?
    這裡,我們來討論一下泊松分布在電話呼叫中心資源配置中的應用。Poisson分布(法語:loi de Poisson,英語:Poisson distribution,譯名有泊松分布、普阿松分布、卜瓦松分布、布瓦松分布、布阿松分布、波以松分布、卜氏分配等),是一種統計與概率學裡常見到的離散機率分布(discrete probability distribution),由法國數學家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838
  • 泊松分布在足球博彩中的實際應用
    今天我來和大家分享一下泊松分布(Poisson Distribution)在足球賠率中的實際應用。我相信大家在玩球的時候在某些網站或者APP中都能看到已經幫我們算好的泊松分布概率圖。那這個究竟是怎麼算出來的呢?大致原理又是什麼呢?
  • 【陸勤筆記】《深入淺出統計學》7幾何分布、二項分布、泊松分布:堅持離散
  • Excel的統計方法:泊松分布的計算過程圖文
    一、 目標: 本節主要通過體例講解泊松分布的計算過程。 二、定義: Poisson分布,是一種統計與概率學裡常見到的離散概率分布,由法國數學家西莫恩·德尼·泊松(Siméon-Denis Poisson)在1838年時發表。 二項分布中,當n趨於無窮大時,p趨於0,此時事件發生的概率是服從泊松分布的。
  • 原創 | 一文讀懂泊松分布,指數分布和伽馬分布
    本文以簡單直白的方式讓大家能夠理解泊松分布,指數分布和伽馬分布的實際含義和作用,並且由此推導其概率密度函數。
  • 內容範圍:正態分布,泊松分布,多項分布,二項分布,伯努利分布
    內容範圍:正態分布,泊松分布,多項分布,二項分布,伯努利分布簡述:正態分布是上述分布趨於極限的分布,屬於連續分布。其它屬於離散分布。伯努利分布(兩點分布/0-1分布):伯努利試驗指的是只有兩種可能結果的單次隨機試驗。如果對伯努利試驗獨立重複n次則為n重伯努利試驗。
  • 什麼是松泊分布?泊松回歸可以用來做什麼?
    接下來,本文將要介紹的這個回歸模型是專門針對計數數據的泊松回歸模型。泊松分布說到泊松回歸,首先要了解,什麼是泊松分布?持續記錄下去,你就可以得到一個模型,這便是「泊松分布」的原型。除此以外,現實生活中還有很多情況是服從泊松分布的:10分鐘內從ATM中取錢的人數一天中發生車禍的次數每100萬人中患癌症的人數單位面積土地內昆蟲的數目
  • 2014考研數學:泊松分布幾何分布的選用
    2014考研數學:泊松分布幾何分布的選用 http://kaoyan.eol.cn      2013-05-28  大 中 小
  • 比特幣論文中泊松分布期望公式問題|火星技術帖
    小編:記得關注哦來源:CSDN在比特幣創始論文的第11章中存在這樣一個問題,就是為什麼這個分布的期望為lamda=z*(q/p)?11. 計算設想如下場景:一個攻擊者試圖比誠實節點產生鏈條更快地製造替代性區塊鏈。
  • 收米小技巧:泊松分布 下篇如何計算比分波膽概率
    泊松分布大小球分析法 可以給出我們準確的參考信息。 繼我們上篇學習的 泊松分布大小球分析法,這篇文章我們將要學習 球隊預計進球數 以及 比分波膽。在上篇已經講過泊松分布的歷史由來以及函數公式,所以在一篇我們不在闡述,直接進入正題。當然你們也可以完全放心,這篇文章不會涉及燒腦的數學公式,因為我們的初衷是化繁為簡,讓彩民們都能看的懂,用的上。
  • 從泊松方程的解法,聊到泊松圖像融合
    先看看其驚人的融合結果(非論文配圖,本人實驗結果):這篇文章的實現,無關目前算法領域大火的神經網絡,而是基於泊松方程推導得出。很多朋友比較熟悉概率論裡面的泊松分布。泊松方程,也是同一個數學家泊松發明的。但卻和泊松分布沒有什麼關係,是泊松物理學領域提出的一個偏微分方程。這裡表示的是拉普拉斯算子,和 (在泊松方程中是已知量)可以是實數或複數值方程,特殊情況當時被稱為拉普拉斯方程。當處於歐幾裡得空間時,拉普拉斯算子通常表示為。