SimEpidemic モデル仕様 ver. 1.8.4

著者:畝見達夫,作成:令和3年4月3日,編集:4月14日

この文書は個体ベース感染シミュレータ SimEpidemic に使われているモデル ver. 1.8.4 について記述したものである。 以前の ver. 1.8.3 については,こちら, ver. 1.8.2 については,こちら, ver. 1.8 については,こちら, ver. 1.7.3 については,こちら を参照されたい。

SimEpidemic 個体ベース感染シミュレータ 技術文書

世界の時空間モデル

シミュレーションの場となる世界は,連続値直行座標で位置を表現する正方形の2次元平面である。 初期状態では人口に対応する数の個体がランダムに配置される。 初期状態における個体の健康状態は,ランダムに選ばれた数人の未発症感染者を除き, 未感染であるものとする。 辺の長さと人口を調整することで人口密度を調整する。

シミュレーション過程は,まず,現在の状態での各個体の相互作用を計算し, その結果と個体自身の状態に応じて次の状態を算出するというステップを繰り返すことで実現する。

人口分布

各個体に拠点位置を与え人口の空間分布を指定することで,人口密度の地域的偏りを表現する。 設定の選択肢としてつぎの3種類を用意する。

  1. 拠点位置がなく常時自由に行動する。
  2. 拠点位置を一様分布でランダムに与える。
  3. 世界の中央ほど密度が高くなるような分布でランダムに与える。
  4. 分布パターンを画像データで与える。

中央ほど人口密度が高い分布

上記 3. の場合の各個体の自宅位置 \(H\) は, 区間 \([-1,1]\) の2つの独立な一様乱数 \(x, y\) から下式により決定する。

\[ H = \left(\frac{px+1}{2}S,\, \frac{py+1}{2}S\right)\] \[ p = \frac{q}{1-(1-q)\cdot\max (|x|, |y|)},\; q=\frac{a}{1-a}\]

ただし,\(S\) は世界の一辺の長さ,\(a\) は密度の偏りを表す区間 \((0,0.5]\) の係数である。 \(a=0.5\) のとき \(q=p=1\) となり一様分布になる。 \(a \rightarrow 0\) では中央の点に集中し, 極限では \(q=p=0\) で \(x, y\) の値にかかわらず \(H\) は中央位置 \((S/2, S/2)\) となる。

人口分布パターン

上記 4. は,与えられた画像データを 512x512 画素の正方形に比例変換し, 各画素の明度に比例した密度となるよう個体の拠点位置を定める。 アプリケーション版のシミュレータには,複数箇所の密集地点をランダムに配置した分布パターンを生成する機能ががあり,抽象的なモデルとしてこのパターンを利用することも有用であろう。 詳細は 人口分布の与え方と分布の生成 を参照のこと。

個体の行動モデル

各個体は各ステップにおいて,周囲から受ける力ベクトルに従い移動する。 昼間は長距離移動や集会参加をするが,夜間には自宅位置へ戻るような行動をとる。 力には,周囲の個体との距離の2乗に反比例する斥力と周囲のもっとも好む個体への引力を合成して力のベクトルを計算し, 質量と摩擦係数を想定した積分の近似計算1により次の位置を算出する。 世界の境界に隣接する場合は境界線からの斥力も受ける。 個体 \(i\) が受ける力 \(F_i\) は以下の式で表される。 \[F_i = \alpha\cdot\sum_j\frac{p_i - p_j}{|p_i - p_j|^3}+\beta\cdot(p_b-p_i) +\gamma\cdot\sum_{j=1}^4\frac{p_i-w_j}{|p_i-w_j|^3}+B_i\] \(p_i\) は個体 \(i\) の位置,\(b\) は周囲で最も好みの個体,\(w_j\) は境界線 \(j\) 上の最も近い点,\(\alpha,\:\beta,\:\gamma\) は係数である2。 \(B_i\) は後に述べる集会の中心または自宅へ向かうベクトルである。

長距離移動

発症していない個体は設定された確率で世界の領域内の別の位置に移動する。 対策としての移動制限は,この確率と距離を調整することで実現する。 ただし,夜間に移動が発生した場合は,移動先を自宅位置とし,帰宅するものとする。

イベント・集会など

昼間の学校,職場,イベント,集会,さらに家庭など人が集まる現象を再現するモデルとして, 集会 を確率的に発生される。個々の集会は円形の領域で.大きさ,持続時間,および,強さが割り当てらる。 集会の円周付近の発症していない個体は,集会の中心へ向かう力を受ける。力の大きさは円周上で最も強く, そこからの距離に反比例して小さくなる。 右図に個体が受ける力の分布を示す。 上の式における \(B_i\) は以下に定義される集会の中心へ向かうベクトル \(G_i\) に 係数 \(\zeta\) を掛けたものになる。

\[ G_i=\begin{cases} 0 & \mbox{if } |p_i - G_p| > G_r + C_r\\ 1 - (|p_i - G_p|-G_r)\:/\:C_r & \mbox{else if }|p_i - G_p| > G_r \\ |p_i - G_p|\:/\:G_r & \mbox{otherwise}\\ \end{cases} \] ただし \(G_p\) はその個体から最も近い集会の中心,\(G_r\) はその半径,\(C_r\) は円周から影響する領域の境界までの距離を表す定数である。

さらに,集会に留まるよう中心から \(G_r\) 以内の領域では摩擦係数が増すものとし,中心で通常の倍の摩擦になるよう距離に比例した補正を適用する。

自宅位置がある場合には,ランダムに選択した個体の自宅位置を集会の中心位置とし, ない場合は,世界の範囲で一様乱数により集会の中心位置を決定する。 また,自宅位置に偏りがある場合は,人口密度に反比例するよう集会の大きさを変える。

帰宅

夜間は個体は集会の影響を受けず,代わりに自宅へ向かう力を受ける。 このとき \(B_i\) は \[ B_i=\begin{cases} 0 & \mbox{if } |p_i - H_i| >\theta_H\\ \psi\cdot\theta_h & \mbox{else if }|p_i - H_i| > \theta_h \\ \psi \cdot|p_i - H_i| & \mbox{otherwise}\\ \end{cases} \] ただし,\(H_i\) は個体 \(i\) の自宅位置,\(\theta_H\) と \(\theta_h\) は距離の閾値, \(\psi\) は係数である。つまり,自宅から \(\theta_H\) 以上離れた個体は帰宅せず, 自宅からの距離が \(\theta_h\) から \(\theta_H\) の間である個体は自宅へ向かう一定の力を受け, \(\theta_h\) 以内にいる個体は距離に比例した力を受ける。 また,自宅から \(\theta_H\) 以上離れた個体が夜間に長距離移動する場合は, 行き先が任意の位置ではなく自宅位置になる。

発症機序

各個体の健康状態を 1. 未感染,2. 未発症,3. 発症,4. 快復,5. 死亡の5種類に分類する。

未感染の個体と未発症または発症の個体がある距離以内に近づくと,設定された確率で感染する。 感染者から他個体に感染する感染性の強さは,感染から完成性の遅れ期間を経るまでは 0 で, その後ピーク到達期間と潜伏期間の短い方までは,時間経過に比例して強まる。 未感染者がワクチンを接種済みの場合は,それによる感染抑制効果に従って感染確率が低くなる。

感染した個体は個体に割り振られた速度で症状が進み,ある閾値を越えると発症し, さらに次の閾値を越えると死亡する。 感染後,個体に割り振られた快復開始日数に達した個体は,症状が一定速度で快方に向かい, 感染前の健康状態に戻った時点で完治したとみなす。 快復した個体は免疫を獲得したものとみなされるが, 設定された期間を過ぎると免疫を失ったとみなし,未感染の状態にもどる。

Pathogenesis

個体特性間の相関性

重症化の比率が年齢と相関があることは早くから指摘されており,また,長距離移動や集会への参加などの行動の活発さも年齢に依存すると考えられる。 それが感染拡大の状況に及ぼす影響については不明であるが,終息を難しくしている1つの原因として,無症状のまま活発に行動する個体の存在も仮説として考えられる。 このような様相をシミュレーションに反映されるため,個体ごとに「活発さ」を割り当て,質量,長距離移動,集会への参加,また,発症機序における快復開始期間,発症から死亡までの期間などを,「活発さ」と相関性のある数値として個体に割り当てる。 範囲,中間値,尖度,他のパラメータとの相関性などを指定した乱数の発生については分布パラメータの指定方法の節を参照のこと。

対策

社会的距離,移動の制限,隔離,接触者追跡を次節に述べる検査とともに設定する。

  1. 行動モデルの節で述べた他の個体との衝突回避の斥力の係数を変化させることで社会的距離を表現する。 パラメータとして,斥力の係数の増加率と要請への協力率を設定する。

  2. 行動モデルの節で述べた他の場所への移動の距離と頻度を調整することで,移動制限を表現する。

  3. 次節で述べる検査の結果が陽性であった個体を隔離する。 隔離された個体は世界とは別に設けられた病院領域へ移動する。 隔離された個体が快復すると元の位置へ戻る。

  4. 接触者追跡は,各ステップで感染可能な距離以内に近づいた別の個体を接触者として, 個体が持つリストに追記することで実現する。既にリストにある個体と再度接近した場合は, 過去の記録を消去し,新しい記録で書き換える。ただし,接触から14日を過ぎた記録は消去する。 接近したすべての個体を記録するのではなく,設定された確率により記録するかどうかが確率的に決まる。
    検査の結果が陽性であった個体の接触者リストを参照し,1. 検査,2. ワクチン接種,3. 両方のいづれかの処置を施す。2. および 3. の場合は 追跡接種 が行われる。 ただし,ワクチン接種の待ち行列中の順位が前方に移動するだけであり, 実際に接種されるかどうかは,接種速度,および,順番が来た時点での感染の有無に依存する。

検査

検査の対象となる個体の選択方法と確率,検査の感度と特異度を設定する。 対象とする個体は,症状の出た個体,疑いのある個体,陽性の検査結果が判明した個体との接触者 の中から選ぶ。接触者以外の対象は設定された確率により選択する。 接触者の検査確率は,接触者の記録の確率に吸収できるので,別にパラメータを設けない。

ワクチン接種

ワクチンを接種した個体の感染抑制効果と, ワクチン接種を実施する速度および優先順の設定について述べる。

接種した個体の感染抑制効果

ワクチンを接種すると,徐々に獲得免疫の効果により感染リスクが下がり,また,ある期間を過ぎると効果が薄まり, 感染リスクが徐々に元に戻るものと考える。ワクチン接種の時期と感染リスクの変化の関係を下の図のようにモデル化する。 Pfeizer-BioNTech の治験情報3,4,5 に基づき,2回接種で1回目から3週間後に2回目を接種する場合などを設定できるようにする。 Moderna6 や AstraZeneca など他社製ワクチンについても,同様のモデルを用いる。

接種を受けた個体の感染リスクの推移のモデルを下の図に示す。 同じ接種を受けても個人差は生じると考えられるが,ここでは感染は確率的に起きるものと想定するので, 下図は多数の個人についての平均とみなしてもシミュレーション上の支障はない。

接種を実施する速度および優先順

接種の実施数は,1日当たりの接種人数の人口に対する割合を示すパラメータ値により指定する。 接種により獲得された免疫の有効期間は,発症機序のパラメータとして設定された獲得免疫有効期間に対する比として設定する。

接種の優先順の選択肢として, 1. ランダム,2. 活発な個体を優先,3. 不活発な個体を優先,4. 中央を優先, 5. 人口密度の高い地域を優先 の5種類を用意する。人口密度は拠点位置の分布によるため, 分布が一様な場合はランダムと,中央に集中した分布の場合は中央を優先と同じである。

追跡接種を行う場合は,陽性判明者の接触者を優先的に接種する。

接種しない個体

何らかの理由によりワクチンを接種できないまたはしない個体のモデルとして, その人口に対する割合を設定し,接種の順番が回ってきてもその個体には接種しないこととする。 ただし,そのような個体がいる場合でも1日あたりの接種数は変わらないものとする。 つまり,ワクチンの効果が消えなければ,接種しない個体以外の個体がワクチン接種を終えた時点で接種は終了する。

接種しないクラスタの影響を見るため,接種しない個体の地理的分布を指定できるよう, クラスタ数および配置を以下のようなパラメータにより指定する。 クラスタ内個体数とクラスタ外個体数の比、 クラスタ数とクラスタ内個体数の比、 クラスタの配置。

分布パラメータの指定方法

潜伏期間や移動距離など分布の形式をとるパラメータは, 最小値,最大値,最頻値の3つの数値の組み合わせにより表現し, その条件を満足するベル型の確率密度関数に従った擬似乱数発生により個々の場合の値を決める7。 詳細はこちらを参照されたい。


© Tatsuo Unemi, 2020. All rights reserved.


  1. オイラー法を用いる。 

  2. 2個体間の組み合わせをすべて計算せずに,あらかじめ定めた距離内にいる個体だけについて計算する。 

  3. Centers for Disease Control and Prevention, USA, "Information about the Pfizer-BioNTech COVID-19 Vaccine," 2021, Jan. 25. https://www.cdc.gov/coronavirus/2019-ncov/vaccines/different-vaccines/Pfizer-BioNTech.html 

  4. Pfizer and BioNTech, FDA Briefing Document Pfizer-BioNTech COVID-19 Vaccine, Vaccines and Related Biological Products Advisory Committee Meeting December 10, 2020, https://www.fda.gov/media/144245/download 

  5. Sara E. Oliver et al, The Advisory Committee on Immunization Practices’ Interim Recommendation for Use of Pfizer-BioNTech COVID-19 Vaccine -- United States, December 2020, Morbidity and Mortality Weekly Report, Centers for Disease Control and Prevention, USA. https://www.cdc.gov/mmwr/volumes/69/wr/mm6950e2.htm?scid=mm6950e2w 

  6. Centers for Disease Control and Prevention, USA, "Grading of Recommendations, Assessment, Development, and Evaluation (GRADE): Moderna COVID-19 Vaccine," https://www.cdc.gov/vaccines/acip/recs/grade/covid-19-moderna-vaccine.html 

  7. ボックス=ミュラー法により生成した正規分布乱数を元に,上下限と歪度を設定する関数により変更を加えた数値を用いる。