最近科学网就一个概率问题发生了非常有趣的讨论,我昨天看到,阅读了一下相关讨论,思考了一下。下面是我的 2 cents。
我们考虑:一个人有X病 (A)并且检测结果为 X阳性 (B)的概率。 我们可以想象将所有人全部进行X检测,并且进行 X 诊断,而考虑检测为阳性、并且诊断为有X的比例。
有两种计算方法。
一是:有X病,然后去检测为阳性。概率是有病的概率 P(A)乘以这个检查的准确概率 P(B|A): P(A) * P (B|A) 。P(B|A) 是确实有X病然后测出 X 阳性的概率。
二是:检查X为阳性,然后被确诊为有X病的概率。概率是 P(B)* P(A|B)。这里 P(A|B) 是测出X阳性而确实有X病的概率。
两种结果应该相等,所以
$P(A) \ P(B|A) = P(B) \ P (A|B)$
上面的 P(B|A)记号如果 A、B换个位可能看得更清楚,不过既然都这么写,我们就跟着吧。
我们需要的是,检查出阳性,真的得了 X 病的概率 P(A|B)。由上面的等式可见:
$\ P (A|B) = \frac{P(A) \ P(B|A)}{P(B) }$
贝叶斯定理推导只此一步。
在文中的例子中, P(A) 是千分之一(人群患病率),P(B|A) 是99%。但要运用上面的公式,问题是人群中检测出阳性的几率P(B) 是多少?
显然,光从这个 99% 的准确率是不能得到这个信息的。为此,我们还要知道这个检测的 FALSE POSITIVE 率。也就是一个人没有X病,却测出X阳性的概率。这个 99% 准确率意味着 1% 的情况下有X 却没测出来,这是 1% 的假阴性。但1%的假阴性不等于 1% 的假阳性。单从X病人99% 能测出 X 阳性是得不到这个信息的。完全可能出现这种可能,一种测试有 1%的假阴性,但却是 0% 假阳性。
如果这个X 测试的假阴性率为1%,假阳性率为0% , 那么只要测出 X 阳性,则100%有 X 病。
这应该是常识。大家可以自己想想例子。
代入上面的公式当然得出同样的结果: 测试的假阳性率为0,那么人群中测出阳性的概率就是 患病率乘以 99%,也就是 P(B) = 1/1000 * 99% ,那么
$P(A|B) = \frac{\frac{1}{1000}\ \times 0.99} { \frac{1}{1000} \ \times 0.99} =\%100$
贝叶斯公式结果与我们上面的常识相同,如果假阳性率为零,测出阳性就是有X。
测试阳性真率 + 假阴性率 =1 。但是 阳性真率 + 假阳性率却不一定等于 1 。假阳性率也一般不等于假阴性率。
如果人群患病率只有 1/1000,但是测试假阳性率却是10倍,达到 1/100。也就是说 1000个人中只有一个人生病,这个测试却能得出11个人阳性,我们只能说,这个测试 90% 情况下错误报警。
这就像烽火戏诸侯。真有外敌来入侵,它100%能报告;但是美女要笑笑,它也狼烟四起。玩笑警报可能是真警报的10倍之多,真有事诸侯也不来了,这系统就此废了。这个古人就知道了,似乎不存在数学悖论。
概率问题与贝叶斯定理
https://blog.sciencenet.cn/blog-684007-1047658.html
上一篇:
法定赔偿之惩罚性:论道德与法律下一篇:
美对朝鲜攻击之动力学分析