検査の精度と実際の……

updated: 2021-01-13

ある検査は精度95%で正しい結果を出すが、5%の確率で間違えた結果を出す。 実際に病気である人は全体の5%だ。 その検査で陽性反応がでた。この人が本当に病気である確率は何%か?

こういう問いを見かけた。ここでは、何という名前の検査・病気であるかはどうでもいいので「検査」「病気」と呼ぶ。

この問の答えは 50% である、この計算をメモしておく。

この問いを考えるときに必要な要素は、

  • 検査では陽性・陰性のどちらかが出力される
  • 検査とは別に、実際に病気になっているかどうかが設定される

の 2 つだろう。それぞれ 2 通りの結果があるので、すべての人は以下の 4 通りに分類される。

  1. 検査で陽性、かつ、実際に病気になっている
  2. 検査で陽性、かつ、実際は病気になっていない
  3. 検査で陰性、かつ、実際に病気になっている
  4. 検査で陰性、かつ、実際は病気になっていない

これらの分類を表にすると以下のようになる。また、それぞれの分類になる確率を a,b,c,d としておく。

検査で陽性検査で陰性
病気ab
病気でないcd

また、検査がどうであれ病気/病気でないという事実は変わらないので、実際に病気である人は a+b, 実際は病気でない人は c+d だけいると計算できる。

検査で陽性検査で陰性実際には?
病気ab病気 a+b
病気でないcd病気でない c+d

冒頭の問いに戻ろう。
「実際に病気である人は全体の 5% 」と設定してあるので、病気の比率は a+b:c+d=5:95 である。

また、「ある検査は精度95%で正しい結果を出す」と設定しているので、 a:b=95:5, c:d=5:95 である。
比を通分して a=19b, d=19c となる。
これらを a,d に代入すると以下のようになる。

検査で陽性検査で陰性実際には?
病気19bb病気 19b+b=20b
病気でないc19c病気でない c+19c=20c

ただし 20b:20c=5:95 である。
比を通分して c=19b となる。

検査で陽性検査で陰性実際には?
病気19bb病気 20b
病気でない19b361b病気でない 380b

ここで、「検査で陽性反応が出た。この人が本当に病気である確率」を計算する。 具体的には (検査で陽性・病気)/((検査で陽性・病気)+(検査で陽性・病気でない)) を計算する。
この値は 19b/(19b+19b)=0.5 なので、冒頭の問の答えは 50% である。

終わり。

余談

余談1: 50% とは何の値なのか

この問題では検査の精度は 95% と言っているので、最終的に 50% になるものは何なのかと不思議な気持ちになる。
この答えは「検査で陽性となった人を選んできて、本当に病気である確率」である。

余談2: 実際に病気である確率とは何なのか

「実際に病気である人は全体の 5% だ」と設定しているが、過去に膨大な量の検査をおこなった結果が存在している等の場合を除いて、実際に病気である人の確率を正しく言い当てることは難しい。
ここでは、条件付き確率の問題とするために仮定しているだけの値である。

余談3: 精度と実際の陰性率を 95% にそろえているので説明が面倒になる

検査の精度と実際の陰性率を 95% に揃えているので、説明を紛らわしい側面がある。おそらく意図したもので、同じ数が出てきた時に誤解していないかを試したかった引っ掛け問題だと思う。
これについて説明する。

最終的な答えを出す直前の計算結果の表を以下に再掲する。

検査で陽性検査で陰性実際には?
病気19bb病気 20b
病気でない19b361b病気でない 380b

この表の全体は 20b+380b=400b なので、約分して全体を 100 にする。全体を 100 にした表は以下である。

検査で陽性検査で陰性実際には?
病気4.75 = 5 * 0.950.25 = 5 * 0.05病気 5 = 100 * 0.05
病気でない4.75 = 95 * 0.0590.25 = 95 * 0.95病気でない 95 = 100 * 0.95

全体を 100 にしたついでに、各マスの数の計算も追記しておいた。 この表の中で頻出する紛らわしい数は 95, 5, 0.95, 0.05 である。

手っ取り早く説明すると以下である。

  • 「実際には?」の列に出てくる 0.95, 0.05 は「検査の精度は 95%」由来の数値
  • その他の列に出てくる 0.95, 0.05 は「実際に病気である確率 5%」由来の数値

とはいえ、簡単な文のみの説明では解りづらいので、問題の設定を変えて、以下のようにしてみる。

  • 検査は精度 98%
  • 実際の病気の率は 5%

こうすると、表がどうなるかを見てみる。

検査で陽性検査で陰性実際には?
病気4.90 = 5 * 0.980.10 = 5 * 0.02病気 5 = 100 * 0.05
病気でない1.90 = 95 * 0.0293.10 = 95 * 0.98病気でない 95 = 100 * 0.95

同じ数字が出現しないので解りやすい気がする。

余談4: 真陽性/偽陽性/真陰性/偽陰性

問題では「検査の精度」とだけ言っているが、実際には 2 通りある。

  • 「実際に病気」の人を陽性とする精度 (感度や真陽性率と呼ばれる)
  • 「実際は病気でない」人を陰性とする精度(特異度や真陰性率と呼ばれる)

余談 3 では検査の精度を 98% としたが、ここ(余談 4)では、真陽性率 97%, 真陰性率 99% としてみよう。
実際に病気である人の確率は 5% のままとする。

こうすると、表がどうなるかを見てみる。

検査で陽性検査で陰性実際には?
病気4.85 = 5 * 0.970.15 = 5 * 0.03病気 5 = 100 * 0.05
病気でない0.95 = 95 * 0.0194.05 = 95 * 0.99病気でない 95 = 100 * 0.95

まあ、真陽性率と真陰性率と実際の病気率をそれぞれ異なる値にしているので説明が多少簡単になるかもしれない。

終わり。