{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Continuous Data and the Gaussian Distribution\n", "=======" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Preliminaries\n", "\n", "- Goal \n", " - Review of information processing with Gaussian distributions in linear systems\n", "- Materials \n", " - Mandatory\n", " - These lecture notes\n", " - Optional\n", " - Bishop pp. 85-93 \n", " - [MacKay - 2006 - The Humble Gaussian Distribution](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Mackay-2006-The-humble-Gaussian-distribution.pdf) (highly recommended!)\n", " - [Ariel Caticha - 2012 - Entropic Inference and the Foundations of Physics](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.30-34, section 2.8, the Gaussian distribution\n", " - References\n", " - [E.T. Jaynes - 2003 - Probability Theory, The Logic of Science](http://www.med.mcgill.ca/epidemiology/hanley/bios601/GaussianModel/JaynesProbabilityTheory.pdf) (best book available on the Bayesian view on probability theory)\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example Problem\n", "\n", "\n", "Consider a set of observations $D=\\{x_1,…,x_N\\}$ in the 2-dimensional plane (see Figure). All observations were generated by the same process. We now draw an extra observation $x_\\bullet = (a,b)$ from the same data generating process. What is the probability that $x_\\bullet$ lies within the shaded rectangle $S$?\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "using Pkg;Pkg.activate(\"probprog/workspace/\");Pkg.instantiate();\n", "IJulia.clear_output();" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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rEXQAQAA1iLoAAAAaxF0AACAtQg6AADAWgQdAABgLYIOAACwFkEHAABYy4igc/z4cT3wwAOaOHGihg8friuvvFLLly9XMpn0emgAAMDHLvB6AMU4dOiQ+vr6tG7dOl111VV644039J3vfEdnz57Vk08+6fXwAACAT9U5juN4PYhyrF69WmvXrtVbb71V9M/09vaqqalJ8XhcjY2NVRwdAABwSyXztxErOrnE43GNHj264GMSiYQSiUS/n5HOv2EAAMAM6Xm7rLUZx0BHjx51GhsbnWeeeabg45YvX+5I4oMPPvjggw8+LPg4duxYyZnB062rSCSiFStWFHzMvn37dMMNN2Q+P3nypGbOnKmZM2fq2WefLfizA1d0PvroI11++eXq6elRU1NTZYMPsN7eXjU3N+vEiRNsAVaI99I9vJfu4H10D++le+LxuCZMmKD/+7//06hRo0r6WU+3rubNm6d77rmn4GOuuOKKzH8/efKkZs2apalTp2r9+vVDPn9DQ4MaGhoGfb2pqYm/dC5obGzkfXQJ76V7eC/dwfvoHt5L99TXl35Y3NOgM3bsWI0dO7aox7777ruaNWuWpkyZog0bNpT1hwUAAMFiRDHyyZMn1dLSogkTJujJJ5/U+++/n/ne5z//eQ9HBgAA/MyIoLNt2zYdPXpUR48e1fjx4/t9r5QSo4aGBi1fvjzndhaKx/voHt5L9/BeuoP30T28l+6p5L00to8OAADAUCh0AQAA1iLoAAAAaxF0AACAtQg6AADAWoENOrfffrsmTJigCy+8UOPGjdN9992nkydPej0s4xw/flwPPPCAJk6cqOHDh+vKK6/U8uXLlUwmvR6acR5//HFNmzZNF110UcmdP4PuBz/4gSZOnKgLL7xQU6ZM0Z49e7wekpF2796tOXPm6LLLLlNdXZ1eeuklr4dkpI6ODn35y1/WyJEjdemll+rOO+/U4cOHvR6WcdauXavrr78+03Bx6tSp+slPflLy8wQ26MyaNUv/+q//qsOHD+vHP/6xjh07pq997WteD8s4hw4dUl9fn9atW6c333xTnZ2d+sd//Ec9+uijXg/NOMlkUnfffbfmzp3r9VCM8qMf/UgLFizQY489ptdff1033nijZs+erZ6eHq+HZpyzZ8/qS1/6kv7hH/7B66EYbdeuXXrooYf06quvavv27fr0009166236uzZs14PzSjjx4/XqlWrtH//fu3fv1+tra2644479Oabb5b0PBwv/53NmzfrzjvvVCKR0LBhw7wejtFWr16ttWvX6q233vJ6KEZ6/vnntWDBAn300UdeD8UIf/RHf6TJkydr7dq1ma9dd911uvPOO9XR0eHhyMxWV1enTZs26c477/R6KMZ7//33demll2rXrl2aMWOG18Mx2ujRo7V69Wo98MADRf9MYFd0sn344Yf6l3/5F02bNo2Q44J4PK7Ro0d7PQwEQDKZ1GuvvaZbb72139dvvfVW/fSnP/VoVEB/8Xhckvj/xQqkUilt3LhRZ8+e1dSpU0v62UAHnUceeUQXX3yxxowZo56eHr388steD8l4x44d01NPPaUHH3zQ66EgAD744AOlUil97nOf6/f1z33uc3rvvfc8GhXwGcdxtGjRIk2fPl2TJk3yejjGOXjwoEaMGKGGhgY9+OCD2rRpk774xS+W9BxWBZ1IJKK6urqCH/v37888/q//+q/1+uuva9u2bQqFQvrGN75R0pUSNiv1vZTO30l222236e6779a3v/1tj0buL+W8jyhdXV1dv88dxxn0NcAL8+bN089//nP98Ic/9HooRrrmmmt04MABvfrqq5o7d67uv/9+/eIXvyjpOYy466pY8+bN0z333FPwMVdccUXmv6dvT7/66qt13XXXqbm5Wa+++mrJy2I2KvW9PHnypGbNmqWpU6dq/fr1VR6dOUp9H1GasWPHKhQKDVq9+fWvfz1olQeotfnz52vz5s3avXv3oHsaUZxwOKyrrrpKknTDDTdo3759+v73v69169YV/RxWBZ10cClHeiUnkUi4OSRjlfJevvvuu5o1a5amTJmiDRs2qL7eqoXCilTydxJDC4fDmjJlirZv36677ror8/Xt27frjjvu8HBkCDLHcTR//nxt2rRJO3fu1MSJE70ekjUcxyl5nrYq6BTrZz/7mX72s59p+vTpuuSSS/TWW29p2bJluvLKK1nNKdHJkyfV0tKiCRMm6Mknn9T777+f+d7nP/95D0dmnp6eHn344Yfq6elRKpXSgQMHJElXXXWVRowY4fHo/GvRokW67777dMMNN2RWFHt6eqgTK8OZM2d09OjRzOdvv/22Dhw4oNGjR2vChAkejswsDz30kF544QW9/PLLGjlyZGbFsampScOHD/d4dOZ49NFHNXv2bDU3N+s3v/mNNm7cqJ07d2rr1q2lPZETQD//+c+dWbNmOaNHj3YaGhqcK664wnnwwQedd955x+uhGWfDhg2OpJwfKM3999+f83185ZVXvB6a7z399NPO5Zdf7oTDYWfy5MnOrl27vB6SkV555ZWcfwfvv/9+r4dmlHz/n7hhwwavh2aUv/zLv8z87/r3fu/3nJtuusnZtm1byc9DHx0AAGAtiikAAIC1CDoAAMBaBB0AAGAtgg4AALAWQQcAAFiLoAMAAKxF0AEAANYi6AAAAGsRdAAAgLUIOgAAwFoEHQBG27p1q6ZPn65Ro0ZpzJgx+pM/+RMdO3bM62EB8AmCDgCjnT17VosWLdK+ffu0Y8cO1dfX66677lJfX5/XQwPgA1zqCcAq77//vi699FIdPHhQkyZN8no4ADzGig4Aox07dkx//ud/ri984QtqbGzUxIkTJUk9PT0ejwyAH1zg9QAAoBJz5sxRc3OznnnmGV122WXq6+vTpEmTlEwmvR4aAB8g6AAw1unTp/XLX/5S69at04033ihJ2rt3r8ejAuAnBB0Axrrkkks0ZswYrV+/XuPGjVNPT4+WLFni9bAA+Ag1OgCMVV9fr40bN+q1117TpEmTtHDhQq1evdrrYQHwEU5dAQAAa7GiAwAArEXQAQAA1iLoAAAAaxF0AACAtQg6AADAWgQdAABgLYIOAACwFkEHAABYi6ADAACsRdABAADWIugAAABrEXQAAIC1/h+JBVOIyMdUDwAAAABJRU5ErkJggg==", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using Distributions, PyPlot\n", "N = 100\n", "generative_dist = MvNormal([0,1.], [0.8 0.5; 0.5 1.0])\n", "function plotObservations(obs::Matrix)\n", " plot(obs[1,:], obs[2,:], \"kx\", zorder=3)\n", " fill_between([0., 2.], 1., 2., color=\"k\", alpha=0.4, zorder=2) # Shaded area\n", " text(2.05, 1.8, \"S\", fontsize=12)\n", " xlim([-3,3]); ylim([-2,4]); xlabel(\"a\"); ylabel(\"b\")\n", "end\n", "D = rand(generative_dist, N) # Generate observations from generative_dist\n", "plotObservations(D)\n", "x_dot = rand(generative_dist) # Generate x∙\n", "plot(x_dot[1], x_dot[2], \"ro\");" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Gaussian Distribution \n", "\n", "- Consider a random (vector) variable $x \\in \\mathbb{R}^M$ that is \"normally\" (i.e., Gaussian) distributed. The _moment_ parameterization of the Gaussian distribution is completely specified by its _mean_ $\\mu$ and _variance_ $\\Sigma$ and given by\n", "$$\n", "p(x | \\mu, \\Sigma) = \\mathcal{N}(x|\\mu,\\Sigma) \\triangleq \\frac{1}{\\sqrt{(2\\pi)^M |\\Sigma|}} \\,\\exp\\left\\{-\\frac{1}{2}(x-\\mu)^T \\Sigma^{-1} (x-\\mu) \\right\\}\\,.\n", "$$\n", "where $|\\Sigma| \\triangleq \\mathrm{det}(\\Sigma)$ is the determinant of $\\Sigma$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Alternatively, the _canonical_ (a.k.a. _natural_ or _information_ ) parameterization of the Gaussian distribution is given by\n", "$$\\begin{equation*}\n", "p(x | \\eta, \\Lambda) = \\mathcal{N}_c(x|\\eta,\\Lambda) = \\exp\\left\\{ a + \\eta^T x - \\frac{1}{2}x^T \\Lambda x \\right\\}\\,.\n", "\\end{equation*}$$\n", " - $a = -\\frac{1}{2} \\left( M \\log(2 \\pi) - \\log |\\Lambda| + \\eta^T \\Lambda \\eta\\right)$ is the normalizing constant that ensures that $\\int p(x)\\mathrm{d}x = 1$.\n", " - $\\Lambda = \\Sigma^{-1}$ is called the *precision matrix*.\n", " - $\\eta = \\Sigma^{-1} \\mu$ is the _natural_ mean or for clarity often called the *precision-weighted* mean." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Why the Gaussian?\n", "\n", "- Why is the Gaussian distribution so ubiquitously used in science and engineering? (see [Jaynes, section 7.1.4](http://www.med.mcgill.ca/epidemiology/hanley/bios601/GaussianModel/JaynesProbabilityTheory.pdf#page=250))." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (1) Operations on probability distributions tend to lead to Gaussian distributions:\n", " - Any smooth function with single rounded maximum, if raised to higher and higher powers, goes into a Gaussian function. (Example: sequential Bayesian inference).\n", " - The [Gaussian distribution has higher entropy](https://en.wikipedia.org/wiki/Differential_entropy#Maximization_in_the_normal_distribution) than any other with the same variance. \n", " - Therefore any operation on a probability distribution that discards information but preserves variance gets us closer to a Gaussian. \n", " - As an example, see [Jaynes, section 7.1.4](http://www.med.mcgill.ca/epidemiology/hanley/bios601/GaussianModel/JaynesProbabilityTheory.pdf#page=250) for how this leads to the [Central Limit Theorem](https://en.wikipedia.org/wiki/Central_limit_theorem), which results from performing convolution operations on distributions.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (2) Once the Gaussian has been attained, this form tends to be preserved. e.g., \n", " - The convolution of two Gaussian functions is another Gaussian function (useful in sum of 2 variables and linear transformations)\n", " - The product of two Gaussian functions is another Gaussian function (useful in Bayes rule).\n", " - The Fourier transform of a Gaussian function is another Gaussian function." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Transformations and Sums of Gaussian Variables\n", "\n", "- A **linear transformation** $z=Ax+b$ of a Gaussian variable $\\mathcal{N}(x|\\mu_x,\\Sigma_x)$ is Gaussian distributed as\n", "$$\n", "p(z) = \\mathcal{N} \\left(z \\,|\\, A\\mu_x+b, A\\Sigma_x A^T \\right) \\tag{SRG-4a}\n", "$$ \n", " - In fact, after a linear transformation $z=Ax+b$, no matter how $x$ is distributed, the mean and variance of $z$ are always given by $\\mu_z = A\\mu_x + b$ and $\\Sigma_z = A\\Sigma_x A^T$, respectively (see [probability theory review lesson](https://nbviewer.jupyter.org/github/bertdv/BMLIP/blob/master/lessons/notebooks/Probability-Theory-Review.ipynb#linear-transformation)). In case $x$ is not Gaussian, higher order moments may be needed to specify the distribution for $z$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The **sum of two independent Gaussian variables** is also Gaussian distributed. Specifically, if $x \\sim \\mathcal{N} \\left(\\mu_x, \\Sigma_x \\right)$ and $y \\sim \\mathcal{N} \\left(\\mu_y, \\Sigma_y \\right)$, then the PDF for $z=x+y$ is given by\n", "$$\\begin{align}\n", "p(z) &= \\mathcal{N}(x\\,|\\,\\mu_x,\\Sigma_x) \\ast \\mathcal{N}(y\\,|\\,\\mu_y,\\Sigma_y) \\notag\\\\\n", " &= \\mathcal{N} \\left(z\\,|\\,\\mu_x+\\mu_y, \\Sigma_x +\\Sigma_y \\right) \\tag{SRG-8}\n", "\\end{align}$$\n", " \n", " - The sum of two Gaussian _distributions_ is NOT a Gaussian distribution. Why not?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example: Gaussian Signals in a Linear System\n", "\n", "

\n", "\n", "- Given independent variables\n", "$x \\sim \\mathcal{N}(\\mu_x,\\sigma_x^2)$ and $y \\sim \\mathcal{N}(\\mu_y,\\sigma_y^2)$, what is the PDF for $z = A\\cdot(x -y) + b$ ? (see [Exercises](http://nbviewer.jupyter.org/github/bertdv/BMLIP/blob/master/lessons/exercises/Exercises-The-Gaussian-Distribution.ipynb))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Think about the role of the Gaussian distribution for stochastic linear systems in relation to what sinusoidals mean for deterministic linear system analysis." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayesian Inference for the Gaussian\n", "\n", "\n", "- Let's estimate a constant $\\theta$ from one 'noisy' measurement $x$ about that constant. \n", "\n", "- We assume the following measurement equations (the tilde $\\sim$ means: 'is distributed as'):\n", "$$\\begin{align*}\n", "x &= \\theta + \\epsilon \\\\\n", "\\epsilon &\\sim \\mathcal{N}(0,\\sigma^2)\n", "\\end{align*}$$\n", "\n", "- Also, let's assume a Gaussian prior for $\\theta$\n", "$$\\begin{align*}\n", "\\theta &\\sim \\mathcal{N}(\\mu_0,\\sigma_0^2) \\\\\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\n", "##### Model specification\n", " \n", "- Note that you can rewrite these specifications in probabilistic notation as follows:\n", "\n", "$$\\begin{align}\n", " p(x|\\theta) &= \\mathcal{N}(x|\\theta,\\sigma^2) \\tag{likelihood}\\\\\n", " p(\\theta) &=\\mathcal{N}(\\theta|\\mu_0,\\sigma_0^2) \\tag{prior}\n", "\\end{align}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (**Notational convention**). Note that we write $\\epsilon \\sim \\mathcal{N}(0,\\sigma^2)$ but not $\\epsilon \\sim \\mathcal{N}(\\epsilon | 0,\\sigma^2)$, and we write $p(\\theta) =\\mathcal{N}(\\theta|\\mu_0,\\sigma_0^2)$ but not $p(\\theta) =\\mathcal{N}(\\mu_0,\\sigma_0^2)$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "##### Inference\n", "\n", "- For simplicity, we assume that the variance $\\sigma^2$ is given and will proceed to derive a Bayesian posterior for the mean $\\theta$. The case for Bayesian inference for $\\sigma^2$ with a given mean is [discussed in the optional slides](#inference-for-precision)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Let's do Bayes rule for the posterior PDF $p(\\theta|x)$. \n", "$$\\begin{align*}\n", "p(\\theta|x) &= \\frac{p(x|\\theta) p(\\theta)}{p(x)} \\propto p(x|\\theta) p(\\theta) \\notag \\\\\n", " &= \\mathcal{N}(x|\\theta,\\sigma^2) \\mathcal{N}(\\theta|\\mu_0,\\sigma_0^2) \\notag \\\\\n", " &\\propto \\exp \\left\\{ -\\frac{(x-\\theta)^2}{2\\sigma^2} - \\frac{(\\theta-\\mu_0)^2}{2\\sigma_0^2} \\right\\} \\notag \\\\\n", " &\\propto \\exp \\left\\{ \\theta^2 \\cdot \\left( -\\frac{1}{2 \\sigma_0^2} - \\frac{1}{2\\sigma^2} \\right) + \\theta \\cdot \\left( \\frac{\\mu_0}{\\sigma_0^2} + \\frac{x}{\\sigma^2}\\right) \\right\\} \\notag \\\\\n", " &= \\exp\\left\\{ -\\frac{\\sigma_0^2 + \\sigma^2}{2 \\sigma_0^2 \\sigma^2} \\left( \\theta - \\frac{\\sigma_0^2 x + \\sigma^2 \\mu_0}{\\sigma^2 + \\sigma_0^2}\\right)^2 \\right\\} \n", "\\end{align*}$$\n", "which we recognize as a Gaussian distribution w.r.t. $\\theta$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- (Just as an aside,) this computational 'trick' for multiplying two Gaussians is called **completing the square**. The procedure makes use of the equality $$ax^2+bx+c_1 = a\\left(x+\\frac{b}{2a}\\right)^2+c_2$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " \n", "- In particular, it follows that the posterior for $\\theta$ is\n", "$$\\begin{equation*}\n", " p(\\theta|x) = \\mathcal{N} (\\theta |\\, \\mu_1, \\sigma_1^2)\n", "\\end{equation*}$$\n", "where\n", "$$\\begin{align*}\n", " \\frac{1}{\\sigma_1^2} &= \\frac{\\sigma_0^2 + \\sigma^2}{\\sigma^2 \\sigma_0^2} = \\frac{1}{\\sigma_0^2} + \\frac{1}{\\sigma^2} \\\\\n", " \\mu_1 &= \\frac{\\sigma_0^2 x + \\sigma^2 \\mu_0}{\\sigma^2 + \\sigma_0^2} = \\sigma_1^2 \\, \\left( \\frac{1}{\\sigma_0^2} \\mu_0 + \\frac{1}{\\sigma^2} x \\right) \n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (Multivariate) Gaussian Multiplication\n", "\n", "- So, multiplication of two Gaussian distributions yields another (unnormalized) Gaussian with\n", " - posterior precision equals **sum of prior precisions**\n", " - posterior precision-weighted mean equals **sum of prior precision-weighted means**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- As we just saw, great application to Bayesian inference!\n", "\n", "$$\\begin{equation*}\n", "\\underbrace{\\text{Gaussian}}_{\\text{posterior}}\n", " \\propto \\underbrace{\\text{Gaussian}}_{\\text{likelihood}} \\times \\underbrace{\\text{Gaussian}}_{\\text{prior}}\n", "\\end{equation*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In general, the multiplication of two multi-variate Gaussians yields an (unnormalized) Gaussian:\n", "$$\\begin{equation*}\n", "\\boxed{\\mathcal{N}(x|\\mu_a,\\Sigma_a) \\cdot \\mathcal{N}(x|\\mu_b,\\Sigma_b) = \\underbrace{\\mathcal{N}(\\mu_a|\\, \\mu_b, \\Sigma_a + \\Sigma_b)}_{\\text{normalization constant}} \\cdot \\mathcal{N}(x|\\mu_c,\\Sigma_c)} \\tag{SRG-6}\n", "\\end{equation*}$$\n", "where\n", "$$\\begin{align*}\n", "\\Sigma_c^{-1} &= \\Sigma_a^{-1} + \\Sigma_b^{-1} \\\\\n", "\\Sigma_c^{-1} \\mu_c &= \\Sigma_a^{-1}\\mu_a + \\Sigma_b^{-1}\\mu_b\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\Rightarrow$ Note that Bayesian inference is trivial in the [_canonical_ parameterization of the Gaussian](#natural-parameterization), where we would get\n", "$$\\begin{align*}\n", " \\Lambda_c &= \\Lambda_a + \\Lambda_b \\quad &&\\text{(precisions add)}\\\\\n", " \\eta_c &= \\eta_a + \\eta_b \\quad &&\\text{(precision-weighted means add)}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Product of Two Gaussian PDFs\n", "\n", "- Let's plot the exact product of two Gaussian PDFs as well as the normalized product according to the above derivation." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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NmxIx44dy92bkJDAoEGDqvnkQitWjYwUFxeTlJTEyy+/XO76oEGD2LlzZ5Xve+ONNwgODmbSpEkWTekUFRWVy4KlMI0QGlizxt49ELVUdnY2y5cvJyEhgbi4uHK/FhwczAcffEBubm6F93Xq1InIyEhWrVrFM888A8D58+cZN24cZ8+epV69enTu3JkffviB++67z/y+zz77jIkTJ6LYOOVYWFjImjVr2LBhg03vF9qzKhm5dOkSRqOR0NDQctdDQ0M5d+5cpe/ZsWMHS5YsISUlxeJ2oqOjef31163pmhAOYdeuXcydO5d169Zx11138corr3D//fdjMG2pXbtWLXbWp4/9tkkIobGBAwdy9uxZGjZsWG4qxOSxxx6r8r2zZ8/mhRde4KmnnsLNzY0lFtTeSU9Pp5+F05zbtm2rcG3JkiX07Nmz3DZjYV82LWA13FCrQFGUCtdALXwzduxYFi9ebNW83IwZM8jOzja/MjMzbemmEDVCURS2bt3KgAEDuOuuu1i3bh0AO3fuZOjQoURGRvLNN99QVlYGM2bAkCGwZYv9Onz1KhQW2q99USuFhIRUmojcytChQ3nmmWc4ffq0xe/ZsGEDb7/9ttVtmXh6evLhhx/a/H6hPatGRoKCgnB3d68wCnLhwoUKoyUAv/zyC+np6QwbNsx8raysTG3Yw4OjR49y++23V3ift7c33t7e1nRNCLsoKSnhoYceMicgHh4ejBs3jieffJLVq1fz0UcfkZyczIgRI+jRvTvx3brhXVICvXvbp8OjRsHq1eoIzXV/L4Wwp6lTp1p1/65du6rV3tNPP12t9wvtWTUy4uXlRURERIU5wbi4OO66664K97dr146DBw+SkpJifj344IP079+flJQUmjVrVr3eC2Fnf//731m3bh1eXl786U9/4ueff+bTTz/lrrvu4p133uHkyZPMmjWLgIAA9iYnMxHg55/Vc2LsoV49KCuDAwfs074QQlTCoFi5AmjlypWMGzeOjz76iKioKBYtWsTixYs5dOgQLVq0YPz48TRp0oTo6OhK3//444/z22+/sXbtWovbzMnJoV69emRnZ1dYjS2EvezatYs+ffpQVlbGihUrGD16dJX37tmzh969e2M0Gvnyyy9vOoeuq/R08PCApk3t0764qcLCQk6cOGGu4ySEM7jZn1tLP7+tXjMyevRo3nvv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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using PyPlot, Distributions\n", "d1 = Normal(0, 1) # μ=0, σ^2=1\n", "d2 = Normal(3, 2) # μ=3, σ^2=4\n", "\n", "# Calculate the parameters of the product d1*d2\n", "s2_prod = (d1.σ^-2 + d2.σ^-2)^-1\n", "m_prod = s2_prod * ((d1.σ^-2)*d1.μ + (d2.σ^-2)*d2.μ)\n", "d_prod = Normal(m_prod, sqrt(s2_prod)) # Note that we neglect the normalization constant.\n", "\n", "# Plot stuff\n", "x = range(-4, stop=8, length=100)\n", "plot(x, pdf.(d1,x), \"k\")\n", "plot(x, pdf.(d2,x), \"b\")\n", "plot(x, pdf.(d1,x) .* pdf.(d2,x), \"r-\") # Plot the exact product\n", "plot(x, pdf.(d_prod,x), \"r:\") # Plot the normalized Gaussian product\n", "legend([L\"\\mathcal{N}(0,1)\", \n", " L\"\\mathcal{N}(3,4)\", \n", " L\"\\mathcal{N}(0,1) \\mathcal{N}(3,4)\", \n", " L\"Z^{-1} \\mathcal{N}(0,1) \\mathcal{N}(3,4)\"]);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The solid and dotted red curves are identical up to a scaling factor $Z$.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayesian Inference with multiple Observations\n", "\n", "- Now consider that we measure a data set $D = \\{x_1, x_2, \\ldots, x_N\\}$, with measurements\n", " $$\\begin{align*}\n", "x_n &= \\theta + \\epsilon_n \\\\\n", "\\epsilon_n &\\sim \\mathcal{N}(0,\\sigma^2)\n", "\\end{align*}$$\n", "and the same prior for $\\theta$:\n", "$$\\begin{align*}\n", "\\theta &\\sim \\mathcal{N}(\\mu_0,\\sigma_0^2) \\\\\n", "\\end{align*}$$\n", "\n", "- Let's derive a distribution for the next sample $x_{N+1}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### inference \n", "\n", "- Clearly, the posterior for $\\theta$ is now \n", "$$\\begin{align*}\n", "p(\\theta|D) \\propto \\underbrace{\\mathcal{N}(\\theta|\\mu_0,\\sigma_0^2)}_{\\text{prior}} \\cdot \\underbrace{\\prod_{n=1}^N \\mathcal{N}(x_n|\\theta,\\sigma^2)}_{\\text{likelihood}}\n", "\\end{align*}$$\n", "which is a multiplication of $N+1$ Gaussians and is therefore also Gaussian distributed." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Using the property that precisions and precision-weighted means add when Gaussians are multiplied, we can immediately write the posterior $$p(\\theta|D) = \\mathcal{N} (\\theta |\\, \\mu_N, \\sigma_N^2)$$ as \n", "$$\\begin{align*}\n", " \\frac{1}{\\sigma_N^2} &= \\frac{1}{\\sigma_0^2} + \\sum_n \\frac{1}{\\sigma^2} \\tag{B-2.142}\\\\\n", " \\mu_N &= \\sigma_N^2 \\, \\left( \\frac{1}{\\sigma_0^2} \\mu_0 + \\sum_n \\frac{1}{\\sigma^2} x_n \\right) \\tag{B-2.141}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### application: prediction of future sample\n", "\n", "- We now have a posterior for the model parameters. Let's write down what we know about the next sample $x_{N+1}$.\n", "\n", "\n", "$$\\begin{align*}\n", "p(x_{N+1}|D_N) &= \\int p(x_{N+1}|\\theta) p(\\theta|D_{N})\\mathrm{d}\\theta \\\\\n", " &= \\int \\mathcal{N}(x_{N+1}|\\theta,\\sigma^2) \\mathcal{N}(\\theta|\\mu_N,\\sigma^2_N) \\mathrm{d}\\theta \\\\\n", " &= \\mathcal{N}(x_{N+1}|\\mu_N, \\sigma^2_N +\\sigma^2 ) \\tag{use SRG-6}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Uncertainty about $x_{N+1}$ comprises both uncertainty about the parameter ($\\sigma_N^2$) and observation noise $\\sigma^2$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Maximum Likelihood Estimation for the Gaussian\n", "\n", "- In order to determine the _maximum likelihood_ estimate of $\\theta$, we let $\\sigma_0^2 \\rightarrow \\infty$ (leads to uniform prior for $\\theta$), yielding $ \\frac{1}{\\sigma_N^2} = \\frac{N}{\\sigma^2}$ and consequently\n", "$$\\begin{align*}\n", " \\mu_{\\text{ML}} = \\left.\\mu_N\\right\\vert_{\\sigma_0^2 \\rightarrow \\infty} = \\sigma_N^2 \\, \\left( \\frac{1}{\\sigma^2}\\sum_n x_n \\right) = \\frac{1}{N} \\sum_{n=1}^N x_n \n", " \\end{align*}$$\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- As expected, having an expression for the maximum likelihood estimate, it is now possible to rewrite the (Bayesian) posterior mean for $\\theta$ as (exercise)\n", "$$\\begin{align*}\n", " \\underbrace{\\mu_N}_{\\text{posterior}} &= \\frac{\\sigma^2}{N} \\, \\left( \\frac{1}{\\sigma_0^2} \\mu_0 + \\sum_n \\frac{1}{\\sigma^2} x_n \\right) \\\\\n", " &= \\underbrace{\\mu_0}_{\\text{prior}} + \\underbrace{\\underbrace{\\frac{N \\sigma_0^2}{N \\sigma_0^2 + \\sigma^2}}_{\\text{gain}}\\cdot \\underbrace{\\left(\\mu_{\\text{ML}} - \\mu_0 \\right)}_{\\text{prediction error}}}_{\\text{correction}}\\tag{B-2.141}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Hence, the posterior mean always lies somewhere between the prior mean $\\mu_0$ and the maximum likelihood estimate (the \"data\" mean) $\\mu_{\\text{ML}}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Conditioning and Marginalization of a Gaussian\n", "\n", "- Let $z = \\begin{bmatrix} x \\\\ y \\end{bmatrix}$ be jointly normal distributed as\n", "\n", "$$\\begin{align*}\n", "p(z) &= \\mathcal{N}(z | \\mu, \\Sigma) \n", " =\\mathcal{N} \\left( \\begin{bmatrix} x \\\\ y \\end{bmatrix} \\left| \\begin{bmatrix} \\mu_x \\\\ \\mu_y \\end{bmatrix}, \n", " \\begin{bmatrix} \\Sigma_x & \\Sigma_{xy} \\\\ \\Sigma_{yx} & \\Sigma_y \\end{bmatrix} \\right. \\right)\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Since covariance matrices are by definition symmetric, it follows that $\\Sigma_x$ and $\\Sigma_y$ are symmetric and $\\Sigma_{xy} = \\Sigma_{yx}^T$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Let's factorize $p(z) = p(x,y)$ into $p(y|x)\\cdot p(x)$ through conditioning and marginalization." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$\\begin{equation*}\n", "\\text{conditioning: }\\boxed{ p(y|x) = \\mathcal{N}\\left(y\\,|\\,\\mu_y + \\Sigma_{yx}\\Sigma_x^{-1}(x-\\mu_x),\\, \\Sigma_y - \\Sigma_{yx}\\Sigma_x^{-1}\\Sigma_{xy} \\right)}\n", "\\end{equation*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$$\\begin{equation*}\n", "\\text{marginalization: } \\boxed{ p(x) = \\mathcal{N}\\left( x|\\mu_x, \\Sigma_x \\right)}\n", "\\end{equation*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **proof**: in Bishop pp.87-89" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Hence, conditioning and marginalization in Gaussians leads to Gaussians again. This is very useful for applications to Bayesian inference in jointly Gaussian systems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- With a natural parameterization of the Gaussian $p(z) = \\mathcal{N}_c(z|\\eta,\\Lambda)$ with precision matrix $\\Lambda = \\Sigma^{-1} = \\begin{bmatrix} \\Lambda_x & \\Lambda_{xy} \\\\ \\Lambda_{yx} & \\Lambda_y \\end{bmatrix}$, the conditioning operation results in a simpler result, see Bishop pg.90, eqs. 2.96 and 2.97. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- As an exercise, interpret the formula for the conditional mean ($\\mathbb{E}[y|x]=\\mu_y + \\Sigma_{yx}\\Sigma_x^{-1}(x-\\mu_x)$) as a prediction-correction operation." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Joint, Marginal, and Conditional Gaussian Distributions\n", "\n", "- Let's plot of the joint, marginal, and conditional distributions." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using PyPlot, Distributions\n", "\n", "μ = [1.0; 2.0]\n", "Σ = [0.3 0.7;\n", " 0.7 2.0]\n", "joint = MvNormal(μ,Σ)\n", "marginal_x = Normal(μ[1], sqrt(Σ[1,1]))\n", "\n", "#Plot p(x,y)\n", "subplot(221)\n", "x_range = y_range = range(-2,stop=5,length=1000)\n", "joint_pdf = [ pdf(joint, [x_range[i];y_range[j]]) for j=1:length(y_range), i=1:length(x_range)]\n", "imshow(joint_pdf, origin=\"lower\", extent=[x_range[1], x_range[end], y_range[1], y_range[end]])\n", "grid(); xlabel(\"x\"); ylabel(\"y\"); title(\"p(x,y)\"); tight_layout()\n", "\n", "# Plot p(x)\n", "subplot(222)\n", "plot(range(-2,stop=5,length=1000), pdf.(marginal_x, range(-2,stop=5,length=1000)))\n", "grid(); xlabel(\"x\"); ylabel(\"p(x)\"); title(\"Marginal distribution p(x)\"); tight_layout()\n", "\n", "# Plot p(y|x)\n", "x = 0.1\n", "conditional_y_m = μ[2]+Σ[2,1]*inv(Σ[1,1])*(x-μ[1])\n", "conditional_y_s2 = Σ[2,2] - Σ[2,1]*inv(Σ[1,1])*Σ[1,2]\n", "conditional_y = Normal(conditional_y_m, sqrt.(conditional_y_s2))\n", "subplot(223)\n", "plot(range(-2,stop=5,length=1000), pdf.(conditional_y, range(-2,stop=5,length=1000)))\n", "grid(); xlabel(\"y\"); ylabel(\"p(y|x)\"); title(\"Conditional distribution p(y|x)\"); tight_layout()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "As is clear from the plots, the conditional distribution is a renormalized slice from the joint distribution.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Example: Conditioning of Gaussian\n", "\n", "- Consider (again) the system \n", "$$\\begin{align*}\n", "p(x\\,|\\,\\theta) &= \\mathcal{N}(x\\,|\\,\\theta,\\sigma^2)\n", "\\end{align*}$$\n", "with a Gaussian prior for $\\theta$:\n", "$$\n", "p(\\theta) = \\mathcal{N}(\\theta\\,|\\,\\mu_0,\\sigma_0^2)\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Let $z = \\begin{bmatrix} x \\\\ \\theta \\end{bmatrix}$. The distribution for $z$ is then given by (Exercise)\n", "\n", "$$\n", "p(z) = p\\left(\\begin{bmatrix} x \\\\ \\theta \\end{bmatrix}\\right) = \\mathcal{N} \\left( \\begin{bmatrix} x\\\\ \n", " \\theta \\end{bmatrix} \n", " \\,\\left|\\, \\begin{bmatrix} \\mu_0\\\\ \n", " \\mu_0\\end{bmatrix}, \n", " \\begin{bmatrix} \\sigma_0^2+\\sigma^2 & \\sigma_0^2\\\\ \n", " \\sigma_0^2 &\\sigma_0^2 \n", " \\end{bmatrix} \n", " \\right. \\right)\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Direct substitution of the rule for Gaussian conditioning leads to the posterior (derivation as an Exercise):\n", "$$\\begin{align*}\n", "p(\\theta|x) &= \\mathcal{N} \\left( \\theta\\,|\\,\\mu_1, \\sigma_1^2 \\right)\\,,\n", "\\end{align*}$$\n", "with\n", "$$\\begin{align*}\n", "K &= \\frac{\\sigma_0^2}{\\sigma_0^2+\\sigma^2} \\qquad \\text{($K$ is called: Kalman gain)}\\\\\n", "\\mu_1 &= \\mu_0 + K \\cdot (x-\\mu_0)\\\\\n", "\\sigma_1^2 &= \\left( 1-K \\right) \\sigma_0^2 \n", "\\end{align*}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\n", "- $\\Rightarrow$ Moral: For jointly Gaussian systems, we can do inference simply in one step by using the formulas for conditioning and marginalization." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Recursive Bayesian Estimation\n", "\n", "- Consider the signal $x_t=\\theta+\\epsilon_t$, where $D_t= \\left\\{x_1,\\ldots,x_t\\right\\}$ is observed _sequentially_ (over time).\n", "\n", "- **Problem**: Derive a recursive algorithm for $p(\\theta|D_t)$, i.e., an update rule for (posterior) $p(\\theta|D_t)$ based on (prior) $p(\\theta|D_{t-1})$ and (new observation) $x_t$.\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### Model specification \n", "- Let's define the estimate after $t$ observations (i.e., our _solution_ ) as $p(\\theta|D_t) = \\mathcal{N}(\\theta\\,|\\,\\mu_t,\\sigma_t^2)$.\n", "\n", "- We define the joint distribution for $\\theta$ and $x_t$, given background $D_{t-1}$, by\n", "\n", "$$\\begin{align*} p(x_t,\\theta \\,|\\, D_{t-1}) &= p(x_t|\\theta) \\, p(\\theta|D_{t-1}) \\\\\n", " &= \\underbrace{\\mathcal{N}(x_t\\,|\\, \\theta,\\sigma^2)}_{\\text{likelihood}} \\, \\underbrace{\\mathcal{N}(\\theta\\,|\\,\\mu_{t-1},\\sigma_{t-1}^2)}_{\\text{prior}}\n", "\\end{align*}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ " \n", "##### Inference\n", "\n", "- Use Bayes rule,\n", "$$\\begin{align*}\n", "p(\\theta|D_t) &= p(\\theta|x_t,D_{t-1}) \\\\\n", " &\\propto p(x_t,\\theta | D_{t-1}) \\\\\n", " &= p(x_t|\\theta) \\, p(\\theta|D_{t-1}) \\\\\n", " &= \\mathcal{N}(x_t|\\theta,\\sigma^2) \\, \\mathcal{N}(\\theta\\,|\\,\\mu_{t-1},\\sigma_{t-1}^2) \\\\\n", " &= \\mathcal{N}(\\theta|x_t,\\sigma^2) \\, \\mathcal{N}(\\theta\\,|\\,\\mu_{t-1},\\sigma_{t-1}^2) \\;\\;\\text{(note this trick)}\\\\\n", " &= \\mathcal{N}(\\theta|\\mu_t,\\sigma_t^2) \\;\\;\\text{(use Gaussian multiplication formula SRG-6)}\n", "\\end{align*}$$\n", "with\n", "$$\\begin{align*}\n", "K_t &= \\frac{\\sigma_{t-1}^2}{\\sigma_{t-1}^2+\\sigma^2} \\qquad \\text{(Kalman gain)}\\\\\n", "\\mu_t &= \\mu_{t-1} + K_t \\cdot (x_t-\\mu_{t-1})\\\\\n", "\\sigma_t^2 &= \\left( 1-K_t \\right) \\sigma_{t-1}^2 \n", "\\end{align*}$$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This linear _sequential_ estimator of mean and variance in Gaussian observations is called a **Kalman Filter**.\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Note that the uncertainty about $\\theta$ decreases over time (since $0<(1-K_t)<1$). Since we assume that the statistics of the system do not change (stationarity), each new sample provides new information. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Recursive Bayesian estimation is the basis for **adaptive signal processing** algorithms such as Least Mean Squares (LMS) and Recursive Least Squares (RLS). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Kalman Filter\n", "\n", "- Let's implement the Kalman filter described above. We'll use it to recursively estimate the value of $\\theta$ based on noisy observations." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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LgVcLsBmS7hYAQBFUbBs2TLceuutGDhwIFasWIHNmzejrKwsaHmTyYRTp05hwIABmDBhQsLrxzAMwzBagS0skupqVay4XKEDcePMTTfdhLFjx2LJkiVYs2YNLr300rDld+7cyWKFYRiGSTlYsACBMStOZ8+YlgTy9ttvY//+/fB6vSguLu61fE1NDQsWhmEYJuWISrC88MILGD9+PBwOBxwOB6ZNm4Y333wz7HdeffVVjB07Fna7HWPHjsWaNWtiqnDcCRZgGywQNwF88skn+Kd/+if86le/wty5c1EZgRtqz549GD9+fMLqxDAMwzBaJKoYlvLycjz99NMYMWIEAOB3v/sdbr75ZuzcuTOoK2Pr1q24/fbbUV1djYULF2LNmjW47bbbsGXLFu3MbvF6gwfYytdeb0J+9ujRo/jyl7+MRx99FPfccw/Gjh2LKVOm4OOPP8bkyZNDfs/n82H37t04deoUMjMzgwbnMgzDMIzRiMrC8pWvfAXz58/HqFGjMGrUKCxbtgxZWVn48MMPg5Z/7rnnMGfOHDz22GMYM2YMHnvsMVx//fV47rnn4lL5uLB4cegA28rKhCSOu3DhAubNm4evfvWrePzxxwEAkydPxle+8hU88cQTYb+7dOlSrF69GmVlZaiqqop73RiGYRhGi/R5lpDX68Wf//xntLW1Ydq0aUHLbN26FY888kjAe3Pnzu1VsDidTjidzq7Xzc3NACgPidvtDijrdrshhIDP54PP5+vLX+l3cnNzsXfvXgAIqLN0l/m/J/+b5K677sJdd93V9TrYfw53LHw+H4QQcLvdMAdJiiePb/fjzCQPPifag8+JNuHzoj3ieS6iFix79uzBtGnT0NnZiaysLKxZswZjx44NWraurq5HIGlxcTHq6urC/sby5cuxZMmSHu+vW7cOGRkZAe9ZLBaUlJSgtbUVLpcryn+jbTweD1544QX89re/xdtvvx12BtEjjzyCP//5zwCAjo6OLpHXHZfLhY6ODmzatAkejyfk/tavXx9b5ePI6FdegTCZcPD223t8Nmr1aig+Hw7ceWcSata/aOmcMASfE23C50U7tLe3x21fUQuW0aNHo6amBo2NjXj11Vdx3333YePGjSFFi6IoAa+FED3e685jjz2G733ve12vm5ubUVFRgRtvvBEOhyOgbGdnJ06cOIGsrCykpaVF+3c0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M1EX86SqJlZ0ugUAAN7GIyEAAGA8AgsAADAegQUAABiPwAIAAIxHYPGobdu2adasWSotLZXP59OmTZviXnccR/X19SotLVVOTo6mT5+u3bt3u9Ta9LdixQrdcMMNysvL0yWXXKLZs2frxx9/jHtPd3e3nnnmGY0dO1a5ubm6//779csvv7jUYm944403NHny5NhEZNXV1frss89ir1MT961YsUI+n0/z58+P7aMuw6u+vl4+ny/uq7i4OPZ6qs4nBBaP6urqUmVlpdasWZPw9Zdfflmvvvqq1qxZox07dqi4uFgzZsyIreuE1GpubtacOXP09ddfq6mpSeFwWDU1Nerq6oq9Z/78+dq4caMaGxu1fft2nTx5Uvfdd58ikYiLLU9v48aN08qVK9XS0qKWlhbdcccdeuCBB2L/2VITd+3YsUNvvvmmJk+eHLefugy/CRMmqL29PfbV2toaey1l5xMHnifJ2bhxY2y7t7fXKS4udlauXBnb9+effzr5+fnO2rVr3Wii53R0dDiSnObmZsdxHOfYsWNOIBBwGhsbY+85ePCgk5GR4WzevNmtZnrSmDFjnLfeeouauOzEiRPO+PHjnaamJmfatGnOvHnzHMfhWHHDiy++6FRWViZ8LZXnE+6woJ99+/bp8OHDqqmpie3LysrStGnT9OWXX7rYMu84fvy4JKmgoECStHPnToVCobialJaWauLEidRkmEQiETU2Nqqrq0vV1dXUxGVz5szRvffeq7vuuituP3VxR1tbm0pLS1VRUaFHHnlEP/30k6TUnk+YChD9HD58WJJUVFQUt7+oqEj79+93o0me4jiO6urqdMstt2jixImSojUZMWKExowZE/feoqKiWL0wNFpbW1VdXa0///xTF110kTZu3Kjrr79ewWCQmriksbFR3377rXbs2NHvNY6V4XfTTTdp3bp1uvrqq/Xrr79q2bJlmjp1qnbv3p3S8wmBBQPy+Xxx247j9NuH1Js7d66+++47bd++/W/fS02G3jXXXKNgMKhjx45pw4YNqq2tVXNz84DvpyZD6+eff9a8efO0ZcsWZWdnD/pz1GXozJw5M/brSZMmqbq6WldeeaXee+893XzzzZJScz7hkRD66evdfe7VSEdHR7+UjNR65pln9PHHH2vr1q0aN25cbH9xcbF6enp09OjRuPdTk6E3YsQIXXXVVZoyZYpWrFihyspKvfbaa9TEJTt37lRHR4eqqqrk9/vl9/vV3Nys1atXy+/3q6ioiLq4LDc3V5MmTVJbW1tKzycEFvRTUVGh4uJiNTU1xfb19PSoublZU6dOdbFl6ctxHM2dO1cffvihPv/8c1VUVMS9XlVVpUAgEFeT9vZ2ff/999RkmDmOo+7ubmrikjvvvFOtra0KBoOxrylTpujxxx+P/Zq6uKu7u1t79uxRSUlJSs8nPBLyqJMnT2rv3r2x7X379ikYDKqgoEDl5eWaP3++li9frvHjx2v8+PFavny5Ro4cqccee8zFVqevOXPm6P3339dHH32kvLy82NVIfn6+cnJylJ+fr6eeekrPP/+8CgsLVVBQoAULFmjSpEn9Oh0idRYtWqSZM2eqrKxMJ06cUGNjo7744gtt3ryZmrgkLy8v1rerT25urgoLC2P7qcvwWrBggWbNmqXy8nJ1dHRo2bJl6uzsVG1tbWyOnJScT85rDBOst3XrVkdSv6/a2lrHcaJD0V588UWnuLjYycrKcm677TantbXV3UansUS1kOS8++67sff88ccfzty5c52CggInJyfHue+++5wDBw6412gPePLJJ53LLrvMGTFihHPxxRc7d955p7Nly5bY69TEDGcPa3Yc6jLcHn74YaekpMQJBAJOaWmp8+CDDzq7d++OvZ6q84nPcRwnhUELAAAg5ejDAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2AB4Kr58+dr9uzZbjcDgOEILABctWPHDt14441uNwOA4VhLCIArQqGQcnNzFQqFYvtuvPFGffPNNy62CoCp/G43AIA3ZWZmavv27brpppsUDAZVVFSk7Oxst5sFwFAEFgCuyMjI0KFDh1RYWKjKykq3mwPAcPRhAeCaXbt2EVYADAqBBYBrgsEggQXAoBBYALimtbVVkydPdrsZACxAYAHgmt7eXn333Xc6dOiQjh8/7nZzABiMwALANcuWLdMHH3ygSy+9VEuWLHG7OQAMxjwsAADAeNxhAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDx/h8o46Ik1aNLwQAAAABJRU5ErkJggg==", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using PyPlot\n", "\n", "N = 50 # Number of observations\n", "θ = 2.0 # True value of the variable we want to estimate\n", "σ_ϵ2 = 0.25 # Observation noise variance\n", "x = sqrt(σ_ϵ2) * randn(N) .+ θ # Generate N noisy observations of θ\n", "\n", "t = 0\n", "μ = fill!(Vector{Float64}(undef,N), NaN) # Means of p(θ|D) over time\n", "σ_μ2 = fill!(Vector{Float64}(undef,N), NaN) # Variances of p(θ|D) over time\n", "\n", "function performKalmanStep()\n", " # Perform a Kalman filter step, update t, μ, σ_μ2\n", " global t += 1\n", " if t>1 # Use posterior from prev. step as prior\n", " K = σ_μ2[t-1] / (σ_ϵ2 + σ_μ2[t-1]) # Kalman gain\n", " μ[t] = μ[t-1] + K*(x[t] - μ[t-1]) # Update mean using (1)\n", " σ_μ2[t] = σ_μ2[t-1] * (1.0-K) # Update variance using (2)\n", " elseif t==1 # Use prior\n", " # Prior p(θ) = N(0,1000)\n", " K = 1000.0 / (σ_ϵ2 + 1000.0) # Kalman gain\n", " μ[t] = 0 + K*(x[t] - 0) # Update mean using (1)\n", " σ_μ2[t] = 1000 * (1.0-K) # Update variance using (2)\n", " end\n", "end\n", "\n", "while tProduct of Normally Distributed Variables\n", "- (We've seen that) the sum of two Gausssian distributed variables is also Gaussian distributed." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Has the _product_ of two Gaussian distributed variables also a Gaussian distribution?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **No**! In general this is a difficult computation. As an example, let's compute $p(z)$ for $Z=XY$ for the special case that $X\\sim \\mathcal{N}(0,1)$ and $Y\\sim \\mathcal{N}(0,1)$.\n", "$$\\begin{align*}\n", "p(z) &= \\int_{X,Y} p(z|x,y)\\,p(x,y)\\,\\mathrm{d}x\\mathrm{d}y \\\\\n", " &= \\frac{1}{2 \\pi}\\int \\delta(z-xy) \\, e^{-(x^2+y^2)/2} \\, \\mathrm{d}x\\mathrm{d}y \\\\\n", " &= \\frac{1}{\\pi} \\int_0^\\infty \\frac{1}{x} e^{-(x^2+z^2/x^2)/2} \\, \\mathrm{d}x \\\\\n", " &= \\frac{1}{\\pi} \\mathrm{K}_0( \\lvert z\\rvert )\\,.\n", "\\end{align*}$$\n", "where $\\mathrm{K}_n(z)$ is a [modified Bessel function of the second kind](http://mathworld.wolfram.com/ModifiedBesselFunctionoftheSecondKind.html)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Product of Gaussian Distributions\n", "\n", "- We plot $p(Z=XY)$ and $p(X)p(Y)$ for $X\\sim\\mathcal{N}(0,1)$ and $Y \\sim \\mathcal{N}(0,1)$ to give an idea of how these distributions differ." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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aWkDROU9cq8fIP86ulq/qqoq6PV67NmzB0aj0eqcoxvseWU2jb1dBe0dF82aNQszZsyw/FxSUoKYmBgkJibaLJPrDoPBgNTUVAwePNhuC40cyL2OrJ/vuXbqGpAGtGvdDkPvGmqp41397sKHuz6E2l9tdxXKxq6iogI5OTkIDAy02mFVEASUlpYiKChI0t1UGwu51w+Qfx3drV9FRQX8/f1x99132+wu7OisJ48nI61atbK7q6BarUbLli3t3uPn52ezDTRQvQCLJ34he6rcxkTudWT9fEeVUN1qEKANsKpToC4QQPUAVl+sq8lkgkKhgFKptGzSBsDS7C2ekxu51w+Qfx3drZ9SqYRCobD7e8rRf8sef1X79+9v08S8Y8cOJCQk+OQvHCJyT7mhutmW64wQkcjpZOTmXf7OnTtntcvfrFmzMG7cOMv1kyZNwvnz5zFjxgycOHECH3zwAVJSUvDiiy9KVAUi8iXi1F2bqb1/rjNSYaywdOUSUdPgdDIi7vIXFxcHoHoL45q7/F28eNFq++H27dtj69at2L17N3r16oXXX38dK1as4LReoiaqvhVYBQioNFXa3EcNq6ioCBEREcjKynLqvuHDh2Pp0qWeCcoOV+L0doxky+lk5N5774UgCDZfH330EYDqLYt3795tdc8999yDQ4cOobKyEufOncOkSZOkiJ2IfJC4N83N64yILSMAu2oao0WLFiEpKQmxsbGWY2azGbfddhvmzZtnde327duh1WqxefNmzJ07FwsWLKh3IOO9994reZxGoxEdOnTAc889Z3PdpEmT0KFDBxQUFDgcI3mO/EbiEFGjZlmBVWXdTaNSqqBVagHcSFiocdDr9UhJSUFycrLVcaVSiZdffhkffvghiouLAQCZmZkYMWIEFi5ciBEjRqBHjx6IjY3F+vXrbcrdt28fdu7caXVs586d2LdvnyRxqtVqzJw5EykpKSgqKrJct2jRInz++efYtm0bIiIi6oyRvIPJCBF5laWbRuNvc048xpYR77p06RIUCgWWL1+OuLg46HQ63H777fjpp58AANu2bYNarUb//v1t7h0zZgxCQ0OxcuVK5Obm4qGHHsLYsWOtxgU+/PDD2Lhxo829bdu2xbvvvovJkyejtLQUkydPxtq1a61aXxyNsbY4x48fj5YtW+Ltt98GAKxfvx6vv/46vvnmG3Tq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mDx5MkpLSzF58mSsXbvWqlUHAMaPH4+WLVvi7bffBgCsX78er7/+Or755ht06tTJcl1SUhK++OILyepCtpiMEJHX1NdNA9yYaePryYggCCg3lKPcUA69UW/53htfzs5ESk9PBwCsXr0ab731FjIzMxEbG4sxY8bAbDZjz549SEhIqLMMk8mEp556Cqmpqfj+++/tJiILFy5EYGBgnV979+61W75arcbLL7+MFStWYOjQoejduzdWrFhh99qYmBhs3rwZzZs3x6FDhxASEoJPP/0U0dHRVtdptVq89NJLWLVqFbZu3Yrk5GR88sknGDBggNV1ffr0waFDh1BZWVnna0CuUzd0AETUdFj2pqkjGRG7aXx9AKveqEe/Df0a5Nm/jP4FARr706ftyczMhEajwXfffYf27dsDAObPn4+EhATk5eUhKysLrVu3rvV+k8mEcePGWRKRHj162L1u0qRJ9Y4juTlhqGnMmDGYPn06BEHAxo0boVKp7F6Xl5eHF154AS1atEDv3r1RXFyMJ598EkuWLLEpPzk5GQsWLEBSUhKWLFmCxx9/3G5MlZWVyM/Pt7w+JC0mI0TkNfVN7a15ztdbRnxJRkYGhg0bZvVB6+fnZ/ler9dDp7M/zsdkMuGZZ57B7t278f3336Nnz561Pic0NBShoaEux/nss88CAAoLC2tNRAAgKysLycnJGDRoEO69916sWbMGO3fuRFZWlk0yotPpcN999yEnJwfTp0+3W56//597JpVzzyRPYTJCRF5jmdpby940Nc/5ejLir/bHL6N/gdlsRmlpKYKCgqBUeqdnvK5kz56MjAyMHz/e6tihQ4cQFhaG6OhohIWFWQaO1iS2iOzatQs7d+6sMxEBqrtpFi5cWOc127Ztw8CBA22Oz5kzB99++y1+/vlnDBo0CCkpKZgyZYrdMu68806bY4MGDar1mYcPH8aDDz5Y6/krV64AAMLDw+uMnVzHZISIvMbSTaORf8uIQqFAgCYAZrMZRrURAZoAryUjztDr9Thz5gxMJpPlmNlsxvLlyzF+/HgolUrExcVh3bp1VveJiciOHTuwZcsW9OrVq95nudpNs3btWixZsgS7du1Cz549MX36dCxevBgTJ06ERqOps7zdu3fXeV6v1+PkyZN49dVXa73m6NGjaN26NcLCwuosi1zHZISIvMIsmFFpqh4AWGc3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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using PyPlot, Distributions, SpecialFunctions\n", "X = Normal(0,1)\n", "Y = Normal(0,1)\n", "pdf_product_std_normals(z::Vector) = (besselk.(0, abs.(z))./π)\n", "range1 = collect(range(-4,stop=4,length=100))\n", "plot(range1, pdf.(X, range1))\n", "plot(range1, pdf.(X,range1).*pdf.(Y,range1))\n", "plot(range1, pdf_product_std_normals(range1))\n", "legend([L\"p(X)=p(Y)=\\mathcal{N}(0,1)\", L\"p(X)*p(Y)\",L\"p(Z=X*Y)\"]); grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- In short, Gaussian-distributed variables remain Gaussian in linear systems, but this is not the case in non-linear systems. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Solution to Example Problem\n", "\n", "\n", "We apply maximum likelihood estimation to fit a 2-dimensional Gaussian model ($m$) to data set $D$. Next, we evaluate $p(x_\\bullet \\in S | m)$ by (numerical) integration of the Gaussian pdf over $S$: $p(x_\\bullet \\in S | m) = \\int_S p(x|m) \\mathrm{d}x$." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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YYWduXPncsYZZxwpuDhq1CjeeeedFj9Ppw10xo4dy+uvv87mzZv585//zLZt27jmmmucHlbY2bRpE4FAgHnz5rFhwwaeeuopnnvuOR5++GGnhxZ2fD4f1157LbfddpvTQwkrr732GnfffTePPPIIX3zxBeeddx7jx48nPz/f6aGFnYqKCoYNG8Yzzzzj9FDC2ooVK7j99ttZtWoVS5cupaamhnHjxlFRUeH00MJK3759efzxx1m7di1r167lwgsv5KqrrmLDhg0teh5tL6/11ltvMWHCBLxeL3FxcU4PJ6zNmTOHuXPnsn37dqeHEpZefPFF7r77bkpKSpweSlg455xzGD58OHPnzj3y2JAhQ5gwYQKzZ892cGThLSoqijfeeIMJEyY4PZSwV1hYSPfu3VmxYgXnn3++08MJa+np6cyZM4ebb7652Z/TaWd0GioqKuLll19m9OjRCnKCwOPxkJ6e7vQwpBPw+Xx8/vnnjBs3rtHj48aN45NPPnFoVCKNeTweAP1dbAO/38+rr75KRUUFo0aNatHndupA58EHHyQxMZGMjAzy8/NZtGiR00MKe9u2beO3v/0tU6ZMcXoo0gkcPHgQv99Pjx49Gj3eo0cP9u3b59CoROoZY7j33ns599xzyc3NdXo4Yeerr74iKSkJt9vNlClTeOONNxg6dGiLniOiAp0ZM2YQFRV1wmPt2rVHzn/ggQf44osvWLJkCTExMfz85z9vUUuJSNbSawm2J9mll17Ktddeyy233OLQyENLa66jtFxUVFSj940xxzwm4oQ77riD9evX84c//MHpoYSlU089lXXr1rFq1Spuu+02Jk+ezDfffNOi5wiLXlfNdccddzBp0qQTnjNgwIAjb9d1Tz/llFMYMmQIWVlZrFq1qsXTYpGopdeyoKCAsWPHMmrUKObPn9/OowsfLb2O0jKZmZnExMQcM3tz4MCBY2Z5RDranXfeyVtvvcXKlSuP6dMozeNyucjJyQFg5MiRrFmzhqeffpp58+Y1+zkiKtCpC1xao24mx+v1BnNIYasl13Lv3r2MHTuWESNGsHDhQqKjI2qisE3a8jMpJ+dyuRgxYgRLly5l4sSJRx5funQpV111lYMjk87MGMOdd97JG2+8wfLly8nOznZ6SBHDGNPi+3REBTrNtXr1alavXs25555LWloa27dvZ9q0aQwaNEizOS1UUFDAmDFj6NevH08++SSFhYVHPtazZ08HRxZ+8vPzKSoqIj8/H7/fz7p16wDIyckhKSnJ4dGFrnvvvZcbb7yRkSNHHplRzM/PV55YK5SXl7N169Yj7+/YsYN169aRnp5Ov379HBxZeLn99tt55ZVXWLRoEcnJyUdmHFNTU4mPj3d4dOHj4YcfZvz48WRlZVFWVsarr77K8uXLeffdd1v2RKYTWr9+vRk7dqxJT083brfbDBgwwEyZMsXs2bPH6aGFnYULFxqgyUNaZvLkyU1ex2XLljk9tJD37LPPmv79+xuXy2WGDx9uVqxY4fSQwtKyZcua/BmcPHmy00MLK8f7m7hw4UKnhxZWfvGLXxz5ve7WrZu56KKLzJIlS1r8PKqjIyIiIhFLyRQiIiISsRToiIiISMRSoCMiIiIRS4GOiIiIRCwFOiIiIhKxFOiIiIhIxFKgIyIiIhFLgY6IiIhELAU6IiIiErEU6IiIiEjEUqAjImHt3Xff5dxzz6Vr165kZGRw+eWXs23bNqeHJSIhQoGOiIS1iooK7r33XtasWcP7779PdHQ0EydOJBAIOD00EQkBauopIhGlsLCQ7t2789VXX5Gbm+v0cETEYZrREZGwtm3bNq677joGDhxISkoK2dnZAOTn5zs8MhEJBbFOD0BEpC2uuOIKsrKyWLBgAb179yYQCJCbm4vP53N6aCISAhToiEjYOnToEBs3bmTevHmcd955AHz00UcOj0pEQokCHREJW2lpaWRkZDB//nx69epFfn4+Dz30kNPDEpEQohwdEQlb0dHRvPrqq3z++efk5uZyzz33MGfOHKeHJSIhRLuuREREJGJpRkdEREQilgIdERERiVgKdERERCRiKdARERGRiKVAR0RERCKWAh0RERGJWAp0REREJGIp0BEREZGIpUBHREREIpYCHREREYlYCnREREQkYinQERERkYj1f5KDjWDk3k1DAAAAAElFTkSuQmCC", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "p(x⋅∈S|m) ≈ 0.20063022272292289\n" ] } ], "source": [ "using HCubature, LinearAlgebra# Numerical integration package\n", "# Maximum likelihood estimation of 2D Gaussian\n", "N = length(sum(D,dims=1))\n", "μ = 1/N * sum(D,dims=2)[:,1]\n", "D_min_μ = D - repeat(μ, 1, N)\n", "Σ = Hermitian(1/N * D_min_μ*D_min_μ')\n", "m = MvNormal(μ, convert(Matrix, Σ));\n", "\n", "# # Contour plot of estimated Gaussian density\n", "A = Matrix{Float64}(undef,100,100); B = Matrix{Float64}(undef,100,100)\n", "density = Matrix{Float64}(undef,100,100)\n", "for i=1:100\n", " for j=1:100\n", " A[i,j] = a = (i-1)*6/100 .- 2\n", " B[i,j] = b = (j-1)*6/100 .- 3\n", " density[i,j] = pdf(m, [a,b])\n", " end\n", "end\n", "c = contour(A, B, density, 6, zorder=1)\n", "PyPlot.set_cmap(\"cool\")\n", "clabel(c, inline=1, fontsize=10)\n", "\n", "# Plot observations, x∙, and the countours of the estimated Gausian density\n", "plotObservations(D)\n", "plot(x_dot[1], x_dot[2], \"ro\")\n", "\n", "# Numerical integration of p(x|m) over S:\n", "(val,err) = hcubature((x)->pdf(m,x), [0., 1.], [2., 2.])\n", "println(\"p(x⋅∈S|m) ≈ $(val)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Summary\n", "\n", "- A linear transformation of a Gaussian-distributed (potentially multivariate) variable remains Gaussian. \n", "\n", "- Bayesian inference with Gaussian prior and likelihood leads to an analytically computable Gaussian posterior. \n", "\n", "- Here's a nice [summary of Gaussian calculations](https://github.com/bertdv/AIP-5SSB0/raw/master/lessons/notebooks/files/RoweisS-gaussian_formulas.pdf) by Sam Roweis. \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "##
OPTIONAL SLIDES
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Inference for the Precision Parameter of the Gaussian\n", "\n", "- Again, we consider an observed data set $D = \\{x_1, x_2, \\ldots, x_N\\}$ and try to explain these data by a Gaussian distribution." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- We discussed earlier Bayesian inference for the mean with a given variance. Now we will derive a posterior for the variance if the mean is given. (Technically, we will do the derivation for a precision parameter $\\lambda = \\sigma^{-2}$, since the discussion is a bit more straightforward for the precision parameter)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "##### model specification\n", "- The likelihood for the precision parameter is \n", "$$\\begin{align*}\n", "p(D|\\lambda) &= \\prod_{n=1}^N \\mathcal{N}\\left(x_n \\,|\\, \\mu, \\lambda^{-1} \\right) \\\\\n", " &\\propto \\lambda^{N/2} \\exp\\left\\{ -\\frac{\\lambda}{2}\\sum_{n=1}^N \\left(x_n - \\mu \\right)^2\\right\\} \\tag{B-2.145}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The conjugate distribution for this function of $\\lambda$ is the [_Gamma_ distribution](https://en.wikipedia.org/wiki/Gamma_distribution), given by\n", "$$\n", "p(\\lambda\\,|\\,a,b) = \\mathrm{Gam}\\left( \\lambda\\,|\\,a,b \\right) \\triangleq \\frac{1}{\\Gamma(a)} b^{a} \\lambda^{a-1} \\exp\\left\\{ -b \\lambda\\right\\}\\,, \\tag{B-2.146}\n", "$$\n", "where $a>0$ and $b>0$ are known as the _shape_ and _rate_ parameters, respectively. \n", "\n", "\n", "\n", "- (Bishop fig.2.13). Plots of the Gamma distribution $\\mathrm{Gam}\\left( \\lambda\\,|\\,a,b \\right) $ for different values of $a$ and $b$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The mean and variance of the Gamma distribution evaluate to $\\mathrm{E}\\left( \\lambda\\right) = \\frac{a}{b}$ and $\\mathrm{var}\\left[\\lambda\\right] = \\frac{a}{b^2}$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "##### inference\n", "\n", "- We will consider a prior $p(\\lambda) = \\mathrm{Gam}\\left( \\lambda\\,|\\,a_0, b_0\\right)$, which leads by Bayes rule to the posterior\n", "$$\\begin{align*}\n", "p(\\lambda\\,|\\,D) &\\propto \\underbrace{\\lambda^{N/2} \\exp\\left\\{ -\\frac{\\lambda}{2}\\sum_{n=1}^N \\left(x_n - \\mu \\right)^2\\right\\} }_{\\text{likelihood}} \\cdot \\underbrace{\\frac{1}{\\Gamma(a_0)} b_0^{a_0} \\lambda^{a_0-1} \\exp\\left\\{ -b_0 \\lambda\\right\\}}_{\\text{prior}} \\\\\n", " &\\propto \\mathrm{Gam}\\left( \\lambda\\,|\\,a_N,b_N \\right) \n", "\\end{align*}$$\n", "with\n", "$$\\begin{align*}\n", "a_N &= a_0 + \\frac{N}{2} \\tag{B-2.150} \\\\\n", "b_N &= b_0 + \\frac{1}{2}\\sum_n \\left( x_n-\\mu\\right)^2 \\tag{B-2.151}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Hence the **posterior is again a Gamma distribution**. By inspection of B-2.150 and B-2.151, we deduce that we can interpret $2a_0$ as the number of a priori (pseudo-)observations. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Since the most uninformative prior is given by $a_0=b_0 \\rightarrow 0$, we can derive the **maximum likelihood estimate** for the precision as\n", "$$\n", "\\lambda_{\\text{ML}} = \\left.\\mathrm{E}\\left[ \\lambda\\right]\\right\\vert_{a_0=b_0\\rightarrow 0} = \\left. \\frac{a_N}{b_N}\\right\\vert_{a_0=b_0\\rightarrow 0} = \\frac{N}{\\sum_{n=1}^N \\left(x_n-\\mu \\right)^2}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "- In short, if we do density estimation with a Gaussian distribution $\\mathcal{N}\\left(x_n\\,|\\,\\mu,\\sigma^2 \\right)$ for an observed data set $D = \\{x_1, x_2, \\ldots, x_N\\}$, the maximum likelihood estimates for $\\mu$ and $\\sigma^2$ are given by\n", "$$\\begin{align*}\n", "\\mu_{\\text{ML}} &= \\frac{1}{N} \\sum_{n=1}^N x_n \\tag{B-2.121} \\\\\n", "\\sigma^2_{\\text{ML}} &= \\frac{1}{N} \\sum_{n=1}^N \\left(x_n - \\mu_{\\text{ML}} \\right)^2 \\tag{B-2.122}\n", "\\end{align*}$$\n", "\n", "- These estimates are also known as the _sample mean_ and _sample variance_ respectively. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "open(\"../../styles/aipstyle.html\") do f\n", " display(\"text/html\", read(f, String))\n", "end" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Julia 1.5.2", "language": "julia", "name": "julia-1.5" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.5.2" }, "widgets": { "state": { "3e8b6f2f-6500-4ec7-963f-2db519e88817": { "views": [ { "cell_index": 11 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 4 }