読者です 読者をやめる 読者になる 読者になる

偽陽性問題を解く―其ノ弐

条件のもとで

前回から続きます。
問題の情報で、

  • 病気の人が検査を受けると90%が陽性になる。
  • 病気が無い人が検査を受けると90%が陰性になる。

というのがありました。これは言い換えると、

  1. 病気ありという条件のもとで陽性になる割合――90%
  2. 病気無しという条件のもとで陰性になる割合――90%

となります。先にも書いたように、これは、割合の基準が異なっています。1は、「病気あり」が基準で、2は「病気無し」が基準です。
ここで、条件のもとでというのを組み込んで、
割合(|←○)
このような表現を導入します。これは、病気あり(○)という条件において陽性)であるというものです。これを踏まえれば、「病気の人が検査を受けると陽性」「病気無しの人が検査を受けると陽性」、の2つの割合は、

  • 割合(|←○) = 0.9
  • 割合(|←×) = 0.1

こう表現出来ます。

かつ

再び図を参照します。


私達の問題では、このの部分を考えて、割合を求めたのでした。ここの2つのパーツ、つまり、

  • 病気無しで陽性(左図の上)
  • 病気ありで陽性(右図の右)

の割合を、先ほどの表現の仕方を用いて書いてみましょう。

  • 病気無しで陽性――割合(|←×)
  • 病気ありで陽性――割合(|←○)

こうで……はありません。
私達が求めた、赤い部分の2つのパーツの割合は、

  • 病気無しで陽性――0.095
  • 病気ありで陽性――0.045

だったはずです。ところが、「条件のもとで」を見返すと、
陽性である赤い2つのパーツの割合は、

  • 割合(|←○) = 0.9
  • 割合(|←×) = 0.1

こうでした。異なりますね。何故こうなるかと言うと、割合の基準が違うからです。
病気無しで陽性・病気ありで陽性、はそれぞれ、

  • 病気無しかつ陽性
  • 病気ありかつ陽性

と表現出来ます。そして、これらの割合―― 0.095 及び 0.045 ――は、全体を基準とした割合でした。けれど、「条件のもとで」の割合は、それぞれの条件、ここでは、

  • 病気無し
  • 病気あり

を基準としているのです。

掛け算

という事はです。「条件のもとで」の割合を用いて、「全体に占める割合」を求めるにはどうすれば良いか、と考える必要があります。
実は、それは既に行なっています。これです。

つまり、今は「全体」を基準とした割合を、「条件のもとでの割合」を使って知りたいのですから、ある「条件」を考えた時に、
全体に占める条件の割合 * 条件のもとでの割合
を求めれば良い、となります(病気無しの×と乗算記号を混同しないように、乗算記号は * を用います)。そうすると、
割合(×かつ) = 割合(×) * 割合(|←×)
このようになる訳です。
同じように、全体を基準とした、「病気ありかつ陽性」の割合を、「条件のもとでの割合」を用いて表現すると、
割合(○かつ) = 割合(○) * 割合(|←○)
こうです。そして、前のエントリーで求めた、
ある人が検査を受けて陽性になった時、その人が実際に病気に罹っている確率
をこの表現で書くならば、
割合(○) * 割合(|←○)
────────────────────────────────
割合(×) * 割合(|←×) + 割合(○) * 割合(|←○)
こうなります。

ベイズ

前のエントリーでは、図を用いて考えました。

これを、全体を基準にして表現すれば、
割合(○かつ)
─────────────────────
割合(×かつ) + 割合(○かつ)
こうなります。そして先ほど、ある「条件のもと」での確率を利用した表現を書いたのでした。これは要するに、

割合(○かつ)
─────────────
割合(×かつ) + 割合(○かつ)
= 割合(○) * 割合(|←○)
─────────────────────
割合(×) * 割合(|←×) + 割合(○) * 割合(|←○)
という関係があるのを意味しています。
ところで、そもそもこの問題は、
ある人が検査を受けて陽性になった時、その人が実際に病気に罹っている確率は?
でした。これは表現を変えると、
ある人が検査で陽性になったという条件のもとでその人が実際に病気に罹っている確率は?
とする事が出来ます。これを記号を使って表すと、
割合(○|←)
こうなります。そしてこれらをまとめると、
割合(○|←) = 割合(○かつ)
─────────────
割合(×かつ) + 割合(○かつ)
= 割合(○) * 割合(|←○)
─────────────────────
割合(×) * 割合(|←×) + 割合(○) * 割合(|←○)
こうです。これは、割合(○|←)を、割合(|←×)と割合(|←○)を用いて表している事を示しています。

別の問題を解く

本から類題を持ってきましょう

例. この公式のもう1つの適用例として,実際的な問題を考えよう.いままれにしか起こらないある特別な病気を発見するのに,ある検査法が有効であるとしよう.この検査法が,実際にその病気に冒されている人に適用されるならば97%の確率で病気を発見できるとする.また,この検査法を健康な人に適用すると,その5%に病気があると誤った診断をもたらす.さらに別のある軽い病気にかかっている人々にこれを適用すると,その10%に誤った診断をもたらすとする.また,多人数からなる母集団ではここで考えた3種類の人々の割合は,それぞれ1%,96%,3%であることがわかっていてたとする.さて問題は,母集団から無作為に選ばれた1人がこの検査を受けて,その病気にかかっていると診断されたとき,その人が本当にその病気にかかっている確率を求めることである。
ホーエル『初等統計学 原書第4版』P57

文が長めでややこしいですね。重要と思われる部分に強調を施してみましょう。

例. この公式のもう1つの適用例として,実際的な問題を考えよう.いままれにしか起こらないある特別な病気を発見するのに,ある検査法が有効であるとしよう.この検査法が,実際にその病気に冒されている人に適用されるならば97%の確率で病気を発見できるとする.また,この検査法を健康な人に適用すると,その5%に病気があると誤った診断をもたらす.さらに別のある軽い病気にかかっている人々にこれを適用すると,その10%に誤った診断をもたらすとする.また,多人数からなる母集団ではここで考えた3種類の人々の割合は,それぞれ1%,96%,3%であることがわかっていてたとする.さて問題は,母集団から無作為に選ばれた1人がこの検査を受けて,その病気にかかっていると診断されたとき,その人が本当にその病気にかかっている確率を求めることである。

リストアップすると、

  • ある病気に罹っている人に検査を行うと、97%の確率で病気が発見出来る。
  • 健康な人を検査すると、5%誤診する。
  • 別の軽い病気にかかっている人に検査すると、10%誤診する。
  • 病気の人、健康な人、別な病気の人、の全体に対するそれぞれの割合は、1%、96%、3%である。
  • 1人無作為に選んで検査し、その人が、病気にかかっていると診断された時、その人が実際に病気にかかっている確率は?

こうです。ポイントは、この全体の集団は、病気の観点から、3種類に分類出来る、という事です。今まで考えてきた例題は、病気のある・無し、なので2種類でした。けれども今度は3種類。そして、検査の結果は同じく、病気にかかっていると診断される・病気にかかっていないと診断される、という2種類なので、今までの2×2では無く、3×2で考える必要があります。そして、問題を解くべく情報を整理し、解りやすいように、これまで用いてきた、「陽性」「陰性」の語を使えば、

  • 病気が、「有・無し・別」で全体が分類される。
  • その割合はそれぞれ、1%、96%、3%である。
  • 「有」の人を検査すると、97%が陽性となる。
  • 「無」の人を検査すると、10%が陽性となる。
  • 「別」の人を検査すると、5%が陽性となる。

こうなります。気をつける所は、「誤診」という言葉。同じ言葉で表される意味が違います。病気を持っている人にとっての誤診は、「陰性になる事(偽陰性)」であるのに対し、病気が無い人、別の病気の人にとっての誤診は、「陽性になる(偽陽性)」となります。この問題では、「病気にかかっていると診断されたとき」なので、健康な人の内10%が診断を受ける「誤診」が「陽性」となる訳です。表にすると次のようになります。

陽性( 有かつ 無かつ 別かつ 有かつ + 無かつ + 別かつ
陰性( 有かつ 無かつ 別かつ 有かつ + 無かつ + 別かつ
0.01 0.96 0.03 1
ここでは、全体を 1 にしています。
行列では、縦の連なりを「列」と言い、横の連なりを「行」と言います。それを踏まえて、列をまず見ると、列の合計がそれぞれ、0.01、0.96、0.03 となっています。これは当然、病気の有・無・別 それぞれの割合に対応しています。検査結果は陽性か陰性しか無いので、縦に足せば、「全体に対する有・別・無」それぞれの割合が出てくるという寸法です。
今度は行(横の連なり)を見ます。陽性の行を見ると、合計は、「有かつ + 無かつ + 別かつ」です。当然ですね。陰性も同様です。そして、一番右の列(縦の連なり)を見ると、右端にある「有かつ + 無かつ + 別かつ」と「有かつ + 無かつ + 別かつ」が足されて、当然それは 1 になります。陽性と陰性を足しあわせたのですから、それは当然、全体に一致します。同じように、最初に見た0.01、0.96、0.03 も足せば 1 です。
今度は、それぞれの升目を考えます。そこに入る数値を考える訳です。ここで、列を1つ見て下さい。合計は 1 になりませんね。0.01か0.96か0.03が入っています。ですから、出題の情報にある、

  • 「有」の人を検査すると、97%が陽性となる。
  • 「無」の人を検査すると、5%が陽性となる。
  • 「別」の人を検査すると、10%が陽性となる。

ここにある数値そのものが入るのではありません。それもそのはず、ここで足して 1 になるのは、縦の連なりを合わせたもの、横の連なりを合わせたもの、なのでは無くて、全ての升目の数値を足し合わせたものだからです。だから、右下にある合計値が 1 になっているのだし、一番右の列(縦の連なり)にあるものを合わせた、
有かつ + 無かつ + 別かつ + 有かつ + 無かつ + 別かつ
がその様子を端的に、直感的に表わしています。では、各升目には具体的に何の数値が入るか。
ここで、「条件のもとでの割合」が出てきます。「有かつ陽性()」を考えてみると、全体に占める病気ありの割合は既に判っています(1%)。そして、病気ありに占める陽性の割合も判っています(97%)。ですから、全体に占める有かつの割合は、
0.01* 0.97 = 0.0097
となります。同じようにして表に値を入れていくと、

陽性 0.0097 0.048 0.003 0.0607
陰性 0.0003 0.0912 0.027 0.9393
0.01 0.96 0.03 1
このように完成します。
そして、私達の問題は、これまで解いてきたのと同じく、
陽性の内、病気ありの割合
というものでした。ですから、分母は陽性行(横の連なり)の計である 0.0607 、分子はその内の、陽性かつ病気ありの升目である 0.0097 となって、求める割合は、
0.0097/0.0607 = 0.16
となりました。お疲れ様です。

別の問題を解く2

例(ベイズの定理) A航空で使用しているある機種の航空機のシステム別故障確率,およびシステム故障が生じたときに運行中止となる条件付き確率は次のようであった(浅井澄雄:回転翼航空機の信頼性解析,品質,Vol.9,No.2,1979.).ある便が故障のため運行中止になったとする.また,同時に2つ以上のシステムが故障することはないと仮定する.この航空機の故障箇所がロータである確率を求めよ.
日本統計学会[編]『日本統計学会公式認定統計検定2級対応 統計学基礎』P90 ※下表は同ページを参照して引用者が作表した

i システムの故障個所 Hi システムの故障確率 P(Hi) システムに故障が生じたとき運行中止になる確率 P(A|Hi)
1 機体 0.307 0.008
2 ロータ 0.156 0.048
3 電気 0.129 0.040
4 計器 0.130 0.052
5 動力 0.080 0.100
6 通信・運行・自動安定 0.030 0.151
7 その他 0.171 0.014

今回は、故障によって運行中止になった時の、故障が起こった箇所がロータである割合を求める、という問題です。故障が起こる箇所の分類が 7 分類となっています。そして、故障によって運行が中止になる・中止にならない、という2分類がありますから、7×2 で考える事になります。ここで、前に出した式を持ってきます。

割合(○|←) = 割合(○かつ)
─────────────
割合(×かつ) + 割合(○かつ)
= 割合(○) * 割合(|←○)
─────────────────────
割合(×) * 割合(|←×) + 割合(○) * 割合(|←○)
これは、2×2で、陽性と陰性、病気ありと病気無しの問題を考える式でしたので、次のように書き直します。
割合(故障2|中止) = 割合(故障2) * 割合(中止|故障2)
─────────────────────
割合(故障1) * 割合(中止|故障1) + …… + (故障7) * 割合(中止|故障7)
故障の文字についている数値は、上の表の番号です。ロータが故障するのは 2 なので、故障2はロータが故障する事を意味します。他の数値も同様です。右辺の分母は、全体の内、運行中止になる割合を示しています。今回は故障箇所が 7 種類あるので、ある箇所が故障し、かつ運行中止の部分を7つ足し合わせます。それぞれは、全体に占める故障iの割合 * 故障i という条件のもとで運行中止になる割合となります(i に 1 から 7 まで入る)。
ところで、割合(故障2|中止) のように、ある条件のもとで、という割合の表現で、括弧の中につけていた矢印を外しました。今までは、後にある方が条件を示す、というのを解りやすくするためにつけていましたが、もう憶えているでしょうから。そして、記号を一般的なものにして、
P(A2|A1)
このように示します。この、条件 A1 のもとで A2 が起きる確率の事を、
条件付き確率
と呼びます。P は Probability(確率)の事です。つまり、私達はこの問題で、割合(故障2|中止) という条件付き確率を求めようとしている、と言えます。で、左辺の「運行中止という条件のもとでのロータ故障の確率」を、「故障1から故障7、という条件のもとでの運行中止の確率」を手がかりにして考えているのです。このような式や考え方は、今の問題のように、ある結果が起こったという条件のもとでの原因の確率はどの程度なのか、というような事を推測するのに役立ちます。
計算していきましょう。問題の表では、各箇所の故障確率と、「各箇所が故障した時の条件付き確率」が書かれています。ですから、行(横の連なり)ごとにそれをかけたものをまず計算します。
i システムの故障個所 Hi システムの故障確率 P(Hi) システムに故障が生じたとき運行中止になる確率 P(A|Hi) システムの故障確率 P(Hi) * システムに故障が生じたとき運行中止になる確率 P(A|Hi)【システムが故障し、かつ運行中止になる確率】
1 機体 0.307 0.008 0.002456
2 ロータ 0.156 0.048 0.007488
3 電気 0.129 0.040 0.005160
4 計器 0.130 0.052 0.006760
5 動力 0.080 0.100 0.0080
6 通信・運行・自動安定 0.030 0.151 0.004530
7 その他 0.171 0.014 0.002394
後は、これを用いて目的の割合を計算します。
0.007488 / ( 0.002456 + 0.007488 + 0.005160 + 0.006760 + 0.0080 + 0.004530 + 0.002394 ) = 0.2035
となりました。ありがとうございます*1

*1:この本では、「(0.156 * 0.048) / 0.0366 = 0.205」となっています。