Epidemiological Models for Influenza and COVID-19—part 3
Epidemiological Models for Influenza and COVID-19—part 3
Robert B. Nachbar
Original post: 11-Mar-2020
◼
The package should be in the same directory as the notebooks, and is automatically loaded as part of the initialization.
Table of Contents
Table of Contents
◼
Use the subsection cells to navigate to the other notebooks
COVID-19
COVID-19
◼
Models
◼
SEIRD Model with standard incidence
◼
Hubei outbreak—SEIRD
◼
Outbreak start 20 Dec 2019
◼
Fitting data
◼
Manual fit
◼
Optimization—
100000
◼
Optimization—
50000
◼
Outbreak start 30 Dec 2019
◼
Fitting data
◼
Manual fit
◼
Optimization—
100000
◼
Optimization—
50000
◼
Comparisons
References
References
Initialization
Initialization
COVID-19
Models
Models
SEIRD Model with standard incidence
SEIRD Model with standard incidence
◼
These are the ODEs
forceOfInfectionSEIRD=λ[t_];{varsSEIRD,odesSEIRD}=Values@KineticCompartmentalModelℰ,ℰℐ,ℐℛ,ℐ,t{1,-1};Column[odesSEIRD]
ℐ[t]
-[t]
βλ[t]
→
ζ
→
γ
→
μ
→
Out[]=
′ |
′ ℰ |
′ ℐ |
′ ℛ |
′ |
In[]:=
{susceptibleSEIRD,exposedSEIRD,infectedSEIRD,recoveredSEIRD,deadSEIRD}={,ℰ,ℐ,ℛ,}/.ParametricNDSolve[Join[odesSEIRD/.forceOfInfectionSEIRD,{[0]-I0,ℰ[0]0,ℐ[0]I0,ℛ[0]0,[0]0}],Head/@varsSEIRD,{t,0,500},{,I0,β,ζ,γ,μ}];
Hubei outbreak—SEIRD
Hubei outbreak—SEIRD
Outbreak start 20 Dec 2019
Outbreak start 20 Dec 2019
Fitting data
Fitting data
In[]:=
t0=DateObject["20 Dec 2019"]
Out[]=
In[]:=
fitData1=fitData=fitDataWDR,t0,"makeCorrectionForHubei"True,"dateRange"{All,"26 Feb 2020"};Dimensions/@%
Out[]=
{{36,2},{36,2},{36,2}}
In[]:=
ListPlot[fitData,PlotLabel"Hubei",FrameLabel{"time (d)","# individuals"},PlotLegends{"confirmed"-("recovered"+"dead"),"recovered","dead"}]
Out[]=
Manual fit
Manual fit
Out[]=
Optimization—100000
Optimization—
100000
In[]:=
fitErrorSEIRD[fitData,100000,10,logBeta,logZeta,logGamma,logMu]/.Thread[{logBeta,logZeta,logGamma,logMu}Log@{0.32,0.60,0.072,0.0028}]
Out[]=
1.48125×
10
10
In[]:=
randomSampleWithError=With[{delta=Log[10.]{-1,+1},init=Log@{0.32,0.60,0.072,0.0028}},{Thread[{β,ζ,γ,μ}Exp@{##}],fitErrorSEIRD[fitData,100000,10,##]}&@@@Prepend[Transpose[RandomReal[#+delta,50000]&/@init],init]]//SortBy[#,Last]&;//Timing
Out[]=
{535.716,Null}
In[]:=
Take[SortBy[Last]@randomSampleWithError,15]//tfn
Out[]//TableForm=
1 | 2 | |
1 | {β0.783142,ζ0.0617432,γ0.0230569,μ0.00744279} | 1.60102× 9 10 |
2 | {β0.80396,ζ0.0608227,γ0.0325909,μ0.00106566} | 1.69269× 9 10 |
3 | {β0.68954,ζ0.0715426,γ0.0328715,μ0.00365816} | 1.74281× 9 10 |
4 | {β0.781349,ζ0.0605596,γ0.0261109,μ0.0173146} | 2.01264× 9 10 |
5 | {β0.662634,ζ0.0703356,γ0.0341459,μ0.00139895} | 2.0374× 9 10 |
6 | {β0.754485,ζ0.0674952,γ0.0360232,μ0.000922667} | 2.03869× 9 10 |
7 | {β0.65945,ζ0.0699785,γ0.0337624,μ0.00174329} | 2.08808× 9 10 |
8 | {β0.824407,ζ0.0690598,γ0.0351951,μ0.0103829} | 2.14372× 9 10 |
9 | {β0.734833,ζ0.0683832,γ0.0203583,μ0.00999414} | 2.14916× 9 10 |
10 | {β0.778671,ζ0.0628293,γ0.0281187,μ0.000346511} | 2.15915× 9 10 |
11 | {β0.791376,ζ0.0618965,γ0.0257106,μ0.00152217} | 2.18647× 9 10 |
12 | {β0.733267,ζ0.0722545,γ0.0462848,μ0.0089711} | 2.2431× 9 10 |
13 | {β0.690317,ζ0.0657344,γ0.0366964,μ0.00152161} | 2.24614× 9 10 |
14 | {β0.524454,ζ0.108293,γ0.0281095,μ0.0143855} | 2.29754× 9 10 |
15 | {β0.794401,ζ0.0703482,γ0.044285,μ0.0175903} | 2.3318× 9 10 |
◼
The table below shows the estimates for the epidemiological parameters
◼
the average duration of infection takes into account both recovery and death
◼
The table below shows the estimates for the epidemiological parameters
◼
the average duration of infection takes into account both recovery and death
◼
The first three and last two fits are essentially the same
◼
The fourth fit under-predicts the deaths
Outbreak start 30 Dec 2019
Outbreak start 30 Dec 2019
Fitting data
Fitting data
Manual fit
Manual fit
◼
The table below shows the estimates for the epidemiological parameters
◼
the average duration of infection takes into account both recovery and death
◼
The first two fits are essentially the same
◼
The table below shows the estimates for the epidemiological parameters
◼
the average duration of infection takes into account both recovery and death
◼
The are essentially the same
Comparisons
Comparisons
◼
increasing the population size makes ℐ peak broader
◼
shifting t0 to a later date (closer to the data) does not have a noticeable effect
◼
in all cases, the susceptible compartment goes to 0 and the epidemic size is 100% of the population
References
[JHU] “Mapping 2019-nCoV”, https://systems.jhu.edu/research/public-health/ncov/
[TG] T. Götz, “First attempts to model the dynamics of the coronavirus outbreak 2020”, https://arxiv.org/pdf/2002.03821.pdf
[PYZ] L. Peng, W. Yang, D. Zhang, C. Zhuge, L. Hong “Epidemic analysis of COVID-19 in China by dynamical modeling”, https://www.medrxiv.org/content/10.1101/2020.02.16.20023465v1
[ZCW] Y. Zhou, Z. Chen, X. Wu, Z. Tian, L. Cheng, L. Ye “The Outbreak Evaluation of COVID-19 in Wuhan District of China”, https://arxiv.org/pdf/2002.09640.pdf
[JDL] J. Jia, J. Ding, S. Liu, G. Liao, J. Li, B. Duan, G. Wang, R. Zhang “Modeling the Control of COVID-19: Impact of
Policy Interventions and Meteorological Factors”, https://arxiv.org/pdf/2003.02985.pdf
Policy Interventions and Meteorological Factors”, https://arxiv.org/pdf/2003.02985.pdf
[EGE] E. G. M E. “An SEIR like model that fits the coronavirus infection data”, https://community.wolfram.com/groups/-/m/t/1888335
[AA] A. Antonov “Basic experiments workflow for simple epidemiological models”, https://community.wolfram.com/groups/-/m/t/1895686
[AV] J. Arino, P. van den Driessche “Time delays in Epidemic Models; Modeling and Numerical Considerations” in “Delay Differential Equations and Applications”, O. Arino (ed.) Springer, 2006.
[FB] F. Brauer “Reproduction numbers and final size relations”, https://www.fields.utoronto.ca/programs/scientific/10-11/drugresistance/emergence/fred1.pdf
[BCR] M. Biggerstaff, S. Cauchemez, C. Reed, M. Gambhir, L. Finelli “Estimates of the reproduction number for seasonal, pandemic, and zoonotic influenza: a systematic review of the literature” BMC Infectious Diseases, 14, 480 (2014), http://www.biomedcentral.com/1471-2334/14/480
[MM] M. Martcheva “An introduction to mathematical epidemiology” Springer, 2015.
[A] Anonymous, Anonymous, Brit. Med. J., 1978, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1603269/pdf/brmedj00115-0064.pdf
[HJR] H. J. Rose “The use of amantadine and influenza vaccine in a type A influenza epidemic in a boarding school”, Journal of Royal College of General Practitioners, 30, 619-621 (1980). PubMedCentral
[FT] Z. Feng, H. R. Thieme “Recurrent Outbreaks of Childhood Diseases Revisited: The Impact of Isolation”, Math. Biosciences, 128, 93-130 (1995). https://doi.org/10.1016/0025-5564(94)00069-C
[BK] S. Boseley, L. Kuo “Huge rise in coronavirus cases casts doubt over scale of epidemic”, The Guardian, 13 Feb 2020, https://www.theguardian.com/world/2020/feb/13/huge-rise-coronavirus-cases-raises-doubts-scale-epidemic-china
[DWC] Z. Du, L. Wang, S. Cauchemex, X. Xu, X. Wang, B. J. Cowling, L. A. Meyers “Risk for Transportation of 2019 Novel Coronavirus (COVID-19) from Wuhan to Cities in China”, https://doi.org/10.1101/2020.01.28.20019299
[CXL] J. Cai, J. Xu, D. Lin, Z. Yang, L. Xu, Z, Qu, Y. Zhang, H. Zhang, R. Jia, P. Liu, X. Wang, Y. Ge, A. Xia, H. Tian, H. Chang, C. Wang, J. Li, J. Wang, M. Zheng “A Case Series of children with 2019 novel coronavirus infection: clinical and epidemiological features”, Clinical Infectious Diseases, https://doi.org/10.1093/cid/ciaa198
[CWB] B. J. Coburn, B. G. Wagner, S. Blower “Modeling influenza epidemics and pandemics: insights into the future of swine flu (H1N1)”, BMC Medicine, 7, (2009), http://www.biomedcentral.com/1741-7015/7/30
Initialization
◼
the package can be downloaded from https://www.wolframcloud.com/obj/rnachbar/Published/CompartmentalModeling.wl
General
General
Fitting data
Fitting data
Fitting error
Fitting error
SEIRD
SEIRD