見出し画像

感染症数理モデルの基本 SEIR をなるべく数式に頼らずに直感的に理解する

猪股弘明

某SNSに投稿したらけっこう評判がよかったので、適宜修正して感染症モデルに関して述べます。
------------------------------------
私は感染症数理を専門としているわけでもなんでもないただの臨床医ですが、微分方程式の系の解析はなぜか?理学部卒の人程度にはやってます。なので、ここでは、感染症の数理モデルとして有名な SEIR モデルをなるべくわかりやすく説明してみたいと思います。なお、説明の関係上、数学的な厳密性は大幅に無視します(笑)。

なぜ数理モデルを時間に依存しまくりのややこしい微分方程式として理解する必要があるのか

今回のいわゆる新型コロナ第三波に関しては、一部の専門家がやったような再生産係数の過去データによる予測計算は今ひとつ信頼できません。なぜならこれまでのスタティックな(静的な)統計的な特徴を未来に単純に当てはめているだけでは、そもそもの前提が崩れていて使えないから。今回の場合、(たぶんですが)市中感染が確率モデルが成立するくらいには広がっているので、クラスターのリンクを追うことで感染者をおおよそ確定できた 2020年春先のある意味幸せな状況とは違ってきていると思います。だから、ここは面倒でもダイナミックな時間変化を考慮した数理モデルを召喚しないといけないわけです。

SEIR モデル

一般的にシミュレーションの本命は SEIR モデルベースで、こういう時はこれを基準に考えるのが普通です。なのですが、これが連立常微分方程式(↓)で書かれているので、直感的に理解しにくい。

画像1


実際、発症者を I 、潜在的な陽性者を E としたとき、I と E の関係は上の図でいうところの三番目の式
  dI/dt = αE - (m+g)I
で表現されていますが、これを見てピンとくる人はそう多くないでしょう。
なお、SEIR という名称は、モデルが
感染症に対して免疫を持たない者 (Susceptible)→
潜伏期間中の者 (Exposed)→
発症者 (Infectious)→
免疫を獲得した回復者(Recovered)
という遷移を仮定しているので、これらの英語頭文字に由来しています。

ではどうするか→重要でない項をがんがん無視します

なのでまずは第二項の (m+g)I という項を思い切って無視します。
そうすると上式は
  dI/dt = αE
となります。かなり簡単になりましたね。高校で微積分をやった人ならこの段階でこの式が何を意味しているかわかるんではないでしょうか。
d という記号に抵抗を覚えるなら、「間隔」という意味でΔにしましょう。そうすると
  ΔI = αE・Δt
となります。Δもいやだ、生理的に受け付けない、キモい!というなら、t'-t でもいいです。要するに t' と t の時間間隔です。t' = 2、t = 0 とすれば、t' -t は当然 2 です。
感染者数 I は時刻 t に関する関数になっているはずですから I(t) と表記しましょう。そうすると
   I(t') - I(t) = αE・(t' -t)
になります。

ここがキモです

 I(t') - I(t) は、
「時刻が t から t' になったときの感染者数 I の増加分」
という意味になります。
そして式全体としては
「時刻が t から t' になったときの感染者数 I の増加分は、αE と t' -t をかけたもの」
ということになります。
E は潜在的な陽性者としましたから、結局、この式の意味するところは

「単位時間あたりの新たに発生する感染者数は、潜在的な陽性者数に比例する」

です。
試しに t' = 2、t = 0 、 I(0) = 10、αE = 100 としてみましょう。
I(t')-10 = 100・2 から I(2) = 210 。この期間で感染者は 210-10 = 200 人ほど増えたということになります。数式的には、よかったねー、です。
現実的には、ある地域で2日で感染者がいきなり200人増えたら全然よくないんですが。

じゃあ無視できなかったらどうするの

ところで、最初に「第二項の (m+g)I を無視する」と仮定しましたが、これは感染拡大の初期にはこう近似しても大きく間違ってません。なぜなら、I は感染者数で感染拡大初期にはそれほどの人数がいないから。
じゃあ、I が無視できないくらい大きくなったらどうなるのかって話ですが、αE - (m+g)I はマイナスになるので、I は減少していきます。
その中間段階で αE と (m+g)I  が同程度のときは、αE - (m+g)I がほぼゼロになるので(dI/dt ≒ 0)、I は増えたり減ったりせずほぼ横ばいになります。

では、時間を追ってこのプロセスをおさらい。 

何かをきっかけに感染が拡大しているときは I は増大、やがて I は増えたり減ったりせず(グラフ上では)プラトーになり、最終的には減少に転じる、ということになります。

画像2

めでたく、特徴的な山型のグラフが出てきましたね。

ちなみに、潜伏期間を考慮した SEIR モデルでは E が大きいと接触率をゼロにしても新規発症者はすぐにはゼロになりません。なぜなら、接触があろうがなかろうが、Eの中から発症者が出てくるから。

終わりに

数理モデル・理論というと構えちゃう人が多いと思いますが、ある程度慣れた人は頭の中でこの微分方程式の系がどのように振る舞うか予想しながら、現象を考察するわけです。(これができないと数式に振り回されるだけで、系がマクロにどのように振る舞うかわからないと思います)
使っているのは大学の教養程度の数学なので、ある程度訓練積めば、誰でもできると思います。

参考

なお、上で出てきたグラフはブラウザタイプの SEIR の簡易シミュレーターからとってきています。
https://covid19-seir-model.netlify.app/

画像3

数値をある程度変えられますので、よかったら復習にどうぞ。
現状に合わせた軽い考察を
無症候性感染者が増えると感染爆発がおこるリスクが増大する
に書いておきましたので、こちらもよかったらどうぞ。

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!