def plotGuido(): delayH = 0 strdates = 'Days (Hubei from Jan1, Italy from Feb6)' de = restore_data.restoreCSSEDeath() deH = de['Hubei/China'].values deHd = de['Hubei/China'].days - delayH pop = 6e7 nSteps = 100 cfr = 0.00006 delayModel = -21 beta0 = 0.481 gamma0 = 0.16 system3 = simple_sir.SimpleSIR(pop, 1, 0, beta0, 1 / gamma0, nSteps, t0=delayModel) system3.evolveSystem() system3.plot() deaths3 = cfr * system3.timeSeries.recovered_with_immunity plt.plot(system3.timeSeries.timeVector, deaths3, label='deaths no action cfr=%g' % cfr) plt.plot(deHd, deH, '.-', label='deaths Hubei') plt.ylim(1, ) plt.xlim(10, 75) plt.xlabel(strdates) plt.legend()
def _restoreCountry(name, delay_date): de = restore_data.restoreCSSEDeath() co = restore_data.restoreCSSEConfirmed() re = restore_data.restoreCSSERecovered() assert np.array_equal(de[name].days, co[name].days) assert np.array_equal(de[name].days, re[name].days) deaths = de[name].values confirmed = co[name].values recovered = re[name].values days = de[name].days - delay_date return deaths, confirmed, recovered, days
def main(): delayI = 36 delayR = 34 delayH = 0 strdates = 'Days (Hubei from Jan1, Italy from Feb6)' de = restore_data.restoreCSSEDeath() deH = de['Hubei/Mainland China'].values deHd = de['Hubei/Mainland China'].days - delayH deI = de['Italy'].values deId = de['Italy'].days - delayI deR = de['Iran'].values deRd = de['Iran'].days - delayR co = restore_data.restoreCSSEConfirmed() coH = co['Hubei/Mainland China'].values coHd = co['Hubei/Mainland China'].days - delayH coI = co['Italy'].values coId = co['Italy'].days - delayI coR = co['Iran'].values coRd = co['Iran'].days - delayR re = restore_data.restoreCSSERecovered() reH = re['Hubei/Mainland China'].values reHd = re['Hubei/Mainland China'].days - delayH reI = re['Italy'].values reId = re['Italy'].days - delayI reR = re['Iran'].values reRd = re['Iran'].days - delayR plt.figure() plt.plot(deHd, deH, '.-', label='Deaths Hubei') plt.plot(coHd, coH, '.-', label='Confirmed Hubei') plt.plot(reHd, reH, '.-', label='Recovered Hubei') plt.grid(True) plt.legend() plt.xlabel(strdates) plt.show() plt.semilogy()
def plotTuttoAZero(): delayI = 36 delayH = 0 strdates = 'Days (Hubei from Jan1, Italy from Feb6)' de = restore_data.restoreCSSEDeath() deH = de['Hubei/Mainland China'].values deHd = de['Hubei/Mainland China'].days - delayH deI = de['Italy'].values deId = de['Italy'].days - delayI pop = 6e7 nSteps = 100 cfr = 0.03 delayModel = -1 beta0 = 0.481 gamma0 = 0.16 beta = np.zeros(nSteps) tInt1 = 29 - delayModel beta[:tInt1] = beta0 beta[tInt1:] = gamma0 system = simple_sir.SimpleSIR(pop, 1, 0, beta, 1 / gamma0, nSteps, t0=delayModel) system.evolveSystem() system.plot(susceptibles=False, infectious=False, recovered=False) deaths = cfr * system.timeSeries.recovered_with_immunity plt.plot(system.timeSeries.timeVector, deaths, label='deaths if R0=1 at day=%d' % (tInt1 + delayModel)) beta2 = np.zeros(nSteps) tInt2 = 32 - delayModel beta2[:tInt2] = beta0 beta2[tInt2:] = gamma0 * 0. system2 = simple_sir.SimpleSIR(pop, 1, 0, beta2, 1 / gamma0, nSteps, t0=delayModel) system2.evolveSystem() deaths2 = cfr * system2.timeSeries.recovered_with_immunity plt.plot(system2.timeSeries.timeVector, deaths2, label='deaths if R0=1 at day=%d' % (tInt2 + delayModel)) system3 = simple_sir.SimpleSIR(pop, 1, 0, beta0, 1 / gamma0, nSteps, t0=delayModel) system3.evolveSystem() deaths3 = cfr * system3.timeSeries.recovered_with_immunity plt.plot(system3.timeSeries.timeVector, deaths3, label='deaths no action') plt.plot(deHd, deH, '.-', label='deaths Hubei') plt.plot(deId, deI, '.-', linewidth=2, markersize=12, label='deaths Italy') # plt.plot(coHd + delayModel, coH, '.-', label='confirmed Hubei') # plt.plot(coId + delayModel, coI, '.-', label='confirmed Italy') plt.ylim(10, ) plt.xlim(20, 75) plt.xlabel(strdates) plt.legend()
def main(): delayI2H = 36 # deH, coH, reH, daH = restoreCovid('Hubei') # deI, coI, reI, daI = restoreCovid('Italy', fromItem=syncI2H) de = restore_data.restoreCSSEDeath() deH = de['Hubei/Mainland China'].values deHd = de['Hubei/Mainland China'].days deI = de['Italy'].values deId = de['Italy'].days co = restore_data.restoreCSSEConfirmed() coH = co['Hubei/Mainland China'].values coHd = co['Hubei/Mainland China'].days coI = co['Italy'].values coId = co['Italy'].days plt.figure() plt.plot(deId - delayI2H, deI, '.-', label='Deaths Italy') plt.plot(deHd, deH, '.-', label='Deaths Hubei') t = "Evolution of deaths in Hubei and Italy (both 60M people)" plt.title(t) plt.legend() plt.grid(True) plt.ylabel('Total deaths') plt.xlabel('Days (H from Jan1, I from Feb27)') plt.show() plt.semilogy() co2de = 0.04 delay_co2de = 2 ff = np.ones(int(delay_co2de)) / delay_co2de expDeH = co2de * convolve(coH, ff, mode='full')[:len(coH)] expDeI = co2de * convolve(coI, ff, mode='full')[:len(coI)] plt.figure() plt.plot(deId - delayI2H, deI, '.-', label='Deaths Italy') plt.plot(deHd, deH, '.-', label='Deaths Hubei') plt.plot(coId - delayI2H, coI, '.-', label='Confirmed Italy') plt.plot(coHd, coH, '.-', label='Confirmed Hubei') plt.plot(coId - delayI2H, expDeI, label='Expected Deaths Italy') plt.plot(coHd, expDeH, label='Expected Deaths Hubei') t = "Confirmed 2 Dead\n co2de=%g, delay=%g d" % (co2de, delay_co2de) plt.title(t) plt.legend() plt.grid(True) plt.ylabel('Total deaths') plt.xlabel('Days (Hubei from Jan 1, I from Feb 27)') plt.ylim(1, ) plt.show() plt.semilogy() pop = 6e7 nSteps = 100 beta = np.zeros(nSteps) beta[:36] = 0.4 beta[36:] = 0.1 system = simple_sir.SimpleSIR(pop, 1, 0, beta, 15, nSteps) system.evolveSystem() system.plot() cfr = 0.03 deaths = cfr * system.timeSeries.recovered_with_immunity plt.plot(deaths, label='deaths (CFR=%g)' % (cfr)) plt.plot(deHd + 6, deH, '.-', label='deaths Hubei') plt.plot(deId - delayI2H + 6, deI, '.-', label='deaths Italy') plt.plot(coHd + 6, coH, '.-', label='confirmed Hubei') plt.plot(coId - delayI2H + 6, coI, '.-', label='confirmed Italy') plt.ylim(1, ) plt.legend()
def main(): delayI = 36 delayR = 34 delayH = 0 de = restore_data.restoreCSSEDeath() deH = de['Hubei/Mainland China'].values deHd = de['Hubei/Mainland China'].days - delayH deI = de['Italy'].values deId = de['Italy'].days - delayI deR = de['Iran'].values deRd = de['Iran'].days - delayR co = restore_data.restoreCSSEConfirmed() coH = co['Hubei/Mainland China'].values coHd = co['Hubei/Mainland China'].days - delayH coI = co['Italy'].values coId = co['Italy'].days - delayI coR = co['Iran'].values coRd = co['Iran'].days - delayR plt.figure() plt.plot(deId, deI, '.-', label='Deaths Italy') plt.plot(deRd, deR, '.-', label='Deaths Iran') plt.plot(deHd, deH, '.-', label='Deaths Hubei') t = "Evolution of deaths in Hubei, Italy, Iran" plt.title(t) plt.legend() plt.grid(True) plt.ylabel('Total deaths') strdates = 'Days (H from Jan1, I from Feb6, Ir from Feb4)' plt.xlabel(strdates) plt.show() plt.semilogy() co2de = 0.04 delay_co2de = 2 ff = np.ones(int(delay_co2de)) / delay_co2de expDeH = co2de * convolve(coH, ff, mode='full')[:len(coH)] expDeI = co2de * convolve(coI, ff, mode='full')[:len(coI)] expDeR = co2de * convolve(coR, ff, mode='full')[:len(coR)] plt.figure() plt.plot(deId, deI, '.-', label='Deaths Italy') plt.plot(deRd, deR, '.-', label='Deaths Iran') plt.plot(deHd, deH, '.-', label='Deaths Hubei') plt.plot(coId, coI, '.-', label='Confirmed Italy') plt.plot(coRd, coR, '.-', label='Confirmed Iran') plt.plot(coHd, coH, '.-', label='Confirmed Hubei') plt.plot(coId, expDeI, label='Expected Deaths Italy') plt.plot(coRd, expDeR, label='Expected Deaths Iran') plt.plot(coHd, expDeH, label='Expected Deaths Hubei') t = "Confirmed 2 Dead\n co2de=%g, delay=%g d" % (co2de, delay_co2de) plt.title(t) plt.legend() plt.grid(True) plt.ylabel('Total deaths') plt.xlabel(strdates) plt.ylim(1, ) plt.show() plt.semilogy() pop = 6e7 nSteps = 100 beta = np.zeros(nSteps) beta[:36] = 0.4 beta[36:] = 0.1 system = simple_sir.SimpleSIR(pop, 1, 0, beta, 15, nSteps) system.evolveSystem() system.plot() cfr = 0.03 deaths = cfr * system.timeSeries.recovered_with_immunity plt.plot(deaths, label='deaths (CFR=%g)' % (cfr)) plt.plot(deHd + 6, deH, '.-', label='deaths Hubei') plt.plot(deId + 6, deI, '.-', label='deaths Italy') plt.plot(deRd + 6, deR, '.-', label='deaths Iran') plt.plot(coHd + 6, coH, '.-', label='confirmed Hubei') plt.plot(coId + 6, coI, '.-', label='confirmed Italy') plt.plot(coRd + 6, coR, '.-', label='confirmed Iran') plt.ylim(1, ) plt.legend()
def main(): delayI = 36 delayR = 34 delayH = 0 strdates = 'Days (Hubei from Jan1, Italy from Feb6)' de = restore_data.restoreCSSEDeath() deH = de['Hubei/Mainland China'].values deHd = de['Hubei/Mainland China'].days - delayH deI = de['Italy'].values deId = de['Italy'].days - delayI deR = de['Iran'].values deRd = de['Iran'].days - delayR co = restore_data.restoreCSSEConfirmed() coH = co['Hubei/Mainland China'].values coHd = co['Hubei/Mainland China'].days - delayH coI = co['Italy'].values coId = co['Italy'].days - delayI coR = co['Iran'].values coRd = co['Iran'].days - delayR plt.figure() plt.plot(deId, deI, '.-', label='Deaths Italy') plt.plot(deRd, deR, '.-', label='Deaths Iran') plt.plot(deHd, deH, '.-', label='Deaths Hubei') t = "Evolution of deaths in Hubei, Italy, Iran" plt.title(t) plt.legend() plt.grid(True) plt.ylabel('Total deaths') plt.xlabel(strdates) plt.show() plt.semilogy() pop = 6e7 nSteps = 100 cfr = 0.03 delayModel = -3 beta = np.zeros(nSteps) tInt1 = 33 beta[:tInt1] = 0.481 beta[tInt1:] = 0.192 gamma = 0.192 system = simple_sir.SimpleSIR(pop, 1, 0, beta, 1 / gamma, nSteps, t0=delayModel) system.evolveSystem() system.plot(susceptibles=False, infectious=False, recovered=False) deaths = cfr * system.timeSeries.recovered_with_immunity plt.plot(system.timeSeries.timeVector, deaths, label='deaths if R0=1 at day=%d' % (tInt1 + delayModel)) beta2 = np.zeros(nSteps) tInt2 = 40 beta2[:tInt2] = 0.481 beta2[tInt2:] = 0.192 gamma2 = 0.192 system2 = simple_sir.SimpleSIR(pop, 1, 0, beta2, 1 / gamma2, nSteps, t0=delayModel) system2.evolveSystem() deaths2 = cfr * system2.timeSeries.recovered_with_immunity plt.plot(system2.timeSeries.timeVector, deaths2, label='deaths if R0=1 at day=%d' % (tInt2 + delayModel)) beta3 = 0.481 gamma3 = 0.192 system3 = simple_sir.SimpleSIR(pop, 1, 0, beta3, 1 / gamma3, nSteps, t0=delayModel) system3.evolveSystem() deaths3 = cfr * system3.timeSeries.recovered_with_immunity plt.plot(system3.timeSeries.timeVector, deaths3, label='deaths no action') plt.plot(deHd, deH, '.-', label='deaths Hubei') plt.plot(deId, deI, '.-', linewidth=2, markersize=12, label='deaths Italy') # plt.plot(coHd + delayModel, coH, '.-', label='confirmed Hubei') # plt.plot(coId + delayModel, coI, '.-', label='confirmed Italy') plt.ylim(10, ) plt.xlim(20, 75) plt.xlabel(strdates) plt.legend()