感度と特異度

MikuHatsune2010-12-15

病理学の講義で、子宮頚癌の患者の99.7%がHPV陽性らしい、ということを聞いた。
これを使ってちょっとこのことについて考えてみようと思う。
A:子宮頚癌であるという事象。
H:HPV検査で陽性という事象。
としよう。
医学的には、前の記事の図が

\begin{matrix}&C&C^c\\H&P_{sensitivity}&1-P_{specificity}\\H^c&1-P_{sensitivity}&P_{specificity}\end{matrix}
と、感度sensitivityと特異度specificityという言葉があるらしい。
 
P(C|H)=\frac{P(C)P(H|C)}{P(C)P(H|C)+(1-P(C))P(H|C^c)}\\\hspace{55}=\frac{P(C)P_{sensitivity}}{P(C)P_{sensitivity}+(1-P(C))(1-P_{specificity})}
事前確率は講義によるとP(C)=0.007らしい。P(H|C)=0.997として、P(H^c|C^c)=specificityをいじくってみよう。

x<- function(pre,sen,spe){
  return(pre*sen/(pre*sen+(1-pre)*(1-spe)))
}
pre<- 7/1000
sen<- 997/1000
spe<- seq(from=0,to=1,by=0.001)
plot(spe,x(pre,sen,spe),type="s",lwd=2,
     xlab="specificity",ylab="positive patient probability")


えっ…?

tail(x(pre,sen,spe),n=10)
 [1] 0.4384896 0.4676674 0.5010050 0.5394605 0.5843101 0.6372934 0.7008435 0.7784718 0.8754390 1.0000000

特異度0.99以上を取り出してみてもこんな具合らしい。
うわオレ講義中聴き間違えたのかと思い、P(C|H)=0.997にして上式をP_{specificity}についてゴリゴリ解くと
P_{specificity}=1-\frac{P(C)P_{sensitivity}}{1-P(C)}(\frac{1}{P(C|H)}-1)
いやもうなんかようわからん。
いろいろググッていたら、感度0.94、特異度0.915、陽性適中率0.161、陰性適中率0.999とか出てきてウホッ(・Д・;)ってなったからまあどうしよう。
そもそも事前確率が違うのか…?

x<- function(pre,sen,spe){
  return(pre*sen/((pre*sen)+(1-pre)*(1-spe)))
}
b<- 1/500
sen<- seq(from=0,to=1,by=b)
spe<- seq(from=0,to=1,by=b)
pre<- c(0.01,0.05,0.1,0.2,0.5,0.8)
titiles<- c("prior probability = 0.01",
            "prior probability = 0.05",
            "prior probability = 0.1",
            "prior probability = 0.2",
            "prior probability = 0.5",
            "prior probability = 0.8"
            )
theta<- 30 ; phi<- 20
par(mfrow=c(2,3))
for(i in 1:length(pre)){
PLOT<- matrix(x(pre[i],M$Var1,M$Var2),nr=sqrt(nrow(M)))
persp(PLOT,col=rainbow(length(sen)*2),
      xlab="sensitivity",
      ylab="specificity",
      zlab="real patient",
      theta=-theta,phi=phi,main=titiles[i]
     )
}
library(rgl)
pre<- runif(1)
plot3d(row(PLOT),col(PLOT),PLOT,col=rainbow(length(sen)*2),
      xlab="sensitivity",
      ylab="specificity",
      zlab="real patient"
      )
pre


う〜ん(・ω・)