ラベル コロナウイルス の投稿を表示しています。 すべての投稿を表示
ラベル コロナウイルス の投稿を表示しています。 すべての投稿を表示

2020年11月7日土曜日

人流に対するコロナ感染者数のdumping効果

全くの思い付きですが、今後人口が都心に集中していくのか、あるいは分散していくのか、ウイルスの感染リスクと関連させて説明出来たら、面白いですよね。

特に、長期的なトレンドを予測するのは難しいだろうが、数式の形によっては、長期的なマクロなトレンドが、局所的な短期のトレンドに一致するようなことも考えられるといいなと思います。

昨年、dynamical systemの単位を取ったばかりなので、その道具を使って、人流のダイナミクスを理論化出来たら面白いというのを簡単に書いておきます。

アイデアは、感染による影響が、物理でいうところのdumpting(スピードを殺す働き)に相当するのではないかということです。つまり、人流過密ー>感染リスク上昇ー>感染者数増加ー>リスク回避のために人流減少。

逆に、人流減少ー>相対的な感染リスク現象ー>感染者数減少ー>人流増加

の流れ。以前のポストで書いた、橋のゆらぎとかと同じようなシステムになります。


以下のように変数を定義する。

x: 地域(region)、t:時間(time)

F(x,t) 地点x、時間tにおける人流の量(human traffic)

G(x,t) は人流の変化の速さ(rate of change in human traffic)

A(x,F) 地点xにおいて、人流量Fの時に人を寄せ付ける効果(機会の増加)(attraction)

R(x,F) 地点xにおいて人流量Fの時に人をしりぞける効果(感染リスク以外)(治安の悪化、物価上昇など)(repulsion)

W(x,F)=A-R (net attraction)

V(x,t)  地点x、時間tにおける感染者数(number of infections)


一般的なモデルとして、地政学的な環境を考慮し、XやYの値は、同じ人流Fによっても地域によって変化するものとして考えられると思いますが、以下、議論を簡単にするため、地理的なdependenceは無視します(xを固定)。(人流の引斥力は、現在の人流量のみに依存)

コロナ以前(感染症の影響~0)


コロナ後(感染者数によるダンピング効果を導入)




このモデルを、スケールをいじって考えると、やや恣意的ながら、


となるので、長期的なトレンド、および局所的なトレンドで、感染者数やリスクの高さが、人流のダイナミクスに重要なのではないかと。

h discontinuousとかのほうがしっくりくるのかな・・・

2020年5月30日土曜日

PCRの検査回数

https://news.livedoor.com/article/detail/18327790/
武漢では、10人のブレンド検査をして、陽性の場合にのみ全員検査を行って検査数を稼いでいるとある。

この記事のように、上手く検査すれば、検査回数を節約しつつ、多くの人数の検査が可能かもしれない。
関連して、12個の金貨から天秤を用いて重さの違う金貨を1枚見つけたり、奴隷に毒見させて1000本のワインから一本の毒入りのワインを特定する有名な論理パズルがあるが、似たような考え方である程度考えられるかもしれない。

上の二つの問題はシャノンの情報理論、エントロピーの考え方から解くことが出来る。
厳密にはエントロピーはlogなどを用いて定義されるが、要は何度のyes/no質問で、ある一つの状態を特定できるかを表すのがエントロピーだ。

ワインの問題は、1000通りの可能性があるが、奴隷の毒見から、奴隷が{死ぬ、生きる}の2通りの情報を得ることが出来る。
故に、10人の奴隷を用いると2^10=1024の情報を得ることが出来るので、最低奴隷が10人いれば毒入りワインの特定が可能だ。

金貨の問題では1~12番の金貨のうちの1枚が重いか軽いかで、全てで24通りの可能性がある。(n, b)nは1~12、bは{重、軽}の値を取る。
天秤は、①右が重い②左が重い③質量が等しい の3つのうちの一つの情報を与えることが出来る。
ここから、理論的には3回の試行で3^3=27の情報を得ることが出来るので、この問題の最小の試行回数は3だ。

仮に、精度が100%と仮定すれば(この時点で間違ってるが)PCR検査の回数もこの組み合わせの議論で節約できるかもしれない。
記事によると10人分くらいはミックスしてもいいみたいだ。ここに制約があるのでワインの毒見のようにはいかないが。


仮に人口30000人くらいを基準に考える。
目的 検査陽性者の特定(≠感染者)
とはいえ、一つの検査で{陽性、陰性}かつ一人の感染の状態が{感染、非感染}なので、単純に考えれば人数分の検査が必要だ。

そこで、今のところ感染者の報告はないことからも、感染者が仮にいても少なそうなので、仮に10%の人(完全ランダム)が感染していると仮定する。
すると、問題は、10%の感染者の特定だ。コインの重さの問題と似てきた。
適当な10人を選んで、1人特定するなら、上記から3回の検査で済む。とはいえ、今回は何人の感染者がこの無作為な10人のグループにいるかは分からないのでもっと複雑。

ちなみに、記事の方法なら、運悪く10%がばらけると人数分の検査が必要になるが、期待値で考えると、適当な10人の組に関して、1度で済む確率が、(9/10)^10≈0.35、10回必要になるのが残り0.65なので、平均して約7回で済む。(微妙に多いけど)
3万人で考えれば、3000の10人組があるので、全員に検査するよりは、平均で3*3000=9000回くらいは節約できそう。超単純計算だが(笑)

x%の人が感染者、n人をまとめて検査するという方式を取ると、
期待値は(30000/n)*((1-x/100)^n+n*(1-(1-n/100)^n))
必要な検査数が下図のように。横軸x、縦期待値
数が小さいほど効果的なので、ある程度感染率が高くなったら3人単位でやるのが効果的な模様。



上の10%の仮定では、ある個人のエントロピーが約0.465。全員の感染の状態が独立と仮定すると、30000人の系のエントロピーが約4050。
ここから、検査の時のブレンドに制約が無ければ、約4000回の検査で10%の特定が出来そう。しかし、今回は制約付き。

ちなみに、10人の系ならば、エントロピーが4.65なので、平均5回の検査で足りそう。ブレンドの上限の制約も確実にクリアできるので、検査数半分くらいになら出来そうだ。

記事を読んでの思いつきで、情報理論の知識に乏しいので、ここら辺でとりあえず限界。
具体的に、どうやって検査をデザインすればいいのか(多分coding的な話)、10人の検査の制限をどう考慮すればいいのか、そもそも検査が正確じゃない場合、感染の様態が独立でない場合、あるいは検査の正確性が異なる場合はどうなるかなど。