Seite 1 von 1

Pandemie Rechner

Verfasst: Mo 23. Mär 2020, 02:10
von Yukterez
Bild

Bild Das ist die deutschsprachige Version.   Bild An english translation is available at en.yukterez.net
Bild

SIRD-Modell
Bild

T: Zeitspanne der Integration, E0: insgesamte Einwohner, I0: infizierte Einwohner, R0: genesene und immunisierte Einwohner, b0 und b1: anfängliche und finale Transmissionsrate, tb: Zeitspanne in der sich die Ausbreitungsrate ändert, tu: Zeitspanne bevor die Ausbreitungsrate sich zu ändern beginnt, d: Dauer der Krankheit, h: Hospitalisierungsrate der Infizierten, x: Sterberate der Infizierten.

Die Transmissionsrate kann größer als die effektive Ausbreitungsrate sein; erstere beschreibt im Durchschnitt an wie viele Leute ein Infizierter pro Tag seine Virenladung weitergibt, und letztere wie viele davon auch tatsächlich neu angesteckt werden.

Code: Alles auswählen

(* pandemic.yukterez.net *)

T  = 300;                                              (* Zeitraum *)
E0 = 83000000;                                        (* Einwohner *)

I0 = 66;                                             (* Infizierte *)
R0 = 0;                                                (* Geheilte *)

b0 = 30/100;                         (* initiale Transmissionsrate *)
b1 = 30/100;                           (* finale Transmissionsrate *)

tu = 15;               (* Zeitspanne der ungehinderten Ausbreitung *)
tb = 5;                                     (* Zeitspanne b0 -> b1 *)

d  = 30;                                        (* Krankheitsdauer *)
h  = 2/10;                                (* Hospitalisierungsrate *)
x  = 3/100;                                          (* Sterberate *)

f  = (b0-b1)/tb;                 (* Änderung der Transmissionsrate *)
τ  = t-tu;
B  = If[b0==b1, b0, If[b1<b0, Max[b1, b0-f τ], Min[b1, b0-f τ]]];
b  = Interpolation[Table[If[t<tu, b0, B], {t, 0, T, 1}]];

i0 = I0/E0;                           (* Fraktion der Angesteckten *)
r0 = R0/E0;                              (* Fraktion der Geheilten *)
s0 = 1-i0-r0;                         (* Fraktion der Ansteckbaren *)

DGL = {
s'[t] == -s[t] b[t] i[t],       (* Änderungsrate der noch Gesunden *)
i'[t] == s[t] b[t] i[t]-i[t]/d,   (* Änderungsrate der Infizierten *)
r'[t] == i[t]/d,                    (* Änderungsrate der Geheilten *)
s[0] == s0,
i[0] == i0,
r[0] == r0};

sol = Quiet[NDSolve[DGL, {s, i, r}, {t, 0, T+tu},
WorkingPrecision -> 48, MaxSteps -> Infinity,
InterpolationOrder -> All]];

max = Quiet[FindMaximum[i[t] /. sol, {t, 1}]]

Plot[{
Evaluate[E0 s[t] /. sol],                      (* noch gesund, rot *)
Evaluate[E0 i[t] /. sol],                        (* erkrankt, blau *)
Evaluate[h E0 i[t] /. sol],             (* hospitalisiert, schwarz *)
Evaluate[(1-x) E0 r[t] /. sol],             (* wieder gesund, grün *)
Evaluate[x E0 r[t] /. sol]                      (* gestorben, grau *)
}, {t, 0, T},
Frame -> True,
AxesOrigin -> {0, 0},
ImageSize -> 380,
PlotRange -> {All, {0, E0}},
ImagePadding -> {{50, 1}, {20, 10}},
PlotStyle -> {Red, Blue, Black, Green, Gray},
GridLines -> {{t/.max[[2]]}, {E0 max[[1]], E0/2}}]

Framed[Grid[Join[{{
"Tag         ", "Krank       ", "Tot         ",
"Spital      ", "Gesund      ", "Genesen     "
}}, {{" ", " ", " ", " ", " "}},
Table[{t,
Round[Evaluate[E0 i[t] /. sol][[1]]],
Round[Evaluate[x E0 r[t] /. sol][[1]]],
Round[Evaluate[h E0 i[t] /. sol][[1]]],
Round[Evaluate[E0 s[t] /. sol][[1]]],
Round[Evaluate[(1-x) E0 r[t] /. sol][[1]]]},
{t, 0, T, 1}]],
Alignment -> Left]]

Startparameter: Deutschland, am 29.2.2020, Best Fit: hier wird davon ausgegangen dass die Maßnahmen zur sozialen Isolation die am 7.3.2020 gesetzt wurden mit einer durchschnittlichen Inkubationsverzögerung von 1 Woche zu wirken beginnen, und die Transmissionsrate im Verlauf von weiteren 11 Tagen in denen die Bevölkerung anfängt die sozialen Kontakte zurückzuschrauben von 0.31 auf 0.15 gesenkt werden kann. Zum Vergleich mit einer konstanten Transmissionsrate klick hier; Plot:

Bild

x-Achse: Tage; y-Achse: Personen, %; rot: noch gesund; blau: erkrankt, schwarz: hospitalisiert; grün: genesen; grau: tot. Erklärung: hier entlang Coronavirus, Corona Virus, Covid-19, Sars-Cov-2, Equation, Exponential Growth, Pandemy Mathematics, 2019-nCov Growth Formula

Pandemie Rechner

Verfasst: Di 24. Mär 2020, 02:06
von Yukterez
Österreich, Startparameter vom 23.03.2020 (derzeit sind im Land 60000 Betten und 2000 Intensivbetten verfügbar, sobald die schwarze Kurve diesen Wert übersteigt erfolgt der Zusammenbruch des Gesundheitssystems da für die zu Hospitalisierenden kein Platz mehr frei ist).

Bild

Verschiedene konstante Transmissionsraten (b=1 bedeutet 100% Zuwachs pro Tag):

Bild

Prognosen für eine weitere Ausbreitung mit 30%, 20% und 10% pro Tag (Farbcode wie im oberen Beispiel):

Bild

Bei einer Transmissionsrate von b=0.3 wird der Peak mit 64% der Bevölkerung gleichzeitig infiziert nach 37 Tagen (ab dem Startdatum) erreicht, bei b=0.2 mit 53% gleichzeitig Infizierten nach 57 Tagen und mit b=0.1 bei 30% krank nach 127 Tagen. Die Hospitalisierungsrate wird bei 20% der Infizierten geschätzt, und die Dauer der Krankheit bei 1 Monat (diese Zahlen könnten auch daneben liegen, für aktuelle Daten siehe hier). Der größte Unsicherheitsfaktor besteht in der Tatsache dass nicht jeder Infizierte getestet werden kann und in der Möglichkeit der Wiederansteckung, was sofern es sich bewahrheitet nicht das SIRD-Modell sondern das SISD-Modell erfordern würde.

Pandemie Rechner

Verfasst: Do 26. Mär 2020, 18:24
von Yukterez