Skip to content

Instantly share code, notes, and snippets.

@maxentile
Last active February 25, 2022 17:18
Show Gist options
  • Save maxentile/787d336b0035d324a1727032ed7cd0c8 to your computer and use it in GitHub Desktop.
Save maxentile/787d336b0035d324a1727032ed7cd0c8 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "b6e73cbd",
"metadata": {},
"source": [
"Code snippet corresponding to an optimal path between two 1D Gaussians, derived in [Gelman, Meng, 1998], see Fig 2, eqs. 70-71 of http://www.stat.columbia.edu/~gelman/research/published/path2.pdf"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "bafef3d9",
"metadata": {},
"outputs": [],
"source": [
"from dataclasses import dataclass\n",
"from typing import Callable\n",
"\n",
"import numpy as np\n",
"\n",
"\n",
"@dataclass\n",
"class Gaussian:\n",
" mu: float\n",
" sigma: float\n",
"\n",
"\n",
"def construct_optimal_path(a: Gaussian, b: Gaussian) -> Callable[[float], Gaussian]:\n",
" \"\"\"eqs. 70-71 of http://www.stat.columbia.edu/~gelman/research/published/path2.pdf\"\"\"\n",
" \n",
" if a.mu == b.mu: # main code path assumes we can divide by (b.mu - a.mu)\n",
" return construct_special_case_optimal_path(a, b)\n",
"\n",
" R2 = ((a.mu - b.mu) / 2) ** 2 + (3. / 2) * \\\n",
" (a.sigma ** 2 + b.sigma ** 2) + (9. / 4) * \\\n",
" ((b.sigma ** 2 - a.sigma ** 2) / (b.mu - a.mu)) ** 2\n",
" R = np.sqrt(R2)\n",
" C = 0.5 * (a.mu + b.mu) + \\\n",
" 1.5 * (b.sigma ** 2 - a.sigma ** 2) / (b.mu - a.mu)\n",
"\n",
" def mu(t):\n",
" if t in [0, 1]:\n",
" return a.mu if t == 0 else b.mu\n",
"\n",
" return R * np.tanh(phi(0) * (1 - t) + phi(1) * t) + C\n",
"\n",
" def phi(t):\n",
" return np.arctanh((mu(t) - C) / R)\n",
"\n",
" def sech(x):\n",
" return 1 / np.cosh(x)\n",
"\n",
" def sigma(t):\n",
" return R / (np.sqrt(3)) * sech(phi(0) * (1 - t) + phi(1) * t)\n",
"\n",
" def optimal_path(t: float) -> Gaussian:\n",
" return Gaussian(mu(t), sigma(t))\n",
"\n",
" return optimal_path\n",
"\n",
"\n",
"def construct_special_case_optimal_path(a: Gaussian, b: Gaussian) -> Callable[[float], Gaussian]:\n",
" \"\"\"special case of a.mu == b.mu\"\"\"\n",
"\n",
" assert a.mu == b.mu\n",
"\n",
" def log_sigma(t):\n",
" \"\"\"sigma(t) = sigma_b^t sigma_a^{1-t}\"\"\"\n",
" return t * np.log(b.sigma) + (1 - t) * np.log(a.sigma)\n",
"\n",
" def optimal_path(t: float) -> Gaussian:\n",
" return Gaussian(a.mu, np.exp(log_sigma(t)))\n",
"\n",
" return optimal_path"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9181103c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gaussian(mu=2.5, sigma=1.755942292142123)\n"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"a = Gaussian(0, 1)\n",
"b = Gaussian(5, 1)\n",
"\n",
"optimal_path = construct_optimal_path(a, b)\n",
"assert optimal_path(0.0) == a\n",
"assert optimal_path(1.0) == b\n",
"\n",
"# note: sigma not linearly interpolated between a.sigma, b.sigma\n",
"print(optimal_path(0.5)) "
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "c0652d4a",
"metadata": {},
"outputs": [],
"source": [
"ts = np.linspace(0, 1, 100)\n",
"path = [optimal_path(t) for t in ts]\n",
"mus = [g.mu for g in path]\n",
"sigmas = [g.sigma for g in path]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "d4719520",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, '$\\\\mu(t)$')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ts, mus)\n",
"plt.xlabel('$t$')\n",
"plt.ylabel('$\\mu(t)$')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c78eab3c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, '$\\\\sigma(t)$')"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(ts, sigmas)\n",
"plt.xlabel('$t$')\n",
"plt.ylabel('$\\sigma(t)$')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d60fc571",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, '$\\\\sigma$')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(mus, sigmas)\n",
"plt.xlabel('$\\mu$')\n",
"plt.ylabel('$\\sigma$')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f633d647",
"metadata": {},
"outputs": [],
"source": [
"from scipy.stats import norm\n",
"\n",
"x_grid = np.linspace(a.mu - 3, b.mu + 3, 1000)\n",
"\n",
"def grid_pdf(g: Gaussian) -> np.array:\n",
" return norm.pdf(x_grid, loc=g.mu, scale=g.sigma)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "395394d7",
"metadata": {},
"outputs": [],
"source": [
"coarse_path = [optimal_path(t) for t in np.linspace(0, 1, 11)]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "43c131c4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"([], [])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for g in [a, b]:\n",
" plt.plot(x_grid, grid_pdf(g))\n",
" plt.fill_between(x_grid, grid_pdf(g),alpha=0.1)\n",
"\n",
"for g in coarse_path[1:-1]:\n",
" plt.plot(x_grid, grid_pdf(g), c='grey', linewidth=0.5)\n",
" plt.fill_between(x_grid, grid_pdf(g), color='grey', alpha=0.1)\n",
"\n",
"plt.xlabel('$x$')\n",
"plt.ylabel('$p(x)$')\n",
"plt.yticks([])"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7b3d8a75",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment