感染症SIRモデルシミュレーター 戻る
感染症モデル・数理生物学

感染症SIRモデルシミュレーター — 集団免疫と感染拡大

β・γを動かしてR₀が変わる瞬間を見よう。ワクチン接種率を上げて集団免疫が成立する条件を体感。COVID-19・インフルエンザ・麻疹のプリセットで感染力の違いを比較。

プリセット
モデル選択
基本パラメータ
総人口 N 10,000
初期感染者 I₀ 10
感染率 β(/日) 0.35
回復率 γ(/日) 0.10
基本再生産数 R₀ = β/γ 3.50
ワクチン・オプション
ワクチン接種率 V(%) 0%
シミュレーション日数 365
季節性変動 ε 0.00
主要指標
ピーク感染率
最終感染率
ピーク到達日
集団免疫閾値

SIRモデル方程式

$$\frac{dS}{dt}= -\frac{\beta S I}{N}$$ $$\frac{dI}{dt}= \frac{\beta S I}{N}- \gamma I$$ $$\frac{dR}{dt} = \gamma I$$

N = S + I + R = 一定(保存則)

CAEとの接点: SIRモデルはRunge-Kutta法で解く連立ODEです。流体解析の移流拡散方程式や化学反応モデルと数値解法が共通します。
時系列グラフ(S/I/R vs 日数)

感染症SIRモデルシミュレーターとは

🧑‍🎓
SIRモデルって何ですか? 聞いたことはあるけど、具体的に何を計算してるんですか?
🎓
ざっくり言うと、感染症がどのように広がり、収束していくかを予測するための「計算レシピ」だよ。人口を「感染する可能性がある人(S)」「現在感染している人(I)」「回復して免疫を持った人(R)」の3グループに分けて、時間とともにどう移り変わるかを数式で追跡するんだ。このシミュレーターでは、上のスライダーで「感染率β」や「回復率γ」を変えると、グラフの曲線がリアルタイムでどう変わるかがすぐにわかるよ。
🧑‍🎓
え、そうなんですか! で、よく聞く「基本再生産数R₀」って、このシミュレーターのどこに関係してるんですか?
🎓
良いところに気づいたね。R₀は「感染率β」を「回復率γ」で割った値、$R_0 = \beta / \gamma$ で計算されるんだ。これが感染拡大のカギ。例えば、右のプリセットで「COVID-19初期」を選ぶとR₀≈2.5に、「麻疹」を選ぶとR₀≈15に設定される。R₀が1を超えるとピークが発生して流行するけど、1を下回るとすぐに終息する。実際にパラメータをいじって、R₀の表示が1を境にグラフがどう変わるか確かめてみよう。
🧑‍🎓
「集団免疫閾値」ってのも出てきますけど、ワクチン接種率のスライダーを動かすと関係あるんですか?
🎓
その通り!集団免疫閾値は、流行を止めるために必要な免疫保持者の割合で、だいたい $(1 - 1/R_0) \times 100\%$ で計算される。R₀=2.5なら60%だね。このシミュレーターでは、「ワクチン接種率V」を上げると、最初から免疫を持っている人が増えるから、ピークの感染者数がガクッと減るのがわかるよ。実務では、このシミュレーション結果を見て「何%の人にワクチンを打てば医療崩壊を防げるか」を議論するんだ。

物理モデルと主要な数式

感染症の時間発展を記述する基本となる連立常微分方程式です。S, I, Rの3つの状態間の「流れ」を表現しています。

$$ \begin{aligned}\frac{dS}{dt}&= -\frac{\beta S I}{N}\\[4pt] \frac{dI}{dt}&= \frac{\beta S I}{N}- \gamma I \\[4pt] \frac{dR}{dt}&= \gamma I \end{aligned}$$

$S(t)$: 時刻tにおける未感染・感受性人口
$I(t)$: 時刻tにおける感染中人口
$R(t)$: 時刻tにおける回復・免疫獲得人口
$N$: 総人口($N=S+I+R$で一定)
$\beta$: 感染率 [1/日]。1人の感染者が1日に接触し感染させる平均人数に比例。
$\gamma$: 回復率 [1/日]。平均感染期間は $1/\gamma$ 日。

基本再生産数 $R_0$ は、感染症の伝播力を表す無次元数の基本です。この値によって流行の運命が決まります。

$$ R_0 = \frac{\beta}{\gamma} $$

物理的意味: 免疫を持たない集団において、1人の感染者が生み出す二次感染者の平均人数。
$R_0 > 1$: 1人が1人以上に感染させるため、感染症は拡大する。
$R_0 < 1$: 感染連鎖が持続せず、流行は自然終息する。

実世界での応用

パンデミック対策の政策評価: COVID-19の際、各国政府がロックダウンや行動制限の効果を予測するためにSIRモデルが多用されました。感染率βを下げる(接触機会を減らす)介入をモデル化し、ピークの感染者数や医療キャパシティを超えるかどうかをシミュレーションしました。

ワクチン接種キャンペーンの計画: 麻疹や風疹などの定期接種において、集団免疫を達成し流行を防ぐために必要な接種率を算出するのに使われます。シミュレーターでワクチン接種率Vを変えて、流行曲線がどう抑制されるかを確認できます。

新興感染症のリスク評価: 新しい病原体が出現した際、その感染率と重症化率から、医療システムへの負荷や最終的な死亡者数を大まかに推定し、リソース配分の優先順位を決定する基礎データとして利用されます。

CAE・数値解析との関連: SIRモデルの方程式は、流体の移流拡散や化学反応の速度方程式と同じく、連立常微分方程式(ODE)の形をしています。実務では、このシミュレーターの背後で動いているのと同じ4次ルンゲ・クッタ法などの数値解法が、CAEソフトウェアで広く使われています。

よくある誤解と注意点

このシミュレーターを使い始めるとき、いくつか気をつけてほしいポイントがあるよ。まず、「基本再生産数R₀は絶対的な定数ではない」という点。例えばCOVID-19のR₀≈2.5というのは、人々が普段通りに接触する環境での値だ。実際には、人込みを避けたりマスクをしたりすれば実効再生産数R_tは下がる。このツールで「感染率β」を下げる操作が、まさにその対策効果のシミュレーションにあたるんだ。

次に、パラメータ設定の現実性。例えば「回復率γ」を1/5(=0.2)に設定すると平均感染期間は5日になるけど、これは症状がある期間全体を指すことが多い。実際の「感染力がある期間」はもっと短いかもしれない。パラメータをいじって非現実的な曲線(例えば、感染者数Iが総人口Nを超えるなど)が出たら、設定を見直すクセをつけよう。

最後に、「集団免疫閾値はゴールではない」という認識。閾値の60%に達すれば流行は止まるが、それまでにどれだけの感染者ピーク(医療負荷)が発生するかが重要だ。例えば、ワクチン接種なしで自然感染に任せると、ピーク時には人口の20%以上が同時に感染する可能性もあり、医療崩壊を招く。シミュレーションでは、ワクチン接種率を上げることで、「ピークの圧迫」をいかに緩和するかを読み取ることが実務的な使い方なんだ。

関連する工学分野

SIRモデルの計算は、実は感染症以外の様々な工学分野と数式的に深く繋がっている。まず挙げるのは「化学反応工学」だ。S→I→Rという状態遷移は、化学種AがBを経てCになる連続反応(A → B → C)の速度論と全く同じ方程式で記述される。パラメータβとγは、反応速度定数そのものなんだ。

次に「熱伝導や流体のシミュレーション(CFD)」。SIRモデルの微分方程式を離散化してコンピュータで解く手法は、CAEの基本である有限差分法や有限体積法と共通。状態量(S, I, R)の時間発展を追うことは、温度や流速の時間変化を計算するのと本質的に同じプロセスだ。

また、「信頼性工学」にも応用できる。多数の部品からなるシステムで、一つが故障(感染)すると連鎖的に故障が広がる「共通原因故障」のモデリングにSIRモデルが転用される。この場合、回復率γは「修理率」に、ワクチン接種率は「冗長化や定期交換の比率」に対応する。一見遠い分野でも、「状態遷移を伴うシステムの動的挙動」を理解するツールとして共通の基盤があるんだ。

発展的な学習のために

このシミュレーターに慣れたら、次はモデルを少しずつ現実に近づけていくステップがおすすめだ。まずは「SEIRモデル」を調べてみよう。これはSとIの間に「潜伏期間(E)」を追加したモデルで、例えば水ぼうそうやCOVID-19のように感染してから発症まで時間がかかる病気のシミュレーションに使われる。方程式が一つ増えて少し複雑になるけど、挙動の理解はSIRの延長線上にある。

数学的には、この連立微分方程式を「数値積分」で解いていることを意識しよう。ツール内部では、オイラー法やルンゲ・クッタ法といったアルゴリズムで、微小時間ステップごとにS, I, Rの増減を計算している。この「離散化」の概念は、より複雑なCAEシミュレーションの根幹だ。

さらに踏み込むなら、「空間構造」や「個人の接触ネットワーク」を考慮したモデルに挑戦だ。今のツールは全人口が均一に混ざっていると仮定している(完全混合モデル)が、現実はそうではない。地域間の移動や、家族・職場といったコミュニティ単位での感染広がりをシミュレーションする「エージェントベースモデル」は、政策の詳細な評価に用いられる高度な手法だ。まずは今のシンプルなSIRモデルでパラメータが曲線に与える影響を体感しておくことが、それらを理解する一番の近道になるよ。