{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains material from [cbe67701-uncertainty-quantification](https://ndcbe.github.io/cbe67701-uncertainty-quantification);\n", "content is available [on Github](https://github.com/ndcbe/cbe67701-uncertainty-quantification.git).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [10.2 A simple example of Bayesian quadrature](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.02-Bayesian-quadrature.html) | [Contents](toc.html) | [11.0 Predictive Models Informed by Simulation, Measurement, and Surrogates](https://ndcbe.github.io/cbe67701-uncertainty-quantification/11.00-Predictive-Models-Informed-by-Simulation-Measurement-and-Surrogates.html)
"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "AUdBNLwRIufS",
"nbpages": {
"level": 1,
"link": "[10.3 **Using scikit-learn for Gaussian Process Regression**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3-**Using-scikit-learn-for-Gaussian-Process-Regression**)",
"section": "10.3 **Using scikit-learn for Gaussian Process Regression**"
}
},
"source": [
"# 10.3 **Using scikit-learn for Gaussian Process Regression**\n",
"\n",
"Created by Nilay Kumar \n",
"\n",
"The following resources were used for preparing this notebook:\n",
"1. https://www.youtube.com/channel/UCcAtD_VYwcYwVbTdvArsm7w\n",
"2. Dr. Juan Camilo Orduz, An Introduction to Gaussian Process Regression, https://juanitorduz.github.io/gaussian_process_reg/\n",
"3. Hilarie Sit, Quick Start to Gaussian Process Regression, https://towardsdatascience.com/quick-start-to-gaussian-process-regression-36d838810319\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "DrDrC1MQJtmJ",
"nbpages": {
"level": 2,
"link": "[10.3.1 **Objectives**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.1-**Objectives**)",
"section": "10.3.1 **Objectives**"
}
},
"source": [
"## 10.3.1 **Objectives**\n",
"\n",
"1. A mathematical understanding of how gaussian process regression model is built. The set of equations also highlight how Bayesian Linear Regression is just a special case of Gaussian Process Regression.\n",
"2. Using scikit lear to fit a GPR model to data points generated from the mathematical function $y = sin(4\\pi x) + sin(7\\pi x)$"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "eJVkg2exj0uz",
"nbpages": {
"level": 2,
"link": "[10.3.2 **Mathematical overview**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.2-**Mathematical-overview**)",
"section": "10.3.2 **Mathematical overview**"
}
},
"source": [
"## 10.3.2 **Mathematical overview**"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "ImWoTdLtj_sp",
"nbpages": {
"level": 2,
"link": "[10.3.2 **Mathematical overview**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.2-**Mathematical-overview**)",
"section": "10.3.2 **Mathematical overview**"
}
},
"source": [
"**1. Definition of Bayesian Linear Regression Models**\n",
"\n",
"Given a dataset $D$,\n",
"\n",
"$D = [(x_{1},y_{1}), (x_{2},y_{2}),.......,{x_{n},y_{n}}], x_{i} \\in R^{d}, y_{i} \\in R$ \n",
"\n",
"One can simply describe as bayesian linear regression model on the dataset as \n",
"\n",
"$Y_{i} = w^{T} x + \\epsilon _{i}$\n",
"\n",
"where, $w$ is a prior and can be approximated as $ w ~ N(0, \\nu I)$ and $\\epsilon$ is the noise defined using a gaussian with mean o and variance $\\sigma^2$"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "DcBOtiXMnI2E",
"nbpages": {
"level": 2,
"link": "[10.3.2 **Mathematical overview**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.2-**Mathematical-overview**)",
"section": "10.3.2 **Mathematical overview**"
}
},
"source": [
"**2. $z = x^{T} w$ is a Gaussian Process!**\n",
"\n",
"$\n",
" \\begin{pmatrix}\n",
" z_{x_{1}} \\\\\n",
" z_{x_{2}} \\\\\n",
" \\vdots \\\\\n",
" z_{x_{n}} \n",
" \\end{pmatrix} = $ $\n",
" \\begin{pmatrix}\n",
" x_{1}^T w \\\\\n",
" x_{2}^Tw \\\\\n",
" \\vdots \\\\\n",
" x_{n}^Tw \n",
" \\end{pmatrix} = $$\n",
" \\begin{pmatrix}\n",
" \\cdots & x_{1}^T & \\cdots \\\\\n",
" \\cdots & x_{2}^T & \\cdots \\\\\n",
" \\vdots \\\\\n",
" \\cdots & x_{n}^T & \\cdots \n",
" \\end{pmatrix} w $ $= Aw$ \n",
"\n",
" A is the design matrix of a linear regression. Since w, the prior for \n",
" the bayesian regression model is normally distributed. Hence, by $Affine$ $property$ of multivariate gaussian $Aw$ is also a Gausiisn.\n",
"\n",
" **Mean and Covariance of $z = x^{T} w$**\n",
"\n",
" $\\mu (z) = E(z_{z}) = E(x^{T} w)= x^{T} E(w) = 0$\n",
"\n",
" $K(z,z') = cov(z_{x},z_{x}') = E(z_{x}z_{x}') - E(z_{x})E(z_{x}') = x^{T}E(ww^{T})x'^{T} = \\nu x^{T}x'^{T}$ \n"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "oUHrhL5CuhXI",
"nbpages": {
"level": 2,
"link": "[10.3.2 **Mathematical overview**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.2-**Mathematical-overview**)",
"section": "10.3.2 **Mathematical overview**"
}
},
"source": [
"**3. Estimationg conditional distribution for inference using a Gaussian Process Model**\n",
"\n",
"A gaussian process model can be defined as\n",
"\n",
"$Y_{i} = Z_{x_{i}} + \\epsilon _{i}$ , where\n",
"\n",
"$Z = N(\\mu, K)$, $\\epsilon = N(0, \\sigma ^2)$\n",
"\n",
"Hence, $Y = N(\\mu, K + \\sigma ^2 I)$\n",
"\n",
"Let $a = (1,\\cdots \\cdots, l)$ and $a = (l+1,\\cdots \\cdots, n)$ be the indices for the variables in training and test dataset\n",
"\n",
"$ Y = \n",
" \\begin{pmatrix}\n",
" Y_{a} \\\\\n",
" Y_{b} \\\\ \n",
" \\end{pmatrix} , $\n",
" $ Y_{a} = \n",
" \\begin{pmatrix}\n",
" Y_{1} \\\\\n",
" \\vdots \\\\\n",
" Y_{l} \\\\ \n",
" \\end{pmatrix} , $ \n",
" $ Y_{b} = \n",
" \\begin{pmatrix}\n",
" Y_{l+1} \\\\\n",
" \\vdots \\\\\n",
" Y_{n} \\\\ \n",
" \\end{pmatrix} $\n",
"\n",
"\n",
" $ C = \n",
" \\begin{pmatrix}\n",
" C_{aa} && C_{ab} \\\\\n",
" C_{ba} && C_{bb}\\\\ \n",
" \\end{pmatrix} , $ \n",
" $C_{ab} = K_{ab}$, $C_{aa} = K_{aa} + \\sigma ^2 I$\n",
"\n",
" Here K is the kernel function used to define the covariance matrix.With little efforts, it can be easily shown that the conditional distribution $P(Y_{a} | Y_{b} = y_{b})$ is normally distributed.\n",
"\n",
" $P(Y_{a} | Y_{b} = y_{b}) = N(n,D)$, where\n",
"\n",
" $m = \\mu _{a} + C_{ab}C_{bb}^{-1}(y_{b} - \\mu _{b})$\n",
"\n",
" $D = C_{aa} + C_{ab}C_{bb}^{-1}C_{ba} $\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "APwnZg5szzK9",
"nbpages": {
"level": 2,
"link": "[10.3.2 **Mathematical overview**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.2-**Mathematical-overview**)",
"section": "10.3.2 **Mathematical overview**"
}
},
"source": [
"**4. Summary for Gausian Process Regression**\n",
"\n",
"$Input: (x_{1},\\cdots,x_{l},x_{l+1},\\cdots,x_{n})$\n",
"\n",
"$Response:(y_{1},\\cdots,y_{l},y_{l+1},\\cdots,y_{n})$\n",
"\n",
"$GP: \\hat{Z} = (Z_{x_{1}}, \\cdots, Z_{x_{n}})$\n",
"\n",
"**Model**\n",
"\n",
"$Y_{i} = Z_{x_{i}} + \\epsilon _{i}$ , where\n",
"\n",
"$Z_{x} = GP(\\mu, K)$, $\\epsilon = N(0, \\sigma ^2 I)$\n",
"\n",
"**Inference**\n",
"\n",
"$P(y_{a}|y_{b}) = N(y_{a}|m,D)$"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "3or_IiDKXztW",
"nbpages": {
"level": 2,
"link": "[10.3.3 **Import libraries**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.3-**Import-libraries**)",
"section": "10.3.3 **Import libraries**"
}
},
"source": [
"## 10.3.3 **Import libraries**\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {},
"colab_type": "code",
"id": "-TmqGOWgXuYG",
"nbpages": {
"level": 2,
"link": "[10.3.3 **Import libraries**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.3-**Import-libraries**)",
"section": "10.3.3 **Import libraries**"
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns; sns.set()"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "FHN4aDwFOJuc",
"nbpages": {
"level": 2,
"link": "[10.3.4 **Generate training data**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.4-**Generate-training-data**)",
"section": "10.3.4 **Generate training data**"
}
},
"source": [
"## 10.3.4 **Generate training data**\n",
"$y = sin(4\\pi x) + sin(7\\pi x)$"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {},
"colab_type": "code",
"id": "z1SDXgLXQgsC",
"nbpages": {
"level": 2,
"link": "[10.3.4 **Generate training data**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.4-**Generate-training-data**)",
"section": "10.3.4 **Generate training data**"
}
},
"outputs": [],
"source": [
"\"\"\"\n",
"This section of code generates training data for fitting the Gaussian Process Regression model\n",
"\n",
"Variables declared:\n",
"x_end: The length till which x's need to be sampled\n",
"num_train: It denotes the number of training points that needs to be extracted within the define interval\n",
"sigma_noise: It is the standard deviation of the normal distribution from which random numbers are sampled\n",
"\n",
"\"\"\"\n",
"\n",
"# sampling points along x\n",
"x_end = 2\n",
"num_train = 200\n",
"x = np.linspace(start=0, stop=x_end, num=num_train)\n",
"\n",
"# Defining function f(x) = sin(4*pi*x) + sin(7*pi*x)\n",
"def f(x):\n",
" f = np.sin((4*np.pi)*x) + np.sin((7*np.pi)*x)\n",
" return(f)\n",
"\n",
"# Stroring the functional evaluations at x sampled\n",
"f_x = f(x)\n",
"\n",
"# Adding noise to the functional evaluations\n",
"sigma_noise = 0.4\n",
"error_train = np.random.normal(loc=0, scale=sigma_noise, size=num_train)\n",
"y_train = f_x + error_train\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "mxGDPxyrWC8r",
"nbpages": {
"level": 2,
"link": "[10.3.5 **Visualizing the training data**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.5-**Visualizing-the-training-data**)",
"section": "10.3.5 **Visualizing the training data**"
}
},
"source": [
"## 10.3.5 **Visualizing the training data**"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 318
},
"colab_type": "code",
"id": "Aw5QEtaGYCEe",
"nbpages": {
"level": 2,
"link": "[10.3.5 **Visualizing the training data**](https://ndcbe.github.io/cbe67701-uncertainty-quantification/10.03-Gaussian-Process-Regression.html#10.3.5-**Visualizing-the-training-data**)",
"section": "10.3.5 **Visualizing the training data**"
},
"outputId": "fa6cf11a-4501-491e-a089-980ed322529c"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "10.03-Gaussian_Process_Regression.ipynb",
"provenance": [],
"toc_visible": true
},
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}