一、什么是貝葉斯推斷
貝葉斯推斷(Bayesian inference)是一種統計學方法,用來估計統計量的某種性質。它是貝葉斯定理(Bayes' theorem)的應用。英國數學家托馬斯·貝葉斯(Thomas Bayes)在1763年發表的一篇論文中,首先提出了這個定理。
貝葉斯推斷與其他統計學推斷方法截然不同。它建立在主觀判斷的基礎上,也就是說,你可以不需要客觀證據,先估計一個值,然后根據實際結果不斷修正。正是因為它的主觀性太強,曾經遭到許多統計學家的詬病。
貝葉斯推斷需要大量的計算,因此歷史上很長一段時間,無法得到廣泛應用。只有計算機誕生以后,它才獲得真正的重視。人們發現,許多統計量是無法事先進行客觀判斷的,而互聯網時代出現的大型數據集,再加上高速運算能力,為驗證這些統計量提供了方便,也為應用貝葉斯推斷創造了條件,它的威力正在日益顯現。
二、貝葉斯定理
要理解貝葉斯推斷,必須先理解貝葉斯定理。后者實際上就是計算"條件概率"的公式。
所謂"條件概率"(Conditional probability),就是指在事件B發生的情況下,事件A發生的概率,用P(A|B)來表示。
根據文氏圖,可以很清楚地看到在事件B發生的情況下,事件A發生的概率就是P(A∩B)除以P(B)。
因此,
同理可得,
所以,
即
這就是條件概率的計算公式。
三、全概率公式
由於后面要用到,所以除了條件概率以外,這里還要推導全概率公式。
假定樣本空間S,是兩個事件A與A'的和。
上圖中,紅色部分是事件A,綠色部分是事件A',它們共同構成了樣本空間S。
在這種情況下,事件B可以划分成兩個部分。
即
在上一節的推導當中,我們已知
所以,
這就是全概率公式。它的含義是,如果A和A'構成樣本空間的一個划分,那么事件B的概率,就等於A和A'的概率分別乘以B對這兩個事件的條件概率之和。
將這個公式代入上一節的條件概率公式,就得到了條件概率的另一種寫法:
四、貝葉斯推斷的含義
對條件概率公式進行變形,可以得到如下形式:
我們把P(A)稱為"先驗概率"(Prior probability),即在B事件發生之前,我們對A事件概率的一個判斷。P(A|B)稱為"后驗概率"(Posterior probability),即在B事件發生之后,我們對A事件概率的重新評估。P(B|A)/P(B)稱為"可能性函數"(Likelyhood)(其實叫似然),這是一個調整因子,使得預估概率更接近真實概率。
所以,條件概率可以理解成下面的式子:
后驗概率 = 先驗概率 x 調整因子
這就是貝葉斯推斷的含義。我們先預估一個"先驗概率",然后加入實驗結果,看這個實驗到底是增強還是削弱了"先驗概率",由此得到更接近事實的"后驗概率"。
在這里,如果"可能性函數"P(B|A)/P(B)>1,意味着"先驗概率"被增強,事件A的發生的可能性變大;如果"可能性函數"=1,意味着B事件無助於判斷事件A的可能性;如果"可能性函數"<1,意味着"先驗概率"被削弱,事件A的可能性變小。
五、水果糖問題
為了加深對貝葉斯推斷的理解,我們看兩個例子。
第一個例子。兩個一模一樣的碗,一號碗有30顆水果糖和10顆巧克力糖,二號碗有水果糖和巧克力糖各20顆。現在隨機選擇一個碗,從中摸出一顆糖,發現是水果糖。請問這顆水果糖來自一號碗的概率有多大?
六、真陽性問題
第二個例子是一個醫學的常見問題,與現實生活關系緊密。
已知某種疾病的發病率是0.001,即1000人中會有1個人得病。現有一種試劑可以檢驗患者是否得病,它的准確率是0.99,即在患者確實得病的情況下,它有99%的可能呈現陽性。它的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性。現有一個病人的檢驗結果為陽性,請問他確實得病的可能性有多大?
我們得到了一個驚人的結果,約等於0.019。也就是說,即使檢驗呈現陽性,病人得病的概率,也只是從0.1%增加到了2%左右。這就是所謂的"假陽性",即陽性結果完全不足以說明病人得病。
為什么會這樣?為什么這種檢驗的准確率高達99%,但是可信度卻不到2%?答案是與它的誤報率太高有關。(【習題】如果誤報率從5%降為1%,請問病人得病的概率會變成多少?大約9%)。