Hi,
Thank you for putting this together!
I would have some ideas for the ideal pool :)
scipy.optimize: Would it be wanted to have a possibility to have workers to evaluate the function during an optimization?
In most industrial context, the function is not trivial and might require minutes if not hours or even days to compute.
Having a simple way to first parallelise the runs would help. We have machines with easily ten cores now and it would be great to leverage this here.
Going that direction, having a more general infrastructure to handle external workers would be great.
Sure there are external packages to do this, but then it’s not so trivial if you want to use SciPy’s optimizers.
scipy.optimize: What about another optimization method such as EGO? This would require to have a Gaussian Process regressor.
scipy.stats: there is an ANOVA section in the roadmap. But is sensitivity analysis in general something which would be of interest.
I am thinking about Sobol’ indices (not related to Sobol’ sequence but from the same author), moment based indices, Shapley values, cusunoro, etc.
scipy.metamodel: last but not least, a metamodel/response surface module. This is linked to the optimization or sensitivity analysis of expensive
functions. Would be sufficient to have Gaussian Process and polynomial chaos expansion. Could also include more general things like linear regression or
others things in scipy.interpolate.
Cheers,
Pamphile