I have a physical system which takes a number of inputs $x_i$ and produces an output $error$.
$$ Y = f(x_1, x_2, x_3, .. x_{1000}) $$
The function $f()$ can be evaluated by running a compute-intensive simulation of a model.
I want to find the $x_i$ to which $Y$ is most sensitive. In practice, I want to optimize the values for the few input variable which would give maximum return (in terms improving the system performance).
I can think of randomly changing each of the $x_i$ by a small amount around the existing value and record the output. Repeat the experiment by few hundred times and compute the correlation between $x_i$ to $Y$ and pick the inputs with high correlation.
I am wondering if there is a more formal method to achieve this.
One important constraint in my particular problem is that each model evaluation requires a computationally intensive simulation of about 10 minutes and $x_i$ is of size $1000$ to $2000$.