教材紹介:検査の統計を理解しよう

ここのところ、コロナウイルスの件で、検査の精度の話が良く出るようになりました。

ただ検査をすればいいというものではない、国民全員に検査しても、正しく判定する精度は10%だとかいう話、専門家が言うから、なんとなくそうなのかな、と思うけど、じゃあ検査薬の性能がそんなに悪いのか、というわけではありません。これには確率・統計という、学校で少し学んだ知識が必要になってきます。

では1から勉強、と言われると、うんざりしてしまうので、プログラムを使って理解してみましょう。

以下の説明に従って、プログラムを動かしてみて下さい。

通信環境、パソコンの性能によって表示にかなり時間がかかってしまうかもしれません。すみません。再読み込みすると、すぐ表示される場合もあります。

まず、下の画面の旗をクリックしましょう。

実行中は音が出ますので、音量にご注意ください!

セリフの説明をしっかり読んで、以下のように数字の入力を進めていきます。

「どれだけの人がいるの?」との質問には、10000(人)と入力しましょう。

「病気の人は、何パーセントいるの?」との質問には、50(%)と入力しましょう。

そして、「検査で、病気の人を間違って病気じゃないと判定してしまう率は、何パーセント?」、「検査で、病気じゃない人を間違って病気と判定してしまう率は、何パーセント?」との質問にはそれぞれ、1(%)と入力しましょう。

すると、結果として、検査で病気と判定された人のうち、1%に当たる人が本当は病気じゃない、との説明が出てきます。これはなんとなく納得できますね。

では次に、「病気の人は、何パーセントいるの?」との質問には、50(%)ではなく、1(%)と入力しましょう。普通、病気の人の割合は50%もないですからね。コロナウイルス患者も、まだ1%までは(報告上)到達していないです。あとの条件は先ほどと同じ値を入力しましょう。

すると、結果として、検査で病気と判定された人のうち、50%に当たる人が本当は病気じゃない、との説明が出てきます。検査で病気と判定された人の半数は、判定間違い、ということです。検査の性能は変わらないのに、病気の人の割合が変わるだけでこうなるのは、ちょっと不思議ですね!

でも、表示されたそれぞれの数字を見比べてみれば、圧倒的に多い、病気でない人が間違って病気と判定された数が、本当に病気にかかっている人の数に大きく影響してしまう、ということが分かると思います。

ちなみに、「病気の人は、何パーセントいるの?」との質問に、0(%)と入力すると、つまり病気の人がいない状態ですが、結果として、当然100%に当たる人が本当は病気じゃない、との説明が出て、10000人のうち100人、つまり1%の人が病気とみなされてしまいます。検査の精度が100%にならない限り、全員病気でなくても検査でゼロと出ることはない、ということです。少数の検査なら偶然ゼロが出ることもありますが、検査数が増えるほど、ゼロの可能性は低くなります。

今回は判定の間違いが1%しかないという仮定なので、50%ですみましたが、精度が90%(間違う率が10%)だと、なんと、検査で病気と判定された人のうち、92%に当たる人が本当は病気じゃない、との結果になります(入力してご確認ください)。

コロナウイルスに対してどうか、は実際の精度によるのでここでは述べませんが、問題は検査薬の精度というよりも、見つけ出す対象の割合がごく僅かの場合には、正しく検出することが難しくなる、ということが分かって頂ければ、と思います。

数字を色々変えて、どんな結果になるか、試してみてくださいね! 遊びながら確率統計の世界が学べる、という意味では、今の子どもたちはとても恵まれている、と思います。これを生かさないと、本当に、もったいないです! 確率統計に限らず、先人の知恵を、昔の子どもたちは教科書の中の式を追うことしか理解できませんでしたが、今の子どもたちは、コンピュータでそれを体感することができるんです!

これからAI共存時代が来る、と言われていますが、どんなにAIが賢くなっても、そのAIが正しい答えを出せるのは、データの質が良い場合に限られます。

統計などデータを扱ううえで重要な知識があるかどうかで、AIを使いこなせるか、AIに使われるか、の時代がまもなくやってきます。

そして、プログラミングはAIを理解するうえでも、データを理解するうえでも必須のツールです。

SNS時代、様々な情報が飛び交い、自分で判断できる力を持たなければ、間違った情報に振り回されてしまいます。21世紀は、自分で情報を判断できるようになるために、教養を身につけなければならない時代です。

21世紀の教養として、老若男女問わず、プログラミングを通してコンピュータを学ぶ経験を積み重ねていって頂ければ、と思います。コンピュータやAI、データを理解する教養は、その人の能力を何倍にも活かす、力強い味方となるでしょう。

これも教材として使用していく予定です。Scratchプログラミングの経験があれば、バリバリとプログラミングしてもらい、そうでなければ、確率統計の考え方を中心に授業を進めます。大人は勿論、興味のある子なら小学生でも、確率の考え方から丁寧に説明していきますので、やる気のある方々のチャレンジを、お待ちしております!

他にも体験できる教材があります。こちらをクリック!

ーーーーーーーーーーーー

補遺:2020/5/15

これまでの話は、統計を取る立場から考えると、感染率が低い場合は陽性判定されても真に陽性である確率が低くなる、という内容でした。

しかし、検査を受ける個人の立場で考えると、すっきりしない点があります。

それは、同じ検査薬を使うのにも関わらず、検査を受け陽性判定の出た人が本当に陽性である確率が、集団全体の感染率次第で大きく変わる、ということです。

例えば、流行初期に検査で陽性と出たら50%の確率で正しいけど、その後に流行が広まり、その時点で検査で陽性と出たら90%の確率で正しい、と言われて、納得できるでしょうか。検査自体の精度は99%で、いつでも同じなんです。要は100本中1本当たりのある、おみくじを引くのと、変わりません。どれだけ多くの人が感染しているかによって、自分が本当に感染しているかどうかの確率が変わるなんて、ちょっとおかしいですよね。

統計を取る立場で見るのと、検査を受ける個人の立場で見るのとでは確率の考え方が違って、後者の場合はやはりもともとの検査精度で考えるのが正しいのではないかと思いたくなるのですが、やはり、違います。検査の精度と、陽性反応が出たときの真の陽性率は別物で、自分が検査を受けたときに見なければならないのは、やはり後者なんですね。集団の感染率が低い状態では、そもそも陽性反応が出る確率自体が低い、その中で陽性反応が出たということは、陰性なのに陽性と誤判定された可能性が高い、ということを計算に含めなければならないのです。