貝葉斯定理與直覺


本文為閱讀Data Science from Scratch之筆記,文中案例、公式分析皆來自此書

讓我們先來看看生活中的一個小例子。假設有某種疾病D,在10000人中會有1人患此病;又假設對患此病的人進行測試,測試為陽性的比例達到99%,也就是說100名患者中,有99名患者檢測結果皆為陽性(positive)。問題:

在檢測為陽性的情況下,某一個人確定患該病的概率是多少?

不用仔細思考,先用自己的直覺判斷,概率高還是低?再結合數據認真思考,你得到的概率值會是多少呢?我想,或許絕大部分人的第一反應是:在檢測為陽性的情況下,基本就可以確診身患D病了。再結合前面給出的數據進行運算,會非常容易地得到答案為99%。這是顯而易見的吧,100名患者99名都檢測為陽性,那么,——不是反之亦然么?

顯然,直覺欺騙了我們。上述數據營造了一種假象,讓我們忽略了未患D病的人檢測為陽性所占的比例。

讓我們把數據增大,假設有一百萬人。在這個基數下,患D病的人有100人。在這100人中,檢測為陽性的人為99人。現在考慮未患D病的人數,一百萬減去一百,得到的人數為999900。根據檢測陽性的比例,檢測這些人時,會有1%的幾率會檢測為陽性,人數為999900*1%等於9999人。於是,我們可以計算出患D病且檢測為陽性的人在所有檢測為陽性的人中所占的比例為:99/99+9999,結果才不到1%。

這樣結果真讓人莫名驚詫了。換言之,我們可以下結論說:當某個人檢測為陽性時,斷定他(她)患D病的幾率僅僅為0.98%。那么說,這樣的檢測給醫生的參考依據幾乎可以忽略不計啊!為什么會這樣?——從概率學的角度講,這其實是貝葉斯定理(Bayes's Theorem)的體現。

首先我們將患病的事件記做D,檢測為陽性的事件記做T。如果患病的事件沒有發生,則稱為“Not D”,符號記為:¬D。同理,檢測不為陽性的事件可以記為¬T。

如果記D、T都發生的概率為P(D,T),則有公式:

P(D,T) = P(D|T)/P(T)

其中P(D|T)為當T發生時,D發生的概率,這一概率被稱之為事件D關於事件T的條件概率(Conditional probability)。由於P(D,T) = P(T,D) = P(T|D)/P(D),因而條件概率的公式可以記為:

P(D|T) = P(D,T)/P(T) = P(T|D)P(D)/P(T)

我們再將事件D拆分為D和¬D,則P(T)可以記為:

P(T) = P(T,D) + P(T,¬D)

這個公式是一個公理,因為在具有D、T兩個事件的情況下,P(T)必然只存在兩種情況,要么在T發生時,D也發生;要么在T發生時,D沒有發生。那么貝葉斯定理就可以記為:

P(D|T) = P(T|D)P(D)/[P(T|D)P(D) + P(T|¬D)(P¬D)]

現在我們可以計算P(D|T),即測試為陽性時,患D病的概率值了。我們已知:

P(T|D):當患D病時,檢測為陽性的概率為0.99;
P(D):10000個人有1個人患D病,則概率為1/10000=0.0001;
P(T|¬D):沒有患D病時,檢測為陽性的概率為1-0.99=0.01;
P(¬D):沒有患D病的概率為1-0.0001=0.9999。

計算上面的公式,P(D|T)等於0.98%。符合我們前面的分析。然而我們的直覺呢?簡直潰敗而不成軍了。

注:上面所述D與T之間關系乃理想狀態,判斷一個人是否生病,檢測是否陽性、陰性僅僅為其中一個要素。例如當我們再增加一個症狀事件S后,同時滿足T與S的前提,則D發生的概率值就會顯著增加。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM