{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "from scipy.stats import invgamma\n", "from matplotlib import pyplot as plt\n", "import seaborn as sns\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# ベイズ線形回帰" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## データ生成\n", "\n", "\\begin{align}\n", " y &= wx + b + \\varepsilon \\\\\n", " &= \\bf{w}^\\rm{T} \\bf{x} + \\varepsilon \\\\\n", " \\varepsilon &\\sim \\mathcal N(0, \\sigma_n^2)\n", "\\end{align}\n", "\n", "重みは$w = 2.0$，切片は$b = 1.0$，ノイズ標準偏差は$\\sigma_n = 2.0$，データ数$N=100$とする．" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\neFxCtXTo9KsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def gen_data1d(N=100, w=2.0, b=1.0, sigma_n=2.0):\n", " np.random.seed(1)\n", " x_ = np.linspace(-5, 5,N)\n", " x = np.c_[np.ones(N), x_]\n", " w = np.array([b, w])[:, np.newaxis]\n", " eps = np.random.normal(0, sigma_n**2, N)[:, np.newaxis]\n", " y = np.matmul(x, w) + eps\n", " return x_[:, np.newaxis], y\n", "\n", "x, y = gen_data1d()\n", "true_y = 2.0 * x + 1.0\n", "\n", "fontsize = 20\n", "plt.figure(figsize=(8, 8))\n", "plt.plot(x, true_y, color='black', lw=1, label='true model')\n", "plt.scatter(x, y, color='b', s=100, label='data')\n", "plt.xlim(-6, 6)\n", "plt.ylim(-13, 13)\n", "plt.xticks(fontsize=fontsize)\n", "plt.yticks(fontsize=fontsize)\n", "plt.xlabel('x', fontsize=fontsize)\n", "plt.ylabel('y', fontsize=fontsize)\n", "plt.legend(fontsize=fontsize)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 予測モデル\n", "\n", "\\begin{align}\n", " y &= \\bf{w}^\\rm{T} \\bf{x} + \\varepsilon \\\\\n", " \\varepsilon &\\sim \\mathcal N(0, \\sigma_n^2) \\\\\n", " \\sigma_n^2 &\\sim \\mathcal {IG}(\\frac{\\alpha}{2}, \\frac{\\beta}{2}) \\\\\n", " \\bf{w} &\\sim \\mathcal N({\\bf 0}, {\\bf \\Sigma_w}) \\\\\n", "\\end{align}\n", "\n", "と仮定すると，事前分布は\n", "\n", "\\begin{align}\n", " p(\\sigma_n^2) &= \\mathcal {IG}(\\frac{\\alpha}{2}, \\frac{\\beta}{2}) \\\\\n", " &= \\frac{({\\frac{\\beta}{2})}^{\\frac{\\alpha}{2}}}{\\Gamma (\\frac{\\alpha}{2})} (\\sigma_n^2)^{-\\frac{\\alpha}{2}-1} \\exp \\left( -\\frac{\\frac{\\beta}{2}}{\\sigma_n^2} \\right) ,\\\\\n", " p({\\bf w}) &= \\mathcal N(\\bf{0}, \\Sigma_w) \\\\\n", " &= \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{D}{2}} |{\\bf \\Sigma_w}|^{-\\frac{1}{2}} \\exp \\left( -\\frac{1}{2} {\\bf w}^{\\rm T} {\\bf \\Sigma_w}^{-1} {\\bf w} \\right).\n", "\\end{align}\n", "\n", "ただし，$D$は$\\bf w$の次元で$D=2$．\n", "\n", "尤度関数は\n", "\n", "\\begin{align}\n", " p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) &= \\prod_{i=1}^N \\mathcal N({\\bf w}^{\\rm T} {\\bf x}_i, \\sigma_n^2) \\\\\n", " &= \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{N}{2}} (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} \\sum_{i=1}^N (y_i - {\\bf w}^{\\rm T} {\\bf x}_i)^2 \\right\\}.\n", "\\end{align}\n", "\n", "事後分布は，\n", "\n", "\\begin{align}\n", " p({\\bf w}, \\sigma_n^2 | y, {\\bf x}) &= \\frac{p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}, \\sigma_n^2)}{p(y | {\\bf x})} \\\\\n", " &\\propto p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}, \\sigma_n^2) \\\\\n", " &= p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}) p(\\sigma_n^2) \\\\\n", " &= \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{N}{2}} (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} \\sum_{i=1}^N (y_i - {\\bf w}^{\\rm T} {\\bf x}_i)^2 \\right\\} \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{D}{2}} |{\\bf \\Sigma_w}|^{-\\frac{1}{2}} \\exp \\left( -\\frac{1}{2} {\\bf w}^{\\rm T} {\\bf \\Sigma_w}^{-1} {\\bf w} \\right) \\frac{({\\frac{\\beta}{2})}^{\\frac{\\alpha}{2}}}{\\Gamma (\\frac{\\alpha}{2})} (\\sigma_n^2)^{-\\frac{\\alpha}{2}-1} \\exp \\left( -\\frac{\\frac{\\beta}{2}}{\\sigma_n^2} \\right) \\\\\n", " &\\propto (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} \\sum_{i=1}^N (y_i - {\\bf w}^{\\rm T} {\\bf x}_i)^2 \\right\\} \\exp \\left( -\\frac{1}{2} {\\bf w}^{\\rm T} {\\bf \\Sigma_w}^{-1} {\\bf w} \\right) (\\sigma_n^2)^{-\\frac{\\alpha}{2}-1} \\exp \\left( -\\frac{\\frac{\\beta}{2}}{\\sigma_n^2} \\right)\n", "\\end{align}\n", "\n", "となる．" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ギブス・サンプリング\n", "事後分布の積分が解析的に行えないので，MCMCによるサンプリングで事後分布に従う乱数を生成する．\n", "\n", "\n", "$\\bf w$の条件付き分布は，\n", "\n", "\\begin{align}\n", " p({\\bf w} | y, {\\bf x}, \\sigma_n^2) &= \\frac{p({\\bf w}, \\sigma_n^2 | y, {\\bf x})}{ p(\\sigma_n^2)} \\\\\n", " &= \\frac{p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}) p(\\sigma_n^2)}{p(y | {\\bf x}) p(\\sigma_n^2)} \\\\\n", " &\\propto p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}) \\\\\n", " &= \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{N}{2}} (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} \\sum_{i=1}^N (y_i - {\\bf w}^{\\rm T} {\\bf x}_i)^2 \\right\\} \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{D}{2}} |{\\bf \\Sigma_w}|^{-\\frac{1}{2}} \\exp \\left( -\\frac{1}{2} {\\bf w}^{\\rm T} {\\bf \\Sigma_w}^{-1} {\\bf w} \\right) \\\\\n", " &\\propto \\exp \\left\\{ -\\frac{1}{2} ({\\bf y} - {\\bf Xw})^{\\rm T} (\\sigma_n^2 {\\bf I})^{-1} ({\\bf y} - {\\bf Xw}) \\right\\} \\exp \\left( -\\frac{1}{2} {\\bf w}^{\\rm T} {\\bf \\Sigma_w}^{-1} {\\bf w} \\right) \\\\\n", " &\\propto \\exp \\left\\{ -\\frac{1}{2} ({\\bf w} - \\bar{\\bf w})^{\\rm T} {\\bf A} ({\\bf w} - \\bar{\\bf w}) \\right\\} \\\\\n", " &\\sim {\\mathcal N}(\\bar{\\bf w}, {\\bf A}^{-1}).\n", "\\end{align}\n", "\n", "ただし，${\\bf A} = \\frac{1}{\\sigma_n^2} {\\bf X^{\\rm T}X} + \\Sigma_{\\bf w}^{-1}, \\;\\; \\bar{\\bf w} = \\frac{1}{\\sigma_n^2} {\\bf A}^{-1} {\\bf X^{\\rm T}y}$．\n", "\n", "$\\sigma_n^2$の条件付き分布は，\n", "\n", "\\begin{align}\n", " p(\\sigma_n^2 | y, {\\bf x}, {\\bf w}) &= \\frac{p({\\bf w}, \\sigma_n^2 | y, {\\bf x})}{ p({\\bf w}) } \\\\\n", " &= \\frac{p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p({\\bf w}) p(\\sigma_n^2)}{p(y | {\\bf x}) p({\\bf w})} \\\\\n", " &\\propto p(y | {\\bf x}, {\\bf w}, \\sigma_n^2) p(\\sigma_n^2) \\\\\n", " &= \\left(\\frac{1}{2 \\pi}\\right)^{\\frac{N}{2}} (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} \\sum_{i=1}^N (y_i - {\\bf w}^{\\rm T} {\\bf x}_i)^2 \\right\\} \\frac{({\\frac{\\beta}{2})}^{\\frac{\\alpha}{2}}}{\\Gamma (\\frac{\\alpha}{2})} (\\sigma_n^2)^{-\\frac{\\alpha}{2}-1} \\exp \\left( -\\frac{\\frac{\\beta}{2}}{\\sigma_n^2} \\right) \\\\\n", " &\\propto (\\sigma_n^2)^{-\\frac{N}{2}} \\exp \\left\\{ -\\frac{1}{2 \\sigma_n^2} ({\\bf y} - {\\bf Xw})^{\\rm T}({\\bf y} - {\\bf Xw}) \\right\\} (\\sigma_n^2)^{-\\frac{\\alpha}{2}-1} \\exp \\left( -\\frac{\\frac{\\beta}{2}}{\\sigma_n^2} \\right) \\\\\n", " &= (\\sigma_n^2)^{-\\frac{N + \\alpha}{2} -1} \\exp \\left\\{ -\\frac{1}{\\sigma_n^2} \\frac{({\\bf y} - {\\bf Xw})^{\\rm T}({\\bf y} - {\\bf Xw}) + \\beta}{2} \\right\\} \\\\\n", " &\\sim \\mathcal {IG}\\left(\\frac{N + \\alpha}{2}, \\frac{({\\bf y} - {\\bf Xw})^{\\rm T}({\\bf y} - {\\bf Xw}) + \\beta}{2} \\right).\n", "\\end{align}\n", "\n", "\n", "ギブス・サンプリングでは，$\\sigma_n^2$を固定したと考えて$\\bf w$の条件付き分布$p({\\bf w} | y, {\\bf x}, \\sigma_n^2)$からのサンプリングと，$\\bf w$を固定したと考えて$\\sigma_n^2$の条件付き分布$p(\\sigma_n^2 | y, {\\bf x}, {\\bf w})$からのサンプリングを交互に繰り返す．\n", "\n", "1. 初期値${\\bf w}^{(0)}, {\\sigma_n^2}^{(0)}$を決める．\n", "2. $t = 0, 1, 2, ...,$に対して，\n", "\n", " (i) ${\\bf w}^{(t+1)}$を$p({\\bf w} | y, {\\bf x}, {\\sigma_n^2}^{(t)})$からサンプリング．\n", " \n", " (ii) ${{\\sigma_n^2}^{(t+1)}}$を$p({\\sigma_n^2} | y, {\\bf x}, {\\bf w}^{(t)})$からサンプリング．" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def GibbsSampling(X, y, N_sample=3000, iter_num=100, burn_in=0.3):\n", " np.random.seed(0)\n", " N = X.shape[0]\n", " D = X.shape[1]\n", " alpha = 2.\n", " beta = 2.\n", " sign2_0 = 10.0\n", " w_0 = np.zeros((D, 1))\n", " \n", " sign2_t = sign2_0\n", " w_t = w_0\n", " w = [w_t]\n", " sign2 = [sign2_t]\n", " for t in range(N_sample):\n", " A = np.matmul(X.T, X) / sign2_t + np.eye(D)\n", " A_inv = np.linalg.inv(A)\n", " w_bar = np.matmul(np.matmul(A_inv, X.T), y)[:, 0] / sign2_t\n", " w_t = np.random.multivariate_normal(w_bar, A_inv)[:,np.newaxis]\n", " sign2_t= invgamma.rvs(a=(N + alpha) / 2., scale=(np.matmul((y - np.matmul(X, w_t)).T, (y - np.matmul(X, w_t)))) + beta / 2.)\n", " w.append(w_t)\n", " sign2.append(sign2_t)\n", "\n", " return np.array(w).reshape((N_sample + 1, D))[int(N_sample * burn_in):], np.array(sign2)[int(N_sample * burn_in):]\n", "\n", "N = 100\n", "X = np.c_[np.ones(N), x]\n", "w, sign2 = GibbsSampling(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### サンプリング結果" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.833603249623\n", "0.105373189652 1.86834810922\n" ] }, { "data": { "image/png": "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\nfGM5AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bins = 50\n", "plt.hist(w[:, 0], bins=bins)\n", "plt.title('$w_0$')\n", "\n", "freq_w0, val_w0 = np.histogram(w[:, 0], bins=bins)\n", "print(val_w0[np.argmax(freq_w0)])\n", "N_sample = len(w[:, 0])\n", "bottom = np.sort(w[:, 0])[int(N_sample * 0.025)]\n", "top = np.sort(w[:, 0])[int(N_sample * 0.975)]\n", "w0_ci = np.array([bottom, val_w0[np.argmax(freq_w0)], top])\n", "print(bottom, top)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.02445411147\n", "1.7301797938 2.40666919289\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(w[:, 1], bins=bins)\n", "plt.title('$w_1$')\n", "\n", "freq_w1, val_w1 = np.histogram(w[:, 1], bins=bins)\n", "print(val_w1[np.argmax(freq_w1)])\n", "N_sample = len(w[:, 1])\n", "bottom = np.sort(w[:, 1])[int(N_sample * 0.025)]\n", "top = np.sort(w[:, 1])[int(N_sample * 0.975)]\n", "w1_ci = np.array([bottom, val_w1[np.argmax(freq_w1)], top])\n", "print(bottom, top)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nqwiGLhsj1W8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(sign2, bins=bins)\n", "plt.title('$\\sigma_n^2$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 予測分布" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.c_[np.ones(N), x] # (100, 2)\n", "W = np.c_[w0_ci, w1_ci] # (3, 2)\n", "pred_y = np.matmul(W, X.T)\n", "\n", "fontsize = 20\n", "plt.figure(figsize=(8, 8))\n", "plt.plot(x, true_y, color='black', lw=1, label='true model')\n", "plt.scatter(x, y, color='b', s=100, label='data')\n", "\n", "plt.fill_between(x[:, 0], pred_y[0], pred_y[2], alpha=0.3, label='95% Bayesian CI')\n", "plt.plot(x, pred_y[1], label='prediction', lw=3)\n", "\n", "plt.xlim(-6, 6)\n", "plt.ylim(-13, 13)\n", "plt.xticks(fontsize=fontsize)\n", "plt.yticks(fontsize=fontsize)\n", "plt.xlabel('x', fontsize=fontsize)\n", "plt.ylabel('y', fontsize=fontsize)\n", "plt.legend(fontsize=fontsize)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "root", "language": "python", "name": "root" }, "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.0" } }, "nbformat": 4, "nbformat_minor": 2 }