感度・特異度と的中率の求め方

検査の性能を表す値を求めます。感度は病気の人を陽性と当てる割合、特異度は健康な人を陰性と当てる割合です。的中率は結果を受け取った側から見た確率で、有病率によって大きく変わります。

検査の良し悪しを表す数はいくつもありますが、見る向きによって意味がまるで変わります。検査する側から見た数と、結果を受け取る側から見た数は別のものです。

検査する側から見るのが感度と特異度です。

Se=TPTP+FNSp=TNFP+TNSe = \dfrac{TP}{TP + FN} \qquad Sp = \dfrac{TN}{FP + TN}

結果を受け取る側から見るのが的中率です。

PPV=TPTP+FPNPV=TNFN+TNPPV = \dfrac{TP}{TP + FP} \qquad NPV = \dfrac{TN}{FN + TN}

感度は病気の人を取りこぼさない力、特異度は健康な人を無駄に引っかけない力です。陽性的中率は「陽性と言われた人が本当に病気である確率」、陰性的中率は「陰性と言われた人が本当に健康である確率」になります。

既定の入力は 10000 人を検査した結果です。真陽性 90、偽陽性 900、偽陰性 10、真陰性 9000 でした。

病気の人は 90+1090 + 10 で 100 人、健康な人は 900+9000900 + 9000 で 9900 人、有病率は 1% です。

感度は 90÷10090 \div 100 で 90%、特異度は 9000÷99009000 \div 9900 でおよそ 90.91% です。どちらも高く、性能のよい検査に見えます。

ところが陽性的中率は 90÷99090 \div 990 で、およそ 9.09% しかありません。陽性と言われた人のうち、本当に病気なのは 11 人に 1 人ということです。

なぜ的中率がこれほど低いのか

人数の内訳を見れば分かります。病気の人は 100 人しかいませんが、健康な人は 9900 人います。特異度が 90.91% ということは、健康な 9900 人のうち 9% あまり、つまり 900 人が誤って陽性になるということです。正しく陽性になる 90 人に対して、誤りが 900 人。合わせて 990 人の陽性のうち、当たりは 90 人だけです。

性能そのものは悪くありません。もとの人数が偏っているのです。まれな病気を探すとき、偽陽性は健康な大多数から生まれるので、数の上で真陽性を押し流してしまいます。これはベイズの定理が言っていることそのもので、事前確率(有病率)が低ければ事後確率も上がりにくい、という話です。

注意

感度と特異度は検査そのものの性質なので、どの集団に使っても変わりません。的中率は有病率で大きく変わります。同じ検査でも、症状のある人に使えば的中率は高く、症状のない大勢に使えば低くなります。検査の数字を読むときは、必ずどちらの話かを確かめてください。

この理由から、まれな病気のスクリーニングでは 2 段階の検査が組まれます。1 段階目で広く拾い、陽性になった人だけに精度の高い検査をかけます。1 段階目を通った時点で有病率が上がっているので、2 段階目の的中率は高くなります。