This repository contains the materials for my March 28, 2022 "Scalable Gaussian Processes" tutorial at the GPRV workshop in Oxford, UK.
The file ajac5176t3_mrt.txt is the machine-readable version of Table 3 from
Zhao et al.
(2022), and
it should not be used without the appropriate citation.
The notebooks can be executed locally following the instructions below, or they can be run on Google Colab, if you can't or don't want to set up the local environment.
If you want to run these notebooks locally, you'll need to set up a Python
environment with the usual scientific stack (numpy, scipy, and matplotlib)
installed, as well as a Jupyter client. Besides these standard dependencies,
you'll also need jax, jaxopt, and tinygp installed. I released a new
version of tinygp the day before this workshop, and I think you'll need at
least that version installed.
For a CPU-only build, the best way to get these non-standard dependencies
installed is with pip:
python -m pip instal -U "jax[cpu]" jaxopt tinygpIf you want to install a GPU-accelerated version of jax, follow the instructions
in the jax README.
For the real-data.ipynb notebook, you'll also need to have astropy
installed, and that can also be installed using conda or pip.
Once you have your environment set up, you can clone this repository
git clone https://github.com/dfm/gprv.gitand open it in your favorite Jupyter environment.
At the workshop I will live code the first two notebooks, but this repository includes cleaned up versions of where we will (hopefully!) end up, as well as some extra explanations and suggested extensions.
-
A good place to start is the
intro-to-jax.ipynbnotebook which includes a very brief introduction to thejaxlibrary which is the main dependency oftinygp. You'll mostly usejaxa lot likenumpy, but there are some fundamental programming concepts that will be useful to know. You can open this notebook in Google Colab. -
The next notebook is
intro-to-tinygp.ipynb, where I go through a simple example use case fortinygpapplied to simulated data. This includes some suggested exercises and extensions near the end. You can open this notebook in Google Colab. -
The last notebook shows an example of a
tinygpmodel fit to real data. Disclaimer: this particular notebook is by no means meant as a suggestion for how to actually usetinygpfor RV data analysis, that's a discussion for the rest of the workshop! You can open this notebook in Google Colab.