たくさんの試料と引き比べる

  • 前記事のセンターで『「ある被検者」の検査』というのは、「被検者」のデータと、複数の試料のデータを比べて、一致するものがあるかどうかを調べるというものだという
  • 複数の試料の中には、「被検者」の試料と同じものが含まれているかもしれないし、含まれていないかもしれない
  • 含まれている確率がqであるという
  • 「被検者」の試料と同じでないその他の試料は、被検者の試料と一致する確率がrであるという
  • 複数の試料のその数はMだという
  • M個の試料の中に、被検者のそれが含まれている確率はq、含まれていない確率は1-q
    • 含まれている場合に、被検者のと一致する検体が検出される確率は
      • 一致検体数がi=1,2,...,Mである確率がそれぞれ、
        • _{M-1}C_0 (1-r)^{M-1},_{M-1}C_1 r (1-r)^{M-2},...,_{M-1}C_i r^i(1-r)^{M-1-i},...
    • 含まれていない場合に、被検者のと一致する検体が検出される確率は
      • 一致検体数がi=0,1,2,...,Mである確率がそれぞれ、
        • _{M}C_0 (1-r)^{M},_{M}C_1 r (1-r)^{M-1},...,_{M}C_i r^i(1-r)^{M-i},...
    • したがって、含まれている場合と含まれていない場合とを合わせると
      • 一致検体数が0の確率は(1-q)_MC_0 (1-r)^M
      • 一致検体数がi=1,2,...,Mである確率はq_{M-1}C_{i-1}r^{i-1}(1-r)^{M-i} + (1-q)_MC_i r^i(1-r)^{M-i}
# 比較対象試料M
M<-1500
# 検体の中に真の試料が含まれる確率
q<-0.5
# 偽の試料で検査が陽性の確率
r<-0.0003

# M個の比較対象試料のなかの「陽性」試料数別の確率
res1<-rep(0,(M+1))
res2<-rep(0,(M+1))
ressum<-rep(0,(M+1))
res1[1]<--Inf
res2[1]<-log(1-q)+lchoose(M,0)+0*log(r)+(M-0)*log(1-r)
ressum[1]<-res2[1]
for(i in 2:(M+1)){
	ressum[i]<-lchoose(M,i-1)+(i-1)*log(r)+(M-i+1)*log(1-r)+log(q*(i-1)/(M*r)+(1-q))
	res1[i]<-lchoose(M-1,i-2)+(i-2)*log(r)+(M-i+1)*log(1-r)+log(q)
	res2[i]<-lchoose(M,i-1)+(i-1)*log(r)+(M-i+1)*log(1-r)+log(1-q)
}


res1[2]
res2[2]
ressum[2]
exp(res1[2])+exp(res2[2])
exp(ressum[2])

plot(exp(ressum)-(exp(res1)+exp(res2)),ylim=c(-0.1,0.1))

tobeplotted<-0:10
plot(tobeplotted,exp(ressum[tobeplotted+1]),type="b",ylim=range(exp(ressum[tobeplotted+1])))
par(new=TRUE)
plot(tobeplotted,exp(res1[tobeplotted+1]),col=2,type="b",ylim=range(exp(ressum[tobeplotted+1])))
par(new=TRUE)
plot(tobeplotted,exp(res2[tobeplotted+1]),col=3,type="b",ylim=range(exp(ressum[tobeplotted+1])))