Sensitivity Analysis: Standard Regression Coefficients

Dear All,

I am trying to run SRC from sample-based sensitivity analysis. I’ve got 1000 inputs and 200 outputs, and the sample size is 10000. I intend to measure how much the dependant variable varies to the variance of the independent inputs uncertainties.

I receive the following error:

Error in uq_SRC_indices (line 88)
totSRCIdx((Options.FactorIndex)) = SRCIdx;

Could you please inform me why such error has occurred, what it means, and how I could solve the problem?

Thanks :slight_smile:

Hi @AHz,

SRC is simple linear regression of the output Y onto the input variables X_i. Given that you have 10000 samples for 1000 inputs, this should in principle not be a problem. Without more information about the error message or your data (or your Matlab code) I’m afraid I cannot tell you much more. Did you use the option SensOpts.FactorIndex (see Sensitivity Analysis user manual, section 2.4.1)? For which of the 200 outputs do you receive this error?

May I ask why you have 200 outputs? Is it maybe a time series or a displacement field? It might be advantageous to do some dimension reduction (see e.g. @xujia’s post mentioning the use of PCA or patterns in the data) before you do the sensitivity analysis.

Also, 1000 inputs seem like a lot. Are these really all independent variables, in whose influence on the output you are interested? Could you maybe do some dimension reduction to a few meaningful variables?

The question is whether a result in the form of “Variable 257 has the most influence on output #2, whereas variable 903 has the most influence on outputs #178 and #191” is meaningful and interpretable to you. (And note that SRC only looks for linear dependence!)

I hope this helps, let us know how you proceed! :slight_smile:

1 Like