Skip to content

Instantly share code, notes, and snippets.

@terasakisatoshi
Last active January 23, 2018 12:33
Show Gist options
  • Save terasakisatoshi/9ea83f0553ca0cfe2f8007c4e854f832 to your computer and use it in GitHub Desktop.
Save terasakisatoshi/9ea83f0553ca0cfe2f8007c4e854f832 to your computer and use it in GitHub Desktop.
gibbs_sampling python version
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Gibbsサンプリングのアニメーション(Python)\n",
"\n",
"Reference:\n",
"- https://gist.github.com/Ooshita/1d0254d79bad942f02fb8085c264be0e\n",
"- http://nbviewer.jupyter.org/gist/genkuroki/509ae2ec68fdad57b2b000aeaa3a18e6"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline \n",
"from matplotlib import pyplot as plt\n",
"import matplotlib.animation as animation\n",
"from math import sqrt, log, sin, cos, pi\n",
"import numpy as np \n",
"from numpy.random import rand,seed"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"b=0.8\n",
"x=10.0\n",
"y=3.0\n",
"times=200 \n",
"np.random.seed(12345)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x22775e29c18>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig,ax=plt.subplots()\n",
"for _ in range(times):\n",
" u1 = rand()\n",
" u2 = rand()\n",
" x_old = x\n",
" x = sqrt(-2*log(u1))*cos(2*pi*u2) + b*y\n",
" ax.plot([x_old, x], [y, y], lw=1)\n",
" y_old = y\n",
" y = sqrt(-2*log(u1))*sin(2*pi*u2) + b*x\n",
" ax.plot([x, x], [y_old, y], lw=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# animaiton using FuncAnimation"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\ProgramData\\Miniconda3\\lib\\site-packages\\matplotlib\\animation.py:1218: UserWarning: MovieWriter imagemagick unavailable\n",
" warnings.warn(\"MovieWriter %s unavailable\" % writer)\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEICAYAAAC6fYRZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAHt9JREFUeJzt3X9wXXd55/H304SsaDAOmagVtmNb\nm7L4duNiWsG0ZewEKcVJrCFmPI0CW6+1xRgnakrBobZLU+5OuhNnEruwQYniBNZucBJ7MAmM7awJ\nlhK5f8BGBgUB17AEKcE23ohJYswPNU159o/7Q/de3av76+j+OPfzmvHonnO+53seg/Lc4+95zvdr\n7o6IiITTb9U6ABERmTtK8iIiIaYkLyISYkryIiIhpiQvIhJiSvIiIiGmJC8iEmJK8iKAmV1qZo+b\n2S/N7AUz+1CtYxIJwoW1DkCkTvQDrwG/C6wADpvZc+7+vdqGJVIZ0xuv0uzM7GLgFeBKd/9hYt/D\nwGl331bT4EQqpOEaEfhPwL8nE3zCc8B/rlE8IoFRkheBNwHnsvadA+bVIBaRQCnJi8AvgDdn7Xsz\ncL4GsYgESkleBH4IXGhmb0vb9w5AD12l4enBqwhgZo8BDmwkXl1zBPhTVddIo9OdvEjcLcAbgZeA\nR4GbleAlDHQnLyISYrqTFxEJscCSvJldYGbfNrNDQfUpIiKVCfJO/mNALMD+RESkQoEkeTNbBKwB\nHgqiPxERCUZQE5R9BvhbZnlD0Mw2AZsALr744j9atmxZQJcWEWkOJ06c+Jm7t5ZyTsVJ3sy6gZfc\n/YSZXZ2vnbvvBnYDdHR0+MjISKWXFhFpKmb2QqnnBDFc8x7g/WY2ATwGdJrZFwPoV0REKlRxknf3\n7e6+yN2XAjcBg+7+FxVHJiIiFdOiIRJq/ZsHi2479coutuxXBbCES6BJ3t2fBp4Osk+RSnQ+3Ufk\nZHGVvTt7ds1xNCLVpzdeRURCTEleRCTElORFREJMSV5EJMSU5EVEQkxJXkQkxJTkRURCTEleRCTE\nlORFREJMSV5EJMSU5EVEQkxJXkQkxJTkRURCTEleRCTElORFREJMSV5EJMSU5EVEQkxJXkQkxCpO\n8mbWYmb/x8yeM7Pvmdl/DyIwERGpXBBrvP4r0OnuvzCzNwD/YmZPuvs3AuhbREQqUHGSd3cHfpHY\n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\nEFOSFxEJsf8PIHD/u5xcOrMAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2277757e4a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig,ax=plt.subplots()\n",
"ax.set_xlim(-4,10)\n",
"ax.set_ylim(-4,4)\n",
"\n",
"b=0.8\n",
"x=10.0\n",
"y=3.0\n",
"times=200 \n",
" \n",
"def update(data,*fargs):\n",
" fig,ax=fargs\n",
" global x,y\n",
" u1 = rand()\n",
" u2 = rand()\n",
" x_old=x\n",
" x = sqrt(-2*log(u1))*cos(2*pi*u2) + b*y\n",
" ax.plot([x_old, x], [y, y], lw=1)\n",
" y_old = y\n",
" y = sqrt(-2*log(u1))*sin(2*pi*u2) + b*x\n",
" ax.plot([x, x], [y_old, y], lw=1)\n",
" ax.set_title(\"{}\".format(data))\n",
"ani=animation.FuncAnimation(fig,update,interval=100,fargs=(fig,ax))\n",
"ani.save(\"output.html\", writer=\"imagemagick\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"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.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment