Esempio n. 1
0
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()
Esempio n. 2
0
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
Esempio n. 3
0
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()
Esempio n. 4
0
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()
Esempio n. 5
0
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()
Esempio n. 6
0
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()
Esempio n. 7
0
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()