Discussion:
Coronavirus: Geheilte Personen mit in die Berechnung einbeziehen?
(zu alt für eine Antwort)
Stephan Gerlach
2020-04-01 22:39:53 UTC
Permalink
[Prognose, Teil 2, leider nicht komplett gelöst...]

Wir gehen wieder aus von einer abgeschlossenen Population, in der die
Anzahl N_i der zum Zeitpunkt t infizierten Personen angegeben werden soll.
Im Vergleich zu meiner ersten Modellierung (siehe "Coronavirus:
Pessimistische Prognose") will ich nun zusätzlich annehmen, daß Personen
auch geheilt werden können.

Überraschenderweise muß durch die Heilungs-Annahme viel mehr geändert
werden als gedacht.


Los geht's:
-----------
N_G = Gesamt-Anzahl aller Personen in der Population (zu jedem Zeitpunkt
konstant)
t = Zeit (genauer: Zeitpunkt)
dt = (infinitesimales) Zeitintervall, genauer: [t, t+dt]

Man geht davon aus, daß es 3 Arten von Personen gibt:
- noch nicht infiziert (n)
- aktuell infiziert (i)
- geheilt (g).

Die Anzahlen dieser Personen hängen von der Zeit ab und bezeichnen wir
mit Ni(t), Nn(t), Ng(t).

Wir haben Anfangswerte
Ni_0 = Anzahl der am Anfang (Zeit t=0) infizierten Personen
Nn_0 = Anzahl der am Anfang (Zeit t=0) noch nicht infizierten Personen
Ng_0 = Anzahl der am Anfang (Zeit t=0) geheilten Personen (ist 0)

Theoretisch kann im Zeitintervall dt eine beliebige Person von jedem der
3 Zustände (n), (i), (g) in einen anderen Zustand übergehen. Praktisch
sind aber nur folgende Zuständsänderungen möglich bzw. von Bedeutung:
(n) --> (i)
(i) --> (g).

Für den Heil-Vorgang (i) --> (g) nehmen wir eine konstante Zeit T an,
die für jede Person im Zustand (i) gleich ist:

T = Heilzeit

D.h. eine Person ist erst im Zustand (i), und dann dauert es die Zeit T,
bis die Person abrupt in den Zustand (g) übergeht.


Wir bezeichnen wieder:

K = Anzahl aller(!) Kontakte in der Population im Zeitintervall dt
k = verhaltensabhängige Konstante der Population, nicht von N_G oder t
abhängig, beschreibt die Anzahl aller Kontakte pro Gesamtzahl Personen
und pro Zeitintervall, also
k = K/(N_G*dt).

K_{i,n} = Anzahl aller Kontakte der Art (i)--(n) in der Population im
Zeitintervall dt.

p = Wahrscheinlichkeit für einen beliebigen Kontakt, daß dieser Kontakt
von der Art (i)--(n) ist.


Gesucht ist nun nicht mehr nur Ni als Funktion von t, sondern auch Nn
und Ng:
Ni(t) = ? (wie bei der Modellierung ohne Heilung)
Nn(t) = ?
Ng(t) = ?

Mit den eingeführten Bezeichnungen gilt nun folgendes:
------------------------------------------------------
Erstmal ein Sammelsurium an Gleichungen, die sich mehr oder weniger
direkt aus Annahmen ergeben:

K = k*N_G*dt
Ni + Nn + Ng = N_G
Ni'(t) + Nn'(t) + Ng'(t) = 0
dNn = -K{i,n}
K_{i,n} = K*p
p = 2*Ni*Nn/((N_G*(N_G-1))

Eine sehr merkwürdige Gleichung, die ich hervorheben will, lautet dabei:
dNg(t) = -dNn(t-T)

In Worten:
"Im Intervall [t, t+dt] ist die Zunahme der Geheilten genau die Abnahme
der Noch-nicht-Infizierten im Intervall [t-T, t-T+dt]".

Diese Annahme erscheint mir plausibel, scheint aber zu gravierenden
rechnerischen Problemen zu führen.

Der besseren Übersichtlichkeit wegen kürzen wir (als Konstante) ab
c := 2*k*/(N_G-1)


Das alles führt zu einem Differential(?)gleichungs-System mit 3
Gleichungen und 3 gesuchten Funktionen mit Anfangswerten.

Differential(?)gleichungssystem:
--------------------------------
[1] Nn'(t) = -c * Ni(t) * Nn(t)
[2] Ng'(t) = c * Ni(t-T) * Nn(t-T)
[3] Ni'(t) + Nn'(t) + Ng'(t) = 0

(Evtl. ist noch Ni(t) + Nn(t) + Ng(t) = N_G hilfreich?!)

Anfangswerte:
Ni(0) = Ni_0
Nn(0) = Nn_0
Ng(0) = 0

(Bem.: Ni_0 + Nn_0 = N_G)

Man kann leicht ein System mit 2 Gleichungen draus machen, indem man [2]
in [3] für Ng'(t) einsetzt. Dann hat man nur noch Ni und Nn als gesuchte
Funktionen.

Trotzdem fällt mir auf die Schnelle leider nicht ein, wie das
(elementar?) zu lösen ist.
Zudem ist mir unklar, ob [2] überhaupt als "richtige"
Differentialgleichung gilt, da das Argument bei Ni und Nn nicht t,
sondern t-T ist.

Falls eine exakte Lösung nicht möglich ist, so kann man ja vielleicht
wenigstens qualitative Aussagen über die Lösungen machen, z.B.
Grenzwertverhalten, oder Existenz von Extrem- und Wendepunkten.
--
Eigentlich sollte Brain 1.0 laufen.
gut, dann werde ich mir das morgen mal besorgen...
(...Dialog aus m.p.d.g.w.a.)
Roland Franzius
2020-04-02 05:54:13 UTC
Permalink
Post by Stephan Gerlach
[Prognose, Teil 2, leider nicht komplett gelöst...]
Wir gehen wieder aus von einer abgeschlossenen Population, in der die
Anzahl N_i der zum Zeitpunkt t infizierten Personen angegeben werden soll.
Pessimistische Prognose") will ich nun zusätzlich annehmen, daß Personen
auch geheilt werden können.
Überraschenderweise muß durch die Heilungs-Annahme viel mehr geändert
werden als gedacht.
-----------
N_G = Gesamt-Anzahl aller Personen in der Population (zu jedem Zeitpunkt
konstant)
t = Zeit (genauer: Zeitpunkt)
dt = (infinitesimales) Zeitintervall, genauer: [t, t+dt]
- noch nicht infiziert (n)
- aktuell infiziert (i)
- geheilt (g).
Die Anzahlen dieser Personen hängen von der Zeit ab und bezeichnen wir
mit Ni(t), Nn(t), Ng(t).
Wir haben Anfangswerte
Ni_0 = Anzahl der am Anfang (Zeit t=0) infizierten Personen
Nn_0 = Anzahl der am Anfang (Zeit t=0) noch nicht infizierten Personen
Ng_0 = Anzahl der am Anfang (Zeit t=0) geheilten Personen (ist 0)
Theoretisch kann im Zeitintervall dt eine beliebige Person von jedem der
3 Zustände (n), (i), (g) in einen anderen Zustand übergehen. Praktisch
(n) --> (i)
(i) --> (g).
Für den Heil-Vorgang (i) --> (g) nehmen wir eine konstante Zeit T an,
T = Heilzeit
D.h. eine Person ist erst im Zustand (i), und dann dauert es die Zeit T,
bis die Person abrupt in den Zustand (g) übergeht.
K = Anzahl aller(!) Kontakte in der Population im Zeitintervall dt
k = verhaltensabhängige Konstante der Population, nicht von N_G oder t
abhängig, beschreibt die Anzahl aller Kontakte pro Gesamtzahl Personen
und pro Zeitintervall, also
k = K/(N_G*dt).
K_{i,n} = Anzahl aller Kontakte der Art (i)--(n) in der Population im
Zeitintervall dt.
p = Wahrscheinlichkeit für einen beliebigen Kontakt, daß dieser Kontakt
von der Art (i)--(n) ist.
Gesucht ist nun nicht mehr nur Ni als Funktion von t, sondern auch Nn
Ni(t) = ?  (wie bei der Modellierung ohne Heilung)
Nn(t) = ?
Ng(t) = ?
------------------------------------------------------
Erstmal ein Sammelsurium an Gleichungen, die sich mehr oder weniger
K = k*N_G*dt
Ni + Nn + Ng = N_G
Ni'(t) + Nn'(t) + Ng'(t) = 0
dNn = -K{i,n}
K_{i,n} = K*p
p = 2*Ni*Nn/((N_G*(N_G-1))
dNg(t) = -dNn(t-T)
"Im Intervall [t, t+dt] ist die Zunahme der Geheilten genau die Abnahme
der Noch-nicht-Infizierten im Intervall [t-T, t-T+dt]".
Diese Annahme erscheint mir plausibel, scheint aber zu gravierenden
rechnerischen Problemen zu führen.
Der besseren Übersichtlichkeit wegen kürzen wir (als Konstante) ab
c := 2*k*/(N_G-1)
Das alles führt zu einem Differential(?)gleichungs-System mit 3
Gleichungen und 3 gesuchten Funktionen mit Anfangswerten.
--------------------------------
[1]  Nn'(t) = -c * Ni(t) * Nn(t)
[2]  Ng'(t) = c * Ni(t-T) * Nn(t-T)
[3]  Ni'(t) + Nn'(t) + Ng'(t) = 0
(Evtl. ist noch  Ni(t) + Nn(t) + Ng(t) = N_G  hilfreich?!)
Ni(0) = Ni_0
Nn(0) = Nn_0
Ng(0) = 0
(Bem.: Ni_0 + Nn_0 = N_G)
Man kann leicht ein System mit 2 Gleichungen draus machen, indem man [2]
in [3] für Ng'(t) einsetzt. Dann hat man nur noch Ni und Nn als gesuchte
Funktionen.
Trotzdem fällt mir auf die Schnelle leider nicht ein, wie das
(elementar?) zu lösen ist.
Zudem ist mir unklar, ob [2] überhaupt als "richtige"
Differentialgleichung gilt, da das Argument bei Ni und Nn nicht t,
sondern t-T ist.
Falls eine exakte Lösung nicht möglich ist, so kann man ja vielleicht
wenigstens qualitative Aussagen über die Lösungen machen, z.B.
Grenzwertverhalten, oder Existenz von Extrem- und Wendepunkten.
Nur ein paar allgemeine Bemrkungen:

Jedes kausale, lineare Zeitentwicklungsmodell für eine Liste von
Funktionen t-> f(t) beruht auf der Gleichung

f_j(t+ dt) = f_j(t) + dt int_(-oo)^t sum_i f_i(s) K_(ij) (t-s)

dh die Veränderung zur Zeit t ist die Summe von Einflüssen alle
vorherigen Zustandsdaten gewichtet mit dem Kern K der Integralgleichung.

Je rapider der Kern K_ij(t) von t=0 in die Vergangenheit t>0 abfällt,
desto besser ist die Annäherung an ein lineares Differentialgleichungssystem

f_j(t+ dt) = f_j(t) + dt sum K_(ij) f_j(t)

wo zb f_1 die Funktion und f_2 = f_1' ihre Ableitung ist.

Hier haben wir es aber nicht mit einem linearen Integralgelchungssystem
zu tun, sondern mindestens mit einem quadratischen, da in alle
Übergangsraten Produkte von f_i(t) und (1-f_j(t)), das Zusammentreffen
von Infizierten, Nichtinfizierten und Geheilten eingeht. Dreierstöße
könnte man wahrscheinlich wie in der Physik im Zustand des social
distancing vernachlässigen, wenn nicht die Wirklichkeit in Ischgl und
Beregamo genau das Gegenteil gezeigt hätte.

Theoretisch weiß man über diese Systeme fast nichts, sie sind viel
weniger erforscht als das ebenfalle nichtlineare kausale
Dreikörperproblem der Himmelsmechanik, von dem man ja auch nur ein paar
topologische Ergebnisse kennt, wenn man vereinfachend Newtonsche Physik
zugrunde legt.

Wie können also mühelos prognostizieren, dass sämtliche Ergebnisse von
Rechnungen in solchen Modellen die Meinung des Autors und die Resultate
seiner meist unterentwickelten Kenntnisse der Grundlagen wiedergeben.
--
Roland Franzius
Alfred Flaßhaar
2020-04-02 08:04:03 UTC
Permalink
Post by Stephan Gerlach
[Prognose, Teil 2, leider nicht komplett gelöst...]
(...)

Ohne auf die Realitätsnähe des Modells (sh. Rolands Beitrrag) einzugehen:

Du hast ein System gewöhnlicher nichtlinearer Differentialgleichungen
mit nacheilendem Argument entwickelt.

https://de.wikipedia.org/wiki/Retardierte_Differentialgleichung

Viel Spaß beim Lösen :-(=).

Gruß, Alfred
Martin Vaeth
2020-04-02 17:23:20 UTC
Permalink
["Followup-To:" header set to de.sci.mathematik.]
Post by Stephan Gerlach
--------------------------------
[1] Nn'(t) = -c * Ni(t) * Nn(t)
[2] Ng'(t) = c * Ni(t-T) * Nn(t-T)
Delay-Differentialgleichung
Post by Stephan Gerlach
Ni(t) + Nn(t) + Ng(t) = N_G
Nach Ni auflösen und oben einsetzen, um das System der
zwei Funktionen zu sehen.

Es ist aber nur ein lineares System, und daher das
Modell vermutlich zu einfach...
Post by Stephan Gerlach
Ni(0) = Ni_0
Nn(0) = Nn_0
Ng(0) = 0
Das reicht offensichtlich nicht für die Eindeutigkeit aus.
Man muss die Funktionen in einem Interval [-T,0] vorgeben
und sucht dann Lösungen in einem Funktionenraum über [-T,0];
üblicherweise nimmt man den Raum der stetigen Funktionen.
Mehr erfährst Du z.B. im Buch von Hale/Lunel oder
Diekmann/von Gils/Lunel/Walther. Im linearen Fall wie oben
ist das Verhalten ziemlich gut verstanden.

Loading...