"Por que não reacender a epidemia", o pensamento veio de repente. Trabalhar em casa com a organização certa pode ser mais eficaz do que o trabalho de escritório, como resultado de um tempo extra honesto para "pensar" em outra coisa.
Tudo começou, é claro, a partir da construção de uma visualização diária dos dados sobre o COVID-19 do Centro Europeu de Controle de Doenças. Um algoritmo simples desenha gráficos com dados atualizados diariamente ao meio-dia. Os gráficos chamam a atenção para as ações antiepidêmicas efetivas da China quando a epidemia começou a declinar no início de março. Mas os países da Europa pegam o bastão - primeiro a Itália (você lembra como, no final de fevereiro, as autoridades de Milão pediram aos turistas que retornassem à cidade porque a economia está sofrendo?), Depois a Espanha.

— , , -, . 30 — , , , ? ? .
“” COVID-19 — - . , (!) . . . ? — !
- — . — . — . , — . . 3 :
, , — , . . ? , — “ ” caseIssuedDate ( — ). , — “ ” severity . “” .
: - = 1 .
:
epidemy = [[0, None, 'infected', 'mild', None, False]]
*, \ ‘result’ . ‘recovered’ ‘dead’.
— , …
— . , ( “”, , ). , — .
— , “”. , 0.1 (10%) 1 10 . 100 10 , 100 10 0.1 = 100 . , : , . () :
['infectDate', 'endOfCaseDate', 'result', 'severity', 'caseDocumentedDate', 'isolated' ]
, , ( — !) .
— , , . ? , . : , , , — deathRate.
- ::
dailyTransmissionContacts = 15
contagiousness = 0.01
severityRate = 0.3
deathRate = 0.5
caseDuration = 25
closedPopulation = 10000
periodToDocumented = caseDuration * 0.6
mildDocumentedRate = 0.3
severeDocumentedRate = 0.9
isolationQualityRate = 0.1
showDays = 150
(. ) :
periodToIssued — , ,
mildDocmentedRate — 30%
severeDocumentedRate = 90%
isolationQualityRate — () . 100%
? , — … , , , , . — . . , COVID-19. — .
. :
— “” “” “”
, “” —
.2
susceptibleToday = (closedPopulation - infectedCountToday - recoveredCountToday)
newAffectedPeopleCount = int(((activeInfectedCountToday * dailyTransmissionContacts * contagiousness) // 1 * susceptibleToday/closedPopulation + 1))
* — “” . . ( ) .
.
.
, pandas.
10 . : 0 (.. ) 100%, “” .
6 . 120 ( ) ( ) — , .
totalAffected: 10000 deathsTotal: 1582 deathRate_real = 15%

( ). 10 , ,

. , . , COVID-19, — 5-7 . , , —

caseDuration :

: , , .
:
. caseIssuedDate — . “” . : “ , ”. , , - .
: “, , . > ?”
: “ , ...
: , , — . 2 : mildDocumentedRate severDocumentedRate — ( ) . : 7-9 10 , , . , . , , , , , . ? , . , .
mildIDocumentedRate = 0.3
severeDocumentedRate = 0.9

, . , : 150 50 — , , .. .
, .
, .. , . , . () .
( — — )
totalAffected: 10000 deathsTotal: 1582 deathRate_real = 15%
DocumentedTotal: 4789 deathsDocumented: 1406 deathRate_docum = 29%
. .
() : “” . — , .
periodToDocumented — . , “” , , . , — , — , , .

periodToDocumented. mildDocumentedRate = 0.3 (30% ). “” , , .
: — , .

, [20:30] .
, , — .
:
.
. , , , .

(0 — , 1 — ).
, — , “ ” . , .
( ) .
, , . . , . ( 0.7) periodToDocumented.
, periodToDocumented ( ) 60% , .. 25 * 0.6 = 15 . 10, 7, 4

, , — “” , , , , . , .
:
totalAffected: 10000 deathsTotal: 1486 deathRate_real = 14%
totalAffected: 10000 deathsTotal: 1556 deathRate_real = 15%
totalAffected: 10000 deathsTotal: 1439 deathRate_real = 14%
totalAffected: 8466 deathsTotal: 1248 deathRate_real = 14%
— — . 2 :
dailyTransmissionContacts = 15
contagiousness = 0.01
“ ” . .

totalAffected: 10000 deathsTotal: 1557 deathRate_real = 15%
totalAffected: 7727 deathsTotal: 1173 deathRate_real = 15%
totalAffected: 4597 deathsTotal: 709 deathRate_real = 15%
totalAffected: 2008 deathsTotal: 299 deathRate_real = 14%
. 5 . , “ ”. — .
, .
. : 60 80, .

, , “” , , “ ”
totalAffected: 10000 deathsTotal: 1557 deathRate_real = 15%
totalAffected: 4597 deathsTotal: 709 deathRate_real = 15%
totalAffected: 10000 deathsTotal: 1434 deathRate_real = 14%
, “” , . , , , , / (, , ). “ ” — . , . , , — , ( , , , , , — , — ).
. ! , , .
: epidemy (‘recovered’).


totalAffected: 7890 deathsTotal: 1162 deathRate_real = 11%
totalAffected: 10000 deathsTotal: 1557 deathRate_real = 15%
5 20 ( ) 30% — .
, . :
- , «». . .
- . (, , , ) , , .
- , ( “ ”).
“ ” , .
“ ” “” . , , , — . “” “ ” .
Diferentes métodos de supressão podem diferir significativamente em efeito: os métodos testados de "auto-isolamento" e até "detecção precoce" não mostraram os resultados positivos esperados com parâmetros de modelo próximos ao COVID19. Ao mesmo tempo, qualquer medida de supressão em um grau ou outro "suaviza" o pico da epidemia, o que pode afetar positivamente o trabalho do sistema de saúde no contexto da epidemia.
A medida mais eficaz foi a quarentena. Quarentena oportuna e suficiente pode não apenas "esticar" o curso da epidemia, reduzindo a carga sobre o sistema de saúde, mas também às vezes reduzindo o número de casos e a mortalidade.
Laptop no link colab do google