[SciPy-Dev] Sensitivity analysis module proposal

Pamphile Roy roy.pamphile at gmail.com
Fri Apr 9 13:41:58 EDT 2021


Hi everyone,

I would like to propose to add sensitivity analysis (SA/GSA) functions. Also called uncertainty quantification (UQ) or verification and validation (V&V) depending on the field.

The goal of these methods is primarily to answer a simple question: how is my function impacted by parameter changes?
So if we have F(x1, x2, …, x_n). How F changes when we change the x_n. A very important answer it gives is: which of the variable contribute the most to the function?
It can do this qualitatively but also quantitatively and provide an ordering of variable importance.

A simple use case? If you have a model with 10 parameters and want to optimize the output, you can do a SA before to discard some parameters.
Also you can prioritize your efforts to improve the uncertainty you might have on some parameters.

SA is getting more and more attention as stakeholders are getting how paramount it is.
Here is one of the latest articles presenting it and explaining how essential this is to all scientific communities: https://www.sciencedirect.com/science/article/pii/S1364815220310112 <https://www.sciencedirect.com/science/article/pii/S1364815220310112>
(This article was authored by the most renown researcher in the field.)

The most famous indicator is Sobol’ indices (same person but different than the Sobol’ sequence) which is a variance based analysis.
We already have notes in the roadmap about ANOVA, and I think we could extend this to Sobol’ indices, Moment independent methods (use the whole PDF (all moments), not just the variance, hence the name), and maybe Shapley indices. I could see this go into scipy.stats.sa/uq/uncertainty for instance, or as a new module.

I would be happy to read your thoughts. I have already some code for both Sobol’ and moment independent methods.

Cheers,
Pamphile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/scipy-dev/attachments/20210409/4f38d216/attachment.html>


More information about the SciPy-Dev mailing list