K_DM Book
用語集
対象者 高校生
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

感度・特異度(高校生向け)

入門高校生

03.3.7 高校生向け

感度・特異度(高校生向け)

最終更新 2026-11-01 読了時間 1 分
まとめ
感度は「本当に陽性の人のうち、検査でも陽性と出た割合」で、見逃しの少なさを表します(再現率と同じものです)。特異度は「本当に陰性の人のうち、検査でも陰性と出た割合」で、誤報の少なさを表します。どちらも条件付き確率で、感度は \(P(\text{陽性} \mid \text{感染})\)、特異度は \(P(\text{陰性} \mid \text{非感染})\) と書けます。判定の線を動かすと感度が上がれば特異度が下がるので、両方を同時に 1 にするのはふつうはできません。

こんな場面を想像してみよう #

インフルエンザの簡易検査キットの箱に「感度 90%、特異度 95%」と書いてあります。学校で 1,000 人が検査を受け、そのうち本当に感染している人が 100 人だとすると、結果はどんな表になるでしょうか。

検査:陽性検査:陰性行の合計
実際:感染している(100 人)90(真陽性)10(見逃し)100
実際:感染していない(900 人)45(誤報)855(真陰性)900

感度 90% は上の行の話で、感染者 100 人のうち 90 人が陽性と出て、見逃しは 10 人です。特異度 95% は下の行の話で、非感染者 900 人のうち 855 人が陰性と出て、誤報は 45 人です。

$$ \text{感度} = \frac{90}{90 + 10} = 0.90, \qquad \text{特異度} = \frac{855}{855 + 45} = 0.95 $$

ここでクイズです。陽性と出た 135 人が本当に感染している確率はいくつでしょう。陽性と出たのは左の列の 90 + 45 = 135 人で、そのうち感染者は 90 人。だから 90/135 ≒ 0.67 です。感度 0.90 とはまったく別の数で、こちらは「列」で割っています。行で割る(感度 0.90・特異度 0.95)か列で割る(陽性者のうち本物の割合 0.67)かを混ぜないのが、この単元のいちばん大事な点です。

仕組み:線を動かすと 2 つの割合が逆に動く #

検査キットは、体の中のウイルス量のようなものを測り、ある基準の線(カットオフ)を超えたら陽性と出します。機械学習のモデルも同じで、「陽性らしさ」の点数に線を引きます。

まず、横軸に点数をとると、感染者の点数は右寄りの山、非感染者の点数は左寄りの山になり、2 つの山は少し重なっています。次に線を 1 本引き、線より右を陽性、左を陰性と判定します。右側にある感染者の山の面積が感度 0.90、左側にある非感染者の山の面積が特異度 0.95 に当たります。線を左へ動かす(基準をゆるくする)と、感染者の山はほぼ全部が右側に入って感度は 1 に近づきますが、非感染者の山も右側にはみ出して特異度は 0.95 から下がります。表では見逃しの 10 人が減り、誤報の 45 人が増える動きです。線を右へ動かす(基準をきびしくする)と、今度は特異度が 1 に近づいて感度が下がります。最後にバランスを 1 つの数で見るなら、感度 + 特異度 − 1(Youden 指数)が最大になる線が 2 つの山をいちばんうまく分ける位置で、上の例では 0.90 + 0.95 − 1 = 0.85 です。

動かして見てみよう #

下の図で「再生」を押すと、説明した手順が 1 つずつ進みます。手順ごとの説明は図の下に出ます。

気をつけたいこと #

最初の注意は、感度と「陽性者が感染している確率」を混同しないことです。感度 90% でも、感染者が 1,000 人に 10 人しかいない集団では、陽性と出た人の多くは誤報になります。4 マスの表を書いて列で割り直す習慣を付けてください。二つ目は、感度と特異度のどちらを優先するかは「間違いの痛さ」で決まることです。重い病気のスクリーニングでは見逃しが致命的なので感度を優先し、陽性なら精密検査に回します。逆に「陽性なら手術」のような重い処置につながる検査では、誤報を避けるために特異度を優先します。三つ目は、感度・特異度は集団の感染率に左右されないが、「陽性と出た」ことの意味は左右されることです。同じキットでも、流行期と平常時では陽性と出たときの重みが変わります。

やってみよう #

最初の課題は、上の例で、感染者が 1,000 人中 10 人しかいない集団に同じキット(感度 90%、特異度 95%)を使ったときの 4 マスの表を作り、陽性と出た人が感染している確率を計算することです。二つ目は、基準をゆるくして見逃しを 10 人から 2 人に減らしたら誤報が 45 人から 150 人に増えたとして、感度・特異度・Youden 指数を計算し直すことです。三つ目は、「感度を優先したい検査」と「特異度を優先したい検査」を身の回りから 1 つずつ探し、理由を説明することです(例:空港の手荷物検査、スマホの顔認証)。

つぎに読む #

Python での計算、ROC 曲線としきい値の関係は 標準版の感度と特異度 で扱っています。4 マスの表の読み方は 混同行列(高校生向け)、感度と同じ「再現率」を誤報側の「適合率」と組にした見方は 適合率・再現率(高校生向け) へ。指標の一覧は 分類の評価指標 にまとめています。