一文搞懂資料分析經典模型:樸素貝葉斯

數據分析那些事
6 min readSep 15, 2020

--

貝葉斯模型在資料分析中一般用來解決先驗概率、分類實時預測和推薦系統等問題,為了理解一下貝葉斯的概念,我們先來看一個例子:

某零售企業有三家供貨商,記為A1、A2、A3,其供應量和不合格率如下圖所示,如果隨機從該零售企業中抽取一個產品,其不合格的概率有多大呢?如果抽到的某個產品是不合格的,最有可能是來自於哪個供貨商呢?

如果大家瞭解過概率論統計學的,應該可以看出來,上面的兩個問題分別需要用先驗概率和後驗概率進行解答。所以,我們先來了解一下先驗與後驗的概念。

先驗與後驗

我們直接舉個例子來說明:

今天早上我喝了一杯涼水,那麼中午我會不會拉肚子?

這裡可以看出“拉肚子”是一種事實結果,而造成拉肚子的影響因素假設只有喝涼水,那麼這個問題實際上是要求出在“喝涼水”條件下“拉肚子”的概率,也就是求:

P(拉肚子|喝涼水) — — 先驗事件當中的條件概率

通俗點說,先驗事件就是由因求果,先驗概率也就是根據以往經驗和分析得到的概率,最典型的代表就是拋硬幣,拋一個硬幣求其正面的概率,就是已經知道了“硬幣正反面概率都是0.5”的條件,求出“硬幣是正面”的“結果”的概率。

而後驗事件則是由果求因,也就是依據得到”結果”資訊所計算出的最有可能是哪種事件引起的,用上面這個例子就是:

中午我拉了肚子,那麼我早上喝了一杯涼水的概率是多大?

換言之,“拉肚子”是結果,我在已經知道結果的前提下,求“喝涼水”的原因的概率,也就是:

P(喝涼水|拉肚子) — — 後驗概率

而先驗與後驗的基礎都是條件概率,其公式是:

樸素貝葉斯概率

很多人可能會疑問,我們求後驗概率和先驗概率的意義是什麼呢?

因為傳統頻率主義是無法解決實際問題的,換言之拋硬幣問題只存在於理論中,實際生活中某個事件的發生條件或結果一定是複雜的,不可能是拋個硬幣就能解釋的。

而實際問題一般是由多個條件組成的複雜事件,那麼什麼是複雜事件呢?

比如拉肚子這個事件,可能是由於早上喝涼水造成的,也可能是喝過期酸奶造成的,也可能是昨晚吃火鍋造成的等等,這就是複雜事件。

而如果我們已經知道了引起拉肚子的所有條件,且這些條件都是相互獨立且互斥的,那麼想要求出拉肚子的概率,就可以將這個複雜事件拆分成幾個條件概率。

比如,假設引起拉肚子的條件只可能是喝涼水或者喝酸奶,且這兩個條件不可能同時發發生,那麼我們就可以利用條件概率計算最終的拉肚子事件概率:

P(拉肚子)=P(喝涼水且拉肚子)+P(喝酸奶且拉肚子)

=P(喝涼水)*P(拉肚子|喝涼水)+P(喝酸奶)*P(拉肚子|喝酸奶)

這就是全概率公式,全概率公式是用來計算複雜事件的概率,用公式表示就是:

而如果我們想要計算複雜事件的簡單條件概率,就要用到貝葉斯概率,比如中午我拉了肚子,那麼我早上喝了一杯涼水的概率是多大?那麼根據條件概率和全概率公式可以得到:

P(喝涼水|拉肚子)=P(喝涼水且拉肚子)/P(拉肚子)

=P(喝涼水)*P(拉肚子|喝涼水)/P(拉肚子)

=P(喝涼水)*P(拉肚子|喝涼水)/P(喝涼水)*P(拉肚子|喝涼水)+P(喝酸奶)*P(拉肚子|喝酸奶)

用公式表示就是:

這就是貝葉斯公式的推導過程,其核心思想是當你不能準確知悉一個事物的本質時,你可以依靠與事物特定本質相關的事件出現的多少去判斷其本質屬性的概率。

如果你看到一個人總是做一些好事,則那個人多半會是一個好人。用數學語言表達就是:支援某項屬性的事件發生得愈多,則該屬性成立的可能性就愈大。

貝葉斯的應用

現在我們再去計算開頭例子的結果,就可以直接套用全概率公式和貝葉斯公式了:

問題1:隨機從該零售企業中抽取一個產品,其不合格的概率有多大呢?

典型的由因及果,可直接使用全概率公式計算,我們將不合格用B表示:

P(B) = P(B|Ai) * P(Ai)

=P(B|A1) * P(A1) + P(B|A2) * P(A2) + P(B|A3) * P(A3)

=(500/1500*10%)+(400/1500*13%)+(600/1500*11%)

= 11.2%

因此,隨機從該零售企業中抽取一個產品,其不合格的概率是11.2%;

問題2:如果抽到的某個產品是不合格的,最有可能是來自於哪個供貨商呢?

典型的由果及因,可直接使用貝葉斯概率公式計算,我們先求A1供貨商的概率:

P(A1|B)=P(A1) * P(B|A1) / P(B)

=(500/1500*10%)/ 11.2%

= 29.8%

同理,我們再求出A2、A3供貨商的概率是30.9%、39.3%,所以如果抽到的某個產品是不合格的,最有可能是來自於A3供貨商。

總結

在實際的資料分析過程中,我們經常會用到貝葉斯概率的思想,比如我們去分析營銷活動的渠道拉新效果,我們不能只針對結果進行分析。按照貝葉斯定律,我們不能忽略導致這個結果的前提條件。

這個前提條件的忽略最終可能影響了我們對整件事情的判斷,這個前提條件就是:我們的投放渠道,這就是樸素貝葉斯的本質。

--

--

數據分析那些事
數據分析那些事

Written by 數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

No responses yet