Skip to content

Overhaul of sampling to draw on developments in scientific python ecosystem#410

Merged
quaquel merged 20 commits intomasterfrom
qmc
Sep 11, 2025
Merged

Overhaul of sampling to draw on developments in scientific python ecosystem#410
quaquel merged 20 commits intomasterfrom
qmc

Conversation

@quaquel
Copy link
Copy Markdown
Owner

@quaquel quaquel commented Sep 8, 2025

This PR at its core does two things: at long last enable control over the random seed in a Spec-7 compliant way and a shift to using scipy.stats.qmc for LHS sampling.

As part of this, a long list of smaller changes and modifications have also been needed/convenient to implement at this point

  1. Move LHS over to use scipy.stats.qmc
  2. enable the use of non-uniform distributions for mc, lhs and all salib samplers
  3. Make workbench responsible for rescale, so salib just creates experimental designs on unit interval
  4. Enforce the use of rng in line with spec-7. This also at long last closes Add control for random state #62
  5. type hints
  6. code simplification and renaming
  7. Enable passthrough of sampling keyword arguments from BaseEvaluator.perform_experiment. The exact keywords that are valid depend on the underlying sampler and are documented for each sampler.

TODO

cleanup and code simplification
shift to using qmc for lhs
centralized rescaling for non uniform distributions in base class
rewrite tests
add type hints and update docstrings
@quaquel quaquel changed the title Move to using scipy.stats.qmc Overhaul of sampling to draw on developments in scientific python ecosystem Sep 8, 2025
@coveralls
Copy link
Copy Markdown

coveralls commented Sep 8, 2025

Coverage Status

coverage: 85.357% (+0.2%) from 85.15%
when pulling 7afc9ca on qmc
into 79ff8cc on master.

@quaquel quaquel linked an issue Sep 9, 2025 that may be closed by this pull request
make it work, update docs, harmonize API across normal and salib samplers
@quaquel quaquel linked an issue Sep 10, 2025 that may be closed by this pull request
@quaquel quaquel merged commit ccb12a8 into master Sep 11, 2025
20 of 22 checks passed
@quaquel quaquel deleted the qmc branch September 11, 2025 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider using Scipy stats.qmc module for Quasi-Monte Carlo samplers Add control for random state

2 participants