プリセット
モデル選択
基本パラメータ
基本再生産数 R₀ = β/γ
3.50
ワクチン・オプション
主要指標
理論・主要公式
$$\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 = 一定(保存則)
感染症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」を上げると、最初から免疫を持っている人が増えるから、ピークの感染者数が大きく減るのがわかるよ。実務では、このシミュレーション結果を見て「何%の人にワクチンを打てば医療崩壊を防げるか」を議論するんだ。
よくある質問
R₀は感染率βを回復率γで割った値(β/γ)で計算されます。本シミュレーターではβとγのスライダーを動かすとR₀の値がリアルタイムで表示され、R₀が1を超えると感染拡大、1未満で収束に向かう様子を視覚的に確認できます。
ワクチン接種率を上げると感受性人口Sが減り、実効再生産数が低下します。集団免疫が成立するには接種率が1−(1/R₀)以上である必要があります。例えばR₀=3なら約67%以上の接種率が必要で、シミュレーターでスライダーを調整しながらその閾値を体感できます。
各プリセットは実際の疫学データに基づき、COVID-19はR₀約2.5(β=0.5, γ=0.2)、インフルエンザはR₀約1.5(β=0.45, γ=0.3)、麻疹はR₀約15(β=1.5, γ=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%以上が同時に感染する可能性もあり、医療崩壊を招く。シミュレーションでは、ワクチン接種率を上げることで、「ピークの圧迫」をいかに緩和するかを読み取ることが実務的な使い方なんだ。