Closed emsal0 closed 4 years ago
Not at the moment, see #113. This is definitely something we would like the package to support, but nobody has picked up this project yet.
I can work on implementing at least the start of this project, as there's been interest in doing this for applications like in this issue in DiffEqBayes. I'll come up with a short proposal for an implementation plan soon?
If you wanted to start on implementing the kernels required for a vector-valued GP, @emsal1863 that would be fantastic. I'd be happy to support if there's anything you run into trouble with.
A proposal would be great.
Thanks for the support @thomaspinder, I'm a bit new to developing Julia packages so I've been learning the workflow as I go along looking at this. I've begun to look through the package and here's my initial general idea for how to implement this:
GPA
struct support having y
as a type deriving from AbstractMatrix
rather than just AbstractVector
. In this commit on my branch I began starting to extend the functionality of the GPA
class and to my surprise most of the functionality still works; there are still a couple of tests failing in the Optim
test set though.y
being an AbstractMatrix
there would then need to be support for Mean
types that return vector values. In order to maintain the current scalar-valued mean functions to continue working, I suggest that a good way to start out doing this is to make the library throw an "unsupported" error when trying to use one of the existing mean functions when using a y
value that doesn't derive AbstractVector
(can this be done?), then add new vector-valued Mean
implementations. These could start out as vector-valued versions of the ones that currently exist like mLin
, mPoly
, etc.x
) are already supported for the case of vector -> scalar functions, so (correct me if I'm wrong) I don't think anything needs to be added for the kernels.Does my assessment seem correct?
Also, I'm still looking at the optimization and sampling methods and I don't really know how to assess the work that needs to be done there yet - can I get some help in understanding how these might need to be changed?
I'll continue trying to fix the issue with the Optim
tests in the meantime.
Forgive me if it's already supported and I just missed it.
I can't seem to find anything in this library for vector-valued GPs as described in Section 3.3 of this paper. Are there plans to support it or is there a way to use them with the current functionality?