-
Notifications
You must be signed in to change notification settings - Fork 256
Description
Unlike sample.saltelli, sample.sobol produces a different set of model input samples each time it runs. sobol.analyze appears to compute Sobol indices ONLY from the model outputs Y and the declared input bounds without actually using the input sample matrix where the model was evaluated. (Yes, you can make the samples reproducible by fixing the RNG seed, but that’s besides the point.) I scrambled the input samples while keeping the corresponding model outputs Y unchanged; sobol.analyze returned the same indices. That indicates sobol.analyze is agnostic to the actual input samples used for evaluation — it seems to assume the inputs were generated deterministically by sample.saltelli and ignores any other ordering. This can produce incorrect Sobol indices when the sample order or generation method differs from that assumption.