跳转至

05 概率群式 - 疾病检测

约 1100 个字 1 张图片 预计阅读时间 6 分钟

问题背景

假定 n 个人相互独立地以概率 p 患病,如何找出全部的病人,使平均检测次数尽可能少?

名词介绍

A 为患病,B 为检测结果为阳性,疾病检测方法的性能指标为

  • 灵敏度(sensitivity)p=P(B|A) :患病者被检测为阳性(positive)的概率
  • 特异度(specificity)q=P(B|A) :未患病者被检测为阴性(negative)的概率

设疾病的发病率为 r ,则被检测出阳性的情况下患病的概率为

P(A|B)=P(B|A)P(A)P(B|A)P(A)+P(B|A)P(A)=prpr+(1q)(1r)

概率群式

概率群式:假定 n 个人相互独立地以概率 p 患病,如何找出全部的病人,使平均检测次数尽可能少?

如何选择群式方案?我们要考虑平均检测次数、检测阶段数、每人最大检测次数、每组最多样本数、方案的可操作性、检测的灵敏度与特异度等多个因素

两阶段群式

n 人的样本混合后检测。若结果为阴性,说明这 n 人均未感染。若结果为阳性,说明这 n 人中至少有一人已感染。此时逐个检测每个人样本。

检测次数

  • 混合样本阴性概率为 (1p)n ,总检测次数为 1
  • 混合样本阳性概率为 1(1p)n ,总检测次数为 n+1
  • 检测次数的数学期望为 1(1p)n+(n+1)(1(1p)n)
  • 平均检测次数的数学期望为 1(1p)n+(n+1)(1(1p)n)n

矩阵检测方案

自适应思路

m×n(mn)个人按矩阵排好,先检测每行样本,若结果为阴性,说明这 m 人均未感染。若结果为阳性,说明这 m 人中至少有一人已感染。此时逐个检测每列样本。

检测次数

这里的每行就相当于两阶段群式中的混合样本,每列就相当于两阶段群式中的每个人样本。

非自适应思路

m×n(mn)个人按矩阵排好,对每行每列分别进行检测。通过检测结果确定感染者的位置。

检测次数

总检测次数均为 m+n

三阶段检测方案

第一阶段:有 n 个人,进行总体的混合检测,若结果为阴性,说明这 n 人均未感染。若结果为阳性,说明这 n 人中至少有一人已感染。进入第二阶段。

第二阶段:将这 n 人分成 AB 两组,每组 n/2 人,先对 A 组进行检测,若结果为阴性,说明这 n/2 人均未感染,且确定感染者在 B 组。若结果为阳性,说明这 n/2 人中至少有一人已感染,但仍需确定 B 组是否有感染者,此时对 B 组进行总体的混合检测。

第三阶段:对有感染者的组进行逐个检测,确定感染者的位置。

Alt text

计算概率:

第一阶段

  • 结果为阴性的概率为 (1p)n ,总检测次数为 1

第二阶段

  • A 组结果为阴性的概率为 (1p)n/2 ;则B组肯定为阳性,这发生的概率为 1(1p)n/2

    +A+B=1+1+n/2=2+n/2
  • A 组结果为阳性的概率为 1(1p)n/2B 组结果为阴性的概率为 (1p)n/2 ,总检测次数为

    +A+A+B=1+1+n/2+1=3+n/2
  • A 组结果为阳性的概率为 1(1p)n/2B 组结果为阳性的概率为 1(1p)n/2 ,总检测次数为

    +A+A+B+B=1+1+n/2+1+n/2=3+n

所以总检测次数的数学期望为

(1p)n1+(1p)n2(1(1p)n2)(2+n2)+(1(1p)n2)(1p)n2(3+n2)+(1(1p)n2)2(3+n)=n+3(n+1)(1p)n2(1p)n

平均检测次数的数学期望为

1+n3(1+1n)(1p)n21n(1p)n