Distribution Samplers

Classes for sampling from probability distributions

class ionworkspipeline.data_fits.distribution_samplers.DistributionSampler

Base class for sampling from probability distributions.

See also: DistributionSampler — field-level documentation.

classmethod from_schema(schema: Any) → DistributionSampler

Construct from a validated ionworks.pipeline schema instance.

The schema carries no configuration: DataFit supplies distributions once the parameter set is known, so this returns a bare instance via __new__. Sampling before then raises ValueError.

class ionworkspipeline.data_fits.distribution_samplers.HypercubeSampler(distributions, seed=None, sampler_kwargs=None)

Base class for sampling from hypercube distributions.

Parameters

distributionslist[Distribution]

List of distributions

seedint, optional

Random seed for reproducibility

sampler_kwargsdict, optional

Additional keyword arguments passed to sampler

Extends: DistributionSampler

See also: HypercubeSampler — field-level documentation.

class ionworkspipeline.data_fits.distribution_samplers.LatinHypercube(distributions, seed=None, sampler_kwargs=None)

Latin hypercube sampler for quasi-random sampling.

Parameters

distributionslist[Distribution]

List of distributions

seedint, optional

Random seed for reproducibility

sampler_kwargsdict, optional

Additional keyword arguments passed to scipy.stats.qmc.LatinHypercube

Extends: HypercubeSampler

See also: LatinHypercube — field-level documentation.

class ionworkspipeline.data_fits.distribution_samplers.Uniform(distributions, seed=None, sampler_kwargs=None)

Uniform random sampler.

Parameters

distributionslist[Distribution]

List of distributions

seedint, optional

Random seed for reproducibility

sampler_kwargsdict, optional

Additional keyword arguments passed to numpy.random.RandomState

Extends: HypercubeSampler

See also: Uniform — field-level documentation.

reset()

Reset the random number generator with the original seed