non_uniform_lhs_categorical#

obsidian.experiment.advanced_design.non_uniform_lhs_categorical(level_dict, n_samples, seed=None, scramble=True)[source]#

Draw LHS-stratified categorical samples using inverse-transform sampling with per-level frequency weights.

Parameters:
  • level_dict – Dict mapping level name → {'freq': float, subparam: ([values], [weights]), ...}.

  • n_samples – Number of samples to draw.

  • seed – Random seed. Defaults to None.

  • scramble – Whether to scramble the LHS sampler. Defaults to True.

Returns:

One dict per sample containing 'level' and any sampled

subparameter values.

Return type:

list[dict]