贝叶斯定理和贝叶斯因子

贝叶斯定理的核心观点是:新证据不能单独说明概率,而是在原有证据的基础上更新概率。但贝叶斯定理的公式缺乏直观性,而贝叶斯因子(灵敏度/假阳性)可以直观说明新证据的效力。例如一项灵敏度90%,假阳性9%的医学检测,其贝叶斯因子为10。但如果人群发病率仅1%(赔率1:99),一次检测为阳性也只能将确诊概率提升至略低于10%(赔率10:99);如果寻求独立第二意见再次显示阳性,确诊概率就会提升至约50%(赔率100:99)。

包含具体数字的例子能大幅降低陷入统计谬误的风险


例子1

(Daniel Kahneman, Amos Tversky) “Steve非常害羞而孤僻,乐于助人,但对与人和现实世界打交道兴趣不大。他温顺而整洁,热爱秩序和结构,热衷细节”。Steve是图书管理员还是农民?


当看到以上描述(证据E)时,大多数人会(基于刻板印象)认为:“Steve是图书管理员”(假设H)的几率更大。但这一想法没有考虑两者在整体人口中的巨大数量差异。例如,假设农民的人口是图书管理员的20倍,即使认为图书管理员符合描述的几率是农民的4倍,在总人群(210)中符合描述的人里,也只有4名图书管理员,而有20名农民。换言之,符合描述的Steve,是图书管理员的几率只有约17%

图书管理员农民
总人数10200
不符合描述6180
符合描述420

以上描述并不能单独决定Steve是图书管理员的概率,只是在总人群中更新了Steve是图书管理员的概率:从总人群的$10/(10+200) \approx 0.048$更新为了$4/(4+20) \approx 16.667$。


(数学部分开始)

贝叶斯定理的公式如下:

$$ P(H|E)=\cfrac{P(H)\cdot P(E|H)}{P(E)} =\cfrac{P(H)\cdot P(E|H)}{P(H)\cdot P(E|H) + P(¬H)\cdot P(E|¬H)} $$

  • $P(H|E)$:“H的后验/条件概率 Posterior/conditional probability",即:有鉴于新证据(在例子1中,对Steve的文字描述),更新后的Steve是图书管理员的概率(4/24)
  • $P(H)$:“H的先验/边缘概率 Prior/marginal probability",即:总人群中,Steve是图书管理员的概率(10/210)
  • $P(E|H)$:“特定H下,E的似然性 Likelihood",即:刻板印象里,图书管理员符合描述的几率(4/10)
  • $P(E)$:“E的先验/边缘概率 Total probability",即:总人群中,Steve符合描述的概率(24/210):
    • Steve是图书管理员(假设属实),并且符合描述的概率(4/210,等于$P(H)\cdot P(E|H)$),加上
    • Steve是农民(假设错误),但也符合描述的概率(20/210,等于$P(¬H)\cdot P(E|¬H)$)

3Blue1Brown - Bayes theorem, the geometry of changing beliefs [HZGCoVF3YvM - 1250x703 - 8m38s]

(数学部分结束)


然而,较之抽象化的公式,使用具体数字为例,更加直观,更容易理解,最重要的是:用具体数字举例可以极大幅度地降低普通人落入统计谬误的风险。如果在提出问题时给出具体数字为例,大多数人都不会落入陷阱。例如下面的例子2:


例子2

(Gerd Gigerenzer) 1位50岁无症状女性在例行检查中被发现疑似乳腺癌。假设:

  1. 她所在人群乳腺癌发病率(prevalence)是1%,
  2. 检查的灵敏度(sensitivity)是90%(即:1,000个受检患者中,能够查出900名,有100名为假阴性false negative),
  3. 检查的特异性(specificity)是91%(即:1,000个受检健康人中,能够确认910名健康人,有90名被误认为乳腺癌(假阳性false positive)。

在没有其它信息的前提下,该女性患有乳腺癌的概率是多少?


在一次研讨会上,这个例子的作者向一群妇科医生用单选题的方式提出了这个问题(并未包括括号中的数字举例)。超过一半的医生表示,概率接近90%。而这是完全错误的,正确的概率应当更接近10%。换言之,在做完这一检查后,该女性患病的几率只有大约10%。

正如例子1所述,检查并不单独说明发病率。检查的目的是在人群发病率的基础上,更新受检人群的发病率。在这个例子中,该检查将这位女性的发病率从人群发病率1%,提升到了大约$90/(90+891) \approx 0.092$,增加了接近10倍。

病人健康人
总人数1009,900
检测阳性90(90%灵敏度)891(9%假阳性)
检测阴性10(10%假阴性)9,009(91%特异性)

事实上,人群发病率越低,假阳性在所有检测阳性的人群中占比就会越高。如果人群发病率只有万分之一,同样的检测结束后,患者的患病几率仍然只有大约千分之一,有99.9%的几率是假阳性!

如果提供具体数字举例,人们会更容易意识到,由于健康人居多,即使一个灵敏度和特异性都达到90%或以上的检测报告阳性,仍有很大的假阳性可能,从而避免落入统计谬误

如何让贝叶斯定理更直观:贝叶斯因子(Bayes factor)

尽管贝叶斯定理的核心是“概率的更新”,但无论是贝叶斯公式的各个因子,还是例子2中的灵敏度、特异性等常见参数,都无法直观地体现出这个“更新倍数”。如此前一再提及的,越是直观,就越能帮助避免落入统计谬误。

贝叶斯因子是新证据“更新概率”能力的直观表现。就例子2而言,贝叶斯因子指:考虑到检测结果是阳性(新证据),这位女性是病人的概率较之不是病人概率的倍数。 即:

$$ Bayes factor = \cfrac{P(阳性|病人)}{P(阳性|健康人)}=\cfrac{P(灵敏度)}{P(假阳性)}=\cfrac{0.9}{0.09}=10 $$

在先验概率(例子2中指人群发病率1%)远小于1的前提下,贝叶斯因子可以用于估计:检测能将先验概率提升多少倍。在例子2中,原先1%的先验概率乘以贝叶斯因子后得到10%,略高于真实值9.2%。它的优势是:灵敏度和假阳性(即1-特异性)数值都是非常常见的评价检测能力的参数,因此可以提供粗略的估算,对于避免落入统计谬误尤为有用

然而,如果先验概率相对较大,后验概率会被显著地高估(例如:如果人群发病率是50%而检测不变,检测后的患病概率显然不可能是50% * 10 = 500%)。这一误差的本质原因是,贝叶斯因子更新的并不是概率probability,而是赔率odds

3Blue1Brown - The medical test paradox, and redesigning Bayes’ rule [lG4VkPoG3ko - 1250x703 - 13m03s]

如何使用贝叶斯因子计算后验概率

如果用赔率重新计算例子2检测后病人的患病概率,只需要3步:

  1. 用赔率写出先验概率(人群患病率):$O(prior) = 1:99$
  2. 计算贝叶斯因子:$P(灵敏度)/P(假阳性) = 10$
  3. 计算用赔率表示的后验概率:$O(posterior) = O(prior) \cdot Bayes factor = 1:99 * 10 = 10:99$

如果将其换算回概率,意味着:经过一次检查后,该病人罹患癌症的概率是$10/109 \approx 0.092$。但赔率变化已经可以提供很好的直觉。


例子3: 如果提高人群患病率(例如:通过更仔细的问诊,将患者限定在一个更为准确的人群中),但不改变检测参数:

病人健康人
总人数500500
检测阳性450(90%灵敏度)45(9%假阳性)
检测阴性50(10%假阴性)455(91%特异性)

$$ O(posterior) = O(prior) \cdot Bayes factor = 1:1 * 10 = 10:1 $$

意味着这位新患者在检测阳性后确实得病的后验概率为$10/11 \approx 0.909$。


来源

Built with Hugo
Theme Stack designed by Jimmy