GSA report
GSAreport is an application to easily generate reports that describe the global sensitivities of your input parameters as best as possible. You can use the reporting application to inspect which features are important for a given real world function / simulator or model.
Cite this software
Description
- See here the full documentation and how to contribute
- How to install
- Quickstart and common usecases
- Runnable demo on Code Ocean
- Scientific paper
GSAreport is an application to easily generate reports that describe the global sensitivities of your input parameters as best as possible. You can use the reporting application to inspect which features are important for a given real world function / simulator or model. Using the dockerized application you can generate a report with just one line of code and no additional dependencies (except for Docker of course).
Global Sensitivity Analysis is one of the tools to better understand your machine learning models or get an understanding in real-world processes.
What is Sensitivity Analysis?
According to Wikipedia, sensitivity analysis is "the study of how the uncertainty in the output of a mathematical model or system (numerical or otherwise) can be apportioned to different sources of uncertainty in its inputs." The sensitivity of each input is often represented by a numeric value, called the sensitivity index. Sensitivity indices come in several forms:
- First-order indices: measures the contribution to the output variance by a single model input alone.
- Second-order indices: measures the contribution to the output variance caused by the interaction of two model inputs.
- Total-order index: measures the contribution to the output variance caused by a model input, including both its first-order effects (the input varying alone) and all higher-order interactions.
Sensitivity Analysis is a great way of getting a better understanding of how machine learning models work (Explainable AI), what parameters are of importance in real-world applications and processes and what interactions parameters have with other parameters.
GSAreport makes it easy to run a wide set of SA techniques and generates a nice and visually attractive report to inspect the results of these techniques. By using Docker no additional software needs to be installed and no coding experience is required.
Downloading and setting up the source code
You can also use the python package by installing the dependencies on your own system.
- Install graph-tool (https://graph-tool.skewed.de/)
- Install python 3.7+
- Install node (v14+)
- Clone the repository with git or download the zip
- Install all python requirements (pip install -r src/requirements.txt)
- Run python src/GSAreport.py -h
How to use
Generate a global sensitivity analysis report for a given data set or function with the simple Docker / python or executable command options.
To start, you always need to provide the program with a problem definition. This definition can be supplied as json file, see also data/problem.json for an example. The problem definition contains the dimensionality of your problem (number of input variables) num_vars, the names of these variables (X0 to X4 in the example), and the bounds of each variables as a list of tuples (lower bound, upper bound).
#Example problem definition in python (you can store this dict using json.dump to a json file)
dim = 5
problem = {
    'num_vars': dim,
    'names': ['X'+str(x) for x in range(dim)],
    'bounds': [[-5.0, 5.0]] * dim
}
Once you have the problem definition (specify it with -p path/to/problem.json) you can directly load an existing data set containing input and output files for analysis by passing the path to the directory (with -d <path>) in which these files are stored. The application searches for the following csv files:
- x.csv, y.csv #optional, in case you use an existing design of experiments
- x_sobol.csv, y_sobol.csv
- x_morris.csv, y_morris.csv
- x_lhs.csv, y_lhs.csv
Sample csv files can be found in the /data/ directory of this repository. Sample files can also be generated with the --demo parameter.
When you have your own design of experiments you can store these in x and y.csv (space delimited). The Sobol, Morris and LHS (Latin Hypercube Sampling) files can be used when you have samples and results from a specific sampling technique which can be used for different Sensitivity analysis algorithms. The GSA report application can generate the x_ version of these files (the input). Using the input files you can then evaluate the data points and store the target values y in the csv file with the same name convention. If you only provide an x.csv and y.csv file, a machine learning algorithm will be used to interpolate the remaining samples to generate the appropriate design of experiments required for the sensitivity analysis.
A python example to read the x_*.csv files  and produce the correspondig y_*.csv files using your own objective function is provided in the next section.
Testing the Installation
Run
cd src
python -m pytest
To execute the automated tests to verify the installation.
Building binaries (for developers)
If you want to build the executables yourself you can use the following commands. We use pyinstaller to package the executables.
Make sure you have pyinstaller installed using pip install pyinstaller.
On your operating system, build the exe once you have the python source code up and running:
pyinstaller --distpath dist/darwin/ GSAreport.spec
We provide binaries for Linux and Mac-OS in the releases section.
To generate a new version of the documentation run mike deploy --push --update-aliases 1.3.0 latest
References
This tool uses Savvy [1] and SALib [2].
[1] Hough, B., Fu, C. and Paliwal, S. (2016). savvy: visualize high dimensionality sensitivity analysis data. Updated with full sensitivity analysis from ligpy model. (v2.0). Zenodo. https://doi.org/10.5281/zenodo.53099
[2] Herman, J. and Usher, W. (2017) SALib: An open-source Python library for sensitivity analysis. Journal of Open Source Software, 2(9). doi:10.21105/joss.00097
Cite our paper
Use the following bibtex to cite our paper when you use GSAreport.
@ARTICLE{9903639,  
    author={Stein, Niki van and Raponi, Elena and Sadeghi, Zahra and Bouman, Niek and Van Ham, Roeland C. H. J. and Bäck, Thomas},  
    journal={IEEE Access},   
    title={A Comparison of Global Sensitivity Analysis Methods for Explainable AI With an Application in Genomic Prediction},   
    year={2022},  
    volume={10},  
    number={},  
    pages={103364-103381},  
    doi={10.1109/ACCESS.2022.3210175}
}
Participating organisations
Reference papers
- 1.Author(s): Bas van Stein, Elena RaponiPublished in Journal of Open Source Software by The Open Journal in 2022, page: 472110.21105/joss.04721
- 2.Author(s): Bas Van Stein, Elena Raponi, Zahra Sadeghi, Niek Bouman, Roeland C. H. J. Van Ham, Thomas BäckPublished in IEEE Access by Institute of Electrical and Electronics Engineers (IEEE) in 2022, page: 103364-10338110.1109/access.2022.3210175
Mentions
- 1.Author(s): Elena Raponi, Ivan Olarte Rodriguez, Niki van SteinPublished in Natural Computing Series, Explainable AI for Evolutionary Computation by Springer Nature Singapore in 2025, page: 13-4010.1007/978-981-96-2540-6_2
- 2.Author(s): Niki van Stein, Qi Huang, Elena RaponiPublished in Natural Computing Series, Explainable AI for Evolutionary Computation by Springer Nature Singapore in 2025, page: 175-19510.1007/978-981-96-2540-6_8
- 3.Author(s): Anna V. Kononova, Diederick Vermetten, Niki van SteinPublished in Natural Computing Series, Explainable AI for Evolutionary Computation by Springer Nature Singapore in 2025, page: 93-11510.1007/978-981-96-2540-6_5
- 4.Author(s): Qi Huang, Emanuele Mezzi, Osman Mutlu, Miltiadis Kofinas, Vidya Prasad, Shadnan Azwad Khan, Elena Ranguelova, Niki van SteinPublished in Communications in Computer and Information Science, Explainable Artificial Intelligence by Springer Nature Switzerland in 2024, page: 308-33110.1007/978-3-031-63787-2_16
- 5.Author(s): Xu Wang, Xue Zhou, Liyike Ji, Kai ShenPublished in Machine Learning and Artificial Intelligence in Chemical and Biological Sensing by Elsevier in 2024, page: 203-22510.1016/b978-0-443-22001-2.00008-1
- 1.Author(s): Pramudita S. Palar, Ashwin RenganathanPublished in AIAA SCITECH 2024 Forum by American Institute of Aeronautics and Astronautics in 202410.2514/6.2024-0789
- 2.Author(s): Sarah Thomson, Niki van Stein, Daan van den Berg, Cees van LeeuwenPublished in Proceedings of the 15th International Joint Conference on Computational Intelligence by SCITEPRESS - Science and Technology Publications in 2023, page: 555-56410.5220/0012249500003595
- 3.Author(s): Christoph Gladisch, Christian HeinzemannPublished in 2023 7th International Conference on System Reliability and Safety (ICSRS) by IEEE in 2023, page: 454-46310.1109/icsrs59833.2023.10381225
- 4.Author(s): Mugisha David, Elizabeth Shirley Mbabazi, Joyce Nakatumba-Nabende, Ggaliwango MarvinPublished in 2023 7th International Conference on Trends in Electronics and Informatics (ICOEI) by IEEE in 2023, page: 1405-141110.1109/icoei56765.2023.10126071
- 1.Author(s): Ahmet Akusta, Hasan Hüseyin Yıldırım, Musa Gün, Şakir SakaryaPublished in Journal of Computational and Applied Mathematics by Elsevier BV in 2026, page: 11700610.1016/j.cam.2025.117006
- 2.Author(s): Bibhuti Bhusan Sahoo, Mohammad Najafzadeh, Santosh DT, Thandra Jithendra, Banamali Panigrahi, Shuchi Mishra, Sushindra Kumar Gupta, Mani BhushanPublished in Journal of Irrigation and Drainage Engineering by American Society of Civil Engineers (ASCE) in 202510.1061/jidedh.ireng-10441
- 3.Author(s): Alperen Yildizeli, Sertac CadirciPublished in Physics of Fluids by AIP Publishing in 202510.1063/5.0246991
- 4.Author(s): Maarten C Vonk, Anna V Kononova, Thomas Bäck, Tim SweijsPublished in The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology by SAGE Publications in 202510.1177/15485129251315178
- 5.Author(s): Niki van Stein, Diederick Vermetten, Anna V. Kononova, Thomas BäckPublished in ACM Transactions on Evolutionary Learning and Optimization by Association for Computing Machinery (ACM) in 2025, page: 1-3010.1145/3716638
- 6.Author(s): William George Davies, Paulina Quintanilla, Yang Yang, Salman Masoudi SoltaniPublished in 202510.1016/j.ijhydene.2025.152153
- 7.Author(s): Banamali Panigrahi, Saman Razavi, Lorne E. Doig, Blanchard Cordell, Hoshin V. Gupta, Karsten LiberPublished in Water Resources Research by American Geophysical Union (AGU) in 202510.1029/2024wr037398
- 8.Author(s): Laura Delhez, Benjamin Dumont, Bernard LongdozPublished in European Journal of Agronomy by Elsevier BV in 2025, page: 12753310.1016/j.eja.2025.127533
- 9.Author(s): Rafael Ballester-Ripoll, Manuele LeonelliPublished in International Journal of Approximate Reasoning by Elsevier BV in 2025, page: 10936810.1016/j.ijar.2025.109368
- 10.Author(s): Zahra Sadeghi, Stan MatwinPublished in 202510.1007/s44248-025-00067-x
- 11.Author(s): Xiaoyun Wu, Hang Xu, Tonggang Zha, Yang Zhao, Zhiqiang ZhangPublished in Agricultural and Forest Meteorology by Elsevier BV in 2024, page: 11007410.1016/j.agrformet.2024.110074
- 12.Author(s): Pierfrancesco Novielli, Donato Romano, Stefano Pavan, Pasquale Losciale, Anna Maria Stellacci, Domenico Diacono, Roberto Bellotti, Sabina TangaroPublished in Frontiers in Plant Science by Frontiers Media SA in 202410.3389/fpls.2024.1434229
- 13.Author(s): Alex Durkin, Lennart Otte, Miao GuoPublished in Computers & Chemical Engineering by Elsevier BV in 2024, page: 10858410.1016/j.compchemeng.2024.108584
- 14.Author(s): Milad Kowsari, Nasrollah Eftekhari, Ehsan Yousefi DadrasPublished in Soil Dynamics and Earthquake Engineering by Elsevier BV in 2024, page: 10855810.1016/j.soildyn.2024.108558
- 15.Author(s): Ignacio Chang-Brahim, Lukas J. Koppensteiner, Lorenzo Beltrame, Gernot Bodner, Anna Saranti, Jules Salzinger, Phillipp Fanta-Jende, Christoph Sulzbachner, Felix Bruckmüller, Friederike Trognitz, Mina Samad-Zamini, Elisabeth Zechner, Andreas Holzinger, Eva M. MolinPublished in Frontiers in Plant Science by Frontiers Media SA in 202410.3389/fpls.2024.1319938
- 16.Author(s): Zahra Sadeghi, Roohallah Alizadehsani, Mehmet Akif CIFCI, Samina Kausar, Rizwan Rehman, Priyakshi Mahanta, Pranjal Kumar Bora, Ammar Almasri, Rami S. Alkhawaldeh, Sadiq Hussain, Bilal Alatas, Afshin Shoeibi, Hossein Moosaei, Milan Hladík, Saeid Nahavandi, Panos M. PardalosPublished in Computers and Electrical Engineering by Elsevier BV in 2024, page: 10937010.1016/j.compeleceng.2024.109370
- 17.Author(s): Md. Tanzib Hosain, Jamin Rahman Jim, M.F. Mridha, Md Mohsin KabirPublished in Computers and Electrical Engineering by Elsevier BV in 2024, page: 10924610.1016/j.compeleceng.2024.109246
- 18.Author(s): Tobias Lehrer, Arne Kaps, Ingolf Lepenies, Elena Raponi, Marcus Wagner, Fabian DuddeckPublished in ASCE-ASME Journal of Risk and Uncertainty in Engineering Systems, Part B: Mechanical Engineering by ASME International in 202410.1115/1.4065143
- 19.Author(s): Mirka Saarela, Vili PodgorelecPublished in Applied Sciences by MDPI AG in 2024, page: 888410.3390/app14198884
- 20.Author(s): Nitin Rane, Saurabh Choudhary, Jayesh RanePublished in SSRN Electronic Journal by Elsevier BV in 202310.2139/ssrn.4637897
- 21.Author(s): Flavio Di Martino, Franca Delmastro, Cristina DolciottiPublished in Smart Health by Elsevier BV in 2023, page: 10042910.1016/j.smhl.2023.100429
- 22.Author(s): Jonathan Wijaya, Haeil Byeon, Woosik Jung, Joonhong Park, Seungdae OhPublished in Journal of Water Process Engineering by Elsevier BV in 2023, page: 10361010.1016/j.jwpe.2023.103610
- 23.Author(s): Sanaz Imen, Henry C. Croll, Nicole L. McLellan, Mark Bartlett, Geno Lehman, Joseph G. JacangeloPublished in Environmental Technology Reviews by Informa UK Limited in 2023, page: 493-51610.1080/21622515.2023.2242015
- 24.Author(s): Sophia M. Simon, Paul Glaum, Fernanda S. ValdovinosPublished in Scientific Reports by Springer Science and Business Media LLC in 202310.1038/s41598-023-30313-8
- 25.Author(s): Pramudita Satria Palar, Lavi Rizki Zuhal, Koji ShimoyamaPublished in IEEE Access by Institute of Electrical and Electronics Engineers (IEEE) in 2023, page: 114825-11483910.1109/access.2023.3324918
- 26.Author(s): Bas Van Stein, Elena Raponi, Zahra Sadeghi, Niek Bouman, Roeland C. H. J. Van Ham, Thomas BäckPublished in IEEE Access by Institute of Electrical and Electronics Engineers (IEEE) in 2022, page: 103364-10338110.1109/access.2022.3210175
- 1.Author(s): Manu Aggarwal, NG Cogan, Vipul PeriwalPublished by Cold Spring Harbor Laboratory in 202510.1101/2025.02.21.639516
- 2.Author(s): Banamali Panigrahi, Saman Razavi, Lorne E Doig, Blanchard Cordell, Hoshin V. Gupta, Karsten LiberPublished by Wiley in 202410.22541/essoar.171052510.02996233/v1
- 3.Author(s): Erico Tjoa, Feng Xie, Chi-Hung Shu, Lei Xue, Nima Aghaeepour, Cuntai GuanPublished by Institute of Electrical and Electronics Engineers (IEEE) in 202310.36227/techrxiv.23949135.v1
- 4.Author(s): Erico Tjoa, Feng Xie, Chi-Hung Shu, Lei Xue, Nima Aghaeepour, Cuntai GuanPublished by Institute of Electrical and Electronics Engineers (IEEE) in 202310.36227/techrxiv.23949135
Contributors
Contact person
Related projects
XAIPre
Explainable AI For Predictive Maintenance