拡大再生産数 (Subscript[R, t]) の表示

まえがき

テーマはあくまでも「Mathematicaによるデータ分析の試み」です．Mathematica に対しても
 Covid19 に関しても 専門家ではないので,  間違いがあるかもしれません.    ^_^;   
このプログラムは個人的な興味で作ったものです．あくまでも「参考」として御覧ください．
(決まりきった言い回しですが,このプログラムの数字を信じる事によって被った損害には一切責任持ちません. All rihgts reserved.)　


2020年5月13日(5月19日改定)      生越 茂樹.  　　oh.shigeki@gmail.com

SIR理論

s=Susceptible(感染可能人数), i=Infected(感染者), r=Recovered(回復者，死者含む), c=Confirmed Case=i+r とすると　
(この r と (Subscript[R, t]) は全く異なる.また s,i,r,c　をプログラム中では sus,inf,rec,cases　とも書く) ,SIR理論では,
                                          (ds/dt)=-βs*i,    (di/dt)=βs*i-γi,    (dr/dt)=γi
Nを全人口とすると i+r+s=c+s=N だから， 
                                   (ds/dt)=-βs*i,   (dc/dt)=βs*i,    (di/dt)=βs*i-γi,    (dr/dt)=γi           ···(#1)
故に (Subscript[R, t])=((sβ)/γ)と定義すると ( これから (Subscript[R, 0])=((Nβ)/γ), (Subscript[R, t])=(Subscript[R, 0])*(s/N) となる),   
                           (ds/(d(γt)))=-(Subscript[R, t])*i,    (dc/(d(γt)))=(Subscript[R, t])*i,    (di/(d(γt)))=(Subscript[R, t])*i-i=((Subscript[R, t])-1)i,     (dr/(d(γt)))=i     ···(#2)
さらに 時間の単位を1/γ日に変えて γt=t’とすると(例えばγ=0.1のときは 10日ごとの変化を考えると)， 
                                       (ds/(dt'))=-(Subscript[R, t])*i,     (dc/(dt'))=(Subscript[R, t])*i,    (di/(dt'))=((Subscript[R, t])-1)i,     (dr/(dt'))=i    
(Subscript[左の2式からR, t]) は 感染期間(回復期間) 毎に, 1人の感染者が2次感染させる人数(即ち,1人の感染者が2次感染させる人数)となる事がわかる．
(#2より (Subscript[R, t])=dc/dr となることからも同じ事が分かる)．
また右から2番めの式から  (Subscript[R, t])>1のとき I は増加，(Subscript[R, t])<1のとき I は減少と分かる．

さらに (Subscript[m, r])=((d(log r))/dt),(Subscript[m, c])=((dLog[c])/dt) と定義すると,

            (Subscript[m, r])=((d(log r))/dt)=(1/r)*(dr/dt)=((γ*i)/r)     ∴ γ= ((r*(Subscript[m, r]))/i),          (Subscript[m, c])=((dLog[c])/dt)=(1/c)*(dc/dt)       ∴  (dc/dt)= c*(Subscript[m, c]).   ···(#3) 
故に                                               
                                                  (Subscript[R, t])=((sβ)/γ) (=(1/(i*γ))(dc/dt))=((c*(Subscript[m, c]))/(i*γ)) =((c*(Subscript[m, c]))/(r*(Subscript[m, r]))) (=(dc/dr))   ···(#4)

プログラムの簡単な説明

以下のプログラムは 
     (1)c が正しいと仮定して，(Subscript[m, c])[t]を求める． 
　(2)  c を動かさずに  γを与えて(データから計算されたγの値は使わないで)微分方程式を解いて r,i を求める. 
(3)  (Subscript[R, t])= c*(Subscript[m, c])[t]/ i/γ  で (Subscript[R, t]) を求める
の手順で作成しています．

従って このプログラムでは, γが増えると r が増え i は減りますが，c=r+i は一定です．rのcに対する割合が増えるだけです.
この様にプログラムした理由は, データに基づいて計算すると 日本の場合は γ=0.016 と小さくなりすぎるので(5月9日現在)
r は(cに比べて)信頼できないと考えたからです．(もちろん c も信用できませんが,そんな事言っていると,計算などできません.)


死者/回復者　の比と 致死率の関係から計算すると　γ=0.033 前後 となりました．(5月9日)
しかしその後 回復者の異常な急増で γ の値を　微分方程式+総合的判断で計算すると γ=0.05となりました.(5月19日)
従って以下では γ の初期値を 0.05 としてます．また日時が変わるとさらに変化すると思われますが，γの値は
ご自分で入力できます．適当と思われる値を入力して下さい．
なお，プログラムでは　入力されたγの値:(Subscript[γ, input]) と,　デー(Subscript[タから計算したγ, t])の平均値: (OverBar[(Subscript[γ, t])])　を共に表示します．

GitHub(Johns Hopkins大学)からダウンロードしてます． recovered は死者を含みます．(SIR理論と同じ.)
中国は 「香港+Hubei+それ以外」 の3つに分けました．台湾はサンプルが小さいので Rt を計算できませんでした．
さらに　世界全体 (World) を最後に加えました. 

中で微分方程式を解いているので重いです．従って γ を Slider では動かせません． PopupMenu で動かしています．
c,i,r, (Subscript[R, t]) の最近値やデータ最終獲得日などは,Tooltipで見る事ができます． 

このプログラムが合っている保証は全くありません．そもそもRの値は専門家によっても大きく違います．
(最近の UK では 0.7≤R≤1 とBBCが放送していました.)  あくまでも参考としてご覧ください．
詳しい説明は,Part1「不思議の国のγ」と  Part2 「Rとγ の決定 (γの呪いを越えて) 」をご覧ください.
(なお5月20日現在で UKとSpainが見れなくなっています．これはGitHubのデータが”直近の回復者=0”
となっているためです．GitHubが訂正するのを当分待ちます．1週間経っても訂正ない時はプログラムを改定します．)

Hyperlink[Style["Check part1 & part2.",Larger,Bold],URL["https://www.mixedmoss.com/miscellaneous/MathematicaSIRModel/index.html"]]

流行曲線 と Rt　(またはγ)  のグラフ

cdf player のときは表示まで 10~15 秒ぐらいお待ち下さい.　特に最初はデータのダウンロードで時間がかかります.
 GitHub からダウンロードするので，はじめに警告メッセージ （動的機能を有効化） が出るかも知れません．
 画面の拡大・縮小は, 画面上でクリックして出てくる長方形の枠を Drag するか，或いは右下からできます．

流行曲線の予測

新しい対策が取られなくなり, (Subscript[R, t]) が自然の法則のみで変化する時の流行曲線（ (Subscript[R, t])(Subscript[の初期値がR, 0])). iの人数表示の分母は世界全体．s,i,rの人口比についてはどの国に対しても成り立ちます.

(Subscript[R, 0])≥1.1 のときの感染者の最大値(全人口に対する割合) は ほぼ M((Subscript[R, 0]))= 1- (1/(Subscript[R, 0]))(1+log(Subscript[R, 0])) に等しいです．