UQWorld

Only know input and input data, how to do sensitivity analysis?

Hello, I am studying sensitivity analysis recently. In an uncertain and complex environment, I cannot build an accurate mathematical model. However, I have input data and corresponding output data. How can I get the degree of influence of input variables on output? Thank you!

Hello @FANFAN

A first simple check is to compute the (rank) correlation coefficients between each input parameter X_i and the output Y. If there are monotonic relationships between inputs and outputs, coefficients close to zero mean “unimportant variables”. Such an approach works however only for linear or monotonic input/output relationships. In general, global sensitivity analysis would be more robust.

If the input parameters are statistically independent (which you can see by computing the correlation matrix of your input data set, and also check with a scatterplot that there is no functional dependence between some parameters) then you can use Sobol’ indices for sensitivity analysis.

One way is to build a surrogate model such as polynomial chaos expansions or Kriging with your data. Global sensitivity analysis however requires that you specify the probabilistic distributions of your input parameters. This can be easily done using the “statistical inference” module of UQLab with your input data. Once you have a PCE or a Kriging model, you can compute the Sobol’ indices at low cost to carry out sensitivity analysis.

All the tools and example files for such an analysis are available in UQLab examples. The links to the user manuals listed above in the text give you some entry points to the relevant methodology and literature, and could be useful even if you don’t use UQLab.

Good luck!
Bruno

Hello, thank you very much for your reply. There is a problem I don’t understand. In UQLab, Sobol’ indices sensitivity analysis requires an exact function expression (for example, in the case analysis of Sobol’ indices, the function is uq_borehole), which is the main reason why I cannot use it. I am currently analyzing the life degradation of a mechanical system, which is composed of four motion units. In practical engineering applications, I use measurement technology to obtain the data of the four units and the system. My purpose is to analyze the sensitivity of these four units to the system.

Dear @FANFAN

As mentioned above, you should use your data to first build a model like polynomial expansion or Kriging.
Such a MODEL object is in fact a function in UQLab, that you can evaluate on new inputs, but also use for your subsequent sensitivity analysis.
Best regards
Bruno