I am trying to understand how UQLab deal with parameters that are ‘dependent’, or ‘swept’. For example, consider this model: Y = a + b.*x. Here, a and b are both random variables, but x is a deterministic variable. In UQLab, the closest I found it to define x as a uniform r.v. with the appropriate range. This seems to work for PCE, but when doing Sobol SA the output shows that x has most of the variance which is not meaningful since x is a sweeping parameters. Am I missing something?

Hi @Ali_Alsaqqa

I am not sure I understood this correctly .

If I got it right, in your model \mathcal{M} you compute Y with the following

Y = a+b x,

where a and b are random variables (probably normally distributed?), and x is your deterministic variable in the sense that you want to try different values of x, say in a grid fashion x=\{1,2,3,..\}, and run the model for each of these values. After that, you want to perform the sensitivity analysis for the random variables a and b for each case of x.

Is this correct?

Yes, that is correct. Think of a linear model, where ‘x’ is being swept, and ‘a’ and ‘b’ are some random variables with some distribution.

Perfect.

Then I would say that you should set the problem differently.

Rather than adding the x variable in the Input module of Uqlab (as a random variable with uniform distribution), you should impose a loop over different values of x in which you perform PCE and Sobol indices computation at each iteration for only the a and b variables.

I am unsure if there is any other way to do the same operation within the Uqlab framework. But what I proposed to you should work fine I think. As for the analysis, you will end up with as many indices for the variables as the number of values you assign to x. Maybe you could then analyze their distribution over x?

Just out of curiosity, I have a question. Since your model is Y=a+bx, you should have gotten the same Sobol indices for b and x if they are independent and identically distributed variables (i.i.d.). Are they i.i.d.?

Actually the linear model is just an example I gave to convey the message. In reality the model I’d be using is not analytical, just a simulation (like FEA). I wanted to make sure I understand the intuition before.

Back to the main question, If I am going to make a loop for each ‘x’, then I will have a different set of PCE coefficients each time. Then even for a simple linear model and a narrow ‘x’ range, I’ll be getting way too many coefficients. Is this the intent of PCE?

Thanks for the explanation about the model

The intent of PCE is to have a surrogate model of your original “expensive” computational model (FEA in your case). However, the PCE also allows to collect and quantify variance-based sensitivity indices.

You would have a lot of PCE coefficients, yes, but I do not think that this may result in an obstacle for you. To understand the effect of the sweeping variable, you could then visualize the variation of the Sobol indices with respect of your sweeping variable x.