MOGPs in GPJax #394
daniel-dodd
started this conversation in
Ideas
Replies: 1 comment
-
Hi @daniel-dodd, thanks for the proposal. I agree that minimalism/clarity and loose coupling are very important. I think it's probably a good idea to introduce a |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
To build on the excellent work of #360. @thomaspinder, @henrymoss, @ingmarschuster
Rough proposal
There's no free lunch when it comes to MOGP models. Therefore, it's essential to establish a solid foundation with structured abstractions that empower users to create their own models while ensuring seamless compatibility with other library modules.
We briefly outline the process of refactoring in alignment with GPJax's existing design principles to accomplish this goal. However, it's important to acknowledge that there may exist even more elegant approaches to achieve this objective. Regardless, our priority should be to seamlessly integrate these modifications consistently throughout the entire library.
In my view, it's beneficial to maintain a clear separation between kernel and likelihood computations as distinct entities. This decoupling simplifies the codebase, enhances extensibility, and maximises computational efficiency.
Existing API introduced by the PR:
Possible API:
Same as current GPJax.
Additionally, this implies that we can introduce various MOGP models by altering both the likelihood and the kernel. For instance, to demonstrate this flexibility, consider we have a scenario with two output dimensions, where one input is binary while the other is continuous:
Alternatively, if we require a different kernel structure, we can simply modify the Kernel. This flexibility allows us to establish efficient structures for different isotropic and heterotropic modelling scenarios.
Differences under the hood from the existing PR’s MOGP code
ReshapedDistribution
we can likely simplify this usingtree_maps
to extend theGaussianDistribution
for computation/reshaping samples from MOGP.Alternatives:
Beta Was this translation helpful? Give feedback.
All reactions