{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "import pandas as pd\n", "import theano\n", "theano.config.floatX = 'float64'\n", "import pymc3 as pm\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import theano.tensor as tt" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/vale/anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:10: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", "Average ELBO = -30.05: 100%|██████████| 20000/20000 [00:01<00:00, 15668.21it/s] \n", "Finished [100%]: Average ELBO = -29.765\n", "Average ELBO = -16,711: 100%|██████████| 20000/20000 [00:05<00:00, 3405.25it/s] \n", "Finished [100%]: Average ELBO = -16,384\n", "Average ELBO = -33,637: 100%|██████████| 20000/20000 [00:10<00:00, 1908.36it/s] \n", "Finished [100%]: Average ELBO = -32,888\n", "Average ELBO = -50,193: 100%|██████████| 20000/20000 [00:15<00:00, 1282.30it/s] \n", "Finished [100%]: Average ELBO = -49,196\n", "Average ELBO = -67,139: 100%|██████████| 20000/20000 [00:20<00:00, 976.42it/s] \n", "Finished [100%]: Average ELBO = -65,887\n", "Average ELBO = -83,476: 100%|██████████| 20000/20000 [00:26<00:00, 755.49it/s] \n", "Finished [100%]: Average ELBO = -81,943\n", "Average ELBO = -1.0016e+05: 100%|██████████| 20000/20000 [00:32<00:00, 623.77it/s]\n", "Finished [100%]: Average ELBO = -97,998\n", "Average ELBO = -1.1732e+05: 100%|██████████| 20000/20000 [00:38<00:00, 520.41it/s]\n", "Finished [100%]: Average ELBO = -1.1496e+05\n", "Average ELBO = -1.3449e+05: 100%|██████████| 20000/20000 [00:45<00:00, 443.79it/s]\n", "Finished [100%]: Average ELBO = -1.3183e+05\n", "Average ELBO = -1.511e+05: 100%|██████████| 20000/20000 [00:49<00:00, 405.42it/s] \n", "Finished [100%]: Average ELBO = -1.4807e+05\n" ] } ], "source": [ "advi_times = []\n", "sizes = np.linspace(20, 200000, 10)\n", "for size in sizes:\n", " true_intercept = 1\n", " true_slope = 2\n", "\n", " x = np.linspace(0, 1, size)\n", "\n", " true_regression_line = true_intercept + true_slope * x\n", " y = true_regression_line + np.random.normal(scale=.5, size=size)\n", "\n", " data = dict(x=x, y=y)\n", " \n", " with pm.Model() as model:\n", " # Define priors\n", " sigma = pm.HalfCauchy('sigma', beta=10, testval=1.)\n", " intercept = pm.Normal('Intercept', 0, sd=20)\n", " x_coeff = pm.Normal('x', 0, sd=20)\n", "\n", " mu = intercept + x_coeff * x\n", " likelihood = pm.Normal('y', mu=mu, sd=sigma, observed=y)\n", "\n", " t0 = time.time()\n", " with model:\n", " means, sds, elbos = pm.variational.advi(n=20000)\n", " \n", " advi_times.append(time.time() - t0)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sizes, advi_times);" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x_t = tt.vector()\n", "x_t.tag.test_value = np.zeros(1)\n", "\n", "y_t = tt.vector()\n", "y_t.tag.test_value = np.zeros(1)\n", "\n", "minibatch_tensors = [x_t, y_t]" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": true }, "outputs": [], "source": [ "with pm.Model() as model:\n", " # Define priors\n", " sigma = pm.HalfCauchy('sigma', beta=10, testval=1.)\n", " intercept = pm.Normal('Intercept', 0, sd=20)\n", " x_coeff = pm.Normal('x', 0, sd=20)\n", " \n", " mu = intercept + x_coeff * x_t\n", " likelihood = pm.Normal('y', mu=mu, sd=sigma, observed=y_t)\n" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": true }, "outputs": [], "source": [ "minibatch_RVs = [likelihood]" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def minibatch_gen(data):\n", " rng = np.random.RandomState(9)\n", " \n", " while True:\n", " ixs = rng.randint(len(data['x']), size=100)\n", " yield data['x'][ixs], data['y'][ixs]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/vale/anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:9: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", "Average ELBO = -32.85: 100%|██████████| 20000/20000 [00:04<00:00, 4615.38it/s]\n", "Finished minibatch ADVI: ELBO = -29.05\n", "/Users/vale/anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:9: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", "Average ELBO = -16,683.61: 100%|██████████| 20000/20000 [00:04<00:00, 4612.16it/s]\n", "Finished minibatch ADVI: ELBO = -16,185.61\n", "Average ELBO = -33,776.46: 100%|██████████| 20000/20000 [00:04<00:00, 4604.23it/s]\n", "Finished minibatch ADVI: ELBO = -34,384.99\n", "Average ELBO = -49,932.86: 100%|██████████| 20000/20000 [00:04<00:00, 4587.49it/s]\n", "Finished minibatch ADVI: ELBO = -50,458.88\n", "Average ELBO = -67,123.26: 100%|██████████| 20000/20000 [00:04<00:00, 4404.64it/s]\n", "Finished minibatch ADVI: ELBO = -69,393.39\n", "Average ELBO = -83,768.66: 100%|██████████| 20000/20000 [00:04<00:00, 4509.50it/s] \n", "Finished minibatch ADVI: ELBO = -82,517.77\n", "Average ELBO = -100,630.14: 100%|██████████| 20000/20000 [00:04<00:00, 4508.07it/s] \n", "Finished minibatch ADVI: ELBO = -104,210.03\n", "Average ELBO = -117,037.14: 100%|██████████| 20000/20000 [00:04<00:00, 4518.11it/s] \n", "Finished minibatch ADVI: ELBO = -111,294.43\n", "Average ELBO = -135,231.70: 100%|██████████| 20000/20000 [00:04<00:00, 4457.70it/s] \n", "Finished minibatch ADVI: ELBO = -139,700.64\n", "Average ELBO = -150,743.20: 100%|██████████| 20000/20000 [00:04<00:00, 4416.26it/s] \n", "Finished minibatch ADVI: ELBO = -151,995.85\n" ] } ], "source": [ "mb_advi_times = []\n", "for size in sizes:\n", " true_intercept = 1\n", " true_slope = 2\n", "\n", " x = np.linspace(0, 1, size)\n", "\n", " true_regression_line = true_intercept + true_slope * x\n", " y = true_regression_line + np.random.normal(scale=.5, size=size)\n", "\n", " data = dict(x=x, y=y)\n", " \n", " minibatches = minibatch_gen(data)\n", " \n", " t0 = time.time()\n", " means, sds, elbos = pm.variational.advi_minibatch(\n", " model=model, n=20000, minibatch_tensors=minibatch_tensors,\n", " minibatch_RVs=minibatch_RVs, minibatches=minibatches,\n", " total_size=len(data['x'])\n", " )\n", " \n", " mb_advi_times.append(time.time() - t0)" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sizes, mb_advi_times);" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sizes, advi_times, label='ADVI');\n", "plt.plot(sizes, mb_advi_times, label='Mini-batch ADVI');\n", "plt.title('Linear Regression Model (20,000 iterations)');\n", "plt.legend();\n", "plt.xlabel('Data size (# observations)')\n", "plt.ylabel('Time (seconds)');" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(elbos)\n", "plt.ylim(-1e6, 0);" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 107, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, y);" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'Intercept': array(1.0375121604515822),\n", " 'sigma_log_': array(-0.692413011804754),\n", " 'x': array(1.9445221003700959)}" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "means" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "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.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }