chap04.tex 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % Author: Phillip Rothenbeck
  3. % Title: Investigating the Evolution of the COVID-19 Pandemic in Germany Using Physics-Informed Neural Networks
  4. % File: chap04/chap04.tex
  5. % Part: Experiments
  6. % Description:
  7. % summary of the content in this chapter
  8. % Version: 01.01.2012
  9. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10. \chapter{Experiments 10}
  11. \label{chap:evaluation}
  12. In the previous chapters we explained the methods (see~\Cref{chap:methods})
  13. based the theoretical background, that we established in~\Cref{chap:background}.
  14. In this chapter, we present the setups and results from the experiments and
  15. simulations, we ran. First, we tackle the experiments dedicated to find the
  16. epidemiological parameters of $\beta$ and $\alpha$ in synthetic and real-world
  17. data. Second, we identify the reproduction number in synthetic and real-world
  18. data of Germany. Each section, is divided in the setup and the results of the
  19. experiments.
  20. % -------------------------------------------------------------------
  21. \section{Identifying the Transition Rates on Real-World and Synthetic Data 5}
  22. \label{sec:sir}
  23. In this section we seek to find the transmission rate $\beta$ and the recovery
  24. rate $\alpha$ from either synthetic or preprocessed real-world data. The
  25. methodology that we employ to identify the transition rates is described
  26. in~\Cref{sec:pinn:sir}. Meanwhile, the methods we use to preprocess the
  27. real-world data is to be found in~\Cref{sec:preprocessing:rq}.
  28. % -------------------------------------------------------------------
  29. \subsection{Setup 1}
  30. \label{sec:sir:setup}
  31. In this section we show the setups for the training of our PINNs, that are
  32. supposed to find the transition parameters. This includes the specific
  33. parameters for the preprocessing and the configuration of the PINN their
  34. selves.\\
  35. In order to validate our method we first generate a dataset of synthetic data.
  36. We conduct this by solving~\Cref{eq:modSIR} for a given set of parameters.
  37. The parameters are set to $\alpha = \nicefrac{1}{3}$ and $\beta = \nicefrac{1}{2}$.
  38. The size of the population is $N = \expnumber{7.6}{6}$ and the initial amount of
  39. infectious individuals of is $I_0 = 10$. We simulate over 150 days and get a
  40. dataset of the form of~\Cref{fig:synthetic_SIR}.\\For the real-world RKI data we
  41. preprocess the raw data of each state and Germany separately using a
  42. recovery queue with a recovery period of 14 days. As for the population size of
  43. each state we set it to the respective value counted at the end of 2019\footnote{\url{https://de.statista.com/statistik/kategorien/kategorie/8/themen/63/branche/demographie/\#overview}}.
  44. The initial number of infectious individuals is set to the number of infected
  45. people on March 09. 2020 from the dataset. The data we extract spans from
  46. March 09. 2020 to June 22. 2023, which is a span of 1200 days and covers the time
  47. in which the COVID-19 disease was the most active and severe.
  48. \begin{figure}[h]
  49. %\centering
  50. \setlength{\unitlength}{1cm} % Set the unit length for coordinates
  51. \begin{picture}(12, 9.5) % Specify the size of the picture environment (width, height)
  52. \put(1.5, 4.5){
  53. \begin{subfigure}{0.3\textwidth}
  54. \centering
  55. \includegraphics[width=\textwidth]{SIR_synth.pdf}
  56. \label{fig:synthetic_SIR}
  57. \end{subfigure}
  58. }
  59. \put(8, 4.5){
  60. \begin{subfigure}{0.3\textwidth}
  61. \centering
  62. \includegraphics[width=\textwidth]{datasets_states/Germany_SIR_14.pdf}
  63. \label{fig:germany_sir}
  64. \end{subfigure}
  65. }
  66. \put(0, 0){
  67. \begin{subfigure}{0.3\textwidth}
  68. \centering
  69. \includegraphics[width=\textwidth]{datasets_states/Schleswig_Holstein_SIR_14.pdf}
  70. \label{fig:schleswig_holstein_sir}
  71. \end{subfigure}
  72. }
  73. \put(4.75, 0){
  74. \begin{subfigure}{0.3\textwidth}
  75. \centering
  76. \includegraphics[width=\textwidth]{datasets_states/Berlin_SIR_14.pdf}
  77. \label{fig:berlin_sir}
  78. \end{subfigure}
  79. }
  80. \put(9.5, 0){
  81. \begin{subfigure}{0.3\textwidth}
  82. \centering
  83. \includegraphics[width=\textwidth]{datasets_states/Thueringen_SIR_14.pdf}
  84. \label{fig:thüringen_sir}
  85. \end{subfigure}
  86. }
  87. \end{picture}
  88. \caption{Synthetic and real-world training data. The synthetic data is
  89. generated with $\alpha=\nicefrac{1}{3}$ and $\beta=\nicefrac{1}{2}$
  90. and~\Cref{eq:modSIR}. The Germany data is taken from the death case
  91. data set. Exemplatory we show illustrations of the datasets of Schleswig
  92. Holstein, Berlin, and Thuringia. For the other states see~\Cref{chap:appendix} }
  93. \label{fig:datasets_sir}
  94. \end{figure}
  95. The PINN that we employ consists of seven hidden layers with twenty neurons
  96. each and an activation function of ReLU. For training, we use the Adam optimizer
  97. and the polynomial scheduler of the pytorch library with a base learning rate
  98. of $\expnumber{1}{-3}$. We train the model for 10000 epochs to extract the
  99. parameters. For each set of parameters we do 5 iterations to show stability of
  100. the values. Our configuration is similar to the configuration, that Shaier
  101. \etal.~\cite{Shaier2021} use for their work aside from the learning rate and the
  102. scheduler choice.\\
  103. In the next section we present the results of the simulations conducted with the
  104. setups that we describe in this section.
  105. % -------------------------------------------------------------------
  106. \subsection{Results 4}
  107. \label{sec:sir:results}
  108. \begin{figure}[t]
  109. \centering
  110. \includegraphics[width=0.7\textwidth]{reproducability.pdf}
  111. \caption{Visualization of all 5 predictions for the synthetic dataset,
  112. compared to the true values of $\alpha = \nicefrac{1}{3}$ and $\beta = \nicefrac{1}{2}$}
  113. \label{fig:reprod}
  114. \end{figure}
  115. In this section we describe the results, that we obtain from the conducted
  116. experiments, that we describe in the preceding section. First we show the
  117. results for the synthetic dataset and look at the accuracy and reproducibility.
  118. Then we present and discuss the results for the German states and Germany.\\
  119. The results of the experiment regarding the synthetic data can be seen
  120. in~\Cref{table:alpha_beta_synth} and in~\Cref{fig:reprod}.~\Cref{fig:reprod}
  121. shows the values of $\beta$ and $\alpha$ of each iteration compared to the true
  122. values of $\beta=\nicefrac{1}{2}$ and $\alpha=\nicefrac{1}{3}$. In~\Cref{table:alpha_beta_synth}
  123. we present the mean $\mu$ and standard variation $\sigma$ of both values across
  124. all 5 iterations.\\
  125. \begin{table}[h]
  126. \begin{center}
  127. \begin{tabular}{ccc|ccc}
  128. true $\alpha$ & $\mu(\alpha)$ & $\sigma(\alpha)$ & true $\beta$ & $\mu(\beta)$ & $\sigma(\beta)$ \\
  129. \hline
  130. 0.3333 & 0.3334 & 0.0011 & 0.5000 & 0.5000 & 0.0017 \\
  131. \end{tabular}
  132. \caption{The mean $\mu$ and standard variation $\sigma$ across the 5
  133. independent iterations of training our PINNs with the synthetic dataset.}
  134. \label{table:alpha_beta_synth}
  135. \end{center}
  136. \end{table}
  137. From the results we can see that the model is able to approximate the correct
  138. parameters for the small, synthetic dataset in each of the 5 iterations. Even
  139. though the predicted value is never exactly correct, the standard deviation is
  140. negligible small and taking the mean of multiple iterations yields an almost
  141. perfect result.\\
  142. In~\Cref{table:alpha_beta} we present the results of the training for the
  143. real-world data. These are presented from top to bottom, in the order of the
  144. community identification number, with the last entry being Germany. $\mu$ and
  145. $\sigma$ are both calculated across all 5 iterations of our experiment. We can
  146. see that the values of \emph{Hamburg} have the highest standard deviation, while
  147. \emph{Mecklenburg Vorpommern} has the smallest $\sigma$.\\
  148. \begin{table}[h]
  149. \begin{center}
  150. \begin{tabular}{c|cc|cc}
  151. & $\mu(\alpha)$ & $\sigma(\alpha)$ & $\mu(\beta)$ & $\sigma(\beta)$ \\
  152. \hline
  153. Schleswig Holstein & 0.0771 & 0.0010 & 0.0966 & 0.0013 \\
  154. Hamburg & 0.0847 & 0.0035 & 0.1077 & 0.0037 \\
  155. Niedersachsen & 0.0735 & 0.0014 & 0.0962 & 0.0018 \\
  156. Bremen & 0.0588 & 0.0018 & 0.0795 & 0.0025 \\
  157. Nordrhein-Westfalen & 0.0780 & 0.0009 & 0.1001 & 0.0011 \\
  158. Hessen & 0.0653 & 0.0016 & 0.0854 & 0.0020 \\
  159. Rheinland-Pfalz & 0.0808 & 0.0016 & 0.1036 & 0.0018 \\
  160. Baden-Württemberg & 0.0862 & 0.0014 & 0.1132 & 0.0016 \\
  161. Bayern & 0.0809 & 0.0021 & 0.1106 & 0.0027 \\
  162. Saarland & 0.0746 & 0.0021 & 0.0996 & 0.0024 \\
  163. Berlin & 0.0901 & 0.0008 & 0.1125 & 0.0008 \\
  164. Brandenburg & 0.0861 & 0.0008 & 0.1091 & 0.0010 \\
  165. Mecklenburg Vorpommern & 0.0910 & 0.0007 & 0.1167 & 0.0008 \\
  166. Sachsen & 0.0797 & 0.0017 & 0.1073 & 0.0022 \\
  167. Sachsen-Anhalt & 0.0932 & 0.0019 & 0.1207 & 0.0027 \\
  168. Thüringen & 0.0952 & 0.0011 & 0.1248 & 0.0016 \\
  169. Germany & 0.0803 & 0.0012 & 0.1044 & 0.0014 \\
  170. \end{tabular}
  171. \caption{Mean and standard variation across the 5 iterations, that we
  172. conducted for each German state and Germany as the whole country.}
  173. \label{table:alpha_beta}
  174. \end{center}
  175. \end{table}
  176. In~\Cref{fig:alpha_beta_mean_std} we visualize the means and standard variations
  177. in contrast to the national values. The states with the highest transmission rate
  178. values are Thuringia, Saxony Anhalt and Mecklenburg West-Pomerania. It is also,
  179. visible that all six of the eastern states have a higher transmission rate than
  180. Germany. These results may be explainable with the ratio of vaccinated individuals\footnote{\url{https://impfdashboard.de/}}.
  181. The eastern state have a comparably low complete vaccination ratio, accept for
  182. Berlin. While Berlin has a moderate vaccination ratio, it is also a hub of
  183. mobility, which means that contact between individuals happens much more often. This is also a reason for Hamburg being a state with an above national standard rate of transmission.
  184. \\
  185. We visualize these numbers in~\Cref{fig:alpha_beta_mean_std},
  186. where all means and standard variations are plotted as points, while the values
  187. for Germany are also plotted as lines to make a classification easier. It is
  188. visible that Hamburg, Baden-Württemberg, Bayern and all six of the states that
  189. lie in the eastern part of Germany have a higher transmission rate $\beta$ than
  190. overall Germany. Furthermore, it can be observed, that all values for the
  191. recovery $\alpha$ seem to be correlating to the value of $\beta$, which can be
  192. explained with the assumption that we make when we preprocess the data using the
  193. recovery queue by setting the recovery time to 14 days.
  194. \begin{figure}[h]
  195. \centering
  196. \includegraphics[width=\textwidth]{mean_std_alpha_beta_res.pdf}
  197. \label{fig:alpha_beta_mean_std}
  198. \end{figure}
  199. % -------------------------------------------------------------------
  200. \section{Reduced SIR Model 5}
  201. \label{sec:rsir}
  202. In this section we describe the experiments we conduct to identify the
  203. time-dependent reproduction number for both synthetic and real-world data.
  204. Similar to the previous section, we first describe the setup of our experiments
  205. and afterwards present the results. The methods we employ for the preprocessing
  206. are described in~\Cref{sec:preprocessing:rq} and for the PINN, that we use,
  207. are described in~\Cref{sec:pinn:rsir}.
  208. % -------------------------------------------------------------------
  209. \subsection{Setup 1}
  210. \label{sec:rsir:setup}
  211. In this section we describe the choice of parameters and configuration for data
  212. generation, preprocessing and the neural networks. We use these setups to train
  213. the PINNs to find the reproduction number on both synthetic and real-world data.\\
  214. For validation reasons we create a synthetic dataset, by setting the parameters
  215. of $\alpha$ and $\beta$ each to a specific value, and solving~\Cref{eq:modSIR}
  216. for a given time interval. We set $\alpha=\nicefrac{1}{3}$ and
  217. $\beta=\nicefrac{1}{2}$ as well as the population size $N=\expnumber{7.6}{6}$
  218. and the initial amount of infected people to $I_0=10$. Furthermore, we set our
  219. simulated time span to 150 days.We will use this dataset to show, that our
  220. method is working on a simple and minimal dataset.\\ For the real-world data we
  221. we processed the data of the dataset \emph{COVID-19-Todesfälle in Deutschland}
  222. to extract the number of infections in the whole of Germany, while we used the
  223. data of \emph{SARS-CoV-2 Infektionen in Deutschland} for the German states. For
  224. the preprocessing we use a constant rate for $\alpha$ to move individual into
  225. the removed compartment. First we choose $\alpha = \nicefrac{1}{14}$ as this is
  226. covers the time of recovery\footnote{\url{https://github.com/robert-koch-institut/SARS-CoV-2-Infektionen_in_Deutschland.git}}.
  227. Second we use $\alpha=\nicefrac{1}{5}$ since the peak of infectiousness is
  228. reached right in front or at 5 days into the infection\footnote{\url{https://www.infektionsschutz.de/coronavirus/fragen-und-antworten/ansteckung-uebertragung-und-krankheitsverlauf/}}.
  229. Just as in~\Cref{sec:sir} we set the population size $N$ of each state and
  230. Germany to the corresponding size at the end of 2019. Also, for the same reason
  231. we restrict the data points to an interval of 1200 days starting from March 09.
  232. 2020.
  233. \begin{figure}[h]
  234. %\centering
  235. \setlength{\unitlength}{1cm} % Set the unit length for coordinates
  236. \begin{picture}(12, 14.5) % Specify the size of the picture environment (width, height)
  237. \put(0, 10){
  238. \begin{subfigure}{0.3\textwidth}
  239. \centering
  240. \includegraphics[width=\textwidth]{I_synth.pdf}
  241. \caption{Synthetic data}
  242. \label{fig:synthetic_I}
  243. \end{subfigure}
  244. }
  245. \put(4.75, 10){
  246. \begin{subfigure}{0.3\textwidth}
  247. \centering
  248. \includegraphics[width=\textwidth]{datasets_states/Germany_I_14.pdf}
  249. \caption{Germany with $\alpha=\nicefrac{1}{14}$}
  250. \label{fig:germany_I_14}
  251. \end{subfigure}
  252. }
  253. \put(9.5, 10){
  254. \begin{subfigure}{0.3\textwidth}
  255. \centering
  256. \includegraphics[width=\textwidth]{datasets_states/Germany_I_5.pdf}
  257. \caption{Germany with $\alpha=\nicefrac{1}{5}$}
  258. \label{fig:germany_I_5}
  259. \end{subfigure}
  260. }
  261. \put(0, 5){
  262. \begin{subfigure}{0.3\textwidth}
  263. \centering
  264. \includegraphics[width=\textwidth]{datasets_states/Nordrhein_Westfalen_I_14.pdf}
  265. \caption{NRW with $\alpha=\nicefrac{1}{14}$}
  266. \label{fig:schleswig_holstein_I_14}
  267. \end{subfigure}
  268. }
  269. \put(4.75, 5){
  270. \begin{subfigure}{0.3\textwidth}
  271. \centering
  272. \includegraphics[width=\textwidth]{datasets_states/Hessen_I_14.pdf}
  273. \caption{Hessen with $\alpha=\nicefrac{1}{14}$}
  274. \label{fig:berlin_I_14}
  275. \end{subfigure}
  276. }
  277. \put(9.5, 5){
  278. \begin{subfigure}{0.3\textwidth}
  279. \centering
  280. \includegraphics[width=\textwidth]{datasets_states/Thueringen_I_14.pdf}
  281. \caption{Thüringen with $\alpha=\nicefrac{1}{14}$}
  282. \label{fig:thüringen_I_14}
  283. \end{subfigure}
  284. }
  285. \put(0, 0){
  286. \begin{subfigure}{0.3\textwidth}
  287. \centering
  288. \includegraphics[width=\textwidth]{datasets_states/Nordrhein_Westfalen_I_5.pdf}
  289. \caption{NRW with $\alpha=\nicefrac{1}{5}$}
  290. \label{fig:schleswig_holstein_I_5}
  291. \end{subfigure}
  292. }
  293. \put(4.75, 0){
  294. \begin{subfigure}{0.3\textwidth}
  295. \centering
  296. \includegraphics[width=\textwidth]{datasets_states/Hessen_I_5.pdf}
  297. \caption{Hessen with $\alpha=\nicefrac{1}{5}$}
  298. \label{fig:berlin_I_5}
  299. \end{subfigure}
  300. }
  301. \put(9.5, 0){
  302. \begin{subfigure}{0.3\textwidth}
  303. \centering
  304. \includegraphics[width=\textwidth]{datasets_states/Thueringen_I_5.pdf}
  305. \caption{Thüringen with $\alpha=\nicefrac{1}{5}$}
  306. \label{fig:thüringen_I_5}
  307. \end{subfigure}
  308. }
  309. \end{picture}
  310. \caption{Visualization of the datasets for the training process.
  311. Illustration (a) is the synthetic data. For the real-world data we use a
  312. dataset with $\alpha=\nicefrac{1}{14}$ and $\alpha=\nicefrac{1}{5}$ each.
  313. (b) and (c) for Germany, (d) and (g) for Nordrhein-Westfalen (NRW), (e) and (h)
  314. for Hessen, and (f) and (i) for Thüringen.}
  315. \label{fig:i_datasets}
  316. \end{figure}
  317. For this task the chosen architecture of the neural network consists of 4 hidden
  318. layers with each 100 neurons. The activation function is the tangens
  319. hyperbolicus function tanh. We weight the data loss with a weight of
  320. $\expnumber{1}{6}$ into the total loss. The model is trained using a base
  321. learning rate of $\expnumber{1}{-3}$ with the same scheduler and optimizer as
  322. we use in~\Cref{sec:sir:setup}. We train the model for 20000 epochs. Also, we
  323. conduct each experiment 15 times to reduce the standard deviation.
  324. % -------------------------------------------------------------------
  325. \subsection{Results 4}
  326. \label{sec:rsir:results}
  327. % -------------------------------------------------------------------