Google Summer of Code update
Published:
As discussed in the last blog post, I have been working on expanding JuliaDiffEq’s Global Sensitivity Analysis capability. After the Morris Method we decided to move on to the Sobol Method (indices).
Sobol method is almost the most popular variance based method used for Global Sensitivity Analysis. It provides a neat way of capturing interaction between the parameters.
We decided to add the first order, the second order and the total effect indices. The API for this method is pretty similar to the Morris Method and thus users will find it easy to compare among the different methods as is the general trend in the application of these methods.
For a good understanding of this method you can look at it’s wikipedia page here, this covers it in quite detailed and clear manner.
For DiffEq’s DEProblem
s the method can be called by sobol_sensitivity(prob::DEProblem,alg,t,p_range,N,order=2)
where alg
and t
represent the algorithm to use for solving the DEProblem
and t
the time points to use from the solutions, p_range
requires an array of bounds on the parameters and N
is the number of iterations to use in the indices’ calculation, and as evident order
is the argument used to determine which order indices to return, by default the second order indices are returned. You can also pass any native Julia function using the very similar interface sobol_sensitivity(f,p_range,N,order=2)
.
We have already started working on the next method that uses Regression Based coefficients, you can follow the going ons by taking a look at the JuliaDiffEq website’s news section here or take a look at the activity going on in our repo DiffEqSensitivity.jl.
Cheers!