COVIVIS解析ツール Rコード
GitHubにて公開中
COVIVISの元となったR(統計ソフト)コードでの解析手法をGitHubにて掲載しております.オープンソースとして誰でもご利用頂けます.
まずはそちらをご参照ください.
https://github.com/covivis/COVIVIS
COVIVISチャンネル 開設しました!
https://covivis.soken.ac.jp
https://www.youtube.com/@COVIVIS
COVIVIS紹介動画(日本語版)
COVIVIS解析ツールとは?
COVIVIS解析ツールでは以下のことを行います.
GOAL
パラメータ推定と発症者数予測とは?
では、
パラメータ推定と
発症者数予測の
2つの計算フォーム
パラメータ推定と
発症者数予測の解析結果を保存と共有
保存•共有
保存•共有
ウイルス濃度
測定
ウイルス濃度
測定
START
パラメータ推定と発症者数予測とは?
ウイルス濃度
データ
疫学
データ
モデル
パラメータ
推定
・測定場所
・測定期間
・測定法
・流域の人口構成
・発症日からの報告の遅れ
・全数データ or 定点データ
感染動態以外にも
データには違いが多い
データの違いごとに固有の
パラメータが得られる
パラメータ推定と発症者数予測とは?
モデル
入力
・移動平均や欠損日の補間
・1週間の集計データを日次データに変換
・報告日データから発症日データを推定
下処理
実測
ウイルス濃度
データ
感染報告数
データ
入力
下処理
では、
実測データの下処理を全て
計算フォームから設定可能
多くの下処理が必要
入力データ
下水中ウイルス濃度
疫学データ
・.csvもしくは.tsvのファイル入力
とコピー&ペーストのテキスト入
・日付データと数値データの2カラム
・1行目や1列目に項目名などが
入っていても自動で除去
・ウイルス濃度と疫学データの
日付が一致していなくても自動で処理
※ 詳しくは操作マニュアル参照
fitting 期間
time
予測 期間
time
パラメータ推定
発症者数予測
モデルパラメータ
COVIVIS解析ツールでの実際の画像出力
CSVファイルの
ダウンロードも可
V | Omega | Gamma |
15.7 | 2.20 | 2.09 |
流域の
疫学データ
下水中
ウイルス濃度
発症者数の出力結果の一例
人数
日付
モデル予測された曲線が
95% 収まる信頼区間
データが95% 収まる予測区間
モデル予測発症者数
Example of result
Population
date
Model-predicted number of
disease onsets
backward estimated number of
disease onsets
Interpolated number of
reported cases
95% confidence interval
95% prediction interval
手順 1. ログインする
手順 2. モデルパラメータの推定
手順 3. モデルパラメータ推定結果の確認・保存
手順 4. 発症者数の予測
手順 5. 発症者数予測結果の確認・保存
手順 6. 保存結果の読み出し・編集・削除
COVIVIS操作マニュアル
( ※ 解らないことがある時にみる )
手順 1. COVIVIS解析ツールへのログイン
ログイン用メールアドレスと
パスワードを入力してください.
covivis@ml.soken.ac.jp
アカウント発行はCOVIVIS運営まで
メールでご連絡ください.
はじめにログインフォームが出ます.
地衛研、自治体、政府所轄機関、大学等の教育機関を中心に、利用者を募っております.アカウント発行の審査基準はCOVIVIS基本方針をご参照ください.
fitting 期間
time
パラメータ推定
手順 2-3. 実測ウイルス濃度データ(fitting期間)の入力
モデルパラメータの推定 → をクリック
流域の
疫学データ
下水中
ウイルス濃度
fitting 期間
time
パラメータ推定
↑
下限値
・fitting期間実測ウイルス濃度データを入力します.
・推定に使うウイルス濃度の下限値を設定します.
→ 下限値以下のデータは除去されます.
流域の
疫学データ
下水中
ウイルス濃度
実測ウイルス濃度
手順 2-3. 実測ウイルス濃度データ(fitting期間)の入力
fitting 期間
実測ウイルス濃度
time
パラメータ推定
・fitting期間実測ウイルス濃度データを入力します.
流域の
疫学データ
下水中
ウイルス濃度
手順 2-3. 実測ウイルス濃度データ(fitting期間)の入力
・入力された実測ウイルス濃度データに移動平均を
適用するか選択できます.
→ 適用しない、3項移動平均、5項移動平均
→ 移動平均を掛けると両端のデータは消えます
fitting 期間
time
パラメータ推定
手順 2-4. 実測ウイルス濃度データ(fitting期間)に移動平均を適用
・fitting期間実測ウイルス濃度データを入力します.
・推定に使うウイルス濃度の下限値を設定します.
→ 下限値以下のデータは除去されます.
流域の
疫学データ
下水中
ウイルス濃度
移動平均後ウイルス濃度
fitting 期間
time
報告数
パラメータ推定
・報告数データ(公表日ベース)の場合は、
陽性報告数タグから入力します.
・旧Her-sysなどの発症日データがある場合は、
発症者数タグから入力してください.
手順 2-5. 疫学データ(fitting期間)を入力
発症者数
流域の
疫学データ
下水中
ウイルス濃度
移動平均後ウイルス濃度
fitting 期間
time
パラメータ推定
手順 2-5. 疫学データ(fitting期間)を入力
・集計入力モードの選択
OFFの場合
→ 入力データはそのまま入力され、データ間
のブランクは線形補間されます.
線形補間
入力データ
流域の
疫学データ
下水中
ウイルス濃度
移動平均後ウイルス濃度
fitting 期間
time
パラメータ推定
手順 2-5. 疫学データ(fitting期間)を入力
割付データ
入力データ
・集計入力モードの選択
OFFの場合
→ 入力データはそのまま入力され、データ間
のブランクは線形補間されます.
ONの場合
→ 入力値を集計データとみなしてデータ後方
(過去)のブランクを含む日数で均等割されます.
→ 例えば1週間分の報告数をまとめた
週次データは日次データ( 1/7の値)に変換 .
→ ブランクが等間隔のインターバルで
ある必要はありません.
流域の
疫学データ
下水中
ウイルス濃度
移動平均後ウイルス濃度
補足. 集計入力モードのon/off
補足. 集計入力モード ON の場合
日付にブランクがある場合、集計入力モードを使うと、データのブランクを含む日数で数値を均等割にし、直前のブランクを埋める入力をすることができます.
7日分の合計値
5日分の合計値
1/7で
均等割
1/5で
均等割
補間後報告数
( 集計入力モードON )
報告数
集計データ
報告数
補間後データ
逆進推定
発症者数
入力値
入力値
入力値
fitting 期間
time
報告数
パラメータ推定
移動平均後ウイルス濃度
手順 2-5. 疫学データ(fitting期間)を入力
・報告数→発症者数の逆進推定パラメータの入力
→ 感染者の発症日から報告日への遅れ平均日数と
その標準偏差を入力します.
ワイブル分布に従って逆進推定を行い、
発症者数の時系列データが生成されます.
逆進推定発症者数
遅れ平均日数
流域の
疫学データ
下水中
ウイルス濃度
補足. ワイブル分布を用いた逆進推定
2
4
6
8
4.1 (3.1)
3.2 (2.7)
2.0 (2.0)
2.0 (3.0)
遅れ平均
標準偏差
3.2 (2.7)
遅れ平均日数 (標準偏差)
= 3.2 (2.7)
逆進推定
発症者数
報告数(入力値)
公表日ベースの報告数データから発症日ベースの疫学データを得るために、ワイブル分布を用いた逆進推定を行います.
発症から報告までの遅れ平均日数と標準偏差を逆進推定パラメータとして、そのワイブル分布の確率密度に従うモンテカルロシミュレーションを行い、報告数を逆進方向へばらします.
連続したデータの場合、遅れ平均日数分だけプロットが逆進方向に並行移動して見えます.孤立した報告数データでは、逆進推定発症者数が(左右反転した)ワイブル分布の形状となります.
発症日(B列)から公表日(C列)を引き算し、遅れ日数(D列)を出します.
発症日が「調査中」や「空欄」の場合は下部に“#VALUE!”として弾かれ、上部に数値だけが昇降順に並びます.さらに、マイナスの数値や明らかに大きな外れ値は使用範囲から外します.
右はエクセルで下処理する場合の一例です.
平均値と標準偏差の関数を使い、その引数として遅れ日数(E列)の適切な数値のみ範囲指定します.
オープンデータを用いて遅れ日数(E列)を0〜100 の範囲で集計した例が次のスライドになります.
D列をコピー → 形式を選択してペースト → 数値を選択して昇降順に並べ替えたものがE列です.
補足. 遅れ平均日数の算出について
期間の定義 |
第 1 波 2020-02-01 ~ 2020-06-30 |
第 2 波 2020-07-01 ~ 2020-10-31 |
第 3 波 2020-11-01 ~ 2021-02-28 |
第 4 波 2021-03-01 ~ 2021-06-30 |
第 5 波 2021-07-01 ~ 2021-12-31 |
第 6 波 2022-01-01 ~ 2022-06-30 |
第 7 波 2022-07-01 ~ 2022-09-30 |
第 8 波 2022-10-01 ~ |
| 東京 | 宮城 | 兵庫 | 三重 | 岐阜 | 福井 | 沖縄 |
第 1 波 | | 5.63 (3.14) | | | 6.25 (3.74) | 3.82 (2.86) | 7.21 (3.77) |
第 2 波 | 5.57 (4.38) | 4.21 (3.52) | 7.20 (4.28) | | 4.52 (3.19) | 3.38 (2.35) | 4.52 (3.15) |
第 3 波 | 5.35 (4.03) | 4.32 (3.39) | 5.63 (3.26) | | 3.17 (3.02) | 3.86 (1.73) | 4.28 (2.89) |
第 4 波 | 4.79 (5.31) | 4.07 (2.91) | 4.31 (3.06) | | 2.91 (2.82) | 3.77 (1.77) | 3.74 (2.79) |
第 5 波 | 4.44 (3.53) | 3.71 (2.41) | 4.31 (2.58) | 4.06 (2.31) | 2.28 (2.24) | 3.96 (2.18) | 3.65 (2.73) |
第 6 波 | 3.91 (2.52) | 3.15 (1.84) | 4.79 (3.82) | 3.18 (1.66) | 1.70 (1.66) | | 2.88 (1.87) |
第 7 波 | 4.19 (2.85) | 2.78 (1.67) | 5.51 (3.59) | 3.08 (2.00) | 1.29 (1.24) | | 3.46 (2.69) |
第 8 波 |
| 3.12 (2.79) |
|
|
|
| 2.93 (3.25) |
県や流行波ごとに固有の遅れ日数となっております.
波を追うごとに遅れ日数が縮小する傾向はありますが、
全国的な標準値があるわけではないようです.
都県のオープンデータを基にした流行波ごとの遅れ平均日数(標準偏差日数)
※ COVIVIS運営調べ
補足. 県ごとの遅れ平均日数と標準偏差
補足. 集計入力モードのon/off
補足. 逆進推定発症者数データの末端の扱い
逆進推定の原理上、データの新しい側の末端では、発症者数を正確に推定できません.
(まだ報告されていない発症者が多くなるため)
ウイルス濃度データが除外範囲にならないように、報告数データは長い目に入力してしてください.
左図のように、右端のデータ領域(橙色部分)は明らかに少ない値となっており、正しく逆進推定されている発症者数のデータ領域は全体的に報告数のおおよそ真左にずれています.
遅れ平均日数 +標準偏差日数の2倍
= 2.0 + 2 x 1.6 = 5.2
≒ 6日分の右側末尾データを除外
COVIVISでは、この右側末尾は自動的に除外されますのでご注意ください.除外範囲は「遅れ平均+標準偏差の2倍」を整数で繰り上げた日数となります.
一方、逆進推定発症者数データの左側末端(最も過去)は、報告数データの先頭日を境に除外されます.
除外
逆進推定
発症者数
報告数(入力値)
遅れ平均日数 (標準偏差)
= 2.0 (1.6)
除外
報告数データ
の先頭日
fitting 期間
time
パラメータ推定
手順 2-6〜3-1. モデルパラメータ推定の実行
発症者数
fitting…
・ウイルス濃度と発症者数が最も一致する
モデルパラメータを推定します.
移動平均後ウイルス濃度
流域の
疫学データ
下水中
ウイルス濃度
fitting 期間
time
モデル予測発症者数
パラメータ推定
・ウイルス濃度と推定したモデルパラメータから
モデル予測された発症者数の時系列データも
合わせて出力されます.
逆進推定発症者数
モデル予測発症者数
モデルによって下水中ウイルス濃度
から予測されたもの
報告数をワイブル分布に従って逆進させたもの
モデルパラメータ
手順 2-6〜3-1. モデルパラメータ推定の実行
逆進推定発症者数
v | ω | γ |
15.7 | 2.20 | 2.09 |
移動平均後ウイルス濃度
流域の
疫学データ
下水中
ウイルス濃度
・ウイルス濃度と発症者数が最も一致する
モデルパラメータを推定します.
予測 期間
time
発症者数予測
手順 4-1〜4-4. 発症者数の予測をする
発症者数の予測→ をクリック
流域の
疫学データ
下水中
ウイルス濃度
予測 期間
time
発症者数予測
手順 4-1〜4-4. 発症者数の予測をする
v | ω | γ |
15.7 | 2.20 | 2.09 |
モデルパラメータ
・推定と同じモデルを選択し、
モデルパラメータを入力します.
予測 期間
time
発症者数予測
手順 4-1〜4-4. 発症者数の予測をする
実測ウイルス濃度
移動平均後ウイルス濃度
下限値
v | ω | γ |
15.7 | 2.20 | 2.09 |
モデルパラメータ
・推定と同じモデルを選択し、
モデルパラメータを入力します.
・実測ウイルス濃度データを入力し、
ウイルス濃度下限値、移動平均の設定をします.
予測 期間
time
発症者数予測
手順 4-1〜4-4. 発症者数の予測をする
v | ω | γ |
15.7 | 2.20 | 2.09 |
モデル予測
発症者数
移動平均後ウイルス濃度
モデルパラメータ
・推定と同じモデルを選択し、
モデルパラメータを入力します.
・実測ウイルス濃度データを入力し、
ウイルス濃度下限値、移動平均の設定をします.
・モデル予測発症者数(予測期間)を出力します.
予測 期間
time
発症者数予測
手順 4-1〜4-4. 発症者数の予測をする
v | ω | γ |
15.7 | 2.20 | 2.09 |
・推定と同じモデルを選択し、
モデルパラメータを入力します.
・実測ウイルス濃度データを入力し、
ウイルス濃度下限値、移動平均の設定をします.
・モデル予測発症者数(予測期間)を出力します.
・モデル予測と実際の発症者数を比較したい時は、
追加で予測期間報告数/発症者数データを入力可能.
( ※ 詳細は手順2を参照)
モデル予測
発症者数
[比較用]発症者数
移動平均後ウイルス濃度
モデルパラメータ
補足. 報告数データの扱いについて
上記のように、COVIVISでは採水日ベースの下水中ウイルス濃度データと発症日ベースの疫学データをフィッティングします.
発症日
公表日
遅れ日数
感染者数に関連する日付は多く、定義が曖昧なデータも散見されます.使用する疫学データの日付が何を指し示しているのかご留意ください.ほとんどの疫学データは、公表日をベースに陽性報告数を集計しています.
旧Her-sys等のデータを利用する際には、発症日で集計したデータが十分なサンプルサイズであれば、発症日データを直接入力すれば良いです.操作マニュアル2-5)参照
ただし、旧Her-sysにおいて発症日が判明しているデータは全体の半分程度です.期間によっては発症日がほぼ空欄の場合もあります.また、定点報告データには発症日の属性データはありません.
COVIVISでは、報告数データに発症日から公表日までの遅れ平均日数とその標準偏差を設定することで、その地域、その流行時期ごとの発症日ベースの疫学データとして解析に使用することができます.
これらの場合、報告数データから発症日を逆進推定する必要があります.
感染日
診断日
確定日
2022.9.
全数報告期間
定点報告のみ
全数データ
データ期間
入力
( fitting 用 )
出力
( 予測結果 )
2023.5.
全数データ
データが
混在
定点
合計
定点
あたり
現在
定点
合計
定点
あたり
❌
また、全数期間と定点期間を跨ぐデータを使用する場合はデータの統一か変換が必要
Q.13, Q.14を参照
COVIVISでは、どのデータの種類でも使用可能です.同じように入力してください.
データの時期によって全数報告か定点報告か種類が異なります.
ただし、全数データで推定したモデルパラメータで予測すると、全数換算での発症者数が出ます.定点あたりデータで推定したパラメータでは定点あたり換算の発症者数の予測となります.
補足. 全数データと定点データについて
補足. 週次集計の定点データの扱い
定点報告データは、公表日の前の週の1週間分の報告数の合計となっています.(これをここでは週次集計データと呼びます)
つまり公表日ベースでは数日以上遅れた日付として紐づいています.そのため、週次集計データの報告日の代表日として公表日の前の週の最終日(日曜日)の日付に付け直してデータを整理してください.
このような日付設定をしておくと、集計入力モード(操作マニュアル手順2-5参照)が正しく処理されます.
1週間の合計数が
次の週に公表される
日付を
付け替え
1週間分を均等割