In[]:=
compare[data_,graphic_:True,optsInterpolation___]:=Module[{dataFn,dataDE},​​dataFn=Interpolation[data,optsInterpolation,Method"Spline"];​​dataDE={dataFn[#],dataFn'[#]}&/@data[[All,1]];​​ListLinePlot[{dataDE,Transpose[{Rest@#,Differences[#]}&@data[[All,2]]]},PlotLegends{"Interpolation","Actual Data"},PlotRangeAll]​​]
In[]:=
compare[deathCases]
Out[]=
500
1000
1500
2000
2500
50
100
150
200
250
Interpolation
Actual Data
In[]:=
compare[confirmedCases]
Out[]=
20000
40000
60000
80000
5000
10000
15000
Interpolation
Actual Data
In[]:=
compare[notHubeiCases]
Out[]=
2000
4000
6000
8000
10000
12000
200
400
600
800
Interpolation
Actual Data
In[]:=
compare[hubeiCases]
Out[]=
10000
20000
30000
40000
50000
60000
5000
10000
15000
Interpolation
Actual Data