新規購入お見積

Analytica を使った COVID-19 のモデリング1

COVID-19 のモデリング:重要な情報が欠けていることを願っています…

作成:2020 年 4 月
(本稿はTorsten Röhner 氏の許可のもと、翻訳、掲載しています)
Torsten Röhner / syconomic 社

確率的マルコフ連鎖シミュレーションを使用した COVID-19 パンデミックのオープンソースモデル。最初は Robert Brown 氏が自分の興味を満たすために開発され、ドイツに適用するために私が拡張しました。Worldometers.info およびその他のソースから取得したいくつかの入力のみを備えており、3月に目にする可能性のある発展に合わせて調整されています。社会的距離の特定のレベルへの影響と、それらの手段のさまざまな期間をモデル化します。

その結果を見ると、気に入らないでしょう。私もそうです。ですから、私たちがまだ含めていない他のいくつかの要因が、事態をより恐ろしくしないように願っています。

このモデルを皆さんと共有する動機は、モデルを改善するための皆さんの考え、アイデア、洞察を提供していただきたいということです。モデルの出力をより快適にするためではなく、より良い決定を行うために使えるようにするためです。それらの意思決定者は大胆なものを作らなければならないことを私は恐れています。

ですから、これまでモデルを改善する方法について、皆さんの価値のある貢献と提案をうれしく思います。

このモデルはオープンソースなので、ダウンロードして試してみることができます。ぜひお試しください。この記事の最後にモデルのダウンロードと実行に関する説明があります。

モデルの起源

最近のコロナ危機の間、私たちのほとんどはそれをすべて理解しようとしています。モデラ―および意思決定分析の専門家としての私にとって、何かを理解する自然な方法は、モデルを構築することです。したがって、ここドイツでのパンデミックと封鎖の始まりから、COVID-19 の流行がどのように展開し、社会的距離の測定がどのように機能するかを知ることができるモデルを構築することを考えました。

問題は1つでした:それに費やす時間がなかったのです。学校が閉まっているときにホームスクーリングしている子供たちのためにかなりの時間を消費します。皆さんの多くは私が何を話しているかお分かりだと思います。

幸い、2、3週間前、同僚で友人の Rob Brown が週末に、自分の好奇心からモデルを作成してくれました。彼はそれをレビューのために Lonnie Chrisman に送りました。Rob が、不確実な入力と仮定を持つ動的マルコフ連鎖モデルを使用する、非常に注目に値するモデルを作成するのに多大な労力を費やしてくれたことに感謝します。私のような Analytica 愛好家である Rob は、Analytica でモデルを構築しました。これにより、マルコフシミュレーションの複雑さにもかかわらず、非常にコンパクトで透明性が高く、親しみやすいものになりました。

Robと私は、モデルを使い、修正し、最終的に同じ考えを持つ仲間のモデラ―や意思決定の専門家と共有して議論していくことに合意しました。そしておそらく、これらの奇妙な時代に、私たちの社会のために大きな決定を下すことに関与している他の何人かの人々ともです。

なぜモデルをオープンソースにしたのか?

このようなモデルは、すべての利害関係者がレビュー、家庭の変更、または他の要因を含めるようにモデルを拡張するために利用できる必要があります。残念ながら、COVID-19 パンデミックに関して作成及び議論されたモデルの多くは、それらがどのように機能し、どのような過程がなされているかを実際に理解できる形式では利用できません。

Analytica の生みの親である Max Henrion は、長年にわたり、重要な公共政策の意思決定の根底にあるオープンソースモデルを作成することを提案しています:

公共政策を評価または正当化するために政府が使用するすべてのコンピューターモデルはオープンソースである必要があります。つまり、モデルが記述されているソースプログラムコードは、だれでもダウンロード、レビュー、実行、変更できるように公開されている必要があります。

コロナ危機に直面して、世界中の政府は現在、大規模ないわゆる非医薬品介入(Non-Pharmaceutical Interventions /NPI)を実施しています。これは、主に社会生活を孤立させ、経済を壊滅的なレベルまで押し下げる社会的孤立策です。直接的または間接的にではなく、莫大なコストが伴う対策です。その対策が、意図したとおりに機能するかどうかはわかりません。私たちは、それらを決定する政治家と、さまざまな分野の評議会を想定しています。政治家は、より適切な、明らかに大きな人道(環境危機のような)にかなう道筋を引き受けることはないかもしれませんが。。。

要約すると、私が感じているのは、私たちは自分が何をしているか正確にはわかっていないということです。「コストがいくらかかっても」、「カーブを平坦化する必要がある」ということだけです。

これはよい意思決定でしょうか?

いいえ、特にそうではありません ― 特に、現在の掛け金が今と同じくらい高い場合にはそうではありません。

問題の正しいフレーミング、明確な値とトレードオフ(私たちが望むこと)、クリエイティブな代替手段(私たちができること)、および関連する信頼できる情報(私たちが知っていること)以外の、複雑で、困難な状況におけるすべての良い意思決定の核心は、健全なモデルの作成です。

ですから、Rob と私の最初のモデルは、レビュー、批判、議論、そしてできれば改善して、意思決定者の洞察を刺激するためにオープンソース化されています(この記事の最後に、モデルを取得して実行する方法を記載しています)。

または、Lonnie が話しているように(LinkedIn でのコメント):

これは志を同じくするモデラ―のコミュニティでモデルをオープンソース化する重要な時であり、モデルから学び、モデルを構築することができます。これらのモデルを操作して、さまざまな仮定の組み合わせを探ることがどれほど有益かを、十分に強調することはできません。

モデルの基本的な仕組み

コアはマルコフ連鎖シミュレーションモデルであり、感染者が通過するさまざまな健康状態を示しています。

ある状態から別の状態に遷移するための特定の確率があります。そのうち3つがカギです(上の図では濃い黄色がかかっています):

  1. 症状が出ている感染者が急性疾患(集中治療が必要)になっている。他の感染者は、一般的に入院を必要とせず、軽度から平均的なレベルの症状で病気になるだけです。
  2. 病気にかかっている人が、回復する代わりに急性の病気になる(これはもう一つの運命です)。
  3. 急性の病気の患者は死亡し、回復しません。

別の重要な要素は、これらの各遷移フェーズの期間です。この効果をモデル化するために、上記の遷移確率は1日当たりの遷移率に変換されます。つまり、ある期間に分散し、毎日1つの状態のほんの一部の人が次の状態に行き、一部の人は同じ状態のままです。

結果の遷移行列(これはマルコフモデルに不可欠です)は次のようになります:

ここでは、タイムラインの最初に(そして、初めて感染が発生していないときに)感染した多数の人々が健康状態モデルを実行する方法を示します。表示されるのは、毎日の状態ごとの平均パーセンテージです:

ご覧のように、すべての状態の人々の比率は時間の経過とともに変化しますが、最終的には全員が2つの状況(「回復」または「死亡」)のいずれかになります。

ただし、動的モデルでは、新しく感染した人の数をシミュレートする必要があります。これがモデルのもう一つのキーとなる部分です。

他の多くのモデルとは異なり、新しい感染の増加または減少をモデル化するために基本再生産数 R0 を使いません。代わりに、R0 の影響を(1)毎日の相互作用の数と(2)相互作用で感染する確率にどうにか分解します。これを感染状態の期間と組み合わせると、モデル内で R0 が観察可能になりますが、R0 自体ではない実際に機能している要因に測定値を直接付加する可能性があります。

このモデルでは、例えば、社会的距離の測定の NPI は、毎日の相互作用の数に影響します:

さまざまな社会的分離レベルでの平均的な毎日の相互作用の数が不明確であり、感染する確率が平均的である場合、モデルの R0 の結果の範囲を観察することができます:

ここでは、どの時点においても、R0 が 1 未満になる可能性が高いことが分かります。これは、流行を抑えるために不可欠です。しかし、R0 を見ることがこの作業の終わりではありません。。。「曲線を平坦化する」ことの意味は、すべての健康状態の人々の数を直接見ることで、よりよく観察できます。。。

しかし、最初に、モデルが、私たちがすでに知っていること、つまり3月の数値をどれだけよく予測しているかを見てみましょう。

モデルの調整:過去をどれぐらい良く予測できますか?

はっきりさせておきますが、私は疫学者ではなく、この種の主題は私の専門的なモデリング分野ではありません。私は、人々が複雑なことを理解してモデル化するのを支援しているだけです。そのため、通常は「その筋の専門家」ではなく、他の方の知識をモデルに変換するのでもありません。

このモデルでは、Ron に数値(彼が独自の調査といくつかの校正を行ったもの)を出発点として単純に使用しました。また、また、worldometers.info などの情報も使用しました。さらに、3 月にドイツで観測された数値と、モデルが何らかの形で一致するかどうかも確認しました。

現在のモデルの状態では、これらの(不確実な)入力情報を使用します:

次に、2つの主要な出力のモデルが「現実」に対してどのように動作するかを示します。

モデル vs ドイツでの実際のケース

モデル vs ドイツでの実際の死亡数

50%の分離レベルを選択する場合(これは不合理ではない、と私は信じています)、ケースと死亡の両方の実際の数は、3月末のモデルの P50 と P90 の範囲内です(図の対数スケールに注意してください)。社会的分離の始まりは、現実に近い15日目(つまり3月中旬)に設定されています。したがって、私としては、モデルは仮定の不確実性の範囲内で非常にうまく機能していると考えます。

明らかに、モデルはある範囲を生成し、中央値は実際の拡散よりわずかに下回ります。つまり、流行の拡大をやや過小評価しています。以下に続く月次の数値を見るときには、このことを覚えておいてください。。。

では、モデルはドイツでの COVID-19 の潜在的な拡大について何を教えてくれるのでしょうか?

モデルの中心的な出力は、健康状態のシミュレーションです。時間の経過に伴って、感染する可能性のある人数と、各時点での健康状態を示します。モデルは、不確実な入力から 1,000 の可能なシナリオをシミュレートし、各数値の確率範囲を出力します。たとえば、これらすべてのシナリオの平均だけを見ると、将来は次のようになります:

ご覧のように、現在の社会的距離を置く措置(50% の接触削減のレベル)を想定して90日間維持しても、今後12ヵ月でウイルスに感染する人は 6,000 万人近く(ドイツの人口は約 8,000 万人)に達すると予想されます。他の要因がない場合(下記を参照)、コロナウイルスに対する一般的な集団免疫に到達するまで感染が広がります。

これは、12ヵ月後に約 250 万人が死亡し、7月末には 200 万人が重症になることを示しています。これはドイツの医療制度の能力をはるかに超えています。。。

わかりました。これは「単なる」平均ですが、3月のモデルの「保守的」なモデルの結果と現実を比較すると、ここに表示されるものは明らかに何かが気に入りません。

ほかに有利となる要素がない場合、現在の社会的分離の措置が緩和されると、曲線が跳ね上がることがあります。

現在の措置で本当に曲線を平坦化できますか?そして、それはどれくらいの期間ですか?

一般の人々の一般的な認識は、安全のために新規感染の曲線を平らにする必要があるということです。しかし、私たちが平坦にする必要がある実際の曲線は、深刻な状態で、同時に集中治療を必要とする人数の曲線です。

モデルでは、集中治療が必要なケースと、ドイツで利用可能な ICU のキャパシティを比較します。キャパシティにはいくつか違う数字が出てきます。ある方は合計で 28,000 といい、別の方は 30,000 あると言っています。もちろん、ICU ベッドの総数を COVID-19 の患者だけに割り当てることはできません(また、すべきではありません)。しかし、大まかな数字として、ここでは30,000床を使いました。(数値の潜在的な大きさを考えると、数戦があるか内科は、とにかくそれほど大きな違いはありません)

シミュレーションの3つの共通のパーセンタイルの比較を設定して、ICU ケースをクリティカルな閾値未満に保てる可能性があるかを確認できるようにしました:

75% 接触削減という社会的分離レベルを維持する(つまり、ドイツでの公的生活を通常の 25% に抑える)ことが、ICU に収容するケースを5月の終わりまでキャパシティ以下に保つ可能性が 50/50 であることを示しています。これが、オレンジの曲線が赤い線と交差する場所です。

その後、他の要素が拡大に対抗しない場合、7月末までに ICU のケースは数百万(図の対数目盛に注意)に爆発する可能性が高くなります。

対策を90日間維持しても、8月上旬までの時間しか得られません。

(しかし、確保できた期間は間違いなく、主にワクチンの開発とCOVID-19の治療のために、私たちが必要とするものです)

これらの結果が、モデルの予測が気に入らないといった理由です。その間、生命と経済を現在のレベルにシャットダウンするコストは、意思決定アナリストとして私を悩ませているものです。

そのため、関係者(および同様な関係者)とともにモデルを改善したいと考えています。

モデルの強化

その1:どのパラメーターが最も重要ですか?

モデルを構築するとき、最初の結果が得られた後、次に進むための良い方法は、どの仮定が出力に最も重要な影響を示すかの感度分析を実行することです。

現在のモデルでは、いくつかの主要な出力に対して、感度トルネード分析を行っています。例えば、社会的分離レベルが75%である4月末の「急性症状」の場合、トルネード分析では次の結果が示されます:

8,000人の少し恥ずかしがり屋の重病患者の平均値の場合、この数に対する最大の不確実性は「相互作用における感染の確率」となります。灰色のバーは、80% の信頼区間を表します。つまり、平均感染確率が 1%(P10の値)と 3%(P90)の差により、結果が大幅に変わる可能性があります。

このことから少なくとも2つの結論があるかもしれません:

  1. 最も重要な2つのパラメーターは、制御可能なパラメーターです。
  2. すでに使っている値「感染中の平均日次相互作用」とは別に、おそらくさらに大きな可能性を持つ別の相互作用があります。

もちろん、最初に、範囲を狭めるには、ウイルスの実際の感染性をよりよく理解する必要があります。しかし、厳格な衛生管理体制(手洗い)やマスクの着用など、それをさらに削減できる潜在的な対策があります。人々を分離させて経済を殺すよりも効果的(そしてコストも安い)かもしれない対策があるかもしれません。

その2:検討する価値のある他の要因

必要に応じて、モデル全体を1ページに合わせることができます:

私には、モデルを拡張できる可能性のある領域がいくつかあります:
(もちろん、これは尽きることのないリストです。非専門家としての私の素朴な考えです)

  • 自然免疫 — おそらく、人口の中にアンらかの理由で「自然の」免疫があるのです。それは、人口の一部がすでにコロナウイルスに免疫があるかもしれない、ということであるかもしれません。「『ダイアモンドプリンセス(ウイルスに感染したクルーズ船)でも、感染率は20%を超えていませんでした。』これらの統計に基づいて、Levitt 氏は、多くの人はウイルスに自然に免疫があると結論付けました。」(The Algemeiner 紙)
  • 季節性 — 一般的なインフルエンザと同様に、夏の感染の可能性を低下させる何らかの要因がある可能性があります。例えば、ドイツのロバート・コッホ研究所は、季節性の可能性と既存の免疫を考慮した論文を発表しました。
  • 人口のセグメンテーション — コロナウイルスに感染すると、明らかに高齢者が深刻な合併症を発症するリスクが大幅に高くなります。そもそも感染することとは異なる親和性があるかもしれません。あるいは、若い人たちには自然免疫があるとか。。。
  • その他のNPIと戦略 — 社会的距離をとる措置は、主に毎日の相互作用の数を減らしますが、他の手段で感染する可能性を減らすことができます。手洗いがその1つで、マスク着用はさらに効果的です。人々を分離し、恐ろしいコストで経済をシャットダウンする代わりに、マスクを生産して人口全体に提供する方がはるかに安価になるかもしれません。。。ほぼすべての人にいきわたるようにスマートフォンを生産することが可能なのであれば、マスクのような単純なデバイスを生産するのはそれほど難しくありませんよね?
  • 健康状態のさらなる細分化 — おそらく「病気」と「深刻な病気」の区別では十分ではないかもしれません。これは医療の専門家が貢献できる潜在的な分野でした。。。
  • 利用可能な ICU ベッド、人工呼吸器などに応じた死亡率 — 明らかに、重症患者の数が医療システムの能力を超えると、深刻な症状から回復する可能性が大幅に減少します。。。すでに悪い見通しをさらに悪化させることがここで助けになるかどうかはわかりませんが。。。
  • NPIのコストを含める — 現在、モデルには社会的分離のさまざまなレベルの影響のみが組み込まれています。さまざまな対策(学校・店舗の閉鎖、大規模イベントの中止、生産の停止など)が削減レベルにどの程度効果的かをモデル化できていません。。。また、これらの措置に対して値札が付いていません。

モデルの入手と使用方法

モデルはオープンソースです。実行するには次の手順に従ってください。

  1. Analyticaをまだインストールしていなければ、Analytica(または無料版のAnalytica Free 101)をインストールしてください。
  2. モデル COVID19_Model_20200406.ana をダウンロードしてください。
  3. Analyticaを起動し、「Open Model」でモデルファイルを選択してください。

Analytica Free 101 エディションから、モデルのすべての結果を計算、参照することができ、入力値を変更して結果を再計算することができます。また、モデルのすべての内部の計算を参照できます。これだけで、モデルの予測を見たり、理解するのには十分です。入力の変更だけでなく、モデルの拡張または変更に関心がある場合は、Analytica Professional(またはそれ以上)のライセンスが必要です。

モデルを開くと、左側に入力があり、右側に主要なモデル出力があるダッシュボードが表示されます。

「Calc」または「Result」ボタンをクリックすると、結果を計算、表示できます。結果のほとんどは確率的予測です。結果を表示するときに、ピボットして結果をさまざまな方法で確認したり、不確実性ビューを変更したりできます。左側の入力を使って、仮定と入力のパラメーターを変更できます。

左上にある「Model Details」モジュールをダブルクリックすると、モデルロジックを見ることができます。多くの方は直感的であると思われるでしょう。そうでない方は、このようなモデルをどのように操作するかを Analytica Tutorial の最初の何章かをお読みください。

クレジット

このモデルを最初に開発して、変更、共有できるようにしてくれたRob Brownに感謝します。

Robert D. Brown, III 氏は、Novelisのグローバル・オートモーティブ・グループの上級戦略アナリストです。彼は、ジョージア州アトランタを拠点とし、Incite! Decision Technologies, LLC の社長兼創設者です。彼は Analytica の「スパーモデラ―」であり、15年以上にわたって、Analyticaトレーニングコスを実施しています。彼はリーダーシップと意思決定、リスク分析の専門知識で高く評価されています。

彼は長年 syconomic 社のアフィリエイトで、信頼できるアドバイザーです。彼を友人と呼べることをうれしく思います。