Ein einfaches Epidemiemodell mit grundlegenden Python-Tools

"Warum nicht die Epidemie wieder entfachen", kam der Gedanke plötzlich. Die Arbeit von zu Hause aus mit der richtigen Organisation kann effektiver sein als die Büroarbeit, wodurch es eine ehrliche zusätzliche Zeit gibt, um über etwas anderes nachzudenken.


Alles begann natürlich mit dem Aufbau einer täglichen Visualisierung der Daten zu COVID-19 des Europäischen Zentrums für die Kontrolle von Krankheiten. Ein einfacher Algorithmus zeichnet täglich mittags Diagramme mit aktualisierten Daten. Die Diagramme machen auf Chinas wirksame Antiepidemie-Maßnahmen aufmerksam, als die Epidemie Anfang März abnahm. Aber die Länder Europas übernehmen den Staffelstab - zuerst Italien (können Sie sich erinnern, wie die Mailänder Behörden Ende Februar Touristen gebeten haben, in die Stadt zurückzukehren, weil die Wirtschaft leidet?), Dann Spanien.


Bild


— , , -, . 30 — , , , ? ? .


“” COVID-19 — - . , (!) . . . ? — !



- — . — . — . , — . . 3 :


  • : \\

, , — , . . ? , — “ ” caseIssuedDate ( — ). , — “ ” severity . “” .


: - = 1 .
:


  #['infectDate', 'endOfCaseDate', 'result', 'severity', 'caseDocumentedDate', 'isolated' ]
  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%

Bild


( ). 10 , ,


Bild


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


Bild


caseDuration :


Bild


: , , .


:


. caseIssuedDate — . “” . : “ , ”. , , - .


: “, , . > ?”
: “ , ...

: , , — . 2 : mildDocumentedRate severDocumentedRate — ( ) . : 7-9 10 , , . , . , , , , , . ? , . , .


mildIDocumentedRate = 0.3
severeDocumentedRate = 0.9

Bild


, . , : 150 50 — , , .. .


, .


, .. , . , . () .


( — — )


totalAffected: 10000     deathsTotal: 1582   deathRate_real = 15%
DocumentedTotal: 4789    deathsDocumented: 1406  deathRate_docum = 29%

. .


() : “” . — , .


periodToDocumented — . , “” , , . , — , — , , .


Bildepidemie-7


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


: — , .


Bild


, [20:30] .


, , — .



:


  • (, )
  • ( ) +


.
. , , , .


Bild


(0 — , 1 — ).
, — , “ ” . , .



( ) .


, , . . , . ( 0.7) periodToDocumented.
, periodToDocumented ( ) 60% , .. 25 * 0.6 = 15 . 10, 7, 4


Bild


, , — “” , , , , . , .


:


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 # 

“ ” . .


Bild


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, .


Bild


, , “” , , “ ”


totalAffected: 10000 deathsTotal: 1557 deathRate_real = 15%
totalAffected: 4597 deathsTotal: 709 deathRate_real = 15%
totalAffected: 10000 deathsTotal: 1434 deathRate_real = 14%



, “” , . , , , , / (, , ). “ ” — . , . , , — , ( , , , , , — , — ).
. ! , , .


: epidemy (‘recovered’).


Bild
Bild


totalAffected: 7890 deathsTotal: 1162 deathRate_real = 11%
totalAffected: 10000 deathsTotal: 1557 deathRate_real = 15%


5 20 ( ) 30% — .



, . :


  • , «». . .
  • . (, , , ) , , .
  • , ( “ ”).


“ ” , .


“ ” “” . , , , — . “” “ ” .


Verschiedene Methoden zur Unterdrückung können sich in ihrer Wirkung erheblich unterscheiden: Die getesteten Methoden der „Selbstisolierung“ und sogar der „Früherkennung“ zeigten nicht die erwarteten positiven Ergebnisse mit Modellparametern nahe COVID19. Gleichzeitig „glättet“ jedes Maß an Unterdrückung bis zu dem einen oder anderen Grad den Höhepunkt der Epidemie, was sich positiv auf die Arbeit des Gesundheitssystems im Kontext der Epidemie auswirken kann.


Die effektivste Maßnahme war die Quarantäne. Eine rechtzeitige und ausreichende Quarantäne kann nicht nur den Verlauf der Epidemie „verlängern“ und das Gesundheitssystem entlasten, sondern auch zeitweise sowohl die Anzahl der Fälle als auch die Sterblichkeit verringern.


Laptop auf Google Colab Link


All Articles