BLog

ImprintImpressum
PrivacyDatenschutz
DisclaimerHaftung
Downloads 

Vorhersagen zur Ausbreitung des n-Coronavirus-2019 in DE und BR

Beim Vergleich der verschiedenen Modelle zur Beschreibung der Ausbreitung des n-Coronavirus-2019 zeigte sich, daß die Kurvenanpassung der Generalisierten Logistischen Funktion (GLF) dicht gefolgt von der des SEIR-Modell an die vom CSSE@JHU bereitgestellten Falldaten die kleinsten systematischen Abweichungen ergab. Hier präsentiere ich die tagesaktualisierten Verläufe für Deutschland und Brasilien vom 23. Februar (Tag 33 = Karnevalssonntag) bis zum 23. August 2020 (Tag 215) inklusive Simulationen nach Kurvenanpassungen des SEIR-Modells mit meinem Tool xcssecovid.

Die Diagramme auf dieser Seite sind im SVG-Format, und man kann mit den im Browser vorhandenen Funktionen hinein- und herauszoomen.

Deutschland

Für Deutschland liegen die 7 Kurven der Simulationsretrospektive exakt unter der blauen Kurve der aktuellen Simulation. Die Vorhersage ist schon seit einigen Wochen stabil. Die bisherigen Eindämmungen bewirkten, daß die VSP - Virtuelle Suszipierfähige (anfällige) Population von anfänglich im Schnitt etwa 150000 (Parameter a1) nur ein Bruchteil der tatsächlichen Einwohnerzahl von 83M ausmachte.

xcssecovid -r7 -m SEIR -f01234 -a8 7500000 Germany \
           time_series_covid19_confirmed_global.csv DE.txy

Die Virtuelle Suszipierfähige (anfällige) Population

Susziperfähig (anfällig) gebrauche ich hier in Anlehnung an das engl. Adjektiv susceptible, dessen Initiale sich ja auch im Namen des SEIR-Modells wiederfindet, und diejenigen Personen charakterisiert, die mit dem Virus infizierbar sind. Überraschend ist allerdings, daß keine vernünftige Kurvenanpassung gelingt, wenn man die gesamte Einwohnerzahl Deutschlands, nämlich ca. 83M als anfällige Population vorgibt. Das kann zweierlei bedeuten, nämlich entweder ist das Modell falsch, oder die Infektionswelle trifft tatsächich nur einen relativ kleinen Teil der Bevölkerung.

So fürchterlich falsch kann das Modell eigentlich nicht sein, denn dazu macht es zu gute Vorhersagen, und man kann allenfalls noch an den Details feilen. Ich glaube nun aber auch nicht, daß ein Großteil der Bevölkerung immun gegen das Virus ist, sei es duch natürliche oder während der Welle erworbene Immunität. Ich neige zu der Annahme, daß es sich um einen statistisch-dynamischen Effekt handelt, der im großen Querschnitt immer nur einen geringen, nämlich virtuellen, Teil der Population dem Virus gegenüber suszipierfähig erscheinen läßt. Diese Virtual Susceptible Population (VSP) beim Ausbruch der Infektion ergibt sich als direktes Ergebnis der Kurvenanpassungen (Parameter a1). Dabei handelt es sich aber nicht um eine Naturkonstante, denn während des Infektionsverlaufs können Individuen von der Gesamtbevölkerung (Total Population TP) in die virtuelle anfällige Population (VSP) übertreten und auch wieder zurück, d.h. im Grunde diffundieren. Diese Diffusion wird im Modell mit dem Parameter a8 eingefangen. Dabei ist a8 der Faktor aus einer Diffusionskonstanten d und der Gesamtbevölkeung TP, nämlich a8 = d·TP. Die Rate mit der Individuen entlang des Konzentrationsgefälles aus der Gesamtbevölkeung (TP) in den virtuellen Anteil der anfälligen Population (VSP) diffundieren ergibt sich damit zu a8/VSP = d·TP/VSP.

xcssecovid -q -m SEIR -f01234 -a8 7500000 Germany \
           time_series_covid19_confirmed_global.csv DEeq.tsv

Brasilien

In Brasilien haben wir den Wendepunkt noch nicht durchlaufen, und deshalb reagieren die Kurvenanpassungen noch sehr stark auf Streuungen in den gemeldeten Fallzahlen. Das war bei den Kurvenanpassungen an die deutschen Meldedaten ebenso.

xcssecovid -r7 -m SEIR -a3 0.25 -a4 0.1 -t40 Brazil \
           time_series_covid19_confirmed_global.csv BR.tsv

xcssecovid -q -m SEIR -a3 0.25 -a4 0.1 -t40 Brazil \
           time_series_covid19_confirmed_global.csv BReq.tsv

Die tägliche Aktualisierung

Hier kommt das Update-Shell-Script, das auf meinem FreeBSD-Server täglich um 3:05 UTC via Cron-Job ausgeführt wird:

#!/bin/sh

CWD=$PWD
cd /root/etc/corona

if [ "$1" == "fetch" ]; then

   /usr/bin/fetch -q https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
   rm -f time_series_covid19_confirmed_global.csv.old
   cd $CWD
   exit 0

elif [ "$1" == "force" ]; then

   if [ -e "time_series_covid19_confirmed_global.csv" ]; then
      mv time_series_covid19_confirmed_global.csv time_series_covid19_confirmed_global.csv.old
   else
      /usr/bin/touch time_series_covid19_confirmed_global.csv.old
   fi

elif [ "$1" == "refresh" ]; then

   rm -f time_series_covid19_confirmed_global.csv.old
   /usr/bin/touch time_series_covid19_confirmed_global.csv.old

elif [ ! -e "time_series_covid19_confirmed_global.csv.old" ]; then

   cd $CWD
   exit 0

fi

/usr/bin/fetch -q https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
if [ "$?" == "0" ]; then

   oldchk=`sha256 -q time_series_covid19_confirmed_global.csv.old`
   newchk=`sha256 -q time_series_covid19_confirmed_global.csv`

   if [ $newchk == $oldchk ]; then
      rm -f time_series_covid19_confirmed_global.csv
      cd $CWD
      exit 0
   else
      rm -f time_series_covid19_confirmed_global.csv.old
   fi

else
   rm -f time_series_covid19_confirmed_global.csv
   cd $CWD
   exit 0
fi


/root/bin/xcssecovid -r7 -m SEIR -f01234 -a8 7500000   Germany time_series_covid19_confirmed_global.csv DE.txy && \
/root/bin/xcssecovid -q  -m SEIR -f01234 -a8 7500000   Germany time_series_covid19_confirmed_global.csv DEdeqs.txy && \
/root/bin/xcssecovid -r7 -m SEIR -a3 0.25 -a4 0.1 -t40 Brazil  time_series_covid19_confirmed_global.csv BR.txy && \
/root/bin/xcssecovid -q  -m SEIR -a3 0.25 -a4 0.1 -t40 Brazil  time_series_covid19_confirmed_global.csv BRdeqs.txy

if [ "$?" == "0" ]; then
  
   /root/bin/plotsvg -x 33:215:14:7 -y  17:-:-:-:1000000       -L 0:0:0 -d 675:418 -b bg.svg DE.txy DE.svg
   /root/bin/plotsvg -x 33:215:14:7 -y  30:300000:-:-:1000000  -L 0:1:0 -d 675:418 -b bg.svg DE.txy DElg.svg
   /root/bin/plotsvg -x 33:215:14:7 -y 0.1:-:-:-:1000000       -L 0:0:0 -d 675:418 -S5 -T1:green -T2:orange -T3:purple -T4:blue:1.5 -b bg.svg DEdeqs.txy DEdeqs.svg
   /root/bin/plotsvg -x 33:215:14:7 -y   1:-:-:-:1000000       -L 0:0:0 -d 675:418 -b bg.svg BR.txy BR.svg
   /root/bin/plotsvg -x 33:215:14:7 -y  20:2000000:-:-:1000000 -L 0:1:0 -d 675:418 -b bg.svg BR.txy BRlg.svg
   /root/bin/plotsvg -x 33:215:14:7 -y 0.1:-:-:-:1000000       -L 0:0:0 -d 675:418 -S5 -T1:green -T2:orange -T3:purple -T4:blue:1.5 -b bg.svg BRdeqs.txy BRdeqs.svg

   ACTUALDATE=`date -jf "%m/%d/%y" "+%d.%m.%y" $(head -1 time_series_covid19_confirmed_global.csv | /usr/bin/sed 's|^.*,\([^,][^,]*\)|\1|g')`

   if [ -e "DE.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" DE.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/DE.svg
   fi

   if [ -e "DElg.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" DElg.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/DElg.svg
   fi
  
   if [ -e "DEdeqs.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" DEdeqs.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/DEdeqs.svg
   fi
  
   if [ -e "BR.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" BR.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/BR.svg
   fi

   if [ -e "BRlg.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" BRlg.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/BRlg.svg
   fi

   if [ -e "BRdeqs.svg" ]; then
      /usr/bin/sed "s|ACTUALDATE|$ACTUALDATE|" BRdeqs.svg > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/BRdeqs.svg
   fi

   /root/bin/xcssecovid -i -m SEIR -f01234 -a8 7500000   Germany time_series_covid19_confirmed_global.csv - > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/DE-SEIR.txt
   /root/bin/xcssecovid -i -m SEIR -a3 0.25 -a4 0.1 -t40 Brazil  time_series_covid19_confirmed_global.csv - > /usr/local/www/Obsigna/webdocs/articles/static/1586737537/BR-SEIR.txt
fi

cd $CWD

Diskussion auf Twitter: 1257458323588333570

Copyright © Dr. Rolf Jansen - 2020-04-12 21:25:37

PROMOTION