Distributions

This module contains functionality for all probability distributions supported in UQpy.

The UQpy.distributions module is used to define probability distribution objects. These objects possess various methods that allow the user to :

  • compute the probability density/mass function pdf/pmf,

  • compute the cumulative distribution function cdf,

  • compute the logarithm of the pdf/pmf log_pdf/log_pmf,

  • return the moments moments,

  • draw independent samples rvs

  • and compute the maximum likelihood estimate of the parameters from data mle.

The module contains the following parent classes:

  • Distribution: Parent class to all distributions.

  • Distribution1D: Parent class to all univariate distributions.

  • DistributionContinuous1D: Parent class to 1-dimensional continuous probability distributions.

  • DistributionDiscrete1D: Parent class to 1-dimensional discrete probability distributions.

  • DistributionND: Parent class to multivariate probability distributions.

  • Copula: Parent class to copula to model dependency between marginals.

Probability distributions are defined via sub-classing those parent classes.

Note that the various classes of the UQpy.distributions module are written to be consistent with distributions in the scipy.stats package [9], to the extent possible while maintaining an extensible, object oriented architecture that is convenient for operating with the other UQpy modules. All existing distributions and their methods in UQpy are restructured from the scipy.stats package.