I’ve extracted datasets from experiments and want to perform a sensitivity analysis using UQLab. However, I couldn’t find any documentation on how to directly apply sensitivity analysis to raw data. From what I’ve seen, UQLab typically requires defining a model (i.e., a function) and then evaluating that function to generate the necessary data.
Is there a way to perform sensitivity analysis in UQLab using existing datasets, without explicitly defining a function? Any advice or suggestions would be appreciated!
Dear @saeid_saberi,
You cannot directly apply Sobol’ sensitivity analysis to an existing dataset without an underlying model. However, you can construct a Polynomial Chaos Expansion (PCE) surrogate based on your experimental design and compute Sobol’ indices from the PCE (see PCE-based Sobol’ indices in the manual). This approach is especially handy when working with small datasets, as it typically gives better results than the MC-based approach.
Hope this helps!
Best regards,
Styfen
Dear Styfen,
Thank you for the information. Actually, I’ve used AI-based methods, but I’ll try PCE-based Sobol as well.
Best
Dear @saeid_saberi ,
The approach suggested by @styfen.schaer is perfectly fine and I would personnaly use this way. There are, however, other methods to do this. One of these is to use estimators based on rank statistics, see (Gamboa, Gremaud, Klein & Lagnoux, 2022). An example is provided at plot_sensitivity_rank_sobol.html.
Best regards,
Michaël
- Gamboa, F., Gremaud, P., Klein, T. & Lagnoux, A. Global sensitivity analysis: A novel generation of mighty estimators based on rank statistics Bernoulli 28(4): 2345-2374, 2022. pdf