SciML / GlobalSensitivity.jl

Robust, Fast, and Parallel Global Sensitivity Analysis (GSA) in Julia
https://docs.sciml.ai/GlobalSensitivity/stable/
MIT License
51 stars 21 forks source link

Warnings because design matrices for Sobol's method are not randomized #166

Open devmotion opened 4 months ago

devmotion commented 4 months ago

The design matrices for Sobol's method are not randomized (https://github.com/SciML/GlobalSensitivity.jl/blob/394dc74c5290bce28a470789da93b699cac6874c/src/sobol_sensitivity.jl#L348), leading to the warning

┌ Warning: The generate_design_matrices(n, d, sampler, R = NoRand(), num_mats) method does not produces true and independent QMC matrices, see this doc warning
│ (https://docs.sciml.ai/QuasiMonteCarlo/stable/design_matrix/) for more context. Prefer using randomization methods such as R = Shift(), R = MatousekScrambling(),
│ etc., see documentation (https://docs.sciml.ai/QuasiMonteCarlo/stable/randomization/)
└ @ QuasiMonteCarlo /Users/david/.julia/packages/QuasiMonteCarlo/KvLfb/src/RandomizedQuasiMonteCarlo/iterators.jl:255

(shows up e.g. in CI: https://github.com/SciML/GlobalSensitivity.jl/actions/runs/8972149466/job/24639486952#step:6:515)

See https://docs.sciml.ai/QuasiMonteCarlo/stable/design_matrix/#DesignMatrices, https://docs.sciml.ai/QuasiMonteCarlo/stable/randomization/ and https://github.com/SciML/QuasiMonteCarlo.jl/pull/79#discussion_r1222946133.

Vaibhavdixit02 commented 4 months ago

Very interesting, I hadn't seen that PR. Looks like all that needs to change here is #167