mixture

Finite weighted mixture transformation for probability distributions.

class pysatl_core.transformations.operations.distributions.mixture.FiniteMixtureDistribution(weighted_components, *, methods=None, sampling_strategy=None, computation_strategy=None)[source]

Bases: DerivedDistribution

Distribution obtained as a finite weighted mixture of components.

Parameters:
  • weighted_components (Sequence[tuple[float, Distribution]]) – Ordered pairs (weight, distribution). Weights must be finite, non-negative and sum to one.

  • methods (TransformationMethodSpecsMap | None, default None) – Transformation methods for building derived characteristics. When None, built-in methods are used.

  • sampling_strategy (SamplingStrategy | None, optional) – Sampling strategy exposed by the transformed distribution.

  • computation_strategy (ComputationStrategy | None, optional) – Computation strategy exposed by the transformed distribution.

__init__(weighted_components, *, methods=None, sampling_strategy=None, computation_strategy=None)[source]
Parameters:
Return type:

None

property components: tuple[LightweightDistribution, ...]

Get the lightweight component snapshots.

property parent_roles: tuple[ParentRole, ...]

Return ordered component roles used by this finite mixture.

property weights: NumericArray

Get validated component weights.

sample(n, **options)[source]

Generate mixture samples by sampling selected components.

Return type:

TypeAliasType

Parameters:
pysatl_core.transformations.operations.distributions.mixture.discrete_mixture(weighted_components, *, methods=None)[source]

Build a finite mixture with a discrete set of component weights.

This is an alias of finite_mixture().

Return type:

FiniteMixtureDistribution

Parameters:
pysatl_core.transformations.operations.distributions.mixture.finite_mixture(weighted_components, *, methods=None)[source]

Build a finite weighted mixture distribution.

Return type:

FiniteMixtureDistribution

Parameters: