Lightweight reference implementation of Gaussian Process Latent Factor Regression (GPLFR), accompanying the [paper](TODO gplfr paper url)
pip install -e ".[dev]"This installs GPLFR plus the dependencies needed for demos and tests.
Start with demos/quickstart.ipynb, which generates a small synthetic problem, fits GPLFR, and visualizes held-out predictions.
predict returns the posterior predictive mean; pass return_std=True for the predictive standard deviation (add include_noise=True to include observation noise), or call sample(X_new, n_samples) to draw from the predictive distribution.
For a script-style reproduction of the synthetic learning-curve experiment, see demos/synthetic_learning_curve/; the plot is written to demos/synthetic_learning_curve/learning_curve.png.
| Path | Role |
|---|---|
model.py |
GPLFR model |
synthetic.py |
synthetic data generator |
kernels.py |
covariance kernels |
demos/ |
quickstart and synthetic data learning-curve example |
tests/ |
smoke tests plus numerical-correctness tests (collapsed likelihood, predictive mean) |
GPLFR was motivated by the exoplanet climate prediction problem. This repository is a lightweight reference implementation of GPLFR. For an expanded version of the exoclimate dataset, more thorough benchmarking, and the problem-specific adaptation of GPLFR, see ThousandWorlds and the associated paper (coming soon!).
@article{gplfr2026,
title = {GPLFR: Gaussian Process Latent Factor Regression},
author = {Stevenson, Ed and [coauthors]},
journal = {[venue]},
year = {2026},
url = {TODO: add GPLFR paper URL}
}