I’m attempting to use PyMC to implement a Gaussian Process. My goal is to model the baseline and seasonality of a marketing mix model (MMM). Specifically, I’d like to use a periodic kernel along with a Matern/ExpQuad kernel.
After reading your documentation, I understand that I can’t use the HSGP class with a periodic kernel. Therefore, the only way to implement the described kernel would be to use the Latent class, which, however, requires enormous computational times.
I have some questions regarding this:
Is the reasoning I’ve outlined above correct?
Is there a way to achieve the above but with an approximate method?
Once the Gaussian process is “trained,” is there an easy way to use it for making predictions? I know about gp.conditional, but are there any alternatives?
Does it make sense to use a Gaussian process for out-of-sample predictions?
You’re correct about Latent possibly being too slow. Take a look at the pm.gp.HSGPPeriodic class, I think it’s what you need.
It does make sense to use a GP for out of sample predictions. Check the docstring for HSGP and HSGPPeriodic for instructions on using pm.set_data to make predictions, bypassing gp.conditional.
Hope that helps, please ask again if you have any more questions.