2020 年 8 月 19 日
新型コロナウイルス感染シミュレーション技術資料

シミュレーションモデルの概要

今回我々は、マルチエージェントシミュレーション（MAS）という手法を用い、感染シミュレーションを実施した。MAS は、様々な属性を持ち、自律的な意思決定と行動を行う多数の主体（エージェント）が構成する仮想社会を設定し、主体間の相互作用を伴う複雑な社会事象を分析することが可能な手法である。
今回のシミュレーションでは、エージェントを実際の人口構成と相似するように生成し、各人口セグメントの就業状態や就業先産業を踏まえ、通勤・通学、余暇の頻度や時間帯に応じた行動パターンを設定した。これらのエージェントを日・時間単位で繰り返し行動させ、行動場所でのエージェント間の接触頻度に応じて感染状態を判定し、感染後は経過時間によって感染状態を遷移させた。
対象地域は東京都とし、小地域の単位として 500m メッシュを用い都市および在住者のモデル化を行った。なお、東京都には隣接する他県より 1 日あたり 300 万人以上が流入することを考慮し、東京都内在住者以外に、一般化した他県在住者をモデル化した。シミュレーション期間は 2020 年 3 月から 2020 年 5 月とし、都市内部での人々の接触頻度、すなわち感染リスクを 1 時間単位で算出した。
人口構成、常住地、通勤・通学地の設定には、公的統計（国勢調査、労働力調査、学校基本統計）を用いた。また、余暇を含む多様な行動に関する移動先、移動時間、利用交通機関
は、LocationMind 株式会社が提供する LocationMind xPop の GPS 人流データ1を用い、現実に則した形で決定した。接触頻度に関係する小地域内の産業構成、産業別面積等は経済センサス活動調査等の公的データを用いた。シミュレーションコードは汎用プログラミング言語 Julia によるフルスクラッチで実装した。

1. エージェントの属性の設定
エージェントの属性、内部状態、行動は以下のとおり設定する。なお、今回は 10 万人規模のエージェントにより東京都を模擬した。実際には、東京の人口 1400 万人に加え 300 万人が隣接する他県より流入するため、今回のシミュレーションは 1/170 のスケールである。

1

https://locationmind.com/technology/analysis/ (2020 年 7 月 8 日アクセス).

1

表 1 エージェントの属性・内部状態・行動パターン
属性

性別
世帯 ID

内容
個人識別 ID
15 歳以下、16-64 歳、65 歳以上の 3 階級
2 区分（男性・女性）
世帯識別 ID

常住地

500m メッシュコード

通勤通学地

500m メッシュコード

就業先産業分類

Ａ 農業，林業
Ｂ 漁業
Ｃ 鉱業，採石業，砂利採取業
Ｄ 建設業
Ｅ 製造業
Ｆ 電気・ガス・熱供給・水道業
Ｇ 情報通信業
Ｈ 運輸業，郵便業
Ｉ 卸売業，小売業
Ｊ 金融業，保険業
Ｋ 不動産業，物品賃貸業
Ｌ 学術研究，専門・技術サービス業
Ｍ 宿泊業，飲食サービス業
Ｎ 生活関連サービス業，娯楽業
Ｏ 教育，学習支援業
Ｐ 医療，福祉Ｑ 複合サービス事業
Ｒ サービス業（他に分類されないもの）
Ｓ 公務（他に分類されるものを除く）
Ｔ 分類不能の産業
内容
備考
年月日 時
感染前の状態（Susceptible）
年月日 時
感染症に曝露したものの他人への感染性を有さない状態（Exposed）
年月日 時
他者への感染性を有する状態（Infectious）且つ症状が出ている状態
年月日 時
他者への感染性を有する状態（Infectious）且つ症状が出ていない状
態
年月日 時
回復して免疫を獲得した状態（Recovered）

ID
年齢

内部状態
感染状態 S 開始日時
感染状態 E 開始日時
感染状態 I1 開始日時
感染状態 I2 開始日時

感染状態 R 開始日時

2

備考－
平成 27 年国勢調査の人口と相似するように設定。
同上。
平成 27 年国勢調査の世帯数と相似するように世帯を作成し、年齢区分を踏まえて個々のエージェントをランダムに割付。
平成 27 年国勢調査の常住地・通勤通学地別人口と相似するように設定。平成
27 年国勢調査地域メッシュ統計の総人口と相似するように 500m メッシュに配分。
平成 27 年国勢調査の常住地・通勤通学
地別人口と相似するように設定。通勤地は平成 28 年経済センサス活動調査地域
メッシュ統計の従業者数に応じて配分。
通学地は東京都教育委員会公立学校統計調査の結果に応じて配分。
平成 28 年経済センサス活動調査の産業
大分類別従業者数に応じて配分。

行動時間帯
発地メッシュコード

内容
1 時間単位（0 時～24 時）
500m メッシュコード

着地メッシュコード

500m メッシュコード

利用交通機関行動目的フラグ

徒歩、バイク、自動車、鉄道
日常消費、通勤通学、非日常消費

行動目的産業

就業先産業分類と同様。

備考－
人流データを参照。1 日の始まりは午前3 時とし、常住地から設定。
人流データの発地に対応する移動量と着地の構成比に応じて配分し、国勢調査の通勤通学先と整合するように組換。移動しない分は滞在。
人流データを参照。
常住地に該当する場合は日常消費、通勤通学地に該当する場合は通勤通学、それ以外は非日常消費。
日常消費であればＩ 卸売業，小売業、Ｍ 宿泊業，飲食サービス業、Ｐ 医療，福祉の従業者数に応じて配分。通勤通学であれば該当産業に配分。非日常消費であればＩ 卸売業，小売業、Ｍ 宿泊業，飲食サービス業、Ｎ 生活関連サービス業，娯楽業、Ｏ 教育，学習支援業、Ｐ 医療，福祉、Ｑ 複合サービス事業、Ｒ サービス業（他に分類されないもの）の従業者数に応じて配分。

表 2 人流データ
属性
日時
発地
着地
交通機関
移動人数

内容
週次、1 時間単位、平日・休日別
500m メッシュコード
500m メッシュコード
代表交通機関（徒歩、自転車、自動車、鉄道）
発地から着地まで移動した人数の週平均値（拡大係数適用）

2. 接触頻度（密度考慮）の計算アルゴリズム
感染シミュレーションのアルゴリズムに関しては、主に過去の Germann らの研究2および Ferguson らの研究3を参考に実装し、ある 1 人の計算対象者の感染に関して接触頻度を基に以下の手順で判定した。
⚫ 計算対象者（S 状態の非感染者）を決める。
⚫ その場所・時間で、計算対象者の半径 1m 以内にいる人を接触者と定義し、その内の感染者数を特定する。半径 1m（面積 3.14 ㎡）以内にいる人数の期待値（接触頻度）は、以下の式により表される。
𝑥 = 当該地域・施設にいる人数 × 3.14⁄当該地域・施設の面積⚫ 各感染者に対して接触頻度に応じて感染確率を算出した上で、乱数により感染判
2

T. C. Germann et al., PNAS 103, 5935 (2006).

3N. M. Ferguson et al., Nature 437, 209 (2005)., N. M. Ferguson et al., Nature 442, 448 (2006).

3

定を行う。
ここで、行動目的と産業を踏まえつつ施設に応じた密度を設定するにあたり、空気調和・衛生工学規格4における標準在室密度を基に各施設の面積を表 3 のとおり補正した。
表 3 各施設における面積の補正
場所
卸売業，小売業
宿泊業，飲食サービス業
生活関連サービス業，娯楽業
教育，学習支援業
医療，福祉その他サービス事業
その他の事務所等

面積補正値
S＝1.0 (基準面積)
S×1.4
S×2.4
S×1.0
S×2.0
S×3.3
S×4.6

なお、自宅では一般的に接触頻度が高いことが知られており、接触頻度の計算を行う必要がないとされている。よって、自宅における感染計算には計算対象者の半径 1m 以内に居る人数の期待値ではなく、各世帯における感染者数のみを用いた5。
また、鉄道・自動車で移動中の接触頻度計算には、混雑率（乗車人数／乗車定員数）を用いた。混雑率 1.0 の状況において 1 人が占有できる面積を 0.35 ㎡（半径約 34cm に相当）と仮定し、半径 1m の領域に存在する人数の期待値を 7 人であるとした。よって、自分を除いて半径 1m 以内にいる人数は以下のとおりとなる。
𝑦 = 7 × 混雑率 − 1
計算対象者を除く乗車人数が i 人、そのうち感染者が j 人（つまり計算対象者を除く非感染者は i-j 人）、混雑率を用いて求めた計算対象者の半径 1m 以内にいる人数を y 人とすると、計算対象者の半径 1m 以内にいる感染者の期待値は以下のとおりとなる6。
𝑦𝑥=∑
𝑙=0𝑗 𝐶𝑘−𝑙 × 𝑖−𝑗𝐶𝑙
𝑖 𝐶𝑘× (𝑘 − 𝑙)3. 感染過程、感染確率、感染状態遷移
感染過程では、感染後、感染待ち時間（E 状態）、感染性期間（有症状 I1 状態・無症状 I2状態）、回復期（R 状態）の 3 つのうち、いずれかの状態をとる。

4空気調和・衛生工学会, 空気調和・衛生工学 46, 4 (1972).

5

T. C. Germann et al., PNAS 103, 5935 (2006).

6

感染者数に対し非感染者が著しく多いため、計算上の接触期待値は低くなる。また、都内の鉄道の特性上、乗車時間が短いため、感染拡大に対し鉄道はほぼ影響していない。これは、一般的な疫学の知見に反しない。

4

⚫ 感染待ち時間：感染はしているものの感染力はなく、発症していない期間。期間は SARS に対応させ平均 4.2 日間とし、ガンマ分布(平均 4.2 日、幅 2 日)に従う乱数により決定した7。
⚫ 感染性期間：発症し、感染力を持つ期間。期間は平均 7 日間とし8、ポアソン乱数により決定した。なお、有症状の感染者（I1 状態）と無症状の感染者（I2 状態）の割合は 1:5 になるようにランダムに決定し9、有症状の感染者は発症から 4 日目に隔離されると仮定した。本設定により、他国における重症化率および重篤化率を再現することが可能であり、医療崩壊の発生等の推計も可能になる10。
⚫ 回復期：回復して感染力を持たなくなった期間。回復期の人は免疫を持っており、再び感染することはないとした。
感染場所に応じた感染確率を表 4 のとおり設定する11。自宅に１人の大人の感染者と 1 人の大人の非感染者が 1 時間一緒に居た場合、非感染者に感染する確率を基準確率 P とし、各施設における接触率を基に感染率を補正する。なお、基準確率 P は、東京都における感染者の推移および実効再生産数を説明するようにパラメータとして設定した。
表 4 感染確率場所
自宅
自宅
自宅
自宅
小地域の施設鉄道

感染者→非感染者大人→大人
大人→子供子供→大人
子供→子供
大人・子供→大人・子供
大人・子供→大人・子供

感染確率
P（1/1 時間）
P×0.75
P×0.75
P×2.0
P×0.14
P×5012

4. 計算スケール補足
今回のシミュレーションでは、都内の各メッシュにおける感染者数を計算している。現実では、都内において 1 日あたり最大 300 人程度の感染者が発生しており、それをメッシュ分解するとランダム性に起因する誤差が発生する。そこで本シミュレーションでは、感染確

7C. A. Donnelly et al., The Lancet 361, 1761 (2003).

8

N. M. Ferguson et al., “Report 9: Impact of non-pharmaceutical interventions (NPIs) to reduce COVID19 mortality

and healthcare demand” (2020).
9

各国の致死率より推計し、日本では無症状の感染者が報告の 5 倍程度存在すると仮定した。

10S. M. Kissler et al., Science 368, 860 (2020).

11T. C. Germann et al., PNAS 103, 5935 (2006)., I. M. Longini et al., Science 309, 1083 (2005). 諸外国において過去に検討された接触率を元に設定しており、マスク等による接触におけるフィルター効果は導入していない。
12

接触頻度の計算アルゴリズムに示したとおり、鉄道では接触期待値が低く、滞在時間が短いことから、感染有無を検出できるように高めに設定した。実際の計算では感染拡大における鉄道の寄与は小さい。なお、鉄道では飛沫感染よりも手すりや吊り革を通じた接触感染が多いとされるが本シミュレーションでは考慮していない。

5

率 P を高く設定することで感染者数を過剰に発生させ、後処理として感染者総数が公的データに一致するようにスケールすることで本誤差の影響を回避した。
以上のモデル化により、都内における市区町村別の感染者数を概ね再現するに至り、モデルの妥当性が確認された。
以上

6