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.