Hi @frankderuyck,
Not related to your specific use case, but if you have trouble fitting a Gaussian process model based on your data using the Bayesian Optimization platform, I would recommend these two options :
- Force the exploration of your design space by creating candidate points using MaxPro criterion. This model-agnostic criterion ensures the maximum distance between previous existing points and the new candidate points, which allows you to cover the experimental space efficiently.
- You can also change default settings regarding the Model Based Augmentation RSquare Threshold (if you increase this threshold from 0,25 (default) to 0,7 for example, you'll increase the exploration part), and possibly adjust the correlation type (Gaussian, Mattern 3/2 and 5/2, or exponential) at the beginning of your BO loop in case one of this correlation type is more adapted to your use case. Mattern 5/2 is a good default choice, but the Gaussian one might provide slightly better results for Y2.
In every case, the practitioner should stay in control of the platform and its outcomes, and choose the option most relevant to the situation (exploration/exploitation). I have presented a use case at a french Discovery Seminar about BO where the "auto" mode (blindly following the recommendations of the platform with the default settings) leads to suboptimal results. As soon as exploration is enforced (because of model fit inadequate and unreliable) through the addition of some exploration points, the model gets the relationships between inputs and outputs, and the exploitation can become much more interesting.
Looking at your response formula, what can be seen is that they are greatly different :
- Y1 has a model with main effects and interactions effects, approximately the same size (main effects slightly larger),
- Y2 has a model with main effects and some large interaction effects (X1*X3 and X2*X3)
- Y3 has a model with large main effects and some small interaction effects.
The formula formats of Y1 and Y3 are "normal" and easy to fit with a Gaussian Process.
For Y2, the very large interaction effects make the GP fit a lot more complex. Kernel equations involve the distance between points (see example with Gaussian Kernel) and the bandwidth (or also called lenghtscale) parameter. This parameter is learned by the GP for each factor/dimension, and informs about how a relative change in each factor affects the response. But as the dimensions are decoupled in the distance calculations (euclidian distance) and in the learning of this parameter, the GP model has hard times figuring out a reasonable bandwidth/lenghtscale parameter for each factor involved in a strong interaction, as it cannot evaluate well how each factor independantly affect the response.
In practice, when faced with a similar situation of very large interactions effects possible, an additive or polynomial kernel would be more suited, as the additive kernel decouples 1st-order, 2nd-order, 3rd order ... effects, and a polynomial kernel is explicitly set up to a fixed degree (in this case 2 or 3).
Given the options of the JMP Bayesian Optimization platform, I would recommend forcing the platform to generate more exploration points with MaxPro criterion. Please find attached my test, forcing 4 new exploration runs with MaxPro criterion before letting the platform optimize with Maximize expected Improvement option. The optimum found seems to be closer to your objectives than the one you obtain.
Hope this answer will help you,
Victor GUILLER
"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)