{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic (Gaussian likelihood) GP regression model\n", "\n", "\n", "This notebook shows the different steps for creating and using a standard GP regression model, including:\n", " - reading and formatting data\n", " - choosing a kernel function\n", " - choosing a mean function (optional)\n", " - creating the model\n", " - viewing, getting, and setting model parameters\n", " - optimising the model parameters\n", " - making predictions\n", " \n", "We focus here on the implementation of the models in GPflow; for more intuition on these models, see [A Practical Guide to Gaussian Processes](https://drafts.distill.pub/gp/).\n", " " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2018-06-19T08:59:50.141046Z", "start_time": "2018-06-19T08:59:49.132677Z" } }, "outputs": [], "source": [ "import gpflow\n", "import numpy as np\n", "import matplotlib\n", "\n", "# The lines below are specific to the notebook format\n", "%matplotlib inline\n", "matplotlib.rcParams['figure.figsize'] = (12, 6)\n", "plt = matplotlib.pyplot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`X` and `Y` denote the input and output values. **NOTE:** `X` and `Y` must be two-dimensional NumPy arrays, $N \\times 1$ or $N \\times D$, where $D$ is the number of input dimensions/features, with the same number of rows as $N$ (one for each data point):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = np.genfromtxt('data/regression_1D.csv', delimiter=',')\n", "X = data[:, 0].reshape(-1, 1)\n", "Y = data[:, 1].reshape(-1, 1)\n", "\n", "plt.plot(X, Y, 'kx', mew=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will consider the following probabilistic model:\n", "$$ Y_i = f(X_i) + \\varepsilon_i , $$\n", "where $f \\sim \\mathcal{GP}(\\mu(.), k(., .'))$, and $\\varepsilon \\sim \\mathcal{N}(0, \\tau^2 I)$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Choose a kernel \n", "Several kernels (covariance functions) are implemented in GPflow. You can easily combine them to create new ones (see [Manipulating kernels](../advanced/kernels.ipynb)). You can also implement new covariance functions, as shown in the [Kernel design](../tailor/kernel_design.ipynb) notebook. Here, we will use a simple one:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "k = gpflow.kernels.Matern52(input_dim=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `input_dim` parameter is the dimension of the input space. It typically corresponds to the number of columns in `X` (see [Manipulating kernels](../advanced/kernels.ipynb) for more information on kernels defined on subspaces). You can get a summary of the kernel, either by using `print(k)` (plain text) or as follows:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classpriortransformtrainableshapefixed_shapevalue
Matern52/lengthscalesParameterNone+veTrue()True1.0
Matern52/varianceParameterNone+veTrue()True1.0
\n", "
" ], "text/plain": [ " class prior transform trainable shape \\\n", "Matern52/lengthscales Parameter None +ve True () \n", "Matern52/variance Parameter None +ve True () \n", "\n", " fixed_shape value \n", "Matern52/lengthscales True 1.0 \n", "Matern52/variance True 1.0 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k.as_pandas_table() #, or simply:\n", "k" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Matern 5/2 kernel has two parameters: `lengthscales`, which encodes the \"wiggliness\" of the GP, and `variance`, which tunes the amplitude. They are both set to 1.0 as the default value. For more details on the meaning of the other columns, see [Manipulating kernels](../advanced/kernels.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Choose a mean function (optional)\n", "It is common to choose $\\mu = 0$, which is the GPflow default. \n", "\n", "However, if there is a clear pattern (such as a mean value of `Y` that is far away from 0, or a linear trend in the data), mean functions can be beneficial. Some simple ones are provided in the `gpflow.mean_functions` module.\n", "\n", "Here's how to define a linear mean function:\n", "\n", "`meanf = gpflow.mean_functions.Linear()`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construct a model\n", "A GPflow model is created by instantiating one of the GPflow model classes, in this case GPR. We'll make a kernel `k` and instantiate a GPR object using the generated data and the kernel. We'll also set the variance of the likelihood to a sensible initial guess. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2018-06-19T08:59:50.402776Z", "start_time": "2018-06-19T08:59:50.292900Z" } }, "outputs": [], "source": [ "m = gpflow.models.GPR(X, Y, kern=k, mean_function=None)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can get a summary of the model, either by using `print(m)` (plain text) or as follows:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classpriortransformtrainableshapefixed_shapevalue
GPR/kern/lengthscalesParameterNone+veTrue()True1.0
GPR/kern/varianceParameterNone+veTrue()True1.0
GPR/likelihood/varianceParameterNone+veTrue()True1.0
\n", "
" ], "text/plain": [ " class prior transform trainable shape \\\n", "GPR/kern/lengthscales Parameter None +ve True () \n", "GPR/kern/variance Parameter None +ve True () \n", "GPR/likelihood/variance Parameter None +ve True () \n", "\n", " fixed_shape value \n", "GPR/kern/lengthscales True 1.0 \n", "GPR/kern/variance True 1.0 \n", "GPR/likelihood/variance True 1.0 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.as_pandas_table() #, or simply:\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first two lines correspond to the kernel parameters, and the third one gives the likelihood parameter (the noise variance $\\tau^2$ in our model).\n", "\n", "You can access those values and manually set them to sensible initial guesses. For example:\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "m.likelihood.variance = 0.01\n", "m.kern.lengthscales = 0.3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimise the model parameters\n", "To obtain meaningful predictions, you need to tune the model parameters (that is, the parameters of the kernel, the likelihood, and the mean function if applicable) to the data at hand. \n", "\n", "There are several optimisers available in GPflow. Here we use the `ScipyOptimizer`, which by default implements the L-BFGS-B algorithm. You can select other algorithms by using the `method=` keyword argument of `ScipyOptimizer`; see [the SciPy documentation](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html) for details of available options." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Optimization terminated with:\n", " Message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'\n", " Objective function value: 9.733150\n", " Number of iterations: 20\n", " Number of functions evaluations: 22\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:tensorflow:Optimization terminated with:\n", " Message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'\n", " Objective function value: 9.733150\n", " Number of iterations: 20\n", " Number of functions evaluations: 22\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classpriortransformtrainableshapefixed_shapevalue
GPR/kern/lengthscalesParameterNone+veTrue()True0.21241587062097605
GPR/kern/varianceParameterNone+veTrue()True7.965730330409469
GPR/likelihood/varianceParameterNone+veTrue()True0.005759487103521433
\n", "
" ], "text/plain": [ " class prior transform trainable shape \\\n", "GPR/kern/lengthscales Parameter None +ve True () \n", "GPR/kern/variance Parameter None +ve True () \n", "GPR/likelihood/variance Parameter None +ve True () \n", "\n", " fixed_shape value \n", "GPR/kern/lengthscales True 0.21241587062097605 \n", "GPR/kern/variance True 7.965730330409469 \n", "GPR/likelihood/variance True 0.005759487103521433 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "opt = gpflow.train.ScipyOptimizer()\n", "opt.minimize(m)\n", "m.as_pandas_table()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how the value column has changed.\n", "\n", "The local optimum found by Maximum Likelihood might not be the one you want (for example, it might be overfitting or oversmooth). This depends on the initial values of the hyperparameters, and is specific to each dataset. As an alternative to Maximum Likelihood, [Markov Chain Monte Carlo (MCMC)](../advanced/mcmc.ipynb) is also available.\n", "\n", "## Make predictions\n", "\n", "We can now use the model to make some predictions at the new points `Xnew`. You might be interested in predicting two different quantities: the latent function values `f(Xnew)` (the denoised signal), or the values of new observations `y(Xnew)` (signal + noise). Because we are dealing with Gaussian probabilistic models, the predictions typically produce a mean and variance as output. Alternatively, you can obtain samples of `f(Xnew)` or the log density of the new data points `(Xnew, Ynew)`.\n", "\n", "GPflow models have several prediction methods:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " - `m.predict_f` returns the mean and variance of $f$ at the points `Xnew`. \n", "\n", " - `m.predict_f_full_cov` additionally returns the full covariance matrix of $f$ at the points `Xnew`.\n", "\n", " - `m.predict_f_samples` returns samples of the latent function.\n", "\n", " - `m.predict_y` returns the mean and variance of a new data point (that is, it includes the noise variance).\n", "\n", " - `m.predict_density` returns the log density of the observations `Ynew` at `Xnew`.\n", " \n", "We use `predict_f` and `predict_f_samples` to plot 95% confidence intervals and samples from the posterior distribution. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2018-06-19T08:59:50.640000Z", "start_time": "2018-06-19T08:59:50.404378Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "## generate test points for prediction\n", "xx = np.linspace(-0.1, 1.1, 100).reshape(100, 1) # test points must be of shape (N, D)\n", "\n", "## predict mean and variance of latent GP at test points\n", "mean, var = m.predict_f(xx)\n", "\n", "## generate 10 samples from posterior\n", "samples = m.predict_f_samples(xx, 10) # shape (10, 100, 1)\n", "\n", "## plot \n", "plt.figure(figsize=(12, 6))\n", "plt.plot(X, Y, 'kx', mew=2)\n", "plt.plot(xx, mean, 'C0', lw=2)\n", "plt.fill_between(xx[:,0],\n", " mean[:,0] - 1.96 * np.sqrt(var[:,0]),\n", " mean[:,0] + 1.96 * np.sqrt(var[:,0]),\n", " color='C0', alpha=0.2)\n", "\n", "plt.plot(xx, samples[:, :, 0].T, 'C0', linewidth=.5)\n", "plt.xlim(-0.1, 1.1);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GP regression in higher dimensions\n", "Very little changes when the input space has more than one dimension. `X` is a NumPy array with one column for each dimension. The kernel can be set with `input_dim` equal to the number of columns of `X`. It is generally recommended that you set the `ARD` (Automatic Relevance Determination) parameter to `True` to enable you to tune a different lengthscale for each dimension." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further reading\n", "\n", " - [Stochastic Variational Inference for scalability with SVGP](../advanced/gps_for_big_data.ipynb) for cases where there are a large number of observations.\n", " - [Ordinal regression](../advanced/ordinal_regression.ipynb) if the data is ordinal.\n", " - [Multi-output models and coregionalisation](../advanced/coregionalisation.ipynb) if `Y` is multidimensional." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }