Global Sensitivity Analysis for SciML models in Julia
2021-07-30 , Purple

Majority of scientific modelling workflows involve doing global sensitivity analysis as an intermediate step. It can be used primarily in two stages, either before parameter estimation to simplify the fitting problem by fixing unimportant parameters or for analysis of the input parameters' influence on the output. GlobalSensitivity.jl is a package in the SciML ecosystem that provides a full suite of GSA methods that can be of great utility to a lot of practitioners.


Global Sensitivity Analysis quantifies the influence of input parameters on the model output. Hence some of the core questions we wish answer with models such as identification of most influential parameters, makes GSA an essential part of modelling workflow. GlobalSensitivity.jl [1] is a generalized GSA package with built-in support for parallelism integrated with the pharmaceutical modeling and simulation platform Pumas[2]. Our implementation of GSA for differential equation based mechanistic pharmacometrics, PBPK and QsP models gives order of magnitude speedups over GSA capabilities of other languages. Currently GlobalSensitivity.jl supports the Sobol, Morris, eFAST, Regression based, DGSM, Delta Moment, EASI, Fractional Factorial and RBD-FAST GSA methods.

The talk covers running GSA workflow on a Lotka-Volterra differential equation written in the DifferentialEquations.jl interface.

[1] url: https://gsa.sciml.ai/stable/.
[2] url: https://github.com/PumasAI/PumasTutorials.jl/blob/master/tutorials/pkpd/hcvgsa.jmd

Vaibhav is involved in building analysis tooling in the SciML ecosystem in Julia and one of the developers of Pumas (https://pumas.ai).