Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/joss_paper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: joss/paper.md
- name: Upload
uses: actions/upload-artifact@v1
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: joss/paper.pdf
Binary file modified docs/_static/simdec_presentation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
115 changes: 115 additions & 0 deletions joss/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
@article{Herman2017,
doi = {10.21105/joss.00097},
year = {2017},
month = {jan},
publisher = {The Open Journal},
volume = {2},
number = {9},
author = {Jon Herman and Will Usher},
title = {{SALib}: An open-source Python library for Sensitivity Analysis},
journal = {The Journal of Open Source Software}
}

@article{Kozlova2024,
title = {Uncovering heterogeneous effects in computational models for sustainable decision-making},
journal = {Environmental Modelling & Software},
volume = {171},
pages = {105898},
year = {2024},
issn = {1364-8152},
doi = {10.1016/j.envsoft.2023.105898},
author = {Mariia Kozlova and Robert J. Moss and Julian Scott Yeomans and Jef Caers},
keywords = {Global sensitivity analysis, Simulation decomposition, Monte Carlo simulation, Decision-making under uncertainty}
}

@article{Roy2023,
doi = {10.21105/joss.05309},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {84},
pages = {5309},
author = {Pamphile T. Roy and Art B. Owen and Maximilian Balandat and Matt Haberland},
title = {Quasi-Monte Carlo Methods in Python},
journal = {Journal of Open Source Software}
}

@article{Virtanen2020,
title={SciPy 1.0: fundamental algorithms for scientific computing in {P}ython},
author={Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan et al.},
journal={Nature methods},
volume={17},
number={3},
pages={261--272},
year={2020},
publisher={Nature Publishing Group},
doi={10.1038/s41592-019-0686-2}
}

@book{Saltelli2007,
author = {Saltelli, Andrea and Ratto, Marco and Andres, Terry and Campolongo, Francesca and Cariboni, Jessica and Gatelli, Debora and Saisana, Michaela and Tarantola, Stefano},
booktitle = {Global Sensitivity Analysis. The Primer},
doi = {10.1002/9780470725184},
isbn = {9780470725184},
month = {dec},
pages = {237--275},
publisher = {John Wiley {\&} Sons, Ltd},
title = {{Global Sensitivity Analysis. The Primer}},
year = {2007}
}

@article{sobol1993,
title={Sensitivity analysis for non-linear mathematical models, originally “Sensitivity estimates for non-linear mathematical models”},
author={Sobol, Ilya M},
journal={Math Model Comput Exp},
volume={1},
pages={407--414},
year={1993}
}

@report{europeancommission2021,
title = {Better {{Regulation Toolbox}}},
author = {{European Commission}},
date = {2021-11},
url = {https://ec.europa.eu/info/law/law-making-process/planning-and-proposing-law/better-regulation-why-and-how/better-regulation-guidelines-and-toolbox_en},
city = {Brussels},
keywords = {\#nosource}
}

@software{panel,
author = {Philipp Rudiger and
Marc Skov Madsen and
Simon Høxbro Hansen and
Maxime Liquet and
Andrew and
Xavier Artusi and
James A. Bednar and
Chris B and
Jean-Luc Stevens and
Christoph Deil and
Demetris Roumis and
Julia Signell and
Mateusz Paprocki and
Jerry Wu and
Jon Mease and
Arne and
Coderambling and
Hugues-Yanis Amanieu and
thuydotm and
Simon and
sdc50 and
Luca Fabbri and
kbowen and
Theom and
Joel Ostblom and
Govinda Totla and
Niko Föhr and
TBym},
title = {holoviz/panel: Version 1.4.3},
month = may,
year = 2024,
publisher = {Zenodo},
version = {v1.4.3},
doi = {10.5281/zenodo.11261266},
url = {https://doi.org/10.5281/zenodo.11261266}
}
77 changes: 77 additions & 0 deletions joss/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
title: 'Simulation Decomposition in Python'
tags:
- Python
- SimDec
- statistics
- Sensitivity Analysis
- Visualization
authors:
- name: Pamphile T. Roy
affiliation: 1
corresponding: true
orcid: 0000-0001-9816-1416
- name: Mariia Kozlova
affiliation: 2
orcid: 0000-0002-6952-7682
affiliations:
- name: Consulting Manao GmbH, Vienna, Austria
index: 1
- name: LUT Business School, LUT University, Lappeenranta, Finland
index: 2
date: 1 April 2024
bibliography: paper.bib

---

# Summary

Uncertainties are everywhere. Whether you are developing a new Artificial Intelligence (AI) system,
running complex simulations or making an experiment in a lab, uncertainties
influence the system. Therefore, an approach is needed to understand how these uncertainties impact the system's performance.

SimDec offers a novel visual way to understand the intricate role that
uncertainties play. A clear Python Application Programming Interface (API) and a no-code interactive web
dashboard make uncertainty analysis with SimDec accessible to everyone.

# Statement of need

From real life experiments to numerical simulations, uncertainties play a
crucial role in the system under study. With the advent of Artificial
Intelligence and new regulations such as the [AI Act](https://artificialintelligenceact.eu) or the
Comment thread
tupui marked this conversation as resolved.
Outdated
*Better Regulation Guideline* [@europeancommission2021], there is a growing need for explainability and
impact assessments of systems under uncertainties.

Traditional methods to analyse the uncertainties focus on quantitative methods
to compare the importance of factors, there is a large body of literature and
the field is known as: Sensitivity Analysis (SA) [@Saltelli2007]. The indices of Sobol' are a
prominent example of such methods [@sobol1993].

Simulation Decomposition or SimDec moves the field of SA forward by supplementing the computation of sensitivity indices with the visualization of the type of interactions involved, which proves critical for understanding the system's behavior and decision-making [@Kozlova2024].
In short, SimDec is a hybrid uncertainty-sensitivity analysis approach
that reveals the critical behavior of a computational model or an empirical
dataset. It decomposes the distribution of the output
(target variable) by the multivariable scenarios, formed out of the most
influential input variables. The resulting visualization shows how different
output ranges can be achieved and what kind of critical interactions affect
the output–as seen in \autoref{fig:simdec}. The method has shown value for
Comment thread
tupui marked this conversation as resolved.
Outdated
various computational models from different fields, including business,
environment, and engineering, as well as an emerging evidence of use for
empirical data and AI.
Comment thread
tupui marked this conversation as resolved.
Outdated

![SimDec: explanation of output by most important inputs. A simulation dataset of a structural reliability model with one key output variable and four input variables is used for this case. Inputs 3 and 1 have the highest sensitivity indices and thus are automatically chosen for decomposition. The most influential input 3 divides the distribution of the output into three main states with distinct colors. Input 1 further subdivides them into shades. From the graph, it becomes obvious that input 1 influences the output when input 3 is low, but has a negligible effect when input 3 is medium or high.\label{fig:simdec}](simdec_presentation.png)

Besides proposing a comprehensive yet simple API through a Python package
available on PyPi, SimDec is also made available
to practitioners through an online dashboard at [https://simdec.io](https://simdec.io). The project
relies on powerful variance-based sensitivity analysis methods from SALib [@Herman2017] and
SciPy [@Virtanen2020; @Roy2023]—notably the Quasi-Monte Carlo capabilities with
`sp.stats.qmc` and in the future sensitivity indices with `sp.stats.sensitivity_indices`.
The dashboard is made possible thanks to Panel [@panel].

# Acknowledgements

The work on this open-source software was supported by grant #220177 from
Finnish Foundation for Economic Foundation.

# References
Binary file added joss/simdec_presentation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.