EViewsで行う感染症の時系列モデリング

開発元のブログ:EViews econometric analysis insight blogより、感染症の時系列モデリングを行うアドインを紹介します。

SEIRモデル

icon 感染・回復者の推移のシミュレーション


Susceptible-Exposed-Infected-Recovered (SEIR)モデル

  • アドインSEIRMODELは、出産や死亡を考慮しない、決定論的(deterministic)なSEIRモデルをシミュレーションします。
  • シミュレートを行うには、人口サイズ、各パラメータ、初期状態を設定する必要があります。これらの詳細は、アドインに付属するPDFマニュアルをご覧ください。

  1. まず、メニューからAdd-ins > Download Add-insと操作し、アドインSEIRをダウンロードします。
    アドインのダウンロード
    アドインのダウンロード
  2. アドインがダウンロードされたら、メニューからAdd-ins > SEIR Modelと操作し、設定ダイアログを表示します
    Add-insメニュー
  3. 設定ダイアログが開くので、population sizeは人口、simulation sizeはシミュレーションを行う観測数を設定します。3,4,5番目のボックスには、カリブレーションに必要なパラメータを入力します。ダイアログ右側では、susceptible:免疫を持たない人、exposed:感染し潜伏中の人、infected:発症した人、recovered:回復者を入力して、シミュレーションの初期状態を指定することができます。start dateはシミュレーションの開始時期です、1日単位で設定します。
    設定ダイアログ
  4. 最後に出力方法を選択します。デフォルト設定では、チャートのみ出力します。シミュレーションした結果をシリーズで出力するには、上記のダイアログでStore the resultsにチェックを入れます。
    シミュレーション結果 シリーズの出力

観測結果に基づくモデリング

  • 人口流動や介入などの外生的な要因を考慮した一般化ロジスティクス・ゴンペルツ成長曲線を使用しての時系列モデリングを行います。
  • アドインTSEPIGROWTHでは、このモデルを実行することができます。

一般化ロジスティクス・ゴンペルツ成長曲線のフィット

  1. 上でシミュレーションしたシリーズを非線形フィットします。まずメニューからAdd-ins > Download Add-insと操作し、アドインTSEPIGROWTHをダウンロードします。
    アドインのダウンロード
  2. Add-ins > TSM for Epicdemic Growthと操作し、TSEPIGROWTHの設定ダイアログを開きます。左上のname of the seriesにはフィットしたい系列、ここではinfectedを入力します。シリーズinfectedは新規の感染者数なので、Use cumulated sum of the seriesにチェックを入れます。Growth rateドロップダウンリストでは、累積感染者数の成長率を定義します。Logarith of rate of changeはlog(ΔYt/Yt-1)、Logarithmic rate of changeはΔlog(Yt)です。その下のラジオボタンでは、モデルを、Generalized LogisticGompertzDynamic Gompertzから選択します。
    介入期間がある場合は、Intervention/Policy periodに開始日と終了日を入力します。設定が終わったらOKをクリックしてフィットします。
    設定ダイアログ
  3. ロジスティクス曲線またはゴンペルツ曲線のフィット結果が表示されます。成長率はCHANGEの値に対応します。
    generalized logistic gompertz

実際のデータへの当てはめ

  • WHOが公開している、実際の日本の感染者データにモデルを当てはめてみます。

  1. 感染者数のデータをWHOのデータベースからダウンロードし、EViewsに取り込みます。
    データインポート
  2. アドインTSM for Epicdemic GrowthでGompertz、Gompertz with intervention、dynamic Gompertzのそれぞれのモデルにフィットします。
    非線形フィット
  3. フィットが終わったら、モデルの成長率を新しいシリーズとして作成します。Proc > Make Signal Series...と選択して、ラジオボタンでSmoothed: Signal Seriesを選択し、左側でシリーズ名を入力します。この操作をそれぞれのモデルで繰り返します。
    予測
  4. 比較のために実際の成長率のシリーズを作成します。Quick > Generate Series...と操作して、growth = log(d(cumulative_cases)/cumulative_cases(-1))と入力します。
    実測値の作成
  5. シリーズgrowthが用意できたら、予測した3つのシリーズと合わせてグラフを作成します。
    比較グラフ
page_top_icon