Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- infacted_prediction = []
- hump_day = []
- for name in names[1:]:
- max_num_infacteted = []
- hd = []
- for j in range(120):
- y = data[name]
- ind = np.where(y < 100)
- y = np.delete(y, ind)
- len_data = len(y)
- new_end = j+10
- if new_end > len_data-1:
- continue
- y = y[:new_end]
- len_data = len(y)
- x = np.arange(len_data)
- popt1, pcov = fit(func, x, y)
- x_off = popt1[1]
- x_fit = np.linspace(0, 120, 100)
- if False:
- pl.clf()
- pl.title(name)
- pl.plot(x,y, 'x')
- pl.plot(x_fit , func(x_fit, *popt1))
- pl.xlim([0, 50])
- pl.ylim([0, 200000])
- pl.pause(0.2)
- max_num_infacteted.append(func(100000, *popt1))
- hd.append(int(np.abs(popt1[1])))
- hump_day.append(hd)
- infacted_prediction.append(max_num_infacteted)
- count = 0
- for name in names[1:]:
- infected_pred = infacted_prediction[count][-1]
- infected_curr = data[name][-1]
- conver = np.nansum(np.gradient(infacted_prediction[count][-7:]))/7
- mean = np.nanmean(infacted_prediction[count][-3:])
- print(int(infected_curr),'\t', int(infected_pred),'\t', int(mean), '\t', int(np.abs(conver / len(infacted_prediction[count]))),'\t',name )
- count += 1
- pl.clf()
- count = 0
- for name in names[1:]:
- pl.subplot(2,4,count+1)
- pl.title(name)
- pl.plot(infacted_prediction[count], label=name)
- if not ( count == 0 or count == 4 ):
- pl.yticks([])
- count += 1
- pl.xlim([0, 50])
- pl.ylim([0, 500000])
- pl.show()
- pl.clf()
- count = 0
- for name in names[1:]:
- pl.subplot(2,4,count+1)
- pl.title(name)
- #pl.plot(np.array(range(len(hump_day[count])))+10, hump_day[count], label=name)
- pl.plot(np.array(range(len(hump_day[count]))) + 10, np.abs(np.gradient(hump_day[count])), color='r', label=name)
- if not ( count == 0 or count == 4 ):
- pl.yticks([])
- count += 1
- pl.xlim([0, 50])
- pl.ylim([0, 20])
- pl.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement