gemseo / uncertainty / distributions


Scipy-based capabilities for probability distributions.

This package interfaces capabilities from the SciPy library.

Interfaced distributions

This package implements the abstract classes Distribution and ComposedDistribution.

Classical distributions

This module also implements a deliberately limited selection of classical probability distributions in a user-friendly way: SPExponentialDistribution, SPNormalDistribution, SPTriangularDistribution, and SPUniformDistribution. More precisely, the argument whose nature is a dictionary of keyword parameters is replaced with several user-defined keyword arguments. In this way, the use writes SPUniformDistribution('x', -1., 3.) or SPUniformDistribution('x', minimum=-1., maximum=3.) instead of SPDistribution('x', 'Uniform', {"loc": -1, "scale": 4}). Furthermore, these classes inheriting from SPDistribution are documented in such a way that a newbie could easily apprehend them.

Composed distribution

A SPDistribution has a SPDistribution.COMPOSED_DISTRIBUTION_CLASS attribute referencing SPComposedDistribution which is a class to build a composed distribution related to given random variables from a list of SPDistribution objects implementing the probability distributions of these variables based on the SciPy library and from a copula name.


A copula is a mathematical function used to define the dependence between random variables from their cumulative density functions. See more.