
рдкрд░рд┐рдЪрдп
. . . , , . ? ? , . : , , , . , , . , , , , . Johns Hopkins University.

COVID-19 тАФ , SARS-CoV-2 (2019-nCoV). тАФ , /, .
, , .
: |
, : , , , , , ( , ), . , , , , . , . , 2.4. , , , , тАФ . , ( 15% ), , , ; .
, , , . . :
- ,
- .
:
- , .
- , ( ). , .
- , , . .
- - ( ) , .
тАФ , - . COVID-19 1 14 .
. тАФ . . , 0.35 ( , 2.4 , 1 14) 0.135 . , . .
Python
: . , , (Total cases), (New cases) (Infected), , ( - , ).
import numpy as np
import matplotlib.pyplot as plt
COUNTRY = "Italy"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 74
INCUBATION_PERIOD = 15
np.random.seed(0)
def get_coef(day):
return COEF_BASE if day < DAY_QUARANTINE else COEF_QUARANTINE
if __name__ == "__main__":
days = np.arange(1, DAYS_OF_SIMULATION)
infected = np.random.randint(1, INCUBATION_PERIOD, 1)
infected_lst = []
new_cases_lst = []
new_cases_total_lst = []
for day in days:
coef = get_coef(day)
new_cases_idx = np.argwhere(infected == day).flatten()
new_cases_count = new_cases_idx.size
infected = np.delete(infected, new_cases_idx)
new_infected_count = np.random.poisson(coef, infected.size).sum()
new_infected = np.random.randint(1, INCUBATION_PERIOD, new_infected_count) + day
infected = np.concatenate((infected, new_infected))
infected_lst.append(infected.size)
new_cases_lst.append(new_cases_count)
new_cases_total_lst.append(sum(new_cases_lst))
print(day, infected.size)
plt.figure(figsize=(16, 8))
plt.subplot(311)
plt.title(f"COVID-19 pandemic in {COUNTRY}")
plt.plot(days, new_cases_total_lst)
plt.grid(True)
plt.legend(["Total cases"], loc='upper left')
plt.subplot(312)
plt.bar(days, new_cases_lst, alpha=0.7, color='y')
plt.grid(True)
plt.legend(["New cases"], loc='upper left')
plt.subplot(313)
plt.plot(days, infected_lst, color='r')
plt.grid(True)
plt.legend(["Infected"], loc='upper left')
plt.show()
.
DAYS_OF_SIMULATION - ,
COEF_BASE - ,
COEF_QUARANTINE - ,
DAY_QUARANTINE - ,
INCUBATION_PERIOD - ( ).
, , .
, :
COUNTRY = "Italy"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 74
INCUBATION_PERIOD = 15

. - , ( 74- ), - , , 14 . , 300000, 250- , 180 ( , , 6 ). , 40000.
:
тАФ 300000
тАФ 6
тАФ 40000
, , :
COUNTRY = "USA"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 83
INCUBATION_PERIOD = 15

. , , ( DAY_QUARANTINE - ), , COEF_QUARANTINE . .
:
тАФ 1700000
тАФ 6
тАФ 250000
тАФ , . , , . "" . :
- тАФ .
- 1 тАФ .
- 2 тАФ .
.
I.
COUNTRY = "Russia"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 73
INCUBATION_PERIOD = 15

тАФ 250000
тАФ 6
тАФ 35000
II. 1
COUNTRY = "Russia"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 80
INCUBATION_PERIOD = 15

тАФ 950000
тАФ 7
тАФ 140000
III. 2
COUNTRY = "Russia"
DAYS_OF_SIMULATION = 366
COEF_BASE = 0.35
COEF_QUARANTINE = 0.135
DAY_QUARANTINE = 87
INCUBATION_PERIOD = 15

тАФ 4000000
тАФ 8
тАФ 550000
, , -, DAY_QUARANTINE, COEF_QUARANTINE, ( , ). - :
- , ;
- ;
- .
, , . , . , . :
- , , ,
- ,
- ( , ),
- ,
- ,
- тАж .
рдореИрдВ рдкрд╛рдардХреЛрдВ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдЕрдиреНрдп рджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВред рдЕрдзрд┐рдХ рдмреЗрд╣рд┐рд╕рд╛рдм рдХрд╛рд░рдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдирд╛ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред