今天有一个小盆友对他们的课程里一道题存在疑问过来问我,说是要求必须应用贝叶斯公式,题目如下:
已知某病发病率5%,假阴率5%,假阳率5%,如果一个人检出了阳性结果,那么他患该病的可能性有多大?
首先需要说明,假阳就是把没病的检成有病的,假阴就是把有病的检成没病的。
然后搬出贝叶斯公式:
p
(
x
∣
y
)
=
p
(
x
)
∗
p
(
y
∣
x
)
p
(
y
)
=
p
(
x
)
∗
p
(
y
∣
x
)
∑
i
=
1
n
p
(
x
i
)
∗
p
(
y
∣
x
i
)
\begin{aligned} p(x|y) &= \frac {p(x)*p(y|x)} {p(y)} \\ &= \frac {p(x)*p(y|x)} {\sum_{i=1}^np(x_i)*p(y|x_i)} \end{aligned}
p(x∣y)=p(y)p(x)∗p(y∣x)=∑i=1np(xi)∗p(y∣xi)p(x)∗p(y∣x)
令p(x)为发病率,p(y)为检出阳性的概率,那么p(x|y)就是检出阳性时患病的概率,p(y|x)就是已知患病了检出阳性的概率(也就是真阳率)。
所以我们的结果就是p(x|y)的值,接下来捋一捋其他三个值:
- p(x)发病率题目中已经给出为5%
- p(y|x)为真阳率,用1减去假阴率(真阳就是有病检出有病,假阴是有病检出没病),为95%
- p(y)为检出阳性的概率,分为两块,一个是有病检出有病,另一个是没病的检出有病(发病率x真阳率+未发病率x假阳率):5%*95%+(1-5%)*5%
p(y)用公式表示更能说明问题:
p ( y ) = p ( x ) ∗ p ( y ∣ x ) + p ( x ˉ ) ∗ p ( y ∣ x ˉ ) p(y)=p(x)*p(y|x)+p(\bar{x})*p(y|\bar{x}) p(y)=p(x)∗p(y∣x)+p(xˉ)∗p(y∣xˉ)
p ( y ∣ x ˉ ) p(y|\bar{x}) p(y∣xˉ)为没病检出有病,即假阳率。p(y)放到贝叶斯公式里,即为:
p ( x ∣ y ) = p ( x ) ∗ p ( y ∣ x ) p ( x ) ∗ p ( y ∣ x ) + p ( x ˉ ) ∗ p ( y ∣ x ˉ ) = 5 % ∗ 95 % 5 % ∗ 95 % + ( 1 − 5 % ) ∗ 5 % = 50 % \begin{aligned} p(x|y) &= \frac {p(x)*p(y|x)} {p(x)*p(y|x)+p(\bar{x})*p(y|\bar{x})} \\ &= \frac {5\%*95\%} {5\%*95\%+(1-5\%)*5\%} \\ &= 50\% \end{aligned} p(x∣y)=p(x)∗p(y∣x)+p(xˉ)∗p(y∣xˉ)p(x)∗p(y∣x)=5%∗95%+(1−5%)∗5%5%∗95%=50%
所以我们的答案就是50%,3个5%的值最后准确率只有50%,所以假阳率和假阴率看起来小实际上影响很大。