Corona: Virendynamik im Heimcomputer

Das Corona-Virus hat uns im Griff. Der Griff mag sich, dank der verordneten und überwiegend beherzigten Hygienemaßnahme, etwas lockern. Der Preis dafür ist die massive Einschränkung der Freiheitsrechte durch die Auferlegung von räumlicher Distanzierung, Untersagung von Versammlungen und Großveranstaltungen, Schließung von Geschäften und so weiter.

All das sind „Maßnahmen zur Eindämmung der Ausbreitung des neuartigen Coronavirus SARS-CoV-2“, wie es im Amtsdeutsch heißt. Ab kommendem Montag kommt in Hessen die Maskenpflicht hinzu. So etwas haben wir bisher im Nachkriegsdeutschland weder im Westen noch im Osten erlebt.

Es wird noch eine ganze Weile dauern, wie wir gleich sehen werden. Und auch wenn wir die Sache irgendwann hinter uns bringen, wird irgendwann ein neues Virus auftauchen, und wir stehen vor denselben Fragen und Problemen wie zurzeit: Inwieweit sind die Zwangsmaßnahmen zu rechtfertigen? Unter welchen Bedingungen ist eine Lockerung der Zwangsmaßnahmen angezeigt?

Entscheidungen setzen eine sorgfältige Güterabwägung voraus. Das ist Angelegenheit der Fachleute – Virologen und Epidemiologen – und der Politik. Wir Normalbürger wollen aber schon wissen, „mit welcher Soße wir verspeist werden“. Wir wollen das Ungeheuer zumindest sehen, um einschätzen zu können, welchen Nutzen die Gegenmaßnahmen versprechen.

In den Medien erhält momentan die Dynamik der Virenausbreitung allergrößte Aufmerksamkeit. Jeder kennt inzwischen die Namen der bedeutenden Virologen und Epidemiologen Deutschlands. Sie sagen uns täglich, wie hoch die Reproduktionszahl ist, welche Zuwachsrate gerade gilt und mit welcher Verdoppelungszeit bei den Infektionen wir zu rechnen haben.

Müssen wir Epidemiologie studiert haben, um dieses Zahlenwerk zu verstehen und deren Konsequenzen abschätzen zu können? Nein, ein paar Grundkenntnisse der Populationsdynamik helfen bei der Einordnung und Orientierung und auch bei der Aufdeckung der einen oder anderen Fehleinschätzung, die uns über das Internet erreicht.

Die folgenden Gedanken entwickle ich entlang der Linie meines Kurses Umweltsimulation mit Tabellenkalkulation. Wenn Sie etwas Begeisterung für Mathematik und für die Arbeit mit dem Computer mitbringen, werden Sie Ihr Excel-Programm öffnen und diese Simulationen selbst durchführen wollen.

Die Kenngrößen

Fangen wir mit den Kenngrößen an. Ich will ein paar Annahmen vorausschicken, die in das Design der Kalkulationstabelle einfließen. Zugrunde gelegt wird eine Population des Umfangs K; Ich wähle für die Grafiken K = 80 Mio., das ist in etwa die Anzahl der Einwohner Deutschland. Das ist sozusagen die Kapazität des Virusbehälters. Jeder Erkrankte wird nach fünf Tagen infektiös. Nach weiteren neun Tagen ist er gesund. Der tragische Todesfall bleibt unberücksichtigt. So herzlos es erscheinen mag: In der Dynamik des Virensystems spielt die Todesrate nur eine untergeordnete Rolle; und das hat ja nun auch wieder sein Gutes. (Achtung: Krank nenne ich hier alle, die aktuell infiziert sind, ob sie Symptome zeigen oder nicht. In den Krankenstatistiken erscheinen nur diejenigen, die  Symptome zeigen.)

Beim Ausbruch der Krankheit, also wenn kaum einer infiziert ist, steckt jeder Infizierte eine gewisse Anzahl von Mitbürgern an. Das ist die Basisreproduktionszahl R0. Man spricht beim Corona-Virus von Werten so um die drei. Je mehr Leute immun sind, umso weniger Opfer findet das Virus. Die Reproduktionszahl R ändert sich also mit der Zeit. Anfangs ist R = R0.

Eine weitere Kenngröße ist die relative Infektionsrate  r. Sie sagt uns, welchen Anteil die Zahl der Neuinfizierten eines Tages an der Gesamtzahl der momentan Infektiösen hat. Da voraussetzungsgemäß jeder Erkrankte neun Tage lang infektiös ist, ist die Zuwachsrate ein Neuntel der Reproduktionszahl, also: r = R/9. Bei einer Reproduktionszahl von R = 1,8 ist die relative Infektionsrate r also gleich 20%.

Die Infektionsrate ist anfänglich gleich r0 = R0/9. Mit zunehmender Zahl N von Leuten, die sich bereits infiziert haben und zum Teil auch wieder gesund sind, reduziert sich die Zahl derer, die überhaupt noch infiziert werden können, sie ist gleich KN. Dementsprechend setzen wir die aktuell wirksame Infektionsrate auf r = r0∙(KN)/K.

Die Kalkulationstabelle

In der Tabelle (Arbeitsblatt „Dynamik“) steht jede Zeile für einen Tag. Sie hat sechs Spalten. In der ersten werden die Tage durchnummeriert (Variable i), in der zweiten Spalte steht die Zahl der an dem jeweiligen Tag neu Infizierten. Für den Tag null ist diese Zahl vorgebbar. Dann kommt die Spalte mit der Zahl Xi derer, die an diesem Tag infiziert sind, gefolgt von der Gesamtzahl Nder bisher insgesamt Infizierten. In den letzten beiden Spalten stehen die jeweilige Reproduktionszahl Ri und die Infektionsrate ri.

Die Spalte der neu Infizierten ist die eigentlich interessante. Für den Tag null (i = 0) wird ein Anfangswert eingetragen, beispielsweise der Wert eins für nur einen anfangs Infizierten. In jeder anderen Zeile i steht die Anzahl der zum Zeitpunkt i-1 infektiösen Personen, das ist die Summe aller Neuinfizierten der Tage von i-14 bis i-6, soweit diese vorhanden, multipliziert mit der für den Vortag gültigen Infektionsrate ri-1.  Damit hat man die Anzahl der am Tag i neu Infizierten.

Die Formeln der anderen Spalten sind einfach: Xi enthält die Zahl der momentan infizierten Personen; diese ist gleich der Summe aller in den letzten vierzehn Tagen neu infizierten Personen. Ni enthält die Summe sämtlicher Personen, die bisher infiziert waren oder infiziert sind. Die aktuell wirksame Infektionsrate ergibt sich aus der obigen Formel. Die Reproduktionszahl ist das Neunfache dieses Wertes.

Ergebnisse

Das erste Bild ist Ergebnis eines Simulationslaufs mit der Basisreproduktionszahl 4,5.  Es fängt harmlos an. Ab dem fünfzigsten Tag ist das exponentielle Wachstum nicht zu übersehen. Der Kurve lassen sich jetzt auch die Zeiten bis zur jeweiligen Verdopplung der Infizierten entnehmen. Am hundertsten Tag etwa erreicht die Zahl der Infizierten den Höchstwert. Die Zahl der aktuell Infizierten stagniert und geht dann zurück. Dementsprechend sinkt die Reproduktionszahl auf Werte unter eins und nähert sich dem Wert null. Die Bevölkerung ist nahezu komplett durchseucht. Fast jeder war einmal infiziert.

Bei so einem Verlauf wird das Gesundheitssystem kurzzeitig stark belastet: Zur Hochzeit der Pandemie ist mehr als die Hälfte der Bevölkerung krank.

Im folgenden Bild wird deutlich, was eine Verringerung der Basisreproduktionszahl durch strengere Eindämmungsmaßnahmen bewirkt. Die Simulation wurde mit dem Wert 1,8 durchgeführt.  Die Spitzenbelastung ist jetzt gegenüber dem ersten Simulationslauf um fast den Faktor  fünf reduziert. Die Belastung ist insgesamt zwar geringer, aber es dauert wesentlich länger, bis die Pandemie überwunden ist. Bemerkenswert ist, dass die Reproduktionszahl gar nicht auf null absinken muss, um die Pandemie zu überwinden. Hier liegt sie schließlich knapp über 50%. Die Durchseuchung der Gesellschaft ist nicht vollständig; sie  liegt schließlich bei 74%.

Zum Schluss

Der österreichische Bundeskanzler Sebastian Kurz sagte auf einer Pressekonferenz: „Der Replikationsfaktor muss unter 1 sinken und mittelfristig in Richtung 0 verlaufen.“ Ulrich Berger widerspricht in seinem Ökonomieblog auf derStandard.de („Epidemiologie im Bundeskanzleramt mit drei Fragezeichen“, 1.4.2020): „In Wuhan etwa wurde laut dem Expertenpapier durch starke Abschottung sogar eine Reproduktionszahl von 0,32 erreicht. Ein R0 nahe bei 0, wie es Sebastian Kurz im Sinn zu haben schien, wäre dagegen eine gefährliche Drohung. Es würde nämlich eine extreme weitere Verschärfung der bisherigen Maßnahmen erfordern, deutlich über jene in Wuhan hinaus, bis hin zur fast völligen Isolation aller Einwohner des Landes. Zum Glück ist das nicht notwendig.“

Mittels Tabellenkalkulation haben wir den Hintergrund von Ulrich Bergers Widerspruch ausgeleuchtet. Damit sind wir nicht zu Experten für Epidemiologie geworden. Wir haben nur das gemacht, was dem Bürger zusteht: einmal genauer hinsehen auf das, was die Politiker und Fachleute so treiben.

Und noch etwas: Um die obigen Schreckensszenarien zu vermeiden, versuchen wir zurzeit die Basisreproduktionsrate unter den Wert eins zu drücken. Die Phase exponentiellen Wachstums wird so vermieden, aber auch die der Herdenimmunintät; Ziel ist, den Krankenstand so zu senken, dass Einzelfallverfolgung wieder möglich wird. Mit derart lokal begrenzten Eindämmungsmaßnahmen ließe sich die Zeit bis zu einer dann hoffentlich möglichen Corona-Impfaktion leidlich überbrücken. Mai Thi hat dazu mehr zu sagen.

Dieser Beitrag wurde unter Bildungswesen, Naturwissenschaften, Prognosen, Statistik abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

3 Antworten zu Corona: Virendynamik im Heimcomputer

  1. Gernot Buth sagt:

    Die Grenzen dieses Modells

    Als die Krise in Deutschland ankam und erste Maßnahmen ergriffen wurden,
    also etwa Mitte März, wurde ich durch verschiedene Medien, unter anderem
    vom heute-journal, mindestens ein halbes Dutzend mal darüber aufgeklärt,
    was ein exponentielles Wachstum bedeutet, welche Dynamik darin liegt und
    warum es so kontraintuitiv ist. Zugleich wurden diese bekannten
    „Glockenkurven“ des Infektionsverlaufs gezeigt, aber kein Wort dazu, was
    die Dynamik eigentlich begrenzt. Leute, geht’s noch? Dass exponentielles
    Wachstum kontraintuitiv ist, habe ich bereits zu Grundschulzeiten
    begriffen, als dieses Rätsel diskutiert wurde:
    https://seerosenliebe.de/interessantes/wann-ist-der-see-zugewachsen/
    Später, in der Mittelstufe, kam das bekannte
    Weizenkörner-auf-dem-Schachbrett-Problem zur Sprache:
    https://de.wikipedia.org/wiki/Sissa_ibn_Dahir
    Aber das ist doch maximal die halbe Geschichte. Es ist klar, dass dieses
    Wachstum nicht unbegrenzt so weiter gehen kann, aber wann und wodurch
    wird es gebremst?

    Weil die Darstellung in den Medien so unbefriedigend war, habe ich mir
    selbst ein Modell gebaut. Obwohl ganz unabhängig von den Überlegungen
    von Prof. Grams entwickelt, ist es mit seinem bis auf technische Details
    identisch. Nur habe ich es nach anfänglichen Versuchen mit einer
    Tabellenkalkulation (gnumeric) dann auf einem Taschenrechner (HP Prime)
    implementiert – siehe unten. Der Grund war, dass es so leichter möglich
    ist, Inkubationszeit und Infektionsdauer als Variablen zu betrachten.
    (Ich weiß, mittels indirekter Zellbezüge ginge auch das mit Excel,
    bleibt aber umständlich).

    Zugleich, und das ist der Grund, aus dem ich diesen Kommentar schreibe,
    wurden mir zahlreiche vereinfachende Modellannahmen und Randbedingungen
    dieses Modells bewusst:
    * Die wichtigste dürfte sein, dass dieses Modell keinerlei Ortsauflösung
    besitzt. Das bedeutet, jeder Infizierte könnte jederzeit jeden noch
    nicht Infizierten anstecken, unabhängig davon wie weit sie voneinander
    entfernt sind.
    * Die Population wird als konstant über den Simulationszeitraum
    angenommen. Wie Prof. Grams bereits angemerkt hat, wird also auch die
    Zahl der an der Erkrankung Verstorbenen vernachlässigt bzw. werden
    Verstorbene als nicht mehr infektiös angesehen.
    * Die Population ist abgeschlossen, d.h. es gibt keine Migration über
    die Grenzen hinweg, insbesondere werden keine Infektionen von außen
    hinein getragen.
    * Nach der (für alle gleichen) Inkubationszeit wird die Infektiösität
    der Betroffenen über die Infektionsdauer als konstant angenommen.
    * Es gibt keine regulatorischen Maßnahmen (z.B. „Social Distancing“)
    während des Simulationszeitraums.
    * Jedes Individuum kann sich höchstens einmal infizieren.
    * Es gibt keine Grundimmunität in der Population.

    Übrigens wurde in den Medien sehr wohl erklärt, was die Dynamik der
    Infektion letzendlich begrenzt, beispielsweise in diesem exzellenten
    Beitrag:
    https://www.deutschlandfunk.de/corona-infektionsgeschehen-der-wert-und-die-aussagekraft.676.de.html?dram:article_id=475260
    Als der Beitrag ausgestrahlt wurde, war meine Simulation allerdings
    bereits seit einen Monat fertig und die Erklärung ist auch nur qualitativ.

    Hier kommt nun die entsprechende Funktion für Taschenrechner (HP Prime).
    Die zu übergebenden Parameter sind:
    Brr: Basisreproduktionsrate
    G0: Gesamtpopulation
    I0: Anzahl der Primärinfektionen
    Ti: Inkubationsdauer (in Tagen, ganzzahlig)
    Du: Dauer der Infektiösität (in Tagen, ganzzahlig)
    Num: Simulationszeitraum (in Tagen, ganzzahlig)

    Die Funktion liefert drei Listen zurück:
    glst: Anzahl der noch nicht Infizierten („Gesunde“)
    hlst: Anzahl der Infektiösen („Heiße“)
    ilst: Anzahl der Neuinfektionen („neu Infizierte“)
    und das jeweils pro Tag des Simulationszeitraums.

    EXPORT PANDEMIC(Brr,G0,I0,Ti,Du,Num)
    // Simulation of a pandemic
    // 22.03.2020 © GBu
    // Brr : Basic reproductive rate
    // G0 : Initial healthy population
    // I0: Number of primary infections (usually = 1)
    // Ti: Incubation period
    // Du: Duration of the „hot“ infection phase of one patient
    // Num: Total number of data points (days)
    // Ti, Du, Num are integers
    // This program is for educational purposes only.
    // Do not try to use it for the prediction of real pandemics!
    BEGIN
    LOCAL glst,hlst,ilst,inew,hsum,idx;
    glst:={G0};
    // Number of uninfected individuals („_G_ood health“)
    hlst:={0};
    // Number of infectious individuals („_H_ot“)
    ilst:={I0};
    // Nuber of new _I_nfections
    FOR idx FROM 1 TO Num-1 DO
    IF idx-Ti < 1 THEN hsum:=0; ELSE hsum:=sum(ilst({MAX(1,idx-Ti-Du+1),idx-Ti})); END; inew:=Brr*hsum/Du*glst(idx)/G0; glst:=CONCAT(glst,glst(idx)-inew); hlst:=CONCAT(hlst,hsum); ilst:=CONCAT(ilst,inew); END; RETURN {glst,hlst,ilst}; END; Da kann man dann z.B. mit der "Statistiken 2 Var" App Grafiken daraus erzeugen: Taschenrechnergrafik
    Beispiele für die Zahl der Erkrankten bei Brr = 3.0 (blau), Brr = 2.0 (rot) und Brr = 1.5 (grün). Die anderen Parameter waren: G0 = 8.0E7, I0 = 1, Ti = 5, Du = 10, Num = 730.
    Eine Achsenbeschriftung erlaubt die Taschenrechnergrafik leider nicht.
    Das ist auf dem Taschenrechner auch gar nicht nötig, weil man mit dem
    Cursor jeden Punkt auf dem Display ansteuern kann und er dann seine
    Koordinaten ausplaudert. Zur Orientierung sei aber gesagt, dass das
    Maximum der blauen Kurve bei etwa 2.4E7 liegt und auf der Abszisse der
    gesamte Simulationszeitraum von 2 Jahren (730 Tagen) aufgetragen ist.

    • Timm Grams sagt:

      Ja, man sollte sich über die einschränkenden Bedingungen des Modells im Klaren sein, darüber hinaus aber auch darüber, dass der Anspruch der Simulation ein bescheidener ist: Besser verstehen und einordnen können, wovon in Wissenschaft und Politik derzeit die Rede ist.

      Eine Anmerkung noch: Das Modell setzt nicht voraus, dass es „keine regulatorischen Maßnahmen (z.B. ‚Social Distancing‘) während des Simulationszeitraums“ gibt. Regulatorische Maßnahmen, die über den Simulationszeitraum beibehalten werden, lassen sich über die Basisreproduktionszahl berücksichtigen.

  2. Gernot Buth sagt:

    Möglich, dass ich mich mich da missverständlich ausgedrückt habe. „Während des Simulationszeitraums“ meint das offene Intervall zwischen Startzeitpunkt und Endzeitpunkt der Simulation. Also z.B. Maßnahmen, die ergriffen werden, wenn ein rasanter Anstieg der Infektionszahlen erstmals festgestellt wird. Oder auch die Lockerung solcher Maßnahmen, wenn die Zahl der Neuinfektionen sinkt. Solches bildet das Modell naturgemäß nicht ab.
    Aber richtig ist, dass die Basisreproduktionszahl keine Naturkonstante ist und auch nicht allein in der Biologie der Infektion begründet ist, wie es Dr. Kessler, gesundheitspolitischer Sprecher der Partei „Die Linke“, in einer Rundfunkdiskussion am 16.03.2020 suggeriert hat. Gerade darum habe ich ja die drei Fälle mit unterschiedlichem Brr durchgerechnet, um zu zeigen wie #FlattenTheCurve funktioniert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.