3

Is there any efficient method to do global parameter sensitivity analysis based on given data, without generating new cases to simulate (very expensive in my case).

Indeed, a lot of famous sensitivity analysis methods (such as Sobol indices (aka. Variance-based sensitivity analysis)) need to rerun the studied model on custom data points.

for example, after monte carlo simulation, I want to know is in the sampling region, which parameters are contributing the most to the measurement(output)variance. What I do now is first training a response surface model based on Monte Carlo samples, and then doing sobol global sensitivity analysis on that model. Is there any more direct solution to that?

Pop
  • 1,446
  • 9
  • 21
user3450805
  • 233
  • 2
  • 7
  • This sounds like a Bayesian optimization problem: you have some data and want to make an educated guess about where the global optimum might be, as well as making predictions about what kinds of combinations of parameter tuples might change the outcome. BO is an approach for doing all of that. See this post here: http://stats.stackexchange.com/questions/193306/optimization-when-cost-function-slow-to-evaluate/193310#193310 – Sycorax Mar 14 '16 at 16:47

2 Answers2

2

Using a response surface model, also called metamodel (kriging, neural nets, polymomial chaos or others...), using your samples as a training set is indeed a classical way of doing which has proved to be effective in numerous examples. However, the metamodel has to be sufficiently good to be produce reliable sensitivity indices.

When having a fixed sample, another way to do is to use HSIC sensitivity indices (see De Lozzo and Marrel or Da Veiga).

Unlike, Sobol indices, these kernel-based sensitivity indices (or depence measures) are not only based on the variance of $Y$. Moreover, they require a lot less data points. And there is an implementation of these indices in R in the sensitivity package called sensiHSIC.

Pop
  • 1,446
  • 9
  • 21
-1

You may want to look for literature on greeks calculations with Monte Carlo in financial derivative pricing. The greeks are derivatives with respect to parameters of the financial derivative price. For instance, if the price of a financial derivative called call option is $c(S,\dots)$, then the greek called delta is defined as follows: $$\frac{\partial c(S,\dots)}{\partial(S)},$$ where $S$ is the stock price.

This is a very common problem in quant finance. Look at this post to see how vega can be calculated in Monte Carlo. The vega (greek) is simply the first derivative with respect to a parameter called volatility usually denoted by $\sigma$.

Note, that $\sigma$ is a greek letter, but it's not a greek of an option, while vega is not even a greek letter, but it's a greek of a financial derivative. Also, the financial derivative is not a derivative in mathematical sense. It's called financial derivative because it's price is dependent on (i.e. derived from in some sense) the price of another financial instrument. For instance, a call option is dependent on the price of the underlying stock. The underlying stock price follows a stochastic process, which makes the pricing of the financial derivatives so tricky. Pretty confusing language for outsiders, isn't it.

Aksakal
  • 55,939
  • 5
  • 90
  • 176