- HOME
- シミュレーション適用事例:インフルエンザの感染モデル
2022年10月17日 10:00
シミュレーション適用事例
として、シミュレーションで解決できる様々な事例を紹介しています。
NTTデータ数理システムで開発しているシミュレーションシステム S4 Simulation System 上での実装例もご紹介します。
背景
伝染病のモデルとしては、古典的な Kermack-McKendrick(1927)のSIRモデルがよく用いられます。非感染者(S)が感染者に接触すると接触時間に比例した確率で感染(I)します。また、感染者(I)は、感染後の経過時間に比例した確率で治癒(R)します。また、一度感染すると、抗体ができるため再感染はしません。
[[ \beta: 感染率, \gamma: 治癒率 \\ \begin{aligned} \frac{\mathrm{d}S}{\mathrm{d}t} &= -\beta SI \\ \frac{\mathrm{d}I}{\mathrm{d}t} &= \beta SI - \gamma I \\ \frac{\mathrm{d}R}{\mathrm{d}t} &= \gamma I \\ S + I + R &= \mathrm{Const.} \end{aligned} ]]
エージェントベースシミュレーション
この微分方程式で表現されたモデルを使って感染者数、非感染者数の変化をシミュレーションする事もできますが、ここでは、各個人の学校(職場)、自宅の往復を加味した上で、感染の広がりをシミュレーションします。このような、エージェントを主体としたシミュレーションをエージェントベースのシミュレーションと呼びます。
エージェントを主体として考えることで、エージェントごとの個体差を自然に表現できるため、個体ごとのパラメータの違い、他エージェントとの関係性の違い、エージェントの意思決定のルール、行動の違いなどをシミュレーションに組み込むことができ、より現実に即したシミュレーションを行うことができます。エージェントベースモデリングでは、まず状態遷移を考えます。先の例の場合は、以下のような状態遷移になります。
このような状態遷移が作成できたら、後はエージェントを必要個数作成し、シミュレーションすることで、全体の振る舞いを分析する事ができるようになります。
エージェントベースシミュレーション
S4 を用いた解決
S4 Simulation System で、このようなインフルエンザの感染をモデリングすると以下のようなイメージになります。(図をクリックすると拡大します)
エージェントシミュレーションとして実装した場合、例えば以下のような拡張も容易に行うことができ、より現実世界のモデルに近づけることが可能となります。
- 通勤、通勤途中の感染も考慮する。
- 年齢等の差によって感染率、治癒率を変化させる。
- 周りの感染率が増大すると、個体によっては、マスク等の予防措置を行う。
おわりに
シミュレーションについて
他にもシミュレーションで解決できる課題の例をシミュレーション適用事例としてご紹介しています。
そもそもシミュレーションとは?シミュレーションってどうやるの?等の疑問をお持ちの方に向けて、具体例も交えて紹介・解説する【1から分かるシミュレーション読本】を無料公開しています。 よろしければ併せてご覧ください。
S4 Simulation System について
「S4 Simulation System」は、複雑なモデルGUI上で表現しを誰でも簡単にシミュレーションを行なえるソフトウェアです。本記事でも「S4 Simulation System」でのシミュレーション実装例をご紹介しました。
30日間の無償トライアルでシミュレーションモデルをご自身で動かしていただくことも可能です。ご興味をお持ちの方は下記のフォームからお問い合わせください。
また、「S4 Simulation System」のご紹介とハンズオンでのシミュレーション体験を行うオンラインウェビナーを毎月無料で開催しております。ご興味をお持ちの方はぜひご参加ください。
http://www.msi.co.jp NTTデータ数理システムができること