※注 本稿は高校レベルの数学を十分に修了している者を対象とする.
W.O.KermackとA.G.McKendrickにより提唱された感染症の数理モデルとして,SIRモデルがある.これは,以下の3つの微分方程式で表される. \begin{align} \frac{dS(t)}{dt} &= - \beta S(t) I(t) \\ \frac{dI(t)}{dt} &= - \gamma I(t) + \beta S(t) I(t) \\ \frac{dR(t)}{dt} &= \gamma I(t) \end{align} ここで,\(S(t)\)は時間\(t\)における感受性(感染する可能性がある),\(I(t)\)は感染性(感染させる可能性がある),\(R(t)\)を隔離・免疫状態(感染しない,させない)の人数を表している.
\(\beta\)を伝達係数といい,これに\(I(t)\)を乗じると,感染力\(\beta I(t)\)になる.ざっくり言うと,感染力とは単位時間あたりに一人が感染する可能性を表しているので,感染力にさらに\(S(t)\)を乗じると,単位時間あたりに\(S→I\)へと移行する人数を示す.また,\(\gamma\)は回復・隔離率であり,隔離されたり免疫を持った状態になる確率を表している.よって感染力と同様に,\(I(t)\)を乗ずると,単位時間あたりに\(I→R\)へと移行する人数を示すようになる.
以上のパラメータを踏まえて上式を眺めると,(1)式が非感染者数の時間変化,(2)式が感染者数の時間変化,(3)式が回復者の時間変化を表すことは明白である(全く明白ではない...自身も最初は理解に苦しんだので,下に示すようなきちんとした解説書を読んだほうがいいと思う.この仮定がわかりづらくても,多分以下の導出は可能だと思う.).
ここで,感染初期の感染人口変化を導出してみよう.今回考えるのは人類が未知の感染症であるから,初めは誰も免疫を持っていない状態\(R_{0} = 0\)と仮定する.ここで時刻\(0\)における感受性者を\(S_{0}\)とし,初期における感受性人口\(S(t)\)の変化は小さいので無視すると,(2)式は以下のように整理されるであろう. \begin{align} \frac{dI(t)}{dt} &= (\beta S_{0} - \gamma)I(t) \\ \end{align} これは明らかに線型微分方程式であり,この解は以下のように求められる. \begin{align} I(t) = e^{(\beta S_{0} - \gamma)t} I(0) \end{align} この式は何を表しているだろうか?まず読み取れるのは,感染初期において,感染者数の増大は指数関数的(要するにねずみ算)であること.これは,感染者がそれぞれに何人かに感染させ,またその感染者が何人かに感染させ...と感染者が増大していくことを想像すると,直感的にも正しい.また \begin{align} \beta S_{0} - \gamma &> 0 \\ \therefore \frac{\beta S_{0}}{\gamma} &> 1 \end{align} となることが,継続的に感染者が増加し続ける条件であることも読み取れる.(7)式の左辺を基本再生産数\(R_{0}\)と呼び,感染症が拡大するかどうかを表す指標として用いられる.新型コロナウイルスは\(R_{0}=2.5\)程度であると推測されている.(なお,解説は省くが,基本再生産数は一人が何人に感染させるかを表すものでもあり,一人の感染者が一人にしかうつさなければ感染が広がらないのは当たり前.出生率が2.0を超えないといつか人口減少に転ずるのと同じような話.)
本シミュレータは上述したSIRモデルを元に作られている.しかしこのモデルにはかなり乱暴な仮定がいくつも含まれているので,とてもシミュレータとしてマトモではない.ここで,今回考慮しなかった概念をいくつか紹介する.
誰でも思いつくだろうが,このSIRモデルには重大な概念「潜伏期間」が欠けている.特に新型コロナウイルスの場合最大2週間と言う長い潜伏期間を持っているので,本来は無視できない指標である.潜伏期間である\(E(t)\)を導入し,以下のSEIRモデルを得る. \begin{align} \frac{dS(t)}{dt} &= m(N(t)-S(t)) - bS(t)I(t) \\ \frac{dE(t)}{dt} &= bS(t)I(t) - (m + a)E(t) \\ \frac{dI(t)}{dt} &= aE(t) - (m + g)I(t) \\ \frac{dR(t)}{dt} &= gI(t) - mR(t) \end{align} ここでは解説しないので,細かいパラメータの説明は省くが,出生率や死亡率も導入されたモデルとなっている.実は振る舞いがカオス的であることが知られており,面白そうではあったが今回の実装に間に合わなかったので適用しなかった.
感染症があらゆる人間に対して平等に感染するわけではない.例えば,子供にだけ感染しやすい感染症も当然ある.こういった場合,集団を大人と子供に2分割したモデルを適用する必要がある.この時,
と言う4つのパラメータが必要となる.この時,ある日付\(n\)における子供の感染者数\(I_{c}(n)\),大人の感染者数\(I_{a}(n)\)とおくと,次の感染者数\(I_{c}(n+1)\),\(I_{a}(n+1)\)は,以下の漸化式で関係づけられる. \begin{align} \left( \begin{array}{cc} I_{c}(n+1) \\ I_{a}(n+1) \\ \end{array} \right) = \left( \begin{array}{cc} R_{cc} & R_{ac} \\ R_{ac} & R_{aa} \\ \end{array} \right) \left( \begin{array}{cc} I_{c}(n) \\ I_{a}(n) \\ \end{array} \right) \end{align} ここで登場する行列を次世代行列といい,この漸化式を解くと,より正確な解析が可能になる.分け方は別に年齢に限る必要もなく,例えばエッセンシャルワーカーとそれ以外で2分割したモデルを導入すれば,ロックダウン時であってもインフラを担当する彼らは休むことができず,接触の減少は期待できない...など,細かい分析が可能になるだろう.今回のシミュレーションでこの人口の異質性の考慮は含めていない.
余談だが,西浦先生はこの次世代行列を作り,性的接触の介入不可能と仮定し,接触6割削減を達成するためにはそれ以外が接触8割削減を達成する必要があると考えて「8割おじさん」となった.
ややこしいですが、Twitter民はフォローできますよね。接触を起こす属性別に再生産数を行列として計算し(次世代行列)、性的接触に介入できないことを想定、他のところで8割落ちたとして要素別に減少を加味、結果として固有値で与えられる再生産数の代表値が1を下回る、という理屈が背景にあります。 https://t.co/P4qQzLEuFv
— Hiroshi Nishiura (@nishiurah) April 10, 2020
W.O.KermackとA.G.McKendrickが提唱したSIRモデルには実はもう一つある. \begin{align} \frac{dS(t)}{dt} &= -S(t) \int^{\infty}_{0} \beta (\tau) i(t,\tau) d \tau \\ \left( \frac{\partial}{\partial t} + \frac{\partial}{\partial \tau} \right) i(t,\tau) &= - \gamma (\tau) i(t,\tau) \\ i(t,0) &= S(t) \int^{\infty}_{0} \beta (\tau) i(t,\tau) d \tau \\ \frac{dR(t)}{dt} &= \int^{\infty}_{0} \gamma (\tau) i(t,\tau) d \tau \end{align} これは,感染齢別の観点から現象を構造化したものである.偏微分方程式まで登場してしまった.流石に元日からやるような内容でないし,やりたくもない.詳しく学びたい場合は末尾に記した参考文献でを参照していただきたい.
私の下手な説明で概要が掴めたかどうかは不明だが,ともかく数学に多少慣れ親しんだものであればこのレベルの数式を操ることなどいとも容易いだろう.だが,忘れてはならないのが,これはおもちゃなのだと言う事実だ.既知の数式をもてあそんで,感染症数理の専門家を攻撃するなど到底愚かしいと思うのだが,現にそれをやってしまった人間を何人も見た.政治的にセンシティブな話をせざるを得ないのは確かだが,しかし西浦氏が移動の際護衛を付けなければならなくなると言うのはあまりにも異常事態である.
我々がすべきことは,付け焼き刃の知識で専門家に食ってかかることではない.自分の分野外の専門家を最大限に尊重することだ.彼らの意見によく耳を傾け,ともに建設的な議論を心がけよう.少なくとも自分は,そうするつもりだ.