gemseo.uncertainty.distributions.factory module#

A factory of probability distributions.

class DistributionFactory[source]#

Bases: BaseFactory

A factory of probability distributions.

Return type:

Any

create(distribution_name, **parameters)#

Create a marginal probability distribution for a given random variable.

Parameters:
  • distribution_name (str) -- The name of a class defining a distribution.

  • **parameters (Any) -- The parameters of the distribution.

Returns:

The marginal probability distribution.

Raises:

TypeError -- If the class cannot be instantiated.

Return type:

BaseDistribution

create_joint_distribution(distributions, copula=None)[source]#

Create a joint probability distribution from marginal ones.

Parameters:
  • distributions (Sequence[BaseDistribution]) -- The marginal distributions.

  • copula (Any) -- A copula distribution defining the dependency structure between random variables; if None, consider an independent copula.

Returns:

The joint probability distribution.

Return type:

BaseJointDistribution

create_marginal_distribution(distribution_name, **parameters)[source]#

Create a marginal probability distribution for a given random variable.

Parameters:
  • distribution_name (str) -- The name of a class defining a distribution.

  • **parameters (Any) -- The parameters of the distribution.

Returns:

The marginal probability distribution.

Raises:

TypeError -- If the class cannot be instantiated.

Return type:

BaseDistribution