Skip to main content

Estimation of Shapley effects for Sensitivity Analysis of Model Output.

Project description

[![build status](https://gitlab.com/CEMRACS17/shapley-effects/badges/master/build.svg)](https://gitlab.com/CEMRACS17/shapley-effects/commits/master) [![coverage report](https://gitlab.com/CEMRACS17/shapley-effects/badges/master/coverage.svg)](https://gitlab.com/CEMRACS17/shapley-effects/commits/master) # Shapley effects

Shapley-effects, or shapley, is a Python library that estimates the Shapley effects for the field of Sensitivity Analysis of Model Output [[1]](http://epubs.siam.org/doi/pdf/10.1137/16M1097717). Several features are available in the library. For a given probabilistic model and numerical function, it is possible to:

  • compute the Shapley effects,

  • compute the Sobol’ indices for dependent and independent inputs,

  • build a surrogate model to substitute the numerical function.

The library is mainly built on top of NumPy, OpenTURNS and other libraries. It is also validated and compared to the [sensitivity](https://github.com/cran/sensitivity/) package from the R software.

## Important links

## Installation

Various dependencies are necessary in this library and we strongly recommend the use of [Anaconda](https://anaconda.org/) for the installation. The dependencies are:

  • Numpy,

  • Scipy,

  • Pandas,

  • OpenTURNS,

  • Scikit-Learn,

  • GPflow.

Scikit-learn is used to build kriging and random-forest models. OpenTURNS is a very convenient tool to define probabilistic distributions. GPflow which generates kriging models from GPy using Tensorflow.

Optional dependencies are also necessary for various task like plotting or tuning the model:

  • Matplotlib,

  • Seaborn,

  • Scikit-Optimize.

These libraries can easily be installed using Anaconda and pip. Execute the following commands:

` conda install numpy pandas scikit-learn tensorflow matplotlib seaborn scikit-optimize conda install -c conda-forge openturns gpy `

The package GPflow is not available on Anaconda or PyPi. Thus it must be installed from the source. First clone the GitHub repository:

` git clone https://github.com/GPflow/GPflow.git `

Then, inside the GPflow folder, execute the command:

` pip install . `

## Acknowledgements

The library has been developed at the [CEMRACS 2017](http://smai.emath.fr/cemracs/cemracs17/) with the help of Bertrand Iooss, Roman Sueur, Veronique Maume-Deschamps and Clementine Prieur.

## References

[1] Owen, A. B., & Prieur, C. (2017). On Shapley value for measuring importance of dependent inputs. SIAM/ASA Journal on Uncertainty Quantification, 5(1), 986-1002.

[2] Song, E., Nelson, B. L., & Staum, J. (2016). Shapley effects for global sensitivity analysis: Theory and computation. SIAM/ASA Journal on Uncertainty Quantification, 4(1), 1060-1083.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shapley-effects-0.1.tar.gz (22.0 kB view details)

Uploaded Source

File details

Details for the file shapley-effects-0.1.tar.gz.

File metadata

File hashes

Hashes for shapley-effects-0.1.tar.gz
Algorithm Hash digest
SHA256 301abe837bc594892f6ae04a980326eb85a2e63574a6cbcc3b394fa50dba0adb
MD5 da74059ce7aad107ac0eae8a0032ac5a
BLAKE2b-256 b0e207faf80a4e1f659caec4070dd7f5c5b4a7bb7525fd822a39f3fdfdc80775

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page