【統計学の考え方】副作用と臨床試験【統計検定準1級】


はじめに

 統計検定準一級の過去問(2019年)を解いていて、統計学のアイデアが詰まっていて面白いなぁと改めて感じた問題がありました。そこで、その問題の内容を使って統計学の考え方を紹介しようというのがこの記事の目的になります。もし興味がありましたら是非ご覧になってくださいね。問3の問題です。

副作用の発生確率

 薬には、副作用がつきものですよね。もちろん副作用の度合いはたくさんありますが、ここでは0.1%未満の発生確率であれば許容できるような、そんな副作用だったとしましょう。さて、「0.1%未満の確率でしかこの副作用は発生しない」というためには、どれくらい薬の臨床試験を行う必要があるのでしょうか?

 すっごく普通に考えてみると、こういう発想になるのでしょうか。

「1000回試してみて、一度も発生しなければ確率0.1%未満でしょ?」

 でもこれよくよく考えてみると誤った考え方です。なぜなら、「実施した1000回の臨床試験(標本)の中にたまたま1回も副作用が含まれなかっただけ」かもしれないからです。逆に言えば、「確実に副作用の発生確率が0.1%未満だ」と主張するのはそもそも不可能ということになります。臨床試験を1億回やったって10億回やったって「たまたま0.1%未満の発生確率だったかも」って言えちゃいますからね。世界中の人全員で試さない限り100%正しいなんていう主張はできません。しかし当然ですが、世界中の人全員で試すのであれば臨床試験の意味がありませんね。一体どうすればいいのでしょうか。

統計学の発想

 そこで、統計学では「100%こうだ」という主張はせずに、確率の概念を使って「◯◯%の確率でこうだ」という主張をすることを考えます。統計学では多くの場合、〇〇%には95%という確率を用いるケースが多いです。そこでここでも同じように、「95%の確率で、この副作用の発生確率は0.1%未満である」という主張を行うことを考えてみましょう。さてこの主張であれば、十分な回数の臨床試験を行い、一人も発症者がいなければ良さそうです。では、一体何回の臨床試験を行えばこういう主張が可能なのでしょうか。

数学を使ったモデリング

 この章では実際にこれを計算によって確かめてみましょう。この副作用が発生する確率を $p$ とします。すると、副作用が発生しない確率は $1-p$ と表現されますね。次に、この臨床試験を受ける人の数を $n$ で表現することにしましょう。すると、この $n$ 人全員で副作用が発生しない確率($X_p$) は以下のように求められます。

X_p = \underbrace{(1-p)\times(1-p)\times\cdots\times (1-p)}_{n\ \small{\mbox{個}}} = (1-p)^n

逆に言えば、少なくとも一人で副作用が発生する確率($Y_p$)は

\begin{align}
Y_p &= 1-X_p  \\
&= 1 - (1-p)^n
\end{align}

となります。ここで、(我々がもともと示したかったこととは異なりますが) 仮に副作用の発生確率が 0.1%、すなわち $p=0.001$ であるとしましょう。統計学ではこのように、「示したいと思っていないことを最初に仮定する」ことを良くします。こうした仮定は帰無仮説と呼ばれます。すると、$n$ 回の臨床試験で少なくとも一人の副作用が確認される確率($Y_{0.001}$)は

Y_{0.001} = 1- (1-0.001)^n

となりますね。つまり、臨床試験の回数 $n$ が変われば、「副作用の発生確率が0.1%であったときに、副作用が少なくとも一人に観察される確率」も変わります。これを図にしてみるとこんな形になります。

当たり前といえば当たり前ですが、$n$ が増えれば増えるほど副作用が確認される確率も大きくなっていき、100%に限りなく近づくようになります。逆に言えば、どんなに試行回数を増やしても100%になることはありません。
 さてこの「副作用発生確率が0.1%の下で、少なくとも一人副作用が発生される確率がちょうど95%」となるような $n$ を $n^* $ としてみましょう。この $n^* $ は図にすれば以下の交点のX座標で求められます。

実際に計算すると、$n^*=3000$ ぐらいになります 1

ここで、以下のように考えてみましょう。

$n^*(=3000)$ 回の臨床試験を行って、副作用が一度も確認されない
→ 95%の確率で観察されるはずのことが起きないことを意味
→ そういえばこの「95%」という確率は、$p=0.001$ という前提で計算されていた
→ この前提がおかしいんじゃ?副作用が発生する確率は0.001より低いんじゃないの?

というように、示したかったものではない前提 ($p=0.001$) を確率的に評価して否定することにより、結局我々が示したかった $p<0.001$ を主張することができるようになります。まさに、確実にそうとは言えないけど、95%ぐらいの確率で $p<0.001$ だと主張できるわけですね。

終わりに

 2020年6月現在、新型コロナウイルスに対する新薬の開発及び実用化に向けて急ピッチで作業が進められています。新薬には副作用が発生するリスクがありますので、検証が必要になります。「副作用が1000人に1人未満でしか起きないことを95%の信頼度で主張したい」となった時、実は3000回もの臨床試験が必要になるというのは実に大変なことだなぁと思いました。
 こうした、実社会に近い問題を考えることを通じて、統計学に興味を持って貰える人が増えたら嬉しいです😃!最後までお読みくださり有難うございました!


  1. 本来この問題の出題の意図は、この $n^*$ の値を自然対数の近似 $\log(1-\epsilon) \approx \epsilon$ を使って求めてみてください、という趣旨のものでした。興味がある方は是非挑戦してみてください。