eDPM#

eDPM is a Python library for designing optimal experimental conditions to estimate parameters \(p\) of a system described by an ordinary differential equation (ODE) as defined in equation (1). This equation may be influenced by input variables \(u\).

(1)#\[\begin{split}\begin{alignat}{3} &\dot{x}(t) &&= f(t, x, u, p)\\ &x(t_0) &&= x_0 \end{alignat}\end{split}\]

When designing real-life experiments, researchers need to choose appropriate time- and input-datapoints to gain the maximum amount of information to accurately determine the parameters describing the system. This package assumes that the structure of the experiment is determined by an ODE which can in general be written in explicit form as in equation (1). The input variables \(u\) are known numerical values and alter the behaviour of the system while the experiment aims to estimate the parameters \(p\). To optimally design an experiment (ie. choose time-points \(t_i\) or configurations for input values \(u\)), we want to maximize the total information obtained by the measurements. The package uses the Fisher Information method in which we calculate the sensitivities

\[\begin{equation} s_{ij} = \frac{\partial x_i}{\partial p_j}(t_k, u_l) \end{equation}\]

and afterwards the Fisher Information matrix \(F\) (optionally with covariance matrix \(C\) determined by specified uncertainties).

\[\begin{equation} F = S^T C^{-1} S \end{equation}\]

Different criteria such as the determinant, minimum eigenvalue or sum of eigenvalues of the matrix \(F\) calculate the amount of information and total uncertainty. To achieve a global optimum, different numerical optimization routines can be applied in a multitude of configurations.

Note

In-depth information about the calculation methods will be described in a book chapter releasing in the near future. The development of this package is not yet finalized. The authors are thankful for contributions and suggestions.

Indices and tables#