Replies: 1 comment
-
Hi @crimbs, thanks for starting this discussion. You might be interested in the paper Identifying latent climate signals using sparse As you point out, implementing in GPJax is different to how one might do it in GPFlow. However, using kernex, I think this could lead to a performant implementation. In GPFlow, it is very hard to avoid a for-loop which yields a huge PyTree. I'd be very happy to support this in JaxKern as I believe the hierarchical kernel to be incredibly useful. |
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
-
Hi team. I'm looking to implement the GP clustering method described in Hierarchical Bayesian modelling of gene expression time series across irregularly sampled replicates and clusters using GPJax.
Looking at GPy's implementation used in the paper as well as @thomaspinder's implementation in in GPFlow, it seems that the notion of a hierarchical kernel fits naturally into the
CombinationKernel
base class. However in GPJax this would require passing additional arguments to the pairwisecombination_fn
indicating which replicate the data point belongs to. For instance, see equation (5) in Fast Nonparametric Clustering of Structured Time-SeriesThe piecewise function above could then be written using
lax.cond
(orlax.switch
for deeper hierarchies).Do you think this is a over-engineered solution to remain consistent with GPJax's
vmap
-over-pairwise-kernel-functions approach instead of defining the covariance matrix using something likeIt would be nice to integrate smoothly with GPJax to experiment with sparse methods etc.
Beta Was this translation helpful? Give feedback.
All reactions