'How to enforce symmetry boundary conditions in sklearn's Gaussian Process Regresson

I have a function in two variables a and b. a represents a diraction between 0 and 360 degrees. When using sklearn.gaussian_process.GaussianProcessRegressor to fit the function the value and the derivative of the fitted function in 0 and in 360 are different.

Is there a way to tell the regressor that f(0,b)==f(360,b) and f'(0,b)==f'(360,b)?

Since the data are only periodic with period equal to 360 degrees, I'm not sure the Exp-Sine-Squared kernel is a good choice, as I have only 1 period in my training data. In addition to that, I'd need to enforce the periodicity on the first parameter, while leaving the second to be no-periodic.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source