# How to run a sensitivity analysis with dependent variables?

I am trying to run a sensitivity analysis on an efficiency indicator: the ratio between nitrogen outputs (milk, meat, crops) and nitrogen inputs (fertilizers, cattle feed, symbiotic fixation…).

I have 4 output variables and 12 input variables. However, they are not independent. For instance, fertilizer input is correlated with crop output. It seems that the methods I read about (ANOVA, Morris, Sobol) are based on the hypothesis that all variables are independent. This allows testing the effect of the variation of each variable while keeping all other variables constant.

Do you have any suggestion of how I could take these correlations into account in my sensitivity analysis ?

If you have correlated inputs, you can use Morris and Sobol approaches, but you would first create a dummy input which generates your correlated pair of inputs.

It does not matter if your outputs are correlated with inputs (in fact, you would hope that they are). The Morris and Sobol sensitivity approaches make the assumption that your inputs are independent, but will reveal interactions (Morris) or second-order effects (Sobol) between inputs for each output.

Both of these methods are global sensitivity analysis methods, thus they change all parameters at the same time. Thus you are incorrect when you say

This allows testing the effect of the variation of each variable while keeping all other variables constant.

The results metrics give a global measure of the amount of variation in the output that can be explained by the variation in each input.

You can use the Python library SALib to create the input sample and run the analyses for both Morris and Sobol methods.

The methods you cite (Morris method and Sobol indices) suppose that all the inputs are independent. Of course, inputs and outputs can be dependent. Otherwise, no input would have any impact on the outputs.

If all your inputs are independent you can run easily a sensitivity analysis. If some are dependent, you can group the dependent ones and perform sensitivity analysis with the group of dependent inputs. Or you can use methods adapted to dependent inputs, such as methods based on linear regression (however it makes the hypothesis the link between inputs and outputs is linear) or dependence measures, for example.