distribution

Concrete distribution instances with specific parameter values.

This module provides the implementation for individual distribution instances created from parametric families.

class pysatl_core.families.distribution.ParametricFamilyDistribution(family_name, distribution_type, analytical_computations, parametrization, support, sampling_strategy=None, computation_strategy=None)[source]

Bases: Distribution

A specific distribution instance from a parametric family.

Represents a concrete distribution with specific parameter values, providing methods for computation and sampling.

Parameters:
  • family_name (str) – Name of the distribution family.

  • distribution_type (DistributionType) – Type of this distribution.

  • parametrization (Parametrization) – Parameter values for this distribution.

  • support (Support or None) – Support of this distribution.

  • sampling_strategy (SamplingStrategy) – Strategy for generating random samples. Such an object is unique for each distribution.

  • computation_strategy (ComputationStrategy) – Strategy for computing characteristics and conversions. Such an object is unique for each distribution.

  • analytical_computations (Mapping[GenericCharacteristicName, Mapping[LabelName, AnalyticalComputation[Any, Any]]])

__init__(family_name, distribution_type, analytical_computations, parametrization, support, sampling_strategy=None, computation_strategy=None)[source]

Initialize common distribution state.

Parameters:
  • distribution_type (DistributionType) – Type information about the distribution (kind, dimension, etc.).

  • analytical_computations (Mapping[GenericCharacteristicName, Mapping[LabelName, AnalyticalComputation[Any, Any]]]) –

    Mapping[

    GenericCharacteristicName, (

    AnalyticalComputation[Any, Any] | Mapping[LabelName, AnalyticalComputation[Any, Any]]

    ),

    ] Analytical computations provided by the distribution.

  • support (Support or None, default None) – Support of the distribution.

  • sampling_strategy (SamplingStrategy or None, default None) – Sampling strategy instance. If omitted, univariate default is used.

  • computation_strategy (ComputationStrategy or None, default None) – Computation strategy instance. If omitted, default strategy is used.

  • family_name (str)

  • parametrization (Parametrization)

property family_name: str

Get the name of the family this distribution belongs to.

property parametrization: pysatl_core.families.parametrizations.Parametrization

Get the parametrization object containing distribution parameters.

Returns:

Parametrization instance with all parameter values.

Return type:

Parametrization

property parameters: dict[str, Any]

Get distribution parameters as a dictionary (shortcut).

Returns:

Dictionary mapping parameter names to their values.

Return type:

dict[str, Any]

property parametrization_name: ParametrizationName

Get the name of the parametrization used by this distribution.

Returns:

Name of the parameterization format (e.g., ‘meanStd’).

Return type:

ParametrizationName

property parameters_constraints: list[ParametrizationConstraint]

Get constraints that apply to the distribution’s parameters.

Returns:

List of parameter constraints for validation.

Return type:

list[ParametrizationConstraint]

property family: pysatl_core.families.parametric_family.ParametricFamily

Get the parametric family this distribution belongs to.

Returns:

The parametric family of this distribution.

Return type:

ParametricFamily

sample(n, **options)[source]

Generate random samples from the distribution.

Parameters:
  • n (int) – Number of samples to generate.

  • **options (Any) – Additional sampling options forwarded to the underlying sampling strategy.

Returns:

NumPy array containing n generated samples. The exact array shape depends on the distribution and the sampling strategy.

Return type:

NumericArray