Schmale Peaks bei Masern

Gekoppelte Populationen

In vielen interessanten Situationen wirken mehrere Populationen aufeinander ein. Die Entwicklung von zwei oder mehreren Populationen ist gekoppelt. In manchen Situationen werden durch biologische oder physikalische Prozesse aus den Angehörigen der einen Populationen Mitglieder einer anderen Population: Junge werden alt, Alte sterben; Gesunde werden krank, Kranke werden gesund; aus Schülern werden Studenten, aus Studenten Berufstätige, bevor aus diesen Rentner werden. In anderen Situationen, die wir betrachten werden, koexistieren mehrere Populationen und ihr Zusammenwirken kann beiden Populationen nützen, beiden schaden oder nur einer Population zum Nutzen sein.

Wir modellieren ein Problem aus der Epidemiologie, bei dem aus Mitgliedern der Population der Gesunden in Folge Ansteckung Kranke werden, bevor diese wiederum gesunden und danach immun werden.

Die Krankheit Masern ist eine durch das Masernvirus hervorgerufene, hoch ansteckende Infektionskrankheit, die vor allem Kinder betrifft. Neben den typischen roten Hautflecken (Masern-Exanthem) ruft die Erkrankung Fieber und einen erheblich geschwächten Allgemeinzustand hervor.

Bemerkenswert an der Epidemie ist, dass in den Zeiten zwischen dem massiven Auftreten die Krankheit fast völlig zum Abklingen zu kommen scheint. Ähnliche Verläufe findet man auch in anderen Ländern, wobei Masernepidemien in Entwicklungsländern in höherer Frequenz und Intensität auftreten.

Ein Modell

Betrachten wir ein einzelnes Kind, das noch nicht mit Masern infiziert ist. Solch ein Kind wollen wir empfänglich nennen. Sofort nach der Infektion gibt es eine latente Periode von einer Woche (die Inkubationszeit), in der das Kind keine anderen Kinder anstecken kann, und in dem es auch noch keine Krankheitsanzeichen hat. Das Virus hat sich noch nicht hinreichend vermehrt. Nach dieser Woche ist das Kind infektiös und kann andere Kinder anstecken. Diese Zeit dauert ebenfalls eine Woche. Nach dieser Zeit erscheinen die typischen roten Pusteln und das Kind erholt sich wieder. Dann kann dieses Kind nicht mehr angesteckt werden und ist immun gegen das Masernvirus. Wir haben somit die drei Populationen:

Zur Modellierung des Krankheitsverlaufes in der Bevölkerung müssen einige zum Teil stark vereinfachende Annahmen getroffen werden. Wir gehen von einer Stadt aus, in der folgende Annahmen gelten:

Da es jeweils eine Woche dauert, bis ein Kind infektiös wird bzw. sich die Pusteln zeigen, liegt unserem zu erstellendem Modell eine Zeitskala mit Schritten von einer Länge von einer Woche zugrunde. Wir führen folgende Grössen ein

In=Anzahl der infektio¨sen Kinder in der n-ten WocheEn=Anzahl der empfa¨nglichen Kinder in der n-ten WocheMn=Zahl der immunen Kinder in der n-ten Woche\begin{align*} I_n &= \text{Anzahl der infektiösen Kinder in der $n$-ten Woche}\\ E_n &= \text{Anzahl der empfänglichen Kinder in der $n$-ten Woche}\\ M_n &= \text{Zahl der immunen Kinder in der $n$-ten Woche} \end{align*}

\subsection*

Wir betrachten ein kleines Zahlenbeispiel, um ein "Gespür" für das Modell zu kriegen. Nehmen wir einmal an, es gäbe in der 3. Woche 50 infektiöse, 10 000 empfängliche und 30 immune Kinder. Wenn jedes infektiöse Kind genau drei Kinder ansteckt und pro Woche 200 Kinder geboren werden, so gibt es in der vierten Woche 150 infektiöse, 80 immune und 1005010\,050 empfängliche Kinder.

Allgemeine Modellierung

Allgemein überlegen wir uns, wie viele empfängliche Kinder ein infektiöses Kind in der (n+1)(n+ 1)-ten Woche ansteckt. Gemäss den oben formulierten Annahmen gibt es EnE_n empfängliche Kinder. Daher lautet die Antwort für ein infektiöses Kind fEnf\cdot E_n. Nun gibt es aber InI_n viele infektiöse Kinder. Diese zusammen stecken fInEnf\cdot I_n\cdot E_n Kinder an.

Wie viele Kinder sind in der (n+1)(n+1)-ten Woche empfänglich? Nun, das sind gerade die Empfänglichen aus der Vorwoche vermindert um die Zahl derer, die sich infiziert haben. Hinzu kommen aber noch die Neugeborenen. Hingegen ergibt sich die Zahl der immunen Kinder der (n+1)(n+1)-Woche, indem man zu den immunen Kindern der Vorwoche noch die infektiösen Kinder der Vorwoche hinzuzählt, da sie inzwischen gesundet sind. Zusammen ergibt sich somit

In+1=fEnInEn+1=EnfEnIn+BMn+1=Mn+In\begin{align*} I_{n+1} &= f\cdot E_n\cdot I_n\\ E_{n+1} &= E_n-f\cdot E_n\cdot I_n+B\\ M_{n+1} &= M_n+I_n \end{align*}

mit den Anfangsbedingungen I0=20I_0=20, E0=30000E_0=30000, M0=0M_0=0. In unserem Fall ist das zu lösende System also

In+1=0.3104EnInEn+1=En0.3104EnIn+120\begin{align*} I_{n+1} &= 0.3\cdot10^{-4}\cdot E_n\cdot I_n\\ E_{n+1} &= E_n-0.3\cdot10^{-4}\cdot E_n\cdot I_n+120 \end{align*}

Wir sind mit den Daten unserer Stadt gestartet, in der es pro Woche 120 Geburten gibt. Nun wollen wir den Einfluss der Geburtenrate studieren und legen dazu die Rate B=360B=360 für eine vergleichbare Stadt in einem Entwicklungsland zugrunde, in dem die Geburtenrate weitaus höher ist. Wie ändert sich dadurch der Verlauf der Anzahl der infektiösen Kinder?

Exercise 1: Simuliere

Simuliere das obige Szenario mit beiden Geburtenraten für 1000 Zeitenheiten. Vergleiche die Graphiken einerseits mit dem Artikel am Anfang und kommentiere andererseits den Einfluss der Geburtenrate auf den zeitlichen Verlauf der Krankheit.

Solution
import numpy as np
import matplotlib.pyplot as plt

# Anfangsbedingungen
I_0 = 20
E_0 = 30000
M_0 = 0

# Parameter
beta = 0.3 * 10**-4
iterations = 1000

# Arrays zur Speicherung der Werte
I = np.zeros(iterations)
E = np.zeros(iterations)

# Anfangswerte setzen
I[0] = I_0
E[0] = E_0

# Iteration des Modells
for n in range(iterations - 1):
    I[n + 1] = beta * E[n] * I[n]
    E[n + 1] = E[n] - beta * E[n] * I[n] + 120

# Plot der Ergebnisse
plt.figure(figsize=(10, 5))
plt.plot(I, label='Infektioes (I)')
plt.plot(E, label='Empfaenglich (E)')
plt.xlabel('Iterations')
plt.ylabel('Population')
plt.title('Epidemiemodell')
plt.legend()
plt.grid(True)
plt.show()

Nun kann man für 120120 einen Parameter BB setzen und die Simulation für verschieden Geburtenraten laufen lassen.

Die, für mich erstaunliche, Erkenntnis ist, dass die Peakhöhe allein auf die Änderung der Geburtenrate reagiert.

Exercise 2: Fixpunkte?

Gibt es einen Fixpunkt des Masernmodells?

Solution

Wir betrachten die beiden ersten Gleichungen unter der Fixpunktbedingung und erhalten

I=fEIE=EfEI+B.\begin{align} I &= fEI\tag{M1}\\ E &= E-fEI+B\tag{M2}. \end{align}

OEdA I0I\neq0, also nach (M1) 1=fEE=1f1=fE \Leftrightarrow E=\frac{1}{f}. Aus (M2) folgt fEI=BI=BfEI=B \Leftrightarrow I=B. Wir haben also den Fixpunkt (EI)=(1fB)(E|I)=(\frac{1}{f}|B) gefunden.

Wir erkennen in einer Simulation dieselbe Struktur, die sich auch schon in den realen Daten im Zeitungsartikel gezeigt haben. Auf Zeiten des fast völligen Verschwindens von Masern folgen in regelmässigen Abständen epidemieartige Ausbrüche der Krankheit. Man stellt ebenfalls fest, dass der zunächst harmlos erscheinende Parameter BB sich in der Simulation als sehr einflussreiche Grösse zeigt. Die Massernepidemien in der Vergleichsstadt aus dem Entwicklungsland sind unvergleichbar heftiger als in der Stadt, mit der wir unsere Überlegungen begonnen haben. Dies gilt nach diesem Model nicht - wie eine stereotype Wahrnehmung von Entwicklungsländern vielleicht zunächst vermuten lässt - beispielsweise aufgrund mangelnder Hygiene oder eines schlechteren Gesundheitssystems, sondern lediglich wegen der höheren Geburtenrate.