日頃ツイッターで更新しているこの図の説明がまとまっていなかったので、記録しておきます。
過去の値から感染者を推測する
発想元は西浦教授のこの論文 感染症流行の予測:感染症数理モデルにおける定量的課題 からです。現在分かっている新規感染者の数から、過去に遡って感染者数と感染率を推測し、再び現在と未来の感染者数を予測するという方法です。正確な計算では、過去の感染率(あるいはRt値)は分布を持つので、未来の推測も幅を持った分布になるわけですが、そこまで計算するのは大変なので、簡略的にExcelで可能なように書き直します。
計算方法
- 新規感染者dI_nを7日間(潜伏+発症期間)遡って、隠れ新規dI’_n-7と定義する
- 隠れ患者I’nを続く7日間の合計値と定義する。
- 隠れ新規dI’n/隠れ患者I’nを隠れ感染率rと定義する。
- 隠れ実効再生産数Rt’を隠れ患者と続く7日間の隠れ新規の合計値の比と定義する。
なお、潜伏+発症期間を7日間とする理由は、現在の新型コロナウィルスでは感染期間が6.7日間と発表されていることが理由です。
特別な行動変容(都市封鎖や自粛要請など)がない限り、感染率や実効再生産数は変わらないと考えられる。この仮定から、過去7日間の隠れ感染率rをその前日の感染率とほぼ同じと推測できる。
これにより、過去7日間の隠れ新規dI’nが推測できる。
隠れ新規dI’nは7日後に新規患者数dInとして現れる関係があるため、過去7日間の隠れ新規n’から未来の日にあたる新規患者数nが推測できる。
未来においては、隠れ患者I’nの値を、新規患者dInと隠れ新規dI’nの値から計算でき推測が可能である。
数式にすると何やらややこしいのですが、要するに、
- 潜伏期間+発症期間を7日間とする
- この期間で、二次感染が発生する
- 現在の新規患者は7日前に何処かで感染している。
- どこかで感染した後に、自覚症状が出て新規感染として隔離される前に、どこかで二次感染を発生させる。
というように、感染した直後から新規感染者としてカウントされる前に「滞留」する現象に注目します。実際、SIR や SEIR モデルでは回復の期間に二次感染を発生させるというモデルです。
Excel で計算する
これを Excel で計算できるようにします。感染率の計算が循環関数にならないように1日ずらしているのがミソです。循環関数になるとイテレーションが発生して、計算がややこしくなってしまうため、こうして1日ずらしています。
実際にはそのままプロットすると、土日の検査がないときに凹んでしまうので、7日間の移動平均でプロットします。
7日前よりも後にある感染率rは、推測値になるため手動で設定しています。先に解説した通り、特別な行動変容の変化がない限り、実効再生産数や感染率は大きく変わらないので、直前の値の平均などを使います。
実験として、都市閉鎖を行った場合を想定し、感染率rを 0.100 程度に変化させることで予想グラフが作成できます。
現在の感染率のままの場合
都市封鎖をして 7/13 より感染率を 0.100 に変えた場合
オレンジ色の新規患者のラインが変わることがわかります。
東京都以外でも計算してみる
日次データがあれば、他の都市の様子を観察できます。
ロサンゼルスの場合
テキサス州のダラスの場合
ドイツのベルリンの場合
灰色のラインが隠れ患者数です。テキサス州のダラスでは単調増加となり全く抑え込めていません。ロサンゼルスでは、7/1頃に少し抑え込むことに成功しましたが、再び増加中です。
ドイツのベルリンでは、直近では増加していますが、隠れ患者の数が上下に揺れています。これが抑え込めている状態です。直近のデータが6/30までしかないので、最近のものは不明です。
この推測計算の欠点
この概算では計算できないものを上げておきます。
- 院内感染数を考慮しない。
- 外部からの流入を考慮しない。
- 未来予測では、新規感染者を一定率で取り除けることと仮定している。
- 自然回復が考慮されていない。
もともと分布のある推測値をそのままプロットしてしまうので、推測される新規患者数には範囲があります。ただし、将来において同じ感染率とは限らない(自粛や PCR検査強化、何らかの検査の偏りなど)ので、もともと実際の新規患者数とは一致しません。なので、ひとまずの増加傾向と対処を行ったときの遅延(滞留する患者による二次感染のため)を確認するためという点では使えると思います。
参考データ
計算式が入った Excel は以下でダウンロードができます。
各国のデータは以下から取得しています。