https://github.com/damar-wicaksono/gsa-module

Python3 module with global sensitivity analysis methods

https://github.com/damar-wicaksono/gsa-module

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Python3 module with global sensitivity analysis methods

Basic Info
  • Host: GitHub
  • Owner: damar-wicaksono
  • License: mit
  • Language: Python
  • Default Branch: develop
  • Size: 4.68 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 2
  • Open Issues: 3
  • Releases: 0
Created over 8 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.rst

gsa-module
==========

``gsa-module`` is a Python3 package implementing several global sensitivity
analysis methods for computer/simulation experiments.
The implementation is based on a black-box approach where the computer model 
(or any generic function) is externally implemented to the module itself.
The module accepts the model outputs and the design of experiment (optional, 
only for certain methods) and compute the associated sensitivity measures.
The package also includes routines to generate normalized design of experiment 
file to be used in the simulation experiment based on several algorithms (such 
as simple random sampling or latin hypercube) as well as simple routines to 
post-processed multivariate raw code output such as its maximum, minimum, or
average. 

The general calculation flow chart involved in using the ``gsa-module`` can 
be seen in the figure below.

.. image:: ./docs/figures/flowchart.png

Main Features (v0.9.0)
----------------------

- Capability to generate design of computer experiments using 4 different
  methods: simple random sampling (srs), latin hypercube sampling (lhs),
  sobol' sequence, and optimized latin hypercube using either command line
  interface ``gsa_create_sample`` or the module API via ``import gsa_module``
- Sobol' quasi-random number sequence generator is natively implemented in
  Python3 based on C++ implementation of `Joe and Kuo (2008)`_.
- Randomization of the Sobol' quasi-random number using random shift procedure
- Optimization of the latin hypercube design is done via evolutionary
  stochastic algorithm (ESE)
- Generation of separate test points based on a given design using Hammersley
  quasi-random sequence
- Capability to generate design of computer experiments for screening analysis
  (One-at-a-time design), based on the trajectory design (original Morris)
  and radial design (Saltelli et al.)
- Capability to compute the statistics of elementary effects, standardized or
  otherwise both for trajectory and radial designs. The statistics (mean,
  mean of absolute, and standard deviation) are used as the basis of
  parameter importance ranking.
- Capability to estimate the first-order (main effect) Sobol' sensitivity
  indices using two different estimators (Saltelli and Janon).
- Capability to estimate the total effect Sobol' sensitivity indices using two
  different estimators (Sobol-Homma and Jansen).
- All estimated quantities are equipped with their bootstrap samples

Complete log of changes can be found in `CHANGELOG`_.

.. _Joe and Kuo (2008): http://web.maths.unsw.edu.au/~fkuo/sobol/
.. _CHANGELOG: ./CHANGELOG.md

Requirements
------------

The module was developed and tested using the `Anaconda Python`_ distribution
of Python v3.5.
No additional package except the base installation of the distribution is required.

.. _Anaconda Python: https://www.continuum.io/downloads

Installation
------------

``gsa-module`` is hosted on `BitBucket`_.

.. _BitBucket: https://bitbucket.org/lrs-uq/gsa-module

After cloning the source::

    git clone git@bitbucket.org:lrs-uq/gsa-module.git

the installation can be done easily from the local source directory::

    pip install -e .

This will make the following available in the path:

 - The python module ``gsa_module``
 - The executable ``gsa_create_sample``
 - The executable ``create_validset``
 - The executable ``gsa_morris_generate``
 - The executable ``gsa_morris_analyze``

Documentation
-------------

Documentation for ``gsa-module`` is an on-going process.
The current version can be found in the ``/docs`` folder and can be built
(given that ``sphinx`` has been installed) with the ``make`` command::

    make html

to build the html version of the documentation.
Note that the html documentation used ``rtd-theme`` which can be installed via ``pip``::

    pip install sphinx-rtd-theme

The index file can then be found in::

    ./docs/build/html/index.html

The current version of the documentation is also hosted on `readthedocs`_

.. _readthedocs: http://gsa-module.readthedocs.io/en/develop/index.html

License
-------

The project is licensed under the MIT License.

Owner

  • Name: Damar Wicaksono
  • Login: damar-wicaksono
  • Kind: user
  • Location: Görlitz, Germany

GitHub Events

Total
  • Issues event: 9
  • Delete event: 3
  • Issue comment event: 8
  • Push event: 6
  • Pull request event: 8
  • Create event: 6
Last Year
  • Issues event: 9
  • Delete event: 3
  • Issue comment event: 8
  • Push event: 6
  • Pull request event: 8
  • Create event: 6

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 6
  • Total pull requests: 5
  • Average time to close issues: 9 days
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 5
  • Average time to close issues: 9 days
  • Average time to close pull requests: less than a minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • damar-wicaksono (6)
Pull Request Authors
  • damar-wicaksono (5)
Top Labels
Issue Labels
enhancement (3) organization (2)
Pull Request Labels
organization (1) enhancement (1)