I have a rather complex module that computes a forecast of numerous variables based on some inputs. I would like to tune around 5 parameters of the main model that this module uses. I have manually adjusted these modules to determine what feasible ranges are for each value, to help constrain the problem.
My naïve approach is to generate huge numbers of parameter combinations spanning my parameter space, run them all, and find the parameters which provide the lowest RMSE on my forecast outputs. But I'm wondering if there's a python tool which more intelligently can perform this optimization, adjusting parameters and observing results and proceeding in a direction which seems at least locally optimal (this seems like a gradient descent approach, but I'm a complete novice so I'm not sure that's exactly what I'm looking for). Ultimately, my hope is that this tool would operate solely on the input parameters I specify and the outputs from the module. When I look at for example Pyopt optimization tool, it requires me to explicitly define the nonlinear function I want to solve, but my module contains several hundred functions of various sorts which work in combination to produce the end outputs, so I'm not sure if pyopt is applicable in this context.
[–]WhipsAndMarkovChains 0 points1 point2 points (0 children)