Ich bin kein Virologe noch ein Epidemiologe. Ich bin langjähriger HPC-Nutzer, Research Software Engineer, Datenwissenschaftler und Machine-Learning-Praktiker.
Ich habe dieses Projekt ins Leben gerufen, um mit meinen mentalen Mitteln die Pandemie und den Virus zu verstehen und vielleicht ein Beitrag bei der Wissensvermittlung zu leisten.
I am no virologist and no epidemioligist. I am a seasoned HPC user, Research Software Engineer, data scientist and machine learner practitioner.
I created this project, to try to understand the SARS-COV-2 virus and the pandemic with my mental tools. I hope to potentially contribute to the communication of knowledge and results.
Die folgenden Grafiken versuchen ein exponentielles Modell an die Daten für Dresden anzupassen (techn. zu fitten). Diesem Modell liegen einige Annahmen zugrunde:
0
Vgl. auch lernapparat.de/epidemiologie-sir für eine tiefere Diskussion. Die Daten zeigen, dass diese Annahmen zunehmend in der Wirklichkeit verletzt werden und damit der Fit mit einem exponentiellen Modell schrittweise seine Aussagekraft mehr hat.
The following plots try to fit an exponential model to the data of Dresden, Germany. This model has several assumptions underlying such as:
0
or vanishingly smallSee also lernapparat.de/epidemiology-sir for in-depth discussion. The data shows that these assumptions are increasingly violated by reality and therefor the fit with an exponential model looses any basis for interpretation.
Datenquelle/data source: dresden.de
Datenquelle/data source: dresden.de
Datenquelle/data source: SMS by @dgerber
Für die rote Linie im o.g. Plot benutze ich ein sehr einfaches Modell: das exponentiellen Wachstum der COVID19-Pandemie. Ich fitte die Daten mit einem Least-Squares-Verfahren entsprechend der Formel für das Modell:
diagnosed ~ a*exp(b*day)
Wobei a
und b
freie Parameter sind.
For the red line in the plot above, I use a simple model: the exponential growth of the COVID19 pandemia. I fit the data using a Least Squares Algorithm using the formula of the model:
diagnosed ~ a*exp(b*day)
Here a
and b
are free parameters.
$ R
> install.packages(c("ggplot2","dplyr","readr","optparse", "cowplot","lubridate"))
> quit(save="default",status=0,runLast=TRUE)
exponential.R
-Script laufen lassen$ Rscript exponential.R -i data/de_dresden_www.csv
de_plus7.png
, en_plus7.png
und residuals_plus7.png
, die die Plots basierend auf data/de_dresden_www.csv
beinhalten.$ R
> install.packages(c("ggplot2","dplyr","readr","optparse", "cowplot","lubridate"))
> quit(save="default",status=0,runLast=TRUE)
exponential.R
script$ Rscript exponential.R -i de_dresden.csv
de_plus7.png
, en_plus7.png
and residuals_plus7.png
that contain the plots based on data/de_dresden_www.csv
My fit uses a simple exponential function. It is important to have a look at the residuals according to the same ordering as above.
The nls
fit that I use, assumes that the data follows a Gaussian around the predicted values. The above plot looks like a very wide spread Gaussian. On top, there is a strong tendency towards positive values.
The plot above lists a parameter by the name chi2/ndf
, if this is close to 1
, then the fit can be considered good. For more details, see the wikipedia page on errors and residuals.
As I am using the standard uncertainties for all parameters from nls
in R, these are 1 standard deviation uncertainties directly obtained from the square root of diagonal elements of the covariance matrix.