Gaussian Process Latent Variable Models in Stan?


I am working on a problem where I would like to model y ~ gp(x), where x is an unobserved (Gaussian) latent variable. Does anyone have experience doing this? I have seen this in the literature referred to as a Gaussian Process Latent Variable Model, and was curious whether it could be fit in Stan.


1 Like

Yep! I have fit these. Same stuff as in the manual applies, just have X be a parameter vector, not data.

Of course you need to do identification as well so that there is only one unique rotation.


I’m just here to “second” what @saudiwin said - We’ve also fit GPs between latent variables. As long as you can identify the latent variable without the GP (i.e., directionality, scaling), you should be able to use a GP on it as well.


we have also used GPLVMs with Stan. To cope with the unidentifiable rotation of the latent space (if given a standard normal prior) we considered another parameterization based on Householder rotations. While this worked well for linear models, e.g. probabilistic PCA, there seemed to be additional symmetries in non-linear GPLVMs. In the end, we just used variational inference (as implemented in Stan) and went with the mode it got stuck in for making predictions.