AnotherSamWilson / ParBayesianOptimization

Parallelizable Bayesian Optimization in R
107 stars 18 forks source link

Stochastic (noisy) function evaluations #27

Closed James-Thorson-NOAA closed 3 years ago

James-Thorson-NOAA commented 3 years ago

I'd like to to apply a bandit to optimize the Latitude-Longitude pair for a set of X samples conducted in a hypothetical ecosystem sampling program (i.e., 2X continuous parameters with a bounded spatial domain). I have a sampling simulator (https://doi.org/10.1111/ecog.05471) and can define an score function (the negative predicted variance of abundance for a set of ecosystem components) that is expensive to calculate. However, I envision calculating this score function stochastically, i.e., the expectation across the distribution of potential sampling realizations at each location. I believe I am therefore looking for a "stochastic bandit", i.e., a Bayesian Optimizer that allows noisy function evaluations (presumably emulating the target function with a Gaussian Process that includes some sampling nugget).

Is there any plan to include noisy function evaluations and/or a sampling nugget in future releases? Or are you aware of such implementations in alternative R packages (i.e., without porting an existing C++ implementation)?

AnotherSamWilson commented 3 years ago

You can pass your own arguments directly to the Gaussian Process builder, so you can pass your own nugget (and other arguments that affect the lengthscales / nugget). Take a look at the options available in the km() function in the DiceKriging package, which is what this package uses to make the GP.