This main focus of this project will be to extend the functionality of the PyMC3 Gaussian process module. I plan to focus my contribution on extending functionality for handling larger data sets. A secondary goal is to understand more about the maintenance and release cycle of PyMC3, with the intention of assisting in this work going forward. In a similar vein, I am also interested in helping port existing PyMC3 code to PyMC4 if a backend decision is made before the close of GSoC.
The PyMC3 GP module is broken into multiple implementations The Gaussian process module currently contains one larger-data (referred to as "sparse") approximation method that applies to data observed with normally distributed noise. An additional implementation exploits Kronecker structure in the covariance matrix to obtain efficiency gains, but also only applies to data observed with normally distributed noise.