pyGPC
A Python toolbox for sensitivity and uncertainty analysis of simulation-based models

We present a novel Python package for the uncertainty and sensitivity analysis of computational models. The mathematical background is based on the non-intrusive generalized polynomial chaos method allowing one to treat the investigated models as black box systems, without interfering with their legacy code. Pygpc is optimized to analyze models with complex and possibly discontinuous transfer functions that are computationally costly to evaluate. The toolbox determines the uncertainty of multiple quantities of interest in parallel, given the uncertainties of the system parameters and inputs. It also yields gradient-based sensitivity measures and Sobol indices to reveal the relative importance of model parameters.

The figure shows an illustrative example of pygpc analyzing a Jansen-Rit type neuronal mass model in terms of its input/output behavior; (a) beta distributed input parameters with shape parameters p=q=3; α is the amplitude and f is the frequency of the external stimulation; (b) Jansen-Rit neuronal mass model incorporating inhibitory interneurons (IIN), excitatory interneurons (EIN) and pyramidal cells (PC); (c) probability density function of the dominant frequency fPC (highest power density) of the postsynaptic potential of the pyramidal cells; (d) Dominant frequency as a function of α and f obtained from the original model; (e) gPC approximation of the dominant frequency; (f) absolute difference between original model and gPC approximation.