好奇心の横断歩道を創る!

自分の思考をラバーダック・デバッグするためのブログ

「治験の結果、副作用なし」はどこまで安全なのか、数学的に考察

前程と本記事の立ち位置

・治験は通常、長期(10年以上のスパン)の影響を考慮していない、この記事でも無視する
・治験に参加している短い期間であっても、自覚できない副作用を考慮していない、この記事でも無視する
・この記事の考察で用いる、任意の治験ワクチンを母集団全員に投与するときの、母集団内で副作用発現する人数の確率分布が、現実のそれを表現していないと考えられる
・副作用が発生しなかったワクチンのみ実用化する場合を想定して、シミュレーションを行う

などがこの記事の議論の前提です。

 

 

この記事の目的

治験の結果副作用が出た人数が0人だったとき、そのワクチンは果たしてどの程度の副作用の発現率が期待されるかを考察します。

 

 

この記事の土台、元ネタ

今回の考察のきっかけがこの2つの動画

www.youtube.com

www.youtube.com

 

以上の2つの動画で大橋先生は、ワクチンの治験で副作用がなかった場合、どれくらいの人に副作用が表れるのかを考えておられます。これらの動画内では、治験で副作用がなかった場合の、治験に参加しなかった人々の副作用発現の期待値は、以下のように計算されています。

f:id:rokaboNatttsu:20201021190653p:plain

ここで

N:治験参加人数

P:治験で副作用がでた被験者の人数が0人のとき、母集団からランダムに選んだN人の副作用発現数の期待値

i:母集団のすべての人が摂取したとき、その母集団からランダムに選んだN人中、副作用が出る人数の期待値。

 

です。

f:id:rokaboNatttsu:20201021181421p:plain

の部分が、「N人中 i 人に副作用が出ると期待される母集団から選ばれた一人の被験者」に注目したとき、その人に副作用が出ない確率です。これをN乗することで、治験を受けたすべての人に副作用が出ない確率を表します。

この式は母集団の大きさが治験を受けた人数Nに対して十分に大きい時のみ、近似的に成り立つと思ってよいでしょう(母集団がNに対して十分に大きくない場合、治験に参加する人を選ぶたびに、母集団から新たに選ぶ人の副作用発現確率が大きく変動してしまいます)。

また、「母集団全員にワクチンを打ったとき副作用が表れる人数をMとすると、Mがどのような値をとる事象も、発生する確率は変わらない」ことも前提になっています。

 

 

ちょっと新しいモデルを構築

動画内の議論において、PはN人当たりの副作用を発現する人数の期待値ですが、この記事ではこれ以降の便利の都合上、この値PをNで割って、一人当たりの副作用発現確率に直しておきます。

f:id:rokaboNatttsu:20201021194050p:plain

これが母集団からランダムに選んだ一人が、副作用を発現する確率Pになります。この計算方法を「学びラウンジモデル」と名付けます。

 

私自身、初めは学びラウンジモデルは直観的に厳密解であるかのような気がしましたが、よく考えると近似的であることがわかります。母集団が十分に大きくなければ誤差が大きくなることに加え、例えば、N=1すなわち治験を受けた人数が一人のときを考えると、P=0、すなわち副作用が発現する確率が0になり、直感的にも精度が悪いことがわかると思います。

 

より厳密な近似式をここから考えます。

 

学びラウンジモデルでは、副作用が出る人数 i は自然数に限定していますが、i は本来「十分に大きい母集団からN人ランダムに選んだ時に i 人が副作用を発現することが期待される」という意味ですから、自然数に限定するのは不自然です。そこで数学的に言うところの離散的(自然数に限定)な状態から連続な分布を考えます。

i が連続に分布するときの期待値を計算するにあたって、以下の積分を導入します。

f:id:rokaboNatttsu:20201021194703p:plain

P:治験で副作用がでた被験者の人数が0人のとき、母集団からランダムに選んだ1人に副作用が発現する確率

N:治験参加人数

x:母集団のすべての人が摂取したとき、その母集団からランダムに選んだN人中、副作用が出る人数の期待値。

 

解釈の要領は、学びラウンジモデルと同様です。この式に基づく、母集団一人当たりの副作用発現確率を、積分モデルと名付けます。積分モデルも、「母集団の人数が治験を受ける人数より十分大きいことが前提の近似式」で、「母集団全員にワクチンを打ったとき副作用が表れる人数をMとすると、Mがどのような値をとる事象も、発生する確率は変わらない」という、学びラウンジモデルの前提を受け継いでいます。

ちなみに、x=Nyで変数変換すると以下のように多少すっきりした形で表せるようになります。

f:id:rokaboNatttsu:20201021195521p:plain

 

 

仮想的な治験による、治験人数と副作用発現確率の関係

ワクチンの中身が異なる仮想的な治験シミュレーションを無数に行い、それぞれの治験から結果副作用が一人もみられなかった場合を100例を選び、その100例の時の母集団の副作用発現率の平均値を計算しました。

計算と言っても解析的に解く方法が思いつかなかったので、あくまでシミュレーションです。

まず前提として、100例の平均値が期待値と近い値を取ると考えます。

「母集団全員にワクチンを打ったとき副作用が表れる人数をMとすると、Mがどのような値をとる事象も、発生する確率は変わらない」

ことを前提とします。母集団の人数100000人に対して、治験参加者の人数を1, 2, 5, 10, 20, 50, 100と変化させ、母集団の任意の一人の副作用発現確率の平均値(≒期待値)をシミュレーションしました。

 

治験人数と母集団の任意の人が副作用を発現する確率の関係は、以下のようになりました。

f:id:rokaboNatttsu:20201021204651p:plain

横軸が治験に参加した人数、縦軸は母集団の任意の一人の副作用発現確率

(解析的に解いたものではなく、シミュレーションした結果なので、試行毎に少しづつ結果が変わることに注意)

 

上に散布図はPython×Jupyterによって出力した。以下ソースコードのキャプチャ。

f:id:rokaboNatttsu:20201021205057p:plain

(汚いコードを見られるのは誠に恥ずかしいものです。これでも私は完全独学の素人。汚いことには目をつぶってほしいです。という心の声)

 

 

学びラウンジモデルと積分モデルの比較

治験から結果副作用が一人もみられなかった場合の、母集団の副作用発現率の期待値を、学びラウンジモデルと積分モデルでそれぞれ計算しました。

 

学びラウンジモデルによる計算で求めたものがこちら

f:id:rokaboNatttsu:20201021210710p:plain

上:ソースコード、下:横軸は治験を受けた人数、縦軸は副作用発現確率

 

続いて積分モデルで計算したものがこちら

f:id:rokaboNatttsu:20201021211103p:plain

上:ソースコード、下:横軸は治験を受けた人数、縦軸は副作用発現確率

2つを重ねたグラフを作るのがマナーですが、時間が押していて面倒なのでパスします。すみません。2つを比較したところ、積分モデルの方が全体的に副作用発現率を高く計算することが分かります。

 

また、これら2つのモデルとシミュレーションによるものを比較すると、治験を受けた人数が5人以下のとき、

シミュレーション値 > 積分モデル > 学びラウンジモデル

です。大きい値だとどのくらい一致しているか、どのような大小関係か分かりにくいので、最後に治験人数が10,50, 100, 200人の場合の、シミュレーションと学びラウンジモデルと積分モデルがどの程度一致しているかを調べます

 

 

現実的な治験人数における、シミュレーションと学びラウンジモデルと積分モデルの比較

まずは、治験人数10人で副作用が出なかった場合の、母集団における任意の一人の副作用発生確率

シミュレーション :0.08168

学びラウンジモデル:0.06779

積分モデル    :0.07576

でした

f:id:rokaboNatttsu:20201021212908p:plain

シミュレーションによる副作用発生確率の計算のソースコードキャプチャ

f:id:rokaboNatttsu:20201021213114p:plain

学びラウンジモデルによる副作用発生確率の計算のソースコードキャプチャ

f:id:rokaboNatttsu:20201021213010p:plain

積分モデルによる副作用発生確率の計算のソースコードキャプチャ

 

 

続いて治験人数20人

シミュレーション :0.01982

学びラウンジモデル:0.01727

積分モデル    :0.01885

でした

 

100人では

シミュレーション :0.00962

学びラウンジモデル:0.00891

積分モデル    :0.00971

 

200人では

シミュレーション :0.00494

学びラウンジモデル:0.00453

積分モデル    :0.00493

 

 

 

最後に

一貫して、積分モデルが学びラウンジモデルよりもシミュレーションに近いようです。いずれのモデルも近似値ですし、そもそも記事のトップで書いたように、前提条件が厳しいので、現実の説明や予測の役には立たないですが。散々書いておいて悲しくなる。滅びの呪文でも唱えてしまおうかしら。

 

 

 

 

またいつか。