本文為閱讀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發生的概率值就會顯著增加。
貝葉斯定理
要了解貝葉斯定理,我們必須先知道什麼是條件概率 概率是什麼我們大家都知道,它能夠反映隨機事件出現的可能性大小 那什麼是條件概率,現在有一位小明同學,上學總是遲到,遲到也是有概率的,小明每次遲到當然也是有原因的,假設小明遲到就是因為晚上打遊戲早上經常睡過,如果前一天小明不玩遊戲,第二天遲到的概率是20...
貝葉斯定理
貝葉斯定理是關於隨機事件a和b的條件概率 或邊緣概率 的一則定理。其中p a b 是在b發生的情況下a發生的可能性。貝葉斯定理也稱貝葉斯推理,早在18世紀,英國學者貝葉斯 1702 1763 曾提出計算條件概率的公式用來解決如下一類問題 假設h 1 h 2 h n 互斥且構成乙個完全事件,已知它們的...
貝葉斯定理
貝葉斯定理是關於隨機事件a和b的條件概率 或邊緣概率 的一則定理。p a 是 a 的先驗概率,之所以稱為 先驗 是因為它不考慮任何 b 方面的因素。p a b 是已知 b 發生後 a 的條件概率,也由於得自 b 的取值而被稱作 a 的後驗概率。p b a 是已知 a 發生後 b 的條件概率,也由於得...