pySODM: Simulating and Optimizing Dynamical Models in Python 3

Tijs W. Alleman,Christian Stevens,Jan M. Baetens
2023-10-10
Abstract:In this work, we present our generic framework to construct, simulate, and calibrate dynamical systems in Python 3. Its goal is to reduce the time it takes to implement a dynamical system with $n$-dimensional states represented by coupled ordinary differential equations (ODEs), simulate the system deterministically or stochastically, and, calibrate the system using n-dimensional data. We demonstrate our code's capabilities by building three models in the context of two case studies. First, we forecast the yields of the enzymatic esterification reaction of D-glucose and lauric acid, performed in a continuous-flow, packed-bed reactor. The model yields a satisfactory description of the reaction yields under different flow rates and can be applied to design a viable process. Second, we build a stochastic, age-stratified model to make forecasts on the evolution of influenza in Belgium during the 2017-2018 season. Using only limited data, our simple model was able to make a fairly accurate assessment of the future course of the epidemic. By presenting real-world case studies from two scientific disciplines, we demonstrate our code's applicability across domains.
Data Analysis, Statistics and Probability
What problem does this paper attempt to address?