學過機率理論的人都知道條件機率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B);即事件A和事件B同時發生的機率等于在發生A的條件下B發生的機率乘以A的機率。由條件機率公式推導出貝葉斯公式:P(B|A)=P(A|B)P(B)/P(A);即,已知P(A|B),P(A)和P(B)可以計算出P(B|A)。
假設B是由互相獨立的事件組成的機率空間{B1,b2,...bn}。則P(A)可以用全機率公式展開:P(A)=P (A|B1)P(B1)+P(A|B2)P(B2)+..P(A|Bn)P(Bn)。貝葉斯公式表示成:P(Bi|A)=P(A|Bi)P(Bi)/(P(A|B1)P(B1)+P(A|B2)P(B2)+..P(A|Bn)P(Bn));常常把P(Bi|A)稱作後驗機率,而P(A|Bn)P(Bn)為先驗機率。而P(Bi)又叫做基礎機率。
貝葉斯公式:

貝葉斯公式看起來很簡單,但是在自然科學領域應用範圍及其廣泛。同時理論本身蘊含了深刻的思想。
貝葉斯理論和貝葉斯機率以托馬斯·貝葉斯(1702-1761)命名,他證明了現在稱為貝葉斯定理的一個特例。術語貝葉斯卻是在1950年左右開始使用,很難說貝葉斯本人是否會支援這個以他命名的機率非常廣義的解釋。拉普拉斯證明了貝葉斯定理的一個更普遍的版本,并将之用于解決天體力學、醫學統計中的問題,在有些情況下,甚至用于法理學。但是拉普拉斯并不認為該定理對于機率論很重要。他還是堅持使用了機率的經典解釋。
弗蘭克·普倫普頓·拉姆齊在《數學基礎》(1931年)中首次建議将主觀置信度作為機率的一種解釋。Ramsey視這種解釋為機率的頻率解釋的一個補充,而頻率解釋在當時更為廣泛接受。統計學家Bruno de Finetti于1937年采納了Ramsey的觀點,将之作為機率的頻率解釋的一種可能的代替。L. J. Savage在《統計學基礎》(1954年)中拓展了這個思想。
有人試圖将“置信度”的直覺概念進行形式化的定義和應用。最普通的應用是基于打賭:置信度反映在行為主體願意在命題上下注的意願上。
當信任有程度的時候,機率計算的定理測量信任的理性程度,就像一階邏輯的定理測量信任的理性程度一樣。很多人将置信度視為經典的真值(真或假)的一種擴充。
Harold Jeffreys, Richard T. Cox, Edwin Jaynes和I. J. Good研探了貝葉斯理論。其他著名貝葉斯理論的支援者包括John Maynard Keynes和B.O. Koopman。
通常,事件A在事件B(發生)的條件下的機率,與事件B在事件A的條件下的機率是不一樣的;然而,這兩者是有确定的關系,貝葉斯法則就是這種關系的陳述。
作為一個規範的原理,貝葉斯法則對于所有機率的解釋是有效的;然而,頻率主義者和貝葉斯主義者對于在應用中機率如何被指派有着不同的看法:頻率主義者根據随機事件發生的頻率,或者總體樣本裡面的個數來指派機率;貝葉斯主義者要根據未知的命題來指派機率。一個結果就是,貝葉斯主義者有更多的機會使用貝葉斯法則。
貝葉斯法則是關于随機事件A和B的條件機率和邊緣機率的。
bayes&amp
其中L(A|B)是在B發生的情況下A發生的可能性。
在貝葉斯法則中,每個名詞都有約定俗成的名稱:
Pr(A)是A的先驗機率或邊緣機率。之是以稱為"先驗"是因為它不考慮任何B方面的因素。
Pr(A|B)是已知B發生後A的條件機率,也由于得自B的取值而被稱作A的後驗機率。
Pr(B|A)是已知A發生後B的條件機率,也由于得自A的取值而被稱作B的後驗機率。
Pr(B)是B的先驗機率或邊緣機率,也作标準化常量(normalized constant)。
按這些術語,Bayes法則可表述為:
後驗機率 = (似然度 * 先驗機率)/标準化常量 也就是說,後驗機率與先驗機率和似然度的乘積成正比。
另外,比例Pr(B|A)/Pr(B)也有時被稱作标準似然度(standardised likelihood),Bayes法則可表述為:
後驗機率 = 标準似然度 * 先驗機率
要了解貝葉斯推斷,必須先了解貝葉斯定理。後者實際上就是計算"條件機率"的公式。
所謂"條件機率"(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),這是一個調整因子,使得預估機率更接近真實機率。
是以,條件機率可以了解成下面的式子:
這就是貝葉斯推斷的含義。我們先預估一個"先驗機率",然後加入實驗結果,看這個實驗到底是增強還是削弱了"先驗機率",由此得到更接近事實的"後驗機率"。
在這裡,如果"可能性函數"P(B|A)/P(B)>1,意味着"先驗機率"被增強,事件A的發生的可能性變大;如果"可能性函數"=1,意味着B事件無助于判斷事件A的可能性;如果"可能性函數"<1,意味着"先驗機率"被削弱,事件A的可能性變小。
1、背景材料及引言
7歲女孩曉宇(化名)患急性支氣管炎,在武漢市兒童醫院住院4天,醫生為确診病情,為她抽血化驗了32個名額,僅化驗費就花費1130元。曉宇的家長質疑:醫院如此看病,是過度檢查。曉宇的接診醫生李志超說:“曉宇入院時,根據其家長自述病情,我認為孩子的情況有些嚴重,于是确定了上述化驗名額”。該院四内科副主任李醫生說:在當時情況下,李志超對患者的病情判斷、以及開出的化驗名額,都是有道理的。但如果是我接診,會以自己的經驗有針對性地進行化驗檢查,可能不會一下開出這麼多化驗名額。該科主任溫玟莉主任醫師稱:一次抽血化驗32個名額,是因為李志超當時懷疑孩子得了敗血症,這樣處理沒有問題。但最後的檢查結果并不是敗血症,這隻能說明李志超較年輕,缺乏豐富的臨床經驗,隻有通過全面檢查才能确診。
在醫患關系緊張,看病難、看病貴的現實情況下,我們應如何看待這個頗有争議的案例,醫生看病是應該有針對性地開方,還是列出“算法式”的化驗名額進行排查,本研究以貝葉斯公式為依據,從中國現行的醫療體制出發,對此類問題進行了有益的探索,以期建立一種定量化的診斷模型。
2、模型建立
設“患者有某種病症”為事件A,引起事件A的病因為樣本空間Ω。B1,B2,…Bn為Ω的一個分劃,即Bi∩Bj=Φ,i≠j,Uni=1Bi=Ω,并假定P(Bi)>0。由貝葉斯公式,由某病因引起事件A的機率為:
P(Bi|A)=P(Bi)P(A|Bi)/n/j=1P(Bj)P(A⌒Bj)(1)
公式(1)為醫生有針對性地确診提供了參考。
在疹療過程中,醫生要根據臨床經驗對各種病因Bi進行權衡。如果誤診,則有可能承擔相應的醫療事故風險,相應的誤診機率記為P′(Bi),并設因可能承擔風險而承擔的賠償費用為C′i,患者承擔醫生針對病因Bi開出的疹療方案的費用為Ci,于是在一次診治過程中患者承擔的平均費用為:
E(A)=ni=1P(Bi)Ci(2)
醫生可能承擔的平均賠償金額為:
E′(A)=ni=1P′(Bi)C′i(3)
我們稱該模型為診斷模型,并以δ1≤E(A)-E′(A)≤δ2為标準來衡量診斷方案的合理性,其中δ1≥0,δ2為某一不是特别大的正數。即患者所承擔的平均醫療費用應比醫生可能承擔的平均賠償金要多,但兩者不應差别太大。
3、模型檢驗
我們以發熱和上腹疼痛兩個病症的相關資料對該模型進行檢驗。設原假設為H0:診斷是合理的。備擇假設為H1,診斷合理與否需要進一步考查。
對表1和表2中相關資料的說明:中國2002年9月1日實施的《醫療事故處理條例》(以下簡稱《條例》)第五十條對賠償項目和标準的規定與當地上一年度職工平均工資水準緊密挂鈎,實行一次性結算。表1和表2中的工資水準參考了2007年2月湖北省第十屆人民代表大會上的湖北省政府工作報告中的資料:2006年城鎮居民人均可支配收入為9803元。對發熱症狀中的“非典”及“某種類似非典的突發疾病”所可能帶來的醫療事故我們以一級醫療事故中的死亡來處理,賠償金額按<國家賠償法>第二十七條的規定,檢查費用以一次全身檢查所需費用10000元進行計算;對“心肺功能缺陷”所可能帶來的醫療事故我們按二級醫療事故處理,賠償金額取202110,檢查費用按心電圖20元次,心髒彩超180元次,心肌酶譜60元次,肺檢查80元次進行計算,藥費以相應檢查費用的0.8計算。對上腹疼痛症狀中的“胃癌”及“心、膈等器官有病變”可能帶來的醫療事故我們按二級醫療事故來處理,賠償金額取202110,對B3的檢查費用以B超40元次,催C120元次,胃鏡(無痛)240元次進行計算,藥費以相應檢查費用的0.8計算,對B4的檢查費用以胃鏡(無痛)240元次和心髒彩超180元次進行計算,藥費以相應檢查費用的0.8計算。對兩種症狀中“其它”原因對患者可能造成的損害我們以《條例》第三十三條(三)的規定進行處理:在現有醫學科學技術條件下,發生無法預料或者不能防範的不良後果的,不屬于醫療事故。對兩種症狀中“其它”原因,患者的一次醫療費用我們取城鎮居民人均可支配收入的5%,即490元進行計算。所有醫療費用均指一次診治的檢查費和藥費之和,不包括後續治療的費用。檢查費用以武漢市某三級甲等醫院的相關标準為參考。表1發熱症狀診斷模型的相關資料注:B1=人體生理功能的正常表現:B4=某種類似非典的突發疾病;B5=心肺功能缺陷。表2上腹疼痛症狀診斷模型的相關資料注,B2=胃潰瘍、十二指腸潰瘍;B4=心、膈等器官有病變。
設“發熱症狀”為事件A1,“上腹疼痛症狀”為事件A2,由表1和表2的資料計算得(四舍五入精确到元):
E(A1)=121,E′(A1)=187165;E(A2)=265,E′(A2)=22232
我們會發現原假設H0:診斷是合理的,是不成立的。這些資料告訴我們醫生這個職業的确是個高風險的職業,在中國建立醫療責任保險制度有着必要性與迫切性。
4、模型評價
該模型在合理假設的基礎上,對“對症下藥”進行量化,對診療方案的合理性給出了一個量化的标準,有一定的合理性與臨床參考價值。特别是在用資料對模型檢驗後,證明了醫生的确是個高風險的職業,也顯示了在中國建立醫療責任保險制度的必要性和緊迫性。但在模型應用過程中還需要注意以下幾個方面:①病因的複雜性。病因的複雜性會導緻樣本空間的分劃的個數n比較大,是以需要結合醫學規律對樣本空間分劃進行合理的選擇。②患者體質的差别。不同的患者對同類的醫療事故,由于體質的差别可能帶來不同程度的損害。③醫生臨床診斷水準的差異。不同的醫生,由于經驗等方面的因素,誤診機率可能有較大的差别。④醫院的潛規則。有的醫院把醫生的收入與其給醫院的創收挂鈎,這樣同一病症在不同的醫院治療,診療費用會有較大的差别。⑤實際賠償金的差别。不同地區上一年度個人所得差别較大,加之實際賠償金還與實際談判能力有關系,這樣就可能導緻同類醫療事故在不同地區及不同的患者(或家屬)身上,實際賠償金差别也較大。⑥現行醫療體制對模型的影響。下面對此進行較詳細的分析。
中國現行的醫療事故賠償責任者隻有一個,就是醫療機構,但醫療機構作為理性人,會盡量減少其自身的醫療成本以實作利益的最大化。醫療機構會将其自身受到的損失通過以下三種主要方式進行轉移:一是利用價格機制,提高醫療費用,即将損失分散于所有的就醫者身上;二是由具體責任人承擔風險,即将損失的一部分轉移給與事故直接相關的醫務人員;三是通過責任保險機制,将損失轉移給保險公司。但長期以來,在中國實際上隻有第一種和第二種途徑在發揮着作用,責任保險機制可以說作用甚微。
這樣,就很容易導緻醫療費用上漲,引發醫患關系緊張。醫學的專業化使得醫療機構和患者之間存在巨大的資訊差,醫療機構有動機也有能力通過使患者進行重複或者不必要的檢查項目等方法多收費用,彌補自身損失.是以模型作用的發揮,還需要以下幾方面的配合:
①重視醫德建設,提高醫護人員自身修養。裘法祖院士在文獻裡有很深刻的認識。
②加強醫患之間的溝通,進行換位思考,讓醫生了解患者的苦衷,讓患者了解診療的風險。
③加強誤診規律的研究。醫療技術的進步從來都是和風險相并存的,從某種程度上說誤診是不可避免的,但作為醫護人員要提高生命權保護意識,不斷提高自身的臨床思維能力診斷能力力争把誤診率降到最低。
④加強醫護人員臨床思維能力和臨床經驗的提高。醫學很大程度上是經驗學科,醫學理論最終還要内化為醫護人員的實際診斷能力才能發揮作用。公式(1)為醫護人員提高診斷水準提供了一個很好的參考。
⑤探索适合中國國情的、于患于醫均有益的醫療責任保險制度。尤其是在生命意識越來越受到重視的今天,隻有切實的降低行醫的風險,才能從根本上解決醫患關系緊張的現狀,實作醫患關系的和諧。
一座别墅在過去的 20 年裡一共發生過 2 次被盜,别墅的主人有一條狗,狗平均每周晚上叫 3 次,在盜賊入侵時狗叫的機率被估計為 0.9,問題是:在狗叫的時候發生入侵的機率是多少?
我們假設 A 事件為狗在晚上叫,B 為盜賊入侵,則 P(A) = 3 / 7,P(B)=2/(20·365)=2/7300,P(A | B) = 0.9,按照公式很容易得出結果:P(B|A)=0.9*(2/7300)/(3/7)=0.00058
另一個例子,現分别有 A,B 兩個容器,在容器 A 裡分别有 7 個紅球和 3 個白球,在容器 B 裡有 1 個紅球和 9 個白球,現已知從這兩個容器裡任意抽出了一個球,且是紅球,問這個紅球是來自容器 A 的機率是多少?
假設已經抽出紅球為事件 B,從容器 A 裡抽出球為事件 A,則有:P(B) = 8 / 20,P(A) = 1 / 2,P(B | A) = 7 / 10,按照公式,則有:P(A|B)=(7 / 10)*(1 / 2)/(8/20)=0.875
貝葉斯公式為利用搜集到的資訊對原有判斷進行修正提供了有效手段。在采樣之前,經濟主體對各種假設有一個判斷(先驗機率),關于先驗機率的分布,通常可根據經濟主體的經驗判斷确定(當無任何資訊時,一般假設各先驗機率相同),較複雜精确的可利用包括最大熵技術或邊際分布密度以及互相資訊原理等方法來确定先驗機率分布。
貝葉斯定理的推廣
對于變量有二個以上的情況,貝式定理亦成立。例如:
P(A|B,C)=P(B|A)*P(A)*P(C|A,B)/(P(B)*P(C|B))
這個式子可以由套用多次二個變量的貝式定理及條件機率的定義導出:
數學領域
▪ 貝葉斯公式 (應用:機率空間)
工程領域
其他領域
為了加深對貝葉斯推斷的了解,我們看兩個例子。
第一個例子。兩個一模一樣的碗,一号碗有30顆水果糖和10顆巧克力糖,二号碗有水果糖和巧克力糖各20顆。現在随機選擇一個碗,從中摸出一顆糖,發現是水果糖。請問這顆水果糖來自一号碗的機率有多大?
我們假定,H1表示一号碗,H2表示二号碗。由于這兩個碗是一樣的,是以P(H1)=P(H2),也就是說,在取出水果糖之前,這兩個碗被選中的機率相同。是以,P(H1)=0.5,我們把這個機率就叫做"先驗機率",即沒有做實驗之前,來自一号碗的機率是0.5。
再假定,E表示水果糖,是以問題就變成了在已知E的情況下,來自一号碗的機率有多大,即求P(H1|E)。我們把這個機率叫做"後驗機率",即在E事件發生之後,對P(H1)的修正。
根據條件機率公式,得到
已知,P(H1)等于0.5,P(E|H1)為一号碗中取出水果糖的機率,等于0.75,那麼求出P(E)就可以得到答案。根據全機率公式,
将數字代入原方程,得到
這表明,來自一号碗的機率是0.6。也就是說,取出水果糖之後,H1事件的可能性得到了增強。
垃圾郵件是一種令人頭痛的頑症,困擾着所有的網際網路使用者。
正确識别垃圾郵件的技術難度非常大。傳統的垃圾郵件過濾方法,主要有"關鍵詞法"和"校驗碼法"等。前者的過濾依據是特定的詞語;後者則是計算郵件文本的校驗碼,再與已知的垃圾郵件進行對比。它們的識别效果都不理想,而且很容易規避。
2002年,Paul Graham提出使用"貝葉斯推斷"過濾垃圾郵件。他說,這樣做的效果,好得不可思議。1000封垃圾郵件可以過濾掉995封,且沒有一個誤判。
另外,這種過濾器還具有自我學習的功能,會根據新收到的郵件,不斷調整。收到的垃圾郵件越多,它的準确率就越高。
貝葉斯過濾器是一種統計學過濾器,建立在已有的統計結果之上。是以,我們必須預先提供兩組已經識别好的郵件,一組是正常郵件,另一組是垃圾郵件。
我們用這兩組郵件,對過濾器進行"訓練"。這兩組郵件的規模越大,訓練效果就越好。Paul Graham使用的郵件規模,是正常郵件和垃圾郵件各4000封。
"訓練"過程很簡單。首先,解析所有郵件,提取每一個詞。然後,計算每個詞語在正常郵件和垃圾郵件中的出現頻率。比如,我們假定"sex"這個詞,在4000封垃圾郵件中,有200封包含這個詞,那麼它的出現頻率就是5%;而在4000封正常郵件中,隻有2封包含這個詞,那麼出現頻率就是0.05%。(【注釋】如果某個詞隻出現在垃圾郵件中,Paul Graham就假定,它在正常郵件的出現頻率是1%,反之亦然。這樣做是為了避免機率為0。随着郵件數量的增加,計算結果會自動調整。)
有了這個初步的統計結果,過濾器就可以投入使用了。
現在,我們收到了一封新郵件。在未經統計分析之前,我們假定它是垃圾郵件的機率為50%。(【注釋】有研究表明,使用者收到的電子郵件中,80%是垃圾郵件。但是,這裡仍然假定垃圾郵件的"先驗機率"為50%。)
我們用S表示垃圾郵件(spam),H表示正常郵件(healthy)。是以,P(S)和P(H)的先驗機率,都是50%。
然後,對這封郵件進行解析,發現其中包含了sex這個詞,請問這封郵件屬于垃圾郵件的機率有多高?
我們用W表示"sex"這個詞,那麼問題就變成了如何計算P(S|W)的值,即在某個詞語(W)已經存在的條件下,垃圾郵件(S)的機率有多大。
根據條件機率公式,馬上可以寫出
公式中,P(W|S)和P(W|H)的含義是,這個詞語在垃圾郵件和正常郵件中,分别出現的機率。這兩個值可以從曆史資料庫中得到,對sex這個詞來說,上文假定它們分别等于5%和0.05%。另外,P(S)和P(H)的值,前面說過都等于50%。是以,馬上可以計算P(S|W)的值:
是以,這封新郵件是垃圾郵件的機率等于99%。這說明,sex這個詞的推斷能力很強,将50%的"先驗機率"一下子提高到了99%的"後驗機率"。
做完上面一步,請問我們能否得出結論,這封新郵件就是垃圾郵件?
回答是不能。因為一封郵件包含很多詞語,一些詞語(比如sex)說這是垃圾郵件,另一些說這不是。你怎麼知道以哪個詞為準?
Paul Graham的做法是,選出這封信中P(S|W)最高的15個詞,計算它們的聯合機率。(【注釋】如果有的詞是第一次出現,無法計算P(S|W),Paul Graham就假定這個值等于0.4。因為垃圾郵件用的往往都是某些固定的詞語,是以如果你從來沒見過某個詞,它多半是一個正常的詞。)
所謂聯合機率,就是指在多個事件發生的情況下,另一個事件發生機率有多大。比如,已知W1和W2是兩個不同的詞語,它們都出現在某封電子郵件之中,那麼這封郵件是垃圾郵件的機率,就是聯合機率。
在已知W1和W2的情況下,無非就是兩種結果:垃圾郵件(事件E1)或正常郵件(事件E2)。
其中,W1、W2和垃圾郵件的機率分别如下:
如果假定所有事件都是獨立事件(【注釋】嚴格地說,這個假定不成立,但是這裡可以忽略),那麼就可以計算P(E1)和P(E2):
又由于在W1和W2已經發生的情況下,垃圾郵件的機率等于下面的式子:
将P(S)等于0.5代入,得到
将P(S|W1)記為P1,P(S|W2)記為P2,公式就變成
這就是聯合機率的計算公式。
将上面的公式擴充到15個詞的情況,就得到了最終的機率計算公式:
一封郵件是不是垃圾郵件,就用這個式子進行計算。這時我們還需要一個用于比較的門檻值。Paul Graham的門檻值是0.9,機率大于0.9,表示15個詞聯合認定,這封郵件有90%以上的可能屬于垃圾郵件;機率小于0.9,就表示是正常郵件。
有了這個公式以後,一封正常的信件即使出現sex這個詞,也不會被認定為垃圾郵件了。