ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

【書評】最も単純に見える「確率」にすら大いにダマされる

 はじめに、次の文章を読んでみてください。
 
「ツールの導入により、1,000行あたりの欠陥の数が30%減った」
「ツールの導入により、1,000行あたりの欠陥の割合が0.3%減った」

 どちらのツールが効果的に聞こえるでしょう。2つの文はともに、コード1,000行あたりの欠陥が、10件から7件に減ったことを表現したものです。一見、(1)が(2)より100倍の効果があるっぽく聞こえませんか。

 統計を使う人は、抽象的で難解な概念を理解したり、計算・分析ができることが必要でしょう。
 一方統計を受け取る立場の人は、統計が語る事実を正しく解釈・伝達できるリテラスィーをもつことが重要。『リスク・リテラシーが身につく統計的思考法』は、それをあらためて感じさせてつつ、統計の面白さを教えてくれます。

条件付き確率の表現

 次の文章を読んでみてください。
 日本人がある病気にかかっている確率は0.8%。かかっている場合、検査でそれが見つかる確率は90%。かかっていなくても、検査で「陽性」と判定されてしまう確率が7%ある。
 ある人が検査を受けたところ、陽性であった。その人が本当に病気にかかっている確率はどのくらいか。
 パッと見、陽性が90%、擬陽性が7%という部分だけ読んで、けっこうな確率で本当に病気にかかっているという印象を受けませんか?
 一方、こう言い換えてみるとどうでしょう。
 日本人1,000人あたり、8人はその病気にかかっている。この8人のうち、検査によって7人は、陽性と判定される。一方かかっていない992人のうち、約70人が「陽性」と判定される。
 ある人が検査を受けたところ、陽性であった。その人が本当に病気にかかっている確率はどのくらいか。
 このように具体的な数字に置き換えてみると、本当に病気にかかっている確率は、7/(70+7)で、9%程度の確率でしかないことがわかります。擬陽性の確率自体が低くても、判定の対象の多さが効いてくるためです。

訴追者の誤謬

 次も、同じような理由で、実際の確率を見誤る事例です。
 DNAが偶然一致する確率を百万分の1として、犯人が残したDNAと、容疑者AのDNAが一致した場合、Aが犯人である確率はどのくらいか。犯人になりえた人間の数を500,001人とする。

 「偶然が1/1,000,000なのだから、必然、つまり犯人である確率は999,999/1,000,000だ」と推論することを、「訴追者の誤謬」というそうです。

 ベイズの定理を使って計算する*1と、P(H|I) = 2/3。「一致したけど犯人じゃない」の確率が1/3にもなってしまうのです。
 なぜこんな結果になるのか。
 「犯人じゃないのにDNAが一致する」可能性が小さくても、それと掛け算する「犯人じゃない」人数が膨大であるために両者が相殺して、「犯人じゃないのに一致する」人も何人か出てくるからです。
 一方「犯人で、かつDNAが一致する」可能性は100%ですが、膨大な母集団に犯人は1人しかいないので、掛け合わせると小さくなる。よって、両者が似たような大きさになってしまうことになります。
 逆にいうと、対象となる母集団が小さければ、たとえば500,001人でなく5,001人だと、冤罪の確率は一気に0.5%まで落ちます。51人なら0.005%。

まとめ

 このように、確率・統計というのは、表現によって印象が変わったり、直感とは違う結果をもたらすことがあります。使い方によっては、周りをミスリードすることになりますよね。
 そんな大事な、だけど時にトリッキーな「統計」。興味をもった方には、「(ソフトウェア品質技術者のための)R勉強会」をオススメしております!(笑) 次回は、検定・推定など佳境に入って行きますよ。

 本書の大部分は、医療における統計の実例を引いてきていますが、おなじみ(?)モンティ・ホール問題や、「多くのドライバーが自分を、平均的なドライバーより運転がうまいと判断する」という「不思議な」現象に対する合理的な説明なども紹介されており、(途中はすっとばしつつも)最後まで楽しく読むことができるでしょう。

参考URL

 

*1:計算は以下。

ベイズの定理より、DNAが一致した場合に犯人である確率は、
P(H|I) = P(H)*P(I|H)/P(I)
DNAが一致する確率は、「犯人で、かつDNAが一致する」確率と、「犯人でなく、なのにDNAが一致する確率」という排他的な事象の和なので、
P(I) = P(H)*P(I|H) + P(H')*P(I|H')
この2つの式より、
P(H|I) = P(H)*P(I|H) / {P(H)*P(I|H) + P(H')*P(I|H')}

ここで各確率について、犯人となりうる対象の人数から、
P(H) = 1/500,001, P(H') = 500,000/500,001
DNAが一致する確率として、
P(I|H) = 1, P(I|H') = 1/1,000,000

これらを代入すると、P(H|I) = 2/3。