Think Bayes

贝叶斯定理是统计学中非常重要的一个定理,以贝叶斯定理为基础的统计学派在统计学世界里占据着重要的地位,和概率学派从事件的随机性出发不同,贝叶斯统计学更多地是从观察者的角度出发,事件的随机性不过是观察者掌握信息不完备所造成的,观察者所掌握的信息多寡将影响观察者对于事件的认知。

条件概率和全概率

在介绍贝叶斯定理之前,先简单地介绍一下条件概率,描述的是事件 A 在另一个事件 B 已经发生条件下的概率,记作 $P(A|B)$, A 和 B 可能是相互独立的两个事件,也可能不是:
$$
P(A|B)=\frac{P(A\cap B)}{P(B)}
$$
$P(A\cap B)$ 表示 A,B 事件同时发生的概率,如果 A 和 B 是相互独立的两个事件,那么:
$$
P(A|B)=\frac{P(A\cap B)}{P(B)}=\frac{P(A)\times P(B)}{P(B)}=P(A)
$$
上面的推导过程反过来证明了如果 A 和 B 是相互独立的事件,那么事件 A 发生的概率与 B 无关。

稍微做一下改变:
$$
P(A\cap B)=P(A|B)\times P(B)
$$
考虑到先验条件 B 的多种可能性,这里引入全概率公式:
$$
P(A) =P(A\cap B)+P(A\cap B^C)=P(A|B)\times P(B)+P(A|B^c)\times P(B^c)
$$
这里 $B^c$ 表示事件 B 的互补事件,从集合的角度来说是 B 的补集:
$$
P(B)+P(B^c)=1
$$
条件概率和全概率公式可以通过韦恩图形象地表示出来:

贝叶斯公式

在条件概率和全概率的基础上,很容易推导出贝叶斯公式:
$$
P(A|B)=\frac{P(A\cap B)}{P(B)}=\frac{P(B|A)\times P(A)}{P(B)}=\frac{P(B|A)\times P(A)}{P(B|A)\times P(A)+P(B|A^c)\times P(A^c)}
$$
看上去贝叶斯公式只是把 A 的后验概率转换成了 B 的后验概率 + A 的边缘概率的组合表达形式,因为很多现实问题中$P(A|B)$ 和 $P(A\cap B)$ 很难直接观测,但是 $P(B|A)$ 和 $P(A)$ 却很容易测得,利用贝叶斯公式可以方便我们计算很多实际的概率问题。

推理误区

在生活中,几乎所有人(包括统计学者)都会无意识地将两个事件的后验概率混淆,即:
$$
P(A|B)=P(B|A)
$$
最经典的一个例子就是疾病检测,假设某种疾病在所有人群中的感染率是0.1%,医院对于该疾病检测准确率为 99%(检查结果为阳性,有 99% 的可能性患病;阴性则 99% 的可能性为正常),如果从人群中随机抽一个人去检测,医院给出的检测结果为阳性,那么这个人实际得病的概率是多少?

很多人多会脱口而出 "99%",但真实概率远低于此,因为他们把两个后验概率搞混了,如果用 A 表示这个人患有该疾病,用 B 表示医院检测的结果是阳性,那么 $P(B|A) = 99\%$ 表示的是「已知一个人得病的情况下医院检测出阳性的概率」,而我们现在问的是「已知检测结果为阳性的情况下这个人患病的概率」,即 $P(A|B)$ 。

我们可以用贝叶斯定理来计算这个人实际得病的概率:
$$
P(A|B)=\frac{P(B|A)\times P(A)}{P(B|A)\times P(A)+P(B|A^c)\times P(A^c)}
$$
其中:

  • $P(A)=0.001$,被检测者患病的概率
  • $P(A^c)=0.999$,被检测未者患病的概率
  • $P(B|A)=0.99$,已知患病的情况下检测为阳性的概率
  • $P(B|A^c)=0.01$,已知未患病的情况下检测为阳性的概率

将上面的概率代入到贝叶斯公式中,可得:
$$
P(A|B)=\frac{P(B|A)\times P(A)}{P(B|A)\times P(A)+P(B|A^c)\times P(A^c)}=\frac{0.99\times 0.001}{0.99\times 0.001 + 0.01\times 0.999}\approx 0.09
$$
这个公式在这里的实际意义是什么?让我们用图来解释(图中概率经过四舍五入,考虑到图片的尺寸,面积并没有和概率严格对应起来):

从贝叶斯的角度来看,随意选取的一个被测者,由于信息并不充分,未检测之前有假阳性、真阳性、假阴性和真阴性四种可能,这些可能性由检测技术和该疾病的感染率决定,当检测结果为阳性的时候,只剩下真阳性和假阳性两种可能,而真阳性的概率仅为假阳性的十分之一,贝叶斯公式在这里的实际意义是:
$$
P(A|B)=\frac{真阳性}{假阳性+真阳性}=\frac{0.001}{0.01+0.001}\approx0.09
$$
即使被医院检测为阳性,实际患病的概率其实还不到10%,有很大可能是假阳性,往往需要复检来确定是否真的患病,让我们再来计算初检和复检结果都为阳性时,患病的可能性。假设两次检查的准确率相同,都是99%,这里令 B 为第一次检测结果为阳性,C 为第二次检测结果为阳性,A 为被检测者患病,那么两次检测结果都是阳性患病的概率可以表示为:
$$
P(A|(B\cap C))=\frac{P((B\cap C)|A)\times P(A)}{P((B\cap C)|A)\times P(A)+P((B\cap C)|A^c)\times P(A^c)}
$$
其中:

  • $P(A)=0.001$,被检测者患病的概率
  • $P(A^c)=0.999$,被检测者未患病的概率
  • $P((B\cap C)|A) = 0.99\times 0.99 = 0.9801$,已知患病情况下连续两次检测结果为阳性的概率
  • $P((B\cap C)|A^c) = 0.01\times 0.01 = 0.0001$,已知未患病情况下连续两次检测结果为阳性的概率

代入后可得:

可见复检结果大大提高了检测的可信度,联系上面的图,复检的意义在于大幅减少假阳性的可能(0.01 -> 0.0001)从而提高阳性检测的准确性。

如需转载,请注明作者和出处