医療統計学・医療情報学・遠隔医療 · 13
診断検査の評価
Evaluation of Diagnostic Tests
🧠 全体像:2×2表は縦に読むか横に読むかで、まったく別の質問に答える。縦(真の疾患の有無で条件づけ conditioning 条件づけ(conditioning) conditioning(条件づけ) る)=感度・特異度は「疾患がある人はどう出るか」を答え、有病率prevalence 有病率(prevalence)prevalence(有病率) に依存しない。横(検査結果で条件づけ conditioning 条件づけ(conditioning) conditioning(条件づけ) る)=PPV・NPV は「陽性だった人はどうなのか」を答え、有病率prevalence 有病率(prevalence)prevalence(有病率) に強く依存する。患者が知りたいのは横、論文に書いてあるのは縦。この2つを橋渡しするのが有病率 prevalence 有病率(prevalence) prevalence(有病率) であり、それが診断検査 diagnostic testing 診断検査(diagnostic testing) diagnostic testing(診断検査) の全論点である。
検査は何をしているのか
血糖値でも CRPCRP(C-reactive protein) でも、すべての量には分布がある。疾患のある集団とない集団では、その分布の位置が違う——しかし重なっている。
flowchart TD
A["疾患なし群の分布"] --> C["2つの分布は重なる"]
B["疾患あり群の分布"] --> C
C --> D["<span class='jp-term jp-term-diagram' title='cutoff (value)'>カットオフ値</span>(閾値・discrimination value)を1点決める"]
D --> E["それより上を検査陽性、下を検査陰性とする"]
E --> F["重なっている領域では必ず誤分類が生じる"]
| 重なり方 | 検査として |
|---|---|
| 完全に重なる | 役に立たない |
| 部分的に重なる | 使える可能性がある(現実のほぼすべて) |
| 重ならない | 完全な検査(現実にはほぼ存在しない) |
⭐ 誤分類はカットオフ cut-off カットオフ(cut-off) cut-off(カットオフ) の選び方が下手だから起きるのではなく、分布が重なっているから原理的に生じる。 カットオフcut-off カットオフ(cut-off)cut-off(カットオフ) をどこに置いても、偽陽性か偽陰性のどちらかは必ず残る。決められるのはその配分だけである。
2×2表(混同行列)
⭐ この配置を暗記する。列が「真の状態」、行が「検査結果」。
| 疾患あり | 疾患なし | 行から読む指標 | |
|---|---|---|---|
| 検査陽性 | TP(真陽性true positive真陽性(true positive)true positive(真陽性)) | FP(偽陽性) | PPV = TP/(TP+FP) 偽警報率 = FP/(TP+FP) |
| 検査陰性 | FN(偽陰性) | TN(真陰性true negative真陰性(true negative)true negative(真陰性)) | NPV = TN/(TN+FN) 偽安心率 = FN/(TN+FN) |
| 列から読む指標 | 感度 = TP/(TP+FN) 偽陰性率false negative rate偽陰性率(false negative rate)false negative rate(偽陰性率) = FN/(TP+FN) |
特異度 = TN/(TN+FP) 偽陽性率false positive rate偽陽性率(false positive rate)false positive rate(偽陽性率) = FP/(TN+FP) |
有病率prevalence有病率(prevalence)prevalence(有病率) = (TP+FN)/全体 診断効率 = (TP+TN)/全体 |
💡 列の中で足すと1になる(感度+偽陰性率 false negative rate 偽陰性率(false negative rate) false negative rate(偽陰性率) =1、特異度+偽陽性率 false positive rate 偽陽性率(false positive rate) false positive rate(偽陽性率) =1)。行の中でも足すと1になる(PPV+偽警報率=1、NPV+偽安心率=1)。この「どちらの方向に足して1になるか」が、その指標が何で条件づけ conditioning 条件づけ(conditioning) conditioning(条件づけ) られているかを教えてくれる。
なお、これらは互いに独立ではない。独立なのは3つ(感度・特異度・有病率prevalence有病率(prevalence)prevalence(有病率))で、残りはすべてそこから計算できる。
検査の「良さ」は1つの数では表せない
診断検査diagnostic testing 診断検査(diagnostic testing)diagnostic testing(診断検査) には4つの別々の問いがある。
| 問い | 指標 | COVID での例 |
|---|---|---|
| (a) 捕まえるべき人をどれだけ捕まえるか | 感度 | 感染者を陽性と判定できる確率 |
| (b) 放っておくべき人をどれだけ放っておくか | 特異度 | 非感染者を陰性と判定できる確率 |
| (c) 陽性という結果はどれだけ信用できるか | PPV | 陽性と出た人が本当に感染している確率 |
| (d) 陰性という結果はどれだけ信用できるか | NPV | 陰性と出た人が本当に感染していない確率 |
⚠️ (a)(b) と (c)(d) は違う質問である。 混同すると診断のたびに誤る。
参照基準(gold standard)
どの検査も、常に正しいとされる参照基準と比較して評価する(ときには剖検の結果しかない)。しかし後述するように、参照基準自体が不完全なことが多く、その場合の「特異度」は過小評価される。
有病率に依存しない指標(列で条件づける)
| 指標 | 定義 | 言葉 |
|---|---|---|
| 感度sensitivity, se感度(sensitivity, se)sensitivity, se(感度) | TP/(TP+FN) | 疾患ありの人のうち陽性となる割合。真陽性true positive 真陽性(true positive)true positive(真陽性) 率 |
| 特異度specificity, sp特異度(specificity, sp)specificity, sp(特異度) | TN/(TN+FP) | 疾患なしの人のうち陰性となる割合。真陰性true negative 真陰性(true negative)true negative(真陰性) 率 |
| 偽陰性率false negative rate 偽陰性率(false negative rate)false negative rate(偽陰性率) (1−se) | FN/(TP+FN) | 疾患ありなのに陰性となる割合。第2種の誤りに対応 |
| 偽陽性率false positive rate 偽陽性率(false positive rate)false positive rate(偽陽性率) (1−sp) | FP/(TN+FP) | 疾患なしなのに陽性となる割合。第1種の誤りに対応 |
- カットオフcut-off カットオフ(cut-off)cut-off(カットオフ) を下げると感度が上がる(陽性と呼ぶ範囲が広がる)が、特異度は下がる
- カットオフcut-off カットオフ(cut-off)cut-off(カットオフ) を上げると特異度が上がるが、感度は下がる
| 高感度が要るのは | 高特異度が要るのは |
|---|---|
| 早期発見・スクリーニング(見逃しを最小化したい) | 偽陽性の代償が大きいとき(手術・化学療法などに直結する) |
| 疾患のリスクが治療のリスクより大きいとき | 治療のリスクが疾患のリスクより大きいとき |
有病率
有病率prevalence, w有病率(prevalence, w)prevalence, w(有病率) = ある時点で検査対象集団 study population 対象集団(study population) study population(対象集団) に占める疾患のある人の割合。検査前確率pretest probability 検査前確率(pretest probability)pretest probability(検査前確率) (事前確率pretest probability事前確率(pretest probability)pretest probability(事前確率)、a priori probability)そのものである。
⚠️ 有病率prevalence 有病率(prevalence)prevalence(有病率) と罹患率 incidence 罹患率(incidence) incidence(罹患率) は違う。 有病率prevalence 有病率(prevalence)prevalence(有病率) は「今病気である確率」(スナップショット)、罹患率incidence rate 罹患率(incidence rate)incidence rate(罹患率) は「これから病気になる確率」(動態)。詳しくは 疫学指標・ROCROC(receiver operating characteristic)・尤度比。
有病率に依存する指標(行で条件づける)
| 指標 | 定義 | 言葉 |
|---|---|---|
| PPV(陽性的中率positive predictive value陽性的中率(positive predictive value)positive predictive value(陽性的中率)) | TP/(TP+FP) | 検査陽性の人のうち本当に疾患がある割合。診断的 relevance |
| NPV(陰性的中率negative predictive value, NPV陰性的中率(negative predictive value, NPV)negative predictive value, NPV(陰性的中率)) | TN/(TN+FN) | 検査陰性の人のうち本当に疾患がない割合 |
| 偽警報率(1−PPV) | FP/(TP+FP) | 陽性なのに疾患がない割合 |
| 偽安心率(1−NPV) | FN/(TN+FN) | 陰性なのに疾患がある割合 |
これらは検査後確率post-test probability 検査後確率(post-test probability)post-test probability(検査後確率) (事後確率)である。患者と臨床医が実際に必要としているのはこちらである——「私の検査が陽性でした。私は病気なのですか」という問いに答えるのは PPV であって感度ではない。
診断効率diagnostic efficiency / accuracy, de診断効率(diagnostic efficiency / accuracy, de)diagnostic efficiency / accuracy, de(診断効率) = (TP+TN)/全体。正しく分類された割合。これも有病率 prevalence 有病率(prevalence) prevalence(有病率) に依存する。
核心:同じ検査を、2つの有病率の集団に使う
感度 95%、特異度 90% のまったく同じ検査を考える。
場合1 — 有病率 50%(症状のある患者の外来)
200人を検査する。疾患あり100人、疾患なし100人。
| 疾患あり | 疾患なし | 計 | |
|---|---|---|---|
| 検査陽性 | TP = 95 | FP = 10 | 105 |
| 検査陰性 | FN = 5 | TN = 90 | 95 |
| 計 | 100 | 100 | 200 |
- 感度 = 95/100 = 95%、特異度 = 90/100 = 90%
- PPV = 95/105 = 90.5%、NPV = 90/95 = 94.7%
- 診断効率 = 185/200 = 92.5%
場合2 — 有病率 10%(無症状者のスクリーニング)
1000人を検査する。疾患あり100人、疾患なし900人。
| 疾患あり | 疾患なし | 計 | |
|---|---|---|---|
| 検査陽性 | TP = 95 | FP = 90 | 185 |
| 検査陰性 | FN = 5 | TN = 810 | 815 |
| 計 | 100 | 900 | 1000 |
- 感度 = 95/100 = 95%、特異度 = 810/900 = 90% ← まったく変わっていない
- PPV = 95/185 = 51.4% ← 90.5% から半減した
- NPV = 810/815 = 99.4% ← 上がった
- 診断効率 = 905/1000 = 90.5%
何が起きたのか
⭐ 検査の性能はまったく同じである。変わったのは「誰に使ったか」だけ。
- 感度・特異度が変わらない理由 … 感度は疾患あり群の中だけで計算する。疾患あり群が100人でも1000人でも、その中の95%が陽性になることは変わらない。列の中で割り算しているので、列の大きさは約分されて消える。
- PPV が半減した理由 … 陽性者の内訳が変わった。場合1では陽性105人のうち95人が本物(FP はわずか10人)。場合2では疾患なしの人が9倍いるので、そこから出る偽陽性も9倍(10 → 90)になる。真陽性true positive 真陽性(true positive)true positive(真陽性) は95のまま。分母だけが膨らむ。
⚠️ 「PPV が低いのは検査が悪いからだ」は誤りである。 検査は同じである。低いのは、検査前確率pretest probability 検査前確率(pretest probability)pretest probability(検査前確率) が低い集団に使ったからである。
式で確かめる
計算し終えたあとなら、式は上の表を一般化したものとして読める( が有病率 prevalence有病率(prevalence) prevalence(有病率))。
分子は「疾患ありで陽性」、分母の第2項は「疾患なしで陽性」。 が小さくなるほど が大きくなり、第2項(偽陽性)が分母を支配していく。
💡 感度・特異度の式にはそもそも が現れない。これが「有病率prevalence 有病率(prevalence)prevalence(有病率) に依存しない」の意味である。
有病率を動かすと何が起きるか
同じ検査(感度95%・特異度90%)のまま、有病率prevalence 有病率(prevalence)prevalence(有病率) だけを 0.1% から 70% まで動かしたときの PPV と NPV。
xychart-beta
title "有病率とPPV・NPV(感度95%・特異度90%)"
x-axis "有病率 (%)" [0.1, 0.5, 1, 2, 5, 10, 20, 30, 50, 70]
y-axis "予測値 (%)" 0 --> 100
line [0.9, 4.6, 8.8, 16.2, 33.3, 51.4, 70.4, 80.3, 90.5, 95.7]
line [100, 100, 99.9, 99.9, 99.7, 99.4, 98.6, 97.7, 94.7, 88.5]
| 有病率prevalence有病率(prevalence)prevalence(有病率) | 0.1% | 1% | 5% | 10% | 30% | 50% | 70% |
|---|---|---|---|---|---|---|---|
| PPV(左下から立ち上がる線) | 0.9% | 8.8% | 33.3% | 51.4% | 80.3% | 90.5% | 95.7% |
| NPV(左上から緩やかに下る線) | 100% | 99.9% | 99.7% | 99.4% | 97.7% | 94.7% | 88.5% |
で PPV 51.4%、 で 90.5% と、先ほど 2×2 表で手計算した値がそのまま曲線に乗っている。
⭐ PPV の曲線が左端で床に貼りついているのが要点である。有病率prevalence 有病率(prevalence)prevalence(有病率) が数%を下回ると、感度・特異度がどれだけ高くても PPV は崩れる。逆に NPV は低有病率 prevalence 有病率(prevalence) prevalence(有病率) 側でほぼ 100% に張りつく——まれな疾患では「陰性です」はほぼ常に正しく、「陽性です」はほとんど当てにならない。
💡 この2本が逆向きに動くことが、検査の使いどころを決める。スクリーニング(低有病率 prevalence有病率(prevalence) prevalence(有病率))では陰性の除外に価値があり、陽性は確定ではなく次の検査への入口にすぎない。有症状の外来(高有病率 prevalence有病率(prevalence) prevalence(有病率))では逆に、陽性がそのまま診断に近づく。同じ検査でも、どちらの結論 conclusion 結論(conclusion) conclusion(結論) を信じてよいかが集団によって入れ替わる。
⚠️ 一方、この式は「感度と特異度は集団を変えても定数である」と読めてしまうが、正確にはそこまでは保証されない。感度・特異度は有病率prevalence 有病率(prevalence)prevalence(有病率) という数値には依存しないが、対象集団study population 対象集団(study population)study population(対象集団) の疾患の重症度分布や併存疾患 comorbidity 併存疾患(comorbidity) comorbidity(併存疾患) の構成が変われば変わりうる(spectrum bias)1。進行癌ばかりを集めた研究で測った感度は、無症状者のスクリーニングでは再現しない。「検査固有の不変の定数」ではなく、「その集団で測られた値」である。
基準率の誤り(base-rate fallacy)
⚠️ 有病率prevalence 有病率(prevalence)prevalence(有病率) が非常に低ければ、感度も特異度も極めて高い検査ですら、陽性者の大多数が偽陽性になる。
有病率prevalence有病率(prevalence)prevalence(有病率) 0.1%、感度 98%、特異度 98% の検査を10万人に使う。
| 疾患あり | 疾患なし | 計 | |
|---|---|---|---|
| 検査陽性 | TP = 98 | FP = 1998 | 2096 |
| 検査陰性 | FN = 2 | TN = 97902 | 97904 |
| 計 | 100 | 99900 | 100000 |
PPV = 98/2096 ≈ 4.7%。陽性と言われた人の約95%は健康である。
この設定で PPV を「4%」と示す資料があるが、計算すると約 4.7% である(結論conclusion 結論(conclusion)conclusion(結論) は変わらない)。
💡 なぜ直感が外れるのか。 特異度98%は「疾患なしの人の2%だけが偽陽性」という、一見わずかな誤りである。しかし疾患なしの人が999倍いるので、その2%(1998人)は真陽性 true positive 真陽性(true positive) true positive(真陽性) 98人を圧倒する。小さな誤り率でも、巨大な母数に掛けると大きな絶対数になる。
⭐ 対策は、確率ではなく自然頻度(「10万人のうち…」)で考えることである2。上の表がまさにそれで、割合で考えるより誤りにくい。リスクの伝え方は 治療のリスクを伝える を参照。
これは「低有病率 prevalence 有病率(prevalence) prevalence(有病率) の集団を検査するな」という意味ではない。 意味するのは、低有病率 prevalence 有病率(prevalence) prevalence(有病率) 下の陽性は確定診断ではなく「事前確率pretest probability 事前確率(pretest probability)pretest probability(事前確率) が上がった」というだけの情報である——だから確認検査 confirmatory test 確認検査(confirmatory test) confirmatory test(確認検査) が要る、ということである。
診断効率(accuracy)を単独の指標にしない
有病率prevalence 有病率(prevalence)prevalence(有病率) 1%の集団で、全員を陰性と判定するだけの「検査」を考える。
- 感度 = 0%(一人も見つけない)
- 特異度 = 100%
- 診断効率 = 99%
診断効率だけを見れば「99%正しい優秀な検査」になってしまう。有病率prevalence 有病率(prevalence)prevalence(有病率) が偏っている場面では、診断効率は検査の良さをまったく反映しない。 診断効率が意味を持つのは、「捕まえること」と「放っておくこと」が同じくらい重要で、かつ有病率 prevalence 有病率(prevalence) prevalence(有病率) が極端でないときに限られる。
SnNout と SpPin
⭐ 覚え方として広く使われる規則。
| 略号 | 読み | 内容 |
|---|---|---|
| SnNout | Sensitive test, Negative result → rule out | 感度が非常に高い検査が陰性なら、疾患を除外できる |
| SpPin | Specific test, Positive result → rule in | 特異度が非常に高い検査が陽性なら、疾患を確定できる |
理屈:感度が高いということは偽陰性が少ないということなので、陰性が出たら「疾患ありなのに陰性」の可能性が小さい。特異度が高ければ偽陽性が少ないので、陽性なら「疾患なしなのに陽性」の可能性が小さい。
⚠️ これは近似的な目安であって、規則ではない。 3つの限界がある。
- 「非常に高い」が要る。 感度95%程度では成り立たない——上の場合2で、有病率prevalence 有病率(prevalence)prevalence(有病率) 10%・感度95%の検査が陰性でも NPV は99.4%で確かに高いが、有病率prevalence 有病率(prevalence)prevalence(有病率) が60%なら NPV は約92%にしかならず、「除外できた」とは言いにくい
- 検査前確率pretest probability 検査前確率(pretest probability)pretest probability(検査前確率) に依存する。 事前確率pretest probability 事前確率(pretest probability)pretest probability(事前確率) が非常に高ければ、感度の高い検査の陰性でも疾患を除外しきれない
- 本質は尤度比である。 SnNout / SpPin が実際に語っているのは「陰性尤度比negative likelihood ratio 陰性尤度比(negative likelihood ratio)negative likelihood ratio(陰性尤度比) が小さい」「陽性尤度比positive likelihood ratio 陽性尤度比(positive likelihood ratio)positive likelihood ratio(陽性尤度比) が大きい」ということで、事前オッズ odds オッズ(odds) odds(オッズ) と組み合わせて初めて事後確率が出る(疫学指標・ROC・尤度比、ベイズの方法)
実データ:胸部CTによるCOVID-19診断
武漢の1014例で、胸部CTを RT-PCRRT-PCR(reverse transcription polymerase chain reaction) と比較した研究3。
| PCRPCR(polymerase chain reaction) 陽性(疾患あり) | PCR 陰性(疾患なし) | 計 | |
|---|---|---|---|
| CTCT(computed tomography) 陽性 | TP = 580 | FP = 308 | 888 |
| CT 陰性 | FN = 21 | TN = 105 | 126 |
| 計 | 601 | 413 | 1014 |
| 指標 | 値 |
|---|---|
| 感度 | 580/601 = 96.5%(95%CI 94.7–97.8%) |
| 特異度 | 105/413 = 25.4%(95%CI 21.3–29.9%) |
| 偽陰性率false negative rate偽陰性率(false negative rate)false negative rate(偽陰性率) | 21/601 = 3.5% |
| 偽陽性率false positive rate偽陽性率(false positive rate)false positive rate(偽陽性率) | 308/413 = 74.6% |
| 有病率prevalence 有病率(prevalence)prevalence(有病率) (この標本での) | 601/1014 = 59.3% |
| PPV | 580/888 = 65.3% |
| NPV | 105/126 = 83.3% |
| 偽警報率 | 308/888 = 34.7% |
| 偽安心率 | 21/126 = 16.7% |
| 診断効率 | 685/1014 = 67.6% |
読み方:胸部CTは感染者をほぼ取りこぼさない(感度96.5%)が、非感染者を陰性と言えない(特異度25.4%)。つまり除外には向くが確定には向かない——SnNout 型の検査である。
ここで参照基準を疑う
⚠️ 実習資料はこの研究の RT-PCR を「真の健康状態 gold standard健康状態(gold standard) gold standard(健康状態)」と呼ぶが、正確には RT-PCR も不完全な検査である。SARS-CoV-2 の RT-PCR の偽陰性率 false negative rate 偽陰性率(false negative rate) false negative rate(偽陰性率) は曝露からの日数によって大きく変わり、最良の時点でも約20%に達する4。
これが結果に何をするか。PCR 陰性なのに CT 陽性だった308人の一部は、実際には感染していた(PCR の偽陰性)。そうした人は真陽性 true positive 真陽性(true positive) true positive(真陽性) なのに FP として数えられる。したがって CT の特異度25.4%は、真の特異度の過小評価である。 原著論文自身がこの点を論じており、308人のうち相当数は臨床的に COVID-19COVID-19(coronavirus disease 2019) と考えられたと報告している3。
⭐ 不完全な参照基準と比較すると、評価される検査の特異度は系統的に低く見える(参照基準が拾えなかった真の症例が偽陽性に回るため)。「gold standard」という言葉があっても、それが本当に金なのかは常に確認する。
「有病率59.3%」の意味
⚠️ この59.3%は流行地域endemic region 流行地域(endemic region)endemic region(流行地域) の人口有病率 prevalence 有病率(prevalence) prevalence(有病率) ではない。これは「胸部CTと PCR の両方を受けた1014人という、選ばれた臨床標本の構成」である。したがって、ここで計算した PPV 65.3% と NPV 83.3% は、これと似た集団(症状があってCTを撮られる人々)にしか当てはまらない。 無症状者のスクリーニングに持ち込めば PPV は大きく下がる。
⭐ 論文から持ち帰ってよいのは感度と特異度であり、PPV と NPV は自分の診療集団の有病率 prevalence 有病率(prevalence) prevalence(有病率) で計算し直す。
区間推定
感度・特異度はそれぞれの部分集団の中での比率なので、信頼区間confidence interval 信頼区間(confidence interval)confidence interval(信頼区間) もその部分集団のサイズで決まる。
- 感度の95%CI … 分母は疾患あり群の人数 number of people 人数(number of people) number of people(人数) (上の例では601)
- 特異度の95%CI … 分母は疾患なし群の人数 number of people 人数(number of people) number of people(人数) (413)
上の例で感度のCI(94.7–97.8%、幅3.1ポイント)が特異度のCI(21.3–29.9%、幅8.6ポイント)より狭いのは、①分母が大きいことと、②比率が0や1に近いほど分散が小さいことの両方による。
Python で計算する
from statsmodels.stats.proportion import proportion_confint
TP, FN, FP, TN = 580, 21, 308, 105
se, sp = TP / (TP + FN), TN / (TN + FP)
ppv, npv = TP / (TP + FP), TN / (TN + FN)
print(se, sp, ppv, npv)
print(proportion_confint(TP, TP + FN, method="wilson")) # 感度の95%CI
print(proportion_confint(TN, TN + FP, method="wilson")) # 特異度の95%CI
有病率prevalence 有病率(prevalence)prevalence(有病率) を変えて PPV がどう動くかを見るには、感度・特異度を固定して有病率 prevalence 有病率(prevalence) prevalence(有病率) だけを振る。
def ppv(se, sp, w):
return se * w / (se * w + (1 - sp) * (1 - w))
for w in (0.50, 0.10, 0.01, 0.001):
print(w, round(ppv(0.95, 0.90, w), 4))
出力の意味:proportion_confint は (下限, 上限) を返す。method="wilson" を指定するのは、比率が0や1に近いとき既定の正規近似(Wald法)が区間を0未満や1超に押し出すためである。
💡 診断検査diagnostic testing 診断検査(diagnostic testing)diagnostic testing(診断検査) の出力を読む順序
- 効果量 — 感度・特異度(検査の性質)と、自分の集団の有病率 prevalence 有病率(prevalence) prevalence(有病率) で計算し直した PPV・NPV
- 臨床的relevance — その値で臨床判断が変わるか。陽性のとき次に何をするか、陰性のときそこで止めてよいかを言葉にできるか
- 信頼区間confidence interval信頼区間(confidence interval)confidence interval(信頼区間) — 各比率の95%CI。分母がその部分集団のサイズであることを確認する(特異度のCIが広いのは疾患なし群が小さいから、ということがよくある)
- p値 — 診断検査diagnostic testing 診断検査(diagnostic testing)diagnostic testing(診断検査) の評価では、そもそも p値はほとんど出番がない。2つの検査を比べるときにだけ意味を持つ。「有意な感度」という言い方に意味はない
カットオフをどう選ぶか
flowchart TD
A["<span class='jp-term jp-term-diagram' title='cut-off'>カットオフ</span>を決める必要がある"] --> B{"何を優先するか"}
B -->|"見逃しを避けたい<br>(スクリーニング、疾患のリスク大)"| C["感度を最大化<br><span class='jp-term jp-term-diagram' title='cut-off'>カットオフ</span>を下げる"]
B -->|"偽陽性を避けたい<br>(治療のリスク大、<span class='jp-term jp-term-diagram' title='invasive procedure'>侵襲的処置</span>に直結)"| D["特異度を最大化<br><span class='jp-term jp-term-diagram' title='cut-off'>カットオフ</span>を上げる"]
B -->|"どちらとも決められない"| E["診断効率を最大化<br>⚠️ <span class='jp-term jp-term-diagram' title='prevalence'>有病率</span>が極端なら不適"]
C --> F["複数の検査・複数の<span class='jp-term jp-term-diagram' title='cut-off'>カットオフ</span>を比較するなら<br><span class='jp-term jp-term-diagram' title='receiver operating characteristic'>ROC</span> 曲線へ"]
D --> F
E --> F
すべてのカットオフ cut-off カットオフ(cut-off) cut-off(カットオフ) について感度と(1−特異度)を描いたものが ROC 曲線であり、複数の検査を比較する道具 tool 道具(tool) tool(道具) になる。ただし AUCAUC(area under the curve) や Youden 指数だけで「良い検査」を決めるのは誤りである——臨床では感度と特異度のどちらが重要かが決まっていることがほとんどで、その領域での挙動を見るべきである。詳細は 疫学指標・ROC・尤度比。
まとめ
- 2×2表は列(真の状態)で条件づけ conditioning 条件づけ(conditioning) conditioning(条件づけ) れば感度・特異度、行(検査結果)で条件づけ conditioning 条件づけ(conditioning) conditioning(条件づけ) れば PPV・NPV。独立な数は3つ(感度・特異度・有病率prevalence有病率(prevalence)prevalence(有病率))だけ。
- 感度・特異度は有病率 prevalence 有病率(prevalence) prevalence(有病率) に依存しない。PPV・NPV は強く依存する。 感度95%・特異度90%の同じ検査でも、有病率prevalence 有病率(prevalence)prevalence(有病率) 50%なら PPV 90.5%、有病率prevalence 有病率(prevalence)prevalence(有病率) 10%なら PPV 51.4% になる。変わったのは検査ではなく対象集団 study population 対象集団(study population) study population(対象集団) である。
- ただし感度・特異度も、対象集団study population 対象集団(study population)study population(対象集団) の疾患の重症度分布が変われば変わりうる(spectrum bias)。「不変の定数」ではない。
- 基準率の誤り:有病率 prevalence 有病率(prevalence) prevalence(有病率) 0.1%なら、感度98%・特異度98%の検査でも PPV は約4.7%。陽性者の約95%が偽陽性になる。母数の大きさが小さな誤り率を圧倒する。
- 診断効率accuracy 診断効率(accuracy)accuracy(診断効率) を単独の指標にしない。 有病率prevalence 有病率(prevalence)prevalence(有病率) 1%なら「全員陰性」でも99%になる。
- SnNout / SpPin は目安。実体は尤度比であり、検査前確率pretest probability 検査前確率(pretest probability)pretest probability(検査前確率) と組み合わせて初めて事後確率になる。
- 参照基準が不完全なら、評価される検査の特異度は過小評価される(胸部CT対 RT-PCR)。
- 論文から持ち帰るのは感度・特異度。PPV・NPV は自分の診療集団の有病率 prevalence 有病率(prevalence) prevalence(有病率) で計算し直す。
出典
- 1.Problems of Spectrum and Bias in Evaluating the Efficacy of Diagnostic Tests(The New England Journal of Medicine(著者 David F. Ransohoff, Alvan R. Feinstein)・1978)感度・特異度は対象集団の疾患の重症度分布や併存疾患の構成が変わると変化しうること(spectrum bias)。検査そのものの不変の定数ではないこと閲覧 2026-08-17
- 2.Simple tools for understanding risks: from innumeracy to insight(BMJ(著者 Gerd Gigerenzer, Adrian Edwards)・2003)条件付き確率より自然頻度(1000人中◯人)で示すほうが医師も患者も正しく推論できること。低有病率下での陽性的中率が過大に見積もられること閲覧 2026-08-17
- 3.Correlation of Chest CT and RT-PCR Testing for Coronavirus Disease 2019 (COVID-19) in China: A Report of 1014 Cases(Radiology(著者 Tao Ai, Zhenlu Yang, Hongyan Hou ら)・2020)武漢の1014例で胸部CTをRT-PCRと比較し、感度97%(580/601)に対して陽性一致率が低かったこと。RT-PCR陰性でCT陽性の症例の多くが臨床的にはCOVID-19と考えられ、RT-PCR自体が完全な参照基準ではないと論じていること閲覧 2026-08-17
- 4.Variation in False-Negative Rate of Reverse Transcriptase Polymerase Chain Reaction–Based SARS-CoV-2 Tests by Time Since Exposure(Annals of Internal Medicine(著者 Lauren M. Kucirka, Stephen A. Lauer, Oliver Laeyendecker ら)・2020)SARS-CoV-2 の RT-PCR の偽陰性率が曝露からの日数によって大きく変動し、最良の時点でも約20%に達すること(=RT-PCR は完全な gold standard ではない)閲覧 2026-08-17