Sensitivity analysis for multi outputs, if the output is calculated by simulations

I am very new to UQlab, I installed it and try to apply the sensitivity analysis for multi outputs, I am using polynomial regression as a model since my outputs are in table form. I am trying to apply for my problem same by following the given example for multi outputs but all in vain. Can anyone of you give me an idea that how to use UQlab for non analytical functions.

Hi Gull Rana and welcome to UQWorld :smiley:

It is not clear to me what you are trying to do. Could you possibly share a bit more information to make your problem easier to reproduce? For example:

  • What sensitivity analysis are trying to conduct?
  • What do you mean by:

Could you possibly also share a minimal working example? This would make it much easier to help!

thank you for a quick response, Basically I have a data of sample size 1080. Five independent variables and the solutions are simulated through a finite element based software. So I have 1080 by 5 (input data), for each input sample I have 32 outputs, i-e (1080 by 32) output data. I want to apply sobol senstivity analysis for my problem. Since I don’t have any handle function to compute outputs, that’s why I generated regression model by using the above data and tried to use it as UQ model in the example of multi output. I hope you understand my question. I am confused that how to call the model and use the Uqanalyse for the sample size.

Hi - to help you I need a bit more information:

  • What sensitivity analysis are you trying to conduct (Sample-based, linearization or global)? You can have a look at the manual to clarify.
  • Do you have access to the computational model in Matlab or do you just have an input/output sample?
  • Do you know the distribution of your input (i.e. Gaussian, Uniform, etc.)?

Let me know!


  1. I am looking for global sensitivity for my input parameters ( 5 parameters)
  2. I only have data (set of inputs and corresponding outputs)
  3. Distribution of my inputs is uniform (sobol sampling)

Thanks! So in this case I recommend you do a Sobol’ sensitivity analysis based on a PCE surrogate model. You will need to do three things:

  1. Define your input distribution as a uq_input object (manual)
  2. Use this distribution and your available experimental design X and corresponding model evaluations Y to construct a PCE (manual). You can also have a look at example uq_Example_PCE_04_MultipleOutputs to see how this can be done in your case with an existing experimental design (i.e., MetaOpts.ExpDesign.Sampling = 'User')
  3. Utilize this PCE to compute the Sobol’ indices as detailed in uq_Example_Sensitivity_02_SobolIndices Section 4.2

I hope this helps :smiley: - let me know if something is not clear.

Hi @Gull_Rana,

Hopefully, you can solve your problem with the answers above and the one provided by @bsudret below

If you still run into problem, be sure to post a reproducible example of your problem up to the point things don’t work. If you need to attach some data, you can also do it here given it’s not too large (<3MB).

Hi Damarginal,
Yes, the aforementioned suggestions for my problem are very helpful for me. Thanks to all of you who guided me properly.