Logistics model for Hubei, China

In[]:=
ds0=ResourceData["Epidemic Data for Novel Coronavirus COVID-19"];
In[]:=
hubeiData=ds0Select#Country
China
COUNTRY
&,{"AdministrativeDivision","ConfirmedCases","RecoveredCases","Deaths"}[[1]]//Normal
Out[]=
AdministrativeDivision
Hubei, China
,ConfirmedCasesTimeSeries
Time: 22 Jan 2020 to 26 Feb 2020
Data points: 36
,RecoveredCasesTimeSeries
Time: 22 Jan 2020 to 26 Feb 2020
Data points: 36
,DeathsTimeSeries
Time: 22 Jan 2020 to 26 Feb 2020
Data points: 36

In[]:=
days=hubeiData["Deaths"]["DatePath"]//Length
Out[]=
36
In[]:=
data=Transpose[{Range[days],hubeiData["Deaths"]["Values"]}]
Out[]=
{{1,17},{2,17},{3,24},{4,40},{5,52},{6,76},{7,125},{8,125},{9,162},{10,204},{11,249},{12,350},{13,414},{14,479},{15,549},{16,618},{17,699},{18,780},{19,871},{20,974},{21,1068},{22,1068},{23,1310},{24,1457},{25,1596},{26,1696},{27,1789},{28,1921},{29,2029},{30,2144},{31,2144},{32,2346},{33,2346},{34,2495},{35,2563},{36,2615}}
In[]:=
truncatedData=data[[;;20]];
In[]:=
logistic=
L
1+
-k(t-t0)

;
In[]:=
NonlinearModelFit[truncatedData,{logistic,k>0,t0>0},{k,L,t0},t];​​%["BestFitParameters"]
Out[]=
{k0.264028,L1295.36,t016.1912}
In[]:=
nlm=NonlinearModelFit[truncatedData,logistic,Transpose[{{k,L,t0},%[[All,2]]}],t]
Out[]=
FittedModel
1295.36
1+
-0.264028(1)


In[]:=
deathBands[t_]=nlm["SinglePredictionBands",ConfidenceLevel0.95];​​Plot[{nlm[t],deathBands[t]},{t,1,days+10},Filling{2{1}},PlotStyle{Darker@Red,Darker@Orange,Darker@Orange},GridLinesAutomatic,PlotLabel"Death Cases",EpilogPoint[data],PlotRangeMinMax[data]]
Out[]=