人口と感染症の数理入門の入門


はじめに

本稿の目標は非専門家や非数学専攻者が人口と感染症の数理モデルに入門するにあたって最低限の知識や気持ち(そちらの方がメインです)を伝えることです。簡単な例を用いながら、人口と感染症を扱う数学というものについて説明していきましょう。

離散モデルの例

よくある例として、細胞分裂の例を考えてみましょう。ある細胞が1つある、1秒に1回分裂するとする。では$n$秒後には細胞はいくつになっているか? 答えは当然$2^n$です。しかしこの答えは数学的にはどうやって得られたのでしょう。それは、漸化式です。$n$秒後の細胞の個数を$a_n$とすると、$n+1$秒後には$n$秒の$2$倍になっているので、漸化式

a_{n+1} = 2a_n

を得ます。これを解いた結果が$a_n = 2^n$なわけですが、この漸化式は細胞分裂という現実の現象、まあちょうど1秒に1回分裂する細胞なんていうのは仮想的な存在に決まってるんですが、とにかくこういう現象を我々は今数式に翻訳したことになります。この翻訳された数学的存在が数理モデルです。このモデルは細胞の人口、細胞なので人口と呼ぶのはちょっと変ですが、そういうモデルです。このような生物の個体の個数の時間変化を書き下したモデルのことを個体群動態(population dynamics)といいます。

もう一つ個体群動態モデルの例を紹介しましょう。ウサギの個体数を考えます。ウサギは生まれて2ヶ月後から、一月に一度ひとつがいの子供を生みます。今一つがいのウサギがいるとして、$n$ヶ月後には何つがいのウサギがいるでしょう?この問題は前よりちょっと複雑ですが、漸化式でモデリングすることができます。$n$ヶ月後のつがいの数を$F_n$とおくと、$F_n$つがいの中には生まれて0ヶ月と1ヶ月とそれ以上の個体がいます。一ヶ月経つと、$n$ヶ月の時に生まれて一ヶ月だった個体は二ヶ月経ったのでひとつがいの個体を生みます。それ以上の個体も生みますね。でも0ヶ月の個体はまだ1ヶ月なので生めません。これと$F_n$の合計が$F_{n+1}$です。さらに一ヶ月経つとどうでしょう。$n$ヶ月の時に生まれたばかりの個体も、もう子供を産めるようになっています。よって$F_n$つがいの全員がひとつがいの子供を生むわけです。$n+1$ヶ月に生まれたウサギはまだ子供を産めないので、新しく$F_n$つがいが追加される。そういうわけで、漸化式

 F_{n+2} = F_{n+1} + F_{n}

が成り立ちます。$F_0=0,F_1=1$とすると、続きは$1,2,3,5,8,13,21,\dots$、これは有名なフィボナッチ数列ですね。フィボナッチ数列は実は個体群動態モデルだったのです。ウサギの死亡は考えてないので、かなり雑なモデルではありますが。この数列の一般項は黄金比$\phi = (1 + \sqrt{5})/2$を用いて表すことができますが、ここでは書きません。より重要なのはこの性質です:フィボナッチ数列の比$F_{n+1}/F_n$は$n \to \infty$で$\phi$に収束する。

これは直感的には次のように解釈できます。フィボナッチ数列は、$n$が十分大きいときには公比$\phi$の等比数列とほとんど同じといってよい。細胞分裂もウサギの増殖もだいたい指数関数といえるわけです。そして、その等比数列の公比は「単位時間に1個体が産む次の世代の個体数」と解釈できます。

連続モデルの例

連続の場合も考えてみましょう。単位時間あたりに$m$倍に分裂する細胞があったとします。時刻0で$N_0$個、時刻$t$で$N(t)$個の細胞があるとすると、$N(t)$はどんな関数になるか? こう考えます。微小な時間$\Delta t$での個体数の変化は$N(t+\Delta t) - N(t)$ですが、この間にどれだけ細胞が増えるのかというと、単位時間あたり$m$倍なので、

 N(t+\Delta t) - N(t) = mN(t) \Delta t

となります。$\Delta t$で両辺を割って$\Delta t \to 0$とすると、微分方程式

N^\prime (t) = mN(t)

が得られます。これが細胞分裂の数理モデルの連続版です。連続なので、例えば個体数が10.5匹といった状況も起こりえます。これは現実に照らし合わせれば変なことなのですが、このような変なことがおこるのは、数理モデルを導入する時に「個体数は連続的に動く」という「連続近似」を行ったことによります。初期値$N(0) = N_0$と合わせると、解は$N(t) = N_0 e^{mt}$という指数関数になります。

微分方程式を変形してみましょう。

 \frac{1}{N(t)}N^\prime (t) = m

このような式で表される$m$のことを、マルサス径数といいます。このモデルは解が指数関数なのでマルサス径数は定数ですが、一般には$t$の関数になります。直感的にいえば、マルサス径数とは個体群動態モデルが$X^\prime (t) = AX$と書かれた時の$A$、解を指数関数で書いた時の、指数関数の肩に載っている係数を指します。マルサスという人物は『人口論』という著書のなかで、人間の人口もこの細胞のように指数関数的に増えると予言しました。そしてその一方で食糧は線形にしか増えないので、あるとき深刻な食糧不足が来ると警鐘を鳴らしました。しかし、現状そうなっていません。世界的に見るとまだまだ人口は増加していますが、人口の多い先進国を筆頭として、これまでの「多産多死」の状態から「少産少死」の状態への移行が観察されています。この現象を人口転換と呼びます。

感染症のモデル

感染症の数理モデルについても触れておきましょう。

  \left\{
    \begin{array}{l}
      S^\prime = -\beta S I \\
      I^\prime = \beta S I - \gamma I \\
      R^\prime = \gamma I
    \end{array}
  \right.

これは感染症の数理モデルで最も有名なものの一つ、SIRモデルです。Sはsusceptible、Iはinfectious、Rはrecoveredの略で、それぞれ病気にかかりうるがまだかかってない人の人口、病気にかかっている人の人口、病気が治って免疫のついた人の人口を表します。$\beta$は単位時間あたり、感染者一人あたりの感染率。$\gamma$は単位時間あたりの回復率です。式の形から、SからIへ、IからRへ人が移っているのがなんとなく察せられるかと思います。ちなみに、このモデルでは人間の死亡は考えていません。なので、人が死なないくらいの短い時間スケールでおこる感染症に用いられます。例えばインフルエンザなんかが該当しますね。

このモデルについてちょっとだけ考察してみましょう。まず両辺を全て足し合わせると、

 (S+I+R)^\prime = 0

となります。つまり全人口は一定ということです。これを$N$とおきましょう。次に、Iの微分項がゼロとなる点、いわゆる平衡点を求めてみます。$I^\prime = 0$とおくと、$(\beta S - \gamma)I = 0$となります。まず考えられるのは、$I = 0$の場合です。つまり、感染者がいないのでこれ以上変化のしようがないという場合。これは自明な平衡点と呼ばれています。もうひとつは、$\beta S / \gamma = 1$のときです。これは感染自体は起こっているが、同じ勢いで回復もしているので感染者の数は一定という状態に対応します。これは非自明な平衡点と呼ばれます。ただし、$S$には範囲の制限があります。総人口は$N$と決まっていたので、$0 \leq S \leq N$です。したがって、$\beta N / \gamma < 1$のとき非自明な平衡点が存在せず、$\beta N / \gamma > 1$のとき非自明な平衡点が存在します。$\beta N / \gamma = R_0$とおきましょう。$\beta N$は単位時間あたりの感染者数、$1/\gamma$は回復するまでの時間と解釈できるので、$R_0$は一人の感染者が新しく産む感染者の人数と解釈されます。この$R_0$を基本再生産数と呼びます。繰り返すと、$R_0<1$のとき自明な平衡点しか存在せず、$R_0>1$のとき非自明な平衡点が存在します。

次に、自明な平衡点について考えます。$I=0$、かつ全員がSの状態にある状況を考えます。感染がまだ始まっていない状態に相当する状態です。ここで、ある感染者がちょっとだけ入ってきた状況を考えましょう。$S$は$N$で近似できますが、$I$はゼロではありません。このとき、$I$に関する微分方程式は、

 I^\prime \approx (\beta N - \gamma) I = (R_0 - 1)\gamma 

という線形方程式で近似できます。線形方程式の解は指数関数なので、$I$は「ほとんど指数関数」なわけです。そして、$R_0<1$のとき係数は負、つまり感染者は指数関数的に減っていくことになります。このことを、自明な平衡点は安定である、ともいいます。逆に、$R_0>1$のとき係数は正、つまり感染者は指数関数的に増えて、感染の流行が起こることになります。このときは、自明な平衡点は不安定です。$R_0$が一人が産む感染者数だという解釈を考えれば、それが1を超えるかどうかで感染の様子が変わるというのは理にかなっているでしょう。しかも、この$R_0$は非自明な平衡点の存在と自明な平衡点の安定性の両方に対応しています。この基本再生産数は数理人口学、数理疫学における重要な指標であり、さまざまなモデルについて$R_0$の考察が日々行なわれています。

おわりに

さて、簡単なモデルで人口と感染症のモデルについてお話してきましたが、現在行なわれている個体群動態における研究もおおまかな流れは同じです。キーワードは「基本再生産数」、「非自明な平衡点」「平衡点の安定性」そして「ほとんど指数関数」です。この流れを意識しておくと、各種個体群動態の入門的な教科書を読む際に混乱が生じることが減るかと思われます。以上で説明は終わりですが、質問やコメント、間違いの指摘などがあればぜひ著者(@nloglogn)にお伝え下さい。お待ちしております。