Distribution Samplers¶
Classes for sampling from probability distributions
- class ionworkspipeline.data_fits.distribution_samplers.DistributionSampler¶
Base class for sampling from probability distributions.
- classmethod from_schema(schema: Any) DistributionSampler¶
Construct from a validated
ionworks_schemaschema instance.The schema’s
DistributionSamplerfamily carries no configuration — pipeline distribution-sampler classes only requiredistributionsat run time, which are supplied by theDataFitruntime once the parameter set is known. To avoid coupling that runtime concern intofrom_schema, this method bypasses__init__(via__new__) and returns a bare instance. Calling__call__/_samplebeforeDataFithas populated_distributionsraises a clearValueErrorrather than leaking anAttributeError.
- 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:
ionworkspipeline.data_fits.distribution_samplers.distribution_samplers.DistributionSampler
- 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:
ionworkspipeline.data_fits.distribution_samplers.distribution_samplers.HypercubeSampler
- 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:
ionworkspipeline.data_fits.distribution_samplers.distribution_samplers.HypercubeSampler- reset()¶
Reset the random number generator with the original seed