モデル(B)マルチレイヤーマルチSEIRフロー
※1. v1_det = min(v1, v1 – 1回目ワクチン接種後経過週数 * v_det_rate / v_det_term)
※2. v2_det = min(v2, v2 - 2回目ワクチン接種後経過週数 * v_det_rate / v_det_term)
※3. v3_det = min(v3, v3 - 3回目ワクチン接種後経過週数 * v_det_rate / v_det_term)
モデル(B)の拡張
・データを日本全国の主要都市に拡大し、「都市ごとの感染パターンの比較」と、「都市間移動を考慮したモデル」へと拡張する予定
・人と人との接触は、「ウィルス交換」という負の側面と同時に「QoL(Quality of Life)やSR(Social Return)」という正の効用が生じることを考慮し、行動抑制の負の側面にも視野を拡げたモデルとする
・レイヤーごとに主レイヤーと副レイヤーを想定
・主レイヤーとして、「世帯」「学校(同じクラスの仲良しグループ)」「職場(同僚)」といった、ほぼm0のみで構成されるレイヤーを設定
・副レイヤーとしてまずは「学校(他クラス/部活仲間)」「職場(他部署/顧客)」「距離」「ランダム」を設定するが、今後拡張予定
・副レイヤーは、W-m0の概念である「意図せずたまたま隣り合わせた毎回変わる多数の他人との接触」を再現するため、W-m0のリンク数を増やすとともにリンクのアクティベーション確率を調整する仕様とする
・マスクの効果 <- 今後アンケート実施予定
都市間移動を考慮したモデルの考え方
➀ 個々の都市内で各々一定期間の感染シミュレーションを行う
➁ 一定期間が経過したら、個々のエージェントのSEIR状態を記録
➂ 都市ごとの他都市への移動確率を定義し、エージェントを移動
➃ 移動者は当該都市の感染者率×接触人数の確率で感染者と接触
➄ 接触による感染確率はパラメタ表のbetaを用いる
(ワクチン接種者の場合、ワクチン効果も考慮)
➅ 移動による感染を反映した後、また個々の都市ごとに一定期間の感染シミュレーションを実行・記録(①②)し、都市移動を行い他都道府県からの感染の影響を反映(③④⑤⑥)させ、再び①都市ごとの感染シミュレーションへとつなげる
都市間移動モデルのフローチャート
パラメタ説明:
Rmove(Pref1, Pref2): 都市1から都市2への移動確率
Rinfected(Pref1, Layer): 都市1の特定レイヤー内の全人口に占める感染者比率
Rmeet: エージェント一人が一度の都市移動で出会う合計人数 -> 人口密度に比例させた方がいいかも
VacEff: ワクチン効果(未接種の場合1、接種済みの場合、パラメタ表に定義された値を取る。効果回数ごと・経過日数ごと)
Rand, Rand2, Rand3: 0から1の値を取る一様乱数
モデル(B)マルチレイヤーマルチSEIRエージェント:設定
・データ: 関西大学村田教授の人工合成データ
・感染伝搬モデル:
✓マルチエージェントベースのワクチン効果考慮後のSEIRSモデルを採用
✓Iの状態を軽症と重症、さらに重症から死亡への推移を考慮
✓各々のレイヤーを独立に間引いたケースで計算を実施
✓オミクロン株の平均潜伏期間を踏まえ1タイムスタンプ1日に変更
・ワクチン: 接種によりS/V1/V2/V3のノードのEへの遷移確率を▲X%低下。ワクチン効果は段階的に減衰
モデルBの結果:新規感染者数
BA5を想定しさらなる感染力(beta値)強化、ワクチン効果減少、再感染リスク考慮のパラメタ変更を行った。結果、オミクロン同等のbeta値においても、副層あるいは両方抑制シナリオにおいても感染者増加が続き、東京都で日次で20万人程度の感染者に達する可能性が示唆された。行動抑制がない場合、相当な勢いでの拡大が見込まれる。
モデルBの結果:重症(中等症以上レベル)感染者数
BA5の強い感染力とワクチン効果低減、再感染リスク上昇等により、感染者が急拡大し、中等症以上感染者は日間数千名程度まで達する危険性が示唆される
モデルBの結果:接触シナリオ別平均接触者数比較
今回は全都道府県で同一のレイヤー別W/m0ルールを適用したため、概ね同じような出会いの分布。
平均して一人当たり1日に2~3名程度と「感染しうる接触」が生じている計算結果となった。
副層である「ランダム」「距離」のわずかな増加がネットワークを小さくし、新規感染者増を引き起こす結果。
Appendix: MLNの各レイヤーの生成ロジック
・世帯
・職業(同僚)
・職業(他部署/顧客)
・学校(同じクラスの仲良しグループ)
・学校(他クラス/部活仲間)
・距離
・ランダム
※データのサンプリングは、指定した世帯数をランダムサンプリングするので世帯数の指定は出来るがノード数の指定は出来ない
世帯
・概要
・世帯ごとにクリークを形成するレイヤー
・パラメータ
・なし
・生成ロジック
・同一のhousehold_idを全結合
職業(同僚)
・概要
・Industry_idが同一のエージェントを複数人のグループに分割し、グループ内でクリークを形成するレイヤー
・パラメータ
・industry_cnt: グループの平均構成人数
・industry_segment_id: 自分が所属するグループID
・生成ロジック (擬似コード)
職業(他部署/顧客)
・概要
・industry_Wとindustry_m_0に基づき制約付きネットワークを形成するレイヤー
・パラメータ
・industry_W: 他人と繋がる上限数 (industry_W - industry_m_0だけ他人の手を受け入れる)
・industry_m_0: 自ら伸ばす手の本数
・生成ロジック (擬似コード)
学校(同じクラスの仲良しグループ)
・概要
・同一地区(住所コード上7桁が同一)で同い年の児童内でクリークを形成するレイヤー
・パラメータ
・Town_code[:7]
・age
・生成ロジック (擬似コード)
学校(他クラス/部活仲間)
・概要
・児童がschool_Wとschool_m_0に基づき制約付きネットワークを形成するレイヤー
・パラメータ
・school_W: 他人と繋がる上限数 (school_W - school_m_0だけ他人の手を受け入れる)
・school_m_0: 自ら伸ばす手の本数
・生成ロジック (擬似コード)
距離
・概要
・distance_Wとdistance_m_0に基づき距離から制約付きネットワークを形成するレイヤー
・パラメータ
・distance_W: 他人と繋がる上限数 (distance_W - distance_m_0だけ他人の手を受け入れる)
・distance_m_0: 自ら伸ばす手の本数
・生成ロジック (擬似コード)
ランダム
・概要
・ランダムグラフから成るレイヤー
・パラメータ
・p: エッジを選択する確率
・生成ロジック
・n(n - 1) / 2 通りのエッジから確率 p で採用するエッジを決定しグラフを生成