From b20886c0e1c0b79974ea9d3512f3f87b0cef037b Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Wed, 9 Nov 2016 18:09:38 +0100 Subject: [PATCH 01/12] text editor auto-removed extra spaces --- pymc3/distributions/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymc3/distributions/__init__.py b/pymc3/distributions/__init__.py index b445379bc2..f5af70b1e6 100644 --- a/pymc3/distributions/__init__.py +++ b/pymc3/distributions/__init__.py @@ -78,8 +78,8 @@ 'Gamma', 'Weibull', 'Bound', - 'Lognormal', - 'HalfStudentT', + 'Lognormal', + 'HalfStudentT', 'StudentTpos', 'ChiSquared', 'HalfNormal', From 78ab907c13b75d692f7049d80c9f8426bc169f3c Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Wed, 9 Nov 2016 18:09:47 +0100 Subject: [PATCH 02/12] created init for modules --- pymc3/modules/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pymc3/modules/__init__.py diff --git a/pymc3/modules/__init__.py b/pymc3/modules/__init__.py new file mode 100644 index 0000000000..e69de29bb2 From 93d6385ee22ee5f938f34ce0f98f1e2bd21242c9 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Wed, 9 Nov 2016 18:19:48 +0100 Subject: [PATCH 03/12] first implementation of BEST model --- pymc3/modules/best.py | 118 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 pymc3/modules/best.py diff --git a/pymc3/modules/best.py b/pymc3/modules/best.py new file mode 100644 index 0000000000..6cd08cc56d --- /dev/null +++ b/pymc3/modules/best.py @@ -0,0 +1,118 @@ +from ..distributions import StudentT, Exponential, Uniform, HalfCauchy +from .. import Model +from ..variational import advi, sample_vp +import seaborn as sns +import numpy as np +import matplotlib.pyplot as plt +import pandas as pd + + +class BEST(object): + """BEST Model, based on Kruschke (2013). + + Parameters + ---------- + data : pandas DataFrame + A pandas dataframe which has the following data: + - Each row is one replicate measurement. + - There is a column that records the treatment name. + - There is a column that records the measured value for that replicate. + + sample_col : str + The name of the column containing sample names. + + output_col : str + The name of the column containing values to estimate. + + baseline_name : str + The name of the "control" or "baseline". + + Output + ------ + model : PyMC3 model + Returns the BEST model containing + """ + def __init__(self, data, sample_col, output_col, baseline_name): + super(BEST, self).__init__() + self.data = data + self.sample_col = sample_col + self.output_col = output_col + self.baseline_name = baseline_name + self.trace = None + + def fit(self, n_steps=30000): + """ + Creates a Bayesian Estimation model for replicate measurements of + treatment(s) vs. control. + + Parameters + ---------- + n_steps : int + The number of steps to run ADVI. + """ + + sample_names = set(self.data[self.sample_col].values) + sample_names.remove(self.baseline_name) + + with Model() as model: + # Hyperpriors + upper = Exponential('upper', lam=0.05) + nu = Exponential('nu_minus_one', 1/29.) + 1 + + # "fold", which is the estimated fold change. + fold = Uniform('fold', lower=1E-10, upper=upper, + shape=len(sample_names)) + + # Assume that data have heteroskedastic (i.e. variable) error but + # are drawn from the same HalfCauchy distribution. + sigma = HalfCauchy('sigma', beta=1, shape=len(sample_names)) + + # Model prediction + mu = fold[self.data['indices']] + sig = sigma[self.data['indices']] + + # Data likelihood + like = StudentT('like', nu=nu, mu=mu, sd=sig**-2, + observed=self.data[self.output_col]) + + self.model = model + + with model: + params = advi(n=n_steps) + trace = sample_vp(params, draws=2000) + + self.trace = trace + + def plot_posterior(self): + """ + Plots a swarm plot of the data overlaid on top of the 95% HPD and IQR + of the posterior distribution. + """ + + # Make summary plot # + fig = plt.figure() + ax = fig.add_subplot(111) + + # 1. Get the lower error and upper errorbars for 95% HPD and IQR. + lower, lower_q, upper_q, upper = np.percentile(self.trace['fold'], + [2.5, 25, 75, 97.5], + axis=0) + summary_stats = pd.DataFrame() + summary_stats['mean'] = self.trace['fold'].mean(axis=0) + err_low = summary_stats['mean'] - lower + err_high = upper - summary_stats['mean'] + iqr_low = summary_stats['mean'] - lower_q + iqr_high = upper_q - summary_stats['mean'] + + # 2. Plot the swarmplot and errorbars. + summary_stats['mean'].plot(rot=90, ls='', ax=ax, + yerr=[err_low, err_high]) + summary_stats['mean'].plot(rot=90, ls='', ax=ax, + yerr=[iqr_low, iqr_high], + elinewidth=4, color='red') + sns.swarmplot(data=self.data, x=self.sample_col, y=self.output_col, + orient='v', ax=ax, alpha=0.5) + plt.xticks(rotation='vertical') + plt.ylabel(self.output_col) + + return fig From f150458e9c663f5aed4ecf4727f0e40445cd313d Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 01:16:55 +0100 Subject: [PATCH 04/12] updated with function to convert to indices --- pymc3/modules/best.py | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/pymc3/modules/best.py b/pymc3/modules/best.py index 6cd08cc56d..bc136ae2cd 100644 --- a/pymc3/modules/best.py +++ b/pymc3/modules/best.py @@ -40,7 +40,20 @@ def __init__(self, data, sample_col, output_col, baseline_name): self.baseline_name = baseline_name self.trace = None - def fit(self, n_steps=30000): + self._convert_to_indices() + + def _convert_to_indices(self): + sample_names = dict() + for i, name in enumerate( + list(np.unique(self.data[self.sample_col].values))): + print('Sample name {0} has the index {1}'.format(name, i)) + sample_names[name] = i + self.data['indices'] = self.data[self.sample_col].apply( + lambda x: sample_names[x]) + + # print(self.data) + + def fit(self, n_steps=500000): """ Creates a Bayesian Estimation model for replicate measurements of treatment(s) vs. control. @@ -52,7 +65,6 @@ def fit(self, n_steps=30000): """ sample_names = set(self.data[self.sample_col].values) - sample_names.remove(self.baseline_name) with Model() as model: # Hyperpriors @@ -75,15 +87,14 @@ def fit(self, n_steps=30000): like = StudentT('like', nu=nu, mu=mu, sd=sig**-2, observed=self.data[self.output_col]) - self.model = model - - with model: params = advi(n=n_steps) trace = sample_vp(params, draws=2000) self.trace = trace + self.params = params + self.model = model - def plot_posterior(self): + def plot_posterior(self, rotate_xticks=False): """ Plots a swarm plot of the data overlaid on top of the 95% HPD and IQR of the posterior distribution. @@ -105,14 +116,26 @@ def plot_posterior(self): iqr_high = upper_q - summary_stats['mean'] # 2. Plot the swarmplot and errorbars. - summary_stats['mean'].plot(rot=90, ls='', ax=ax, + summary_stats['mean'].plot(ls='', ax=ax, yerr=[err_low, err_high]) - summary_stats['mean'].plot(rot=90, ls='', ax=ax, + summary_stats['mean'].plot(ls='', ax=ax, yerr=[iqr_low, iqr_high], elinewidth=4, color='red') sns.swarmplot(data=self.data, x=self.sample_col, y=self.output_col, - orient='v', ax=ax, alpha=0.5) - plt.xticks(rotation='vertical') + ax=ax, alpha=0.5) + + if rotate_xticks: + print('rotating xticks') + plt.xticks(rotation='vertical') plt.ylabel(self.output_col) return fig + + def plot_elbo(self): + """ + Plots the ELBO values to help check for convergence. + """ + fig = plt.figure() + plt.plot(-np.log10(-self.params.elbo_vals)) + + return fig From 360c8c603b354cf9f18a4564a6baca7a441545a1 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 01:17:02 +0100 Subject: [PATCH 05/12] added notebook demo --- docs/source/notebooks/best-api.ipynb | 394 +++++++++++++++++++++++++++ 1 file changed, 394 insertions(+) create mode 100644 docs/source/notebooks/best-api.ipynb diff --git a/docs/source/notebooks/best-api.ipynb b/docs/source/notebooks/best-api.ipynb new file mode 100644 index 0000000000..62e490a3b0 --- /dev/null +++ b/docs/source/notebooks/best-api.ipynb @@ -0,0 +1,394 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction\n", + "\n", + "This notebook is intended as an introduction to the BEST model available as a \"default model\" in PyMC3." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pymc3 as pm\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "sns.set_style('white')\n", + "\n", + "from pymc3.modules.best import BEST\n", + "\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will first start by generating some synthetic data. Here, we are assuming that there are:\n", + "\n", + "- 10 treatments (including the control)\n", + "- 4 replicate measurements each" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n_treatments = 10\n", + "n_replicates = 4\n", + "means = np.random.randint(low=10, high=50, size=n_treatments)\n", + "sigmas = np.random.random(size=n_treatments) * 3\n", + "\n", + "data = []\n", + "indices = []\n", + "for idx, tmt in enumerate(range(n_treatments)):\n", + " for rep in range(n_replicates):\n", + " data.append(np.random.normal(loc=means[idx], scale=sigmas[idx]))\n", + " indices.append(idx)\n", + "\n", + "# Cast as a numpy array for convenience.\n", + "data = np.array(data)\n", + "indices = np.array(indices)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 34.00430056, 32.10809804, 38.53808509, 36.110382 ,\n", + " 44.04434539, 41.95780145, 41.66832831, 40.97863928,\n", + " 45.92757886, 46.51006965, 44.08638969, 47.72199583,\n", + " 34.72484433, 29.45368386, 31.41960255, 35.72236196,\n", + " 43.91900172, 46.25127316, 41.98282348, 43.54996025,\n", + " 14.97420725, 15.02268631, 15.00169222, 14.97478774,\n", + " 14.40326155, 13.39092329, 14.91150851, 23.98522204,\n", + " 26.050393 , 28.14806707, 29.83439903, 30.35088746,\n", + " 16.48278352, 20.85506246, 19.09767034, 20.14939378,\n", + " 45.00058993, 36.10567556, 38.69867637, 40.86339928])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5,\n", + " 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The BEST model accepts a `pandas` DataFrame object, and assumes that the data are structured as such:\n", + "\n", + "- Each row is one measurement\n", + "- Replicates are indicated by an identifying \"name\" (e.g. \"control\", \"treatment_1\", \"my_treatment_name\") etc.\n", + "- The replicate measurements do not necessarily have to be in order.\n", + "\n", + "While in this example we only use 10 different treatments, in principle it is possible to go much higher, even on the order of ~103 to ~104, as might be the case with replicate high throughput measurements." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
treatmentsmeasurements
0034.004301
1032.108098
2038.538085
3036.110382
4144.044345
5141.957801
6141.668328
7140.978639
8245.927579
9246.510070
\n", + "
" + ], + "text/plain": [ + " treatments measurements\n", + "0 0 34.004301\n", + "1 0 32.108098\n", + "2 0 38.538085\n", + "3 0 36.110382\n", + "4 1 44.044345\n", + "5 1 41.957801\n", + "6 1 41.668328\n", + "7 1 40.978639\n", + "8 2 45.927579\n", + "9 2 46.510070" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame()\n", + "df['treatments'] = indices\n", + "df['measurements'] = data\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sample name 0 has the index 0\n", + "Sample name 1 has the index 1\n", + "Sample name 2 has the index 2\n", + "Sample name 3 has the index 3\n", + "Sample name 4 has the index 4\n", + "Sample name 5 has the index 5\n", + "Sample name 6 has the index 6\n", + "Sample name 7 has the index 7\n", + "Sample name 8 has the index 8\n", + "Sample name 9 has the index 9\n" + ] + } + ], + "source": [ + "b = BEST(data=df, sample_col='treatments', output_col='measurements', baseline_name=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration 0 [0%]: ELBO = -2409.98\n", + "Iteration 50000 [10%]: Average ELBO = -225.57\n", + "Iteration 100000 [20%]: Average ELBO = -130.53\n", + "Iteration 150000 [30%]: Average ELBO = -130.17\n", + "Iteration 200000 [40%]: Average ELBO = -130.15\n", + "Iteration 250000 [50%]: Average ELBO = -130.13\n", + "Iteration 300000 [60%]: Average ELBO = -130.13\n", + "Iteration 350000 [70%]: Average ELBO = -130.12\n", + "Iteration 400000 [80%]: Average ELBO = -130.18\n", + "Iteration 450000 [90%]: Average ELBO = -130.18\n", + "Finished [100%]: Average ELBO = -130.16\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 2000/2000 [00:00<00:00, 8517.56it/s]\n" + ] + } + ], + "source": [ + "b.fit(n_steps=500000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Call the `plot_elbo()` function to visually check that the ADVI steps have converged." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHcCAYAAAA0pnmEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd4VGXexvF7JmXSe4dQQkhCCyShk1ACgiAgCuiKgCKI\nDXFBdCkiiqKu4rrri33Firrurou66roqtkUUBClSVEAEBAII0gIJJHn/iBkyyUwyk0wyycn3c11e\nknPOnPlNv89znvM8ppKSkhIBAAAABmX2dAEAAABAXSLwAgAAwNAIvAAAADA0Ai8AAAAMjcALAAAA\nQyPwAgAAwNAIvAAAADA0Ai8AAAAMjcALAAAAQ3Nr4D1x4oTmzZunPn36qFevXpozZ45OnDjhcPu9\ne/dq0qRJysjI0PDhw7Vy5Up3lgMAAAC4N/Deeeed+v777/XMM89o6dKl2rFjh+bPn+9w+5tuukkx\nMTH65z//qZEjR2ratGk6cOCAO0sCAABAE2cqKSkpcceOTp8+rW7duunVV19Vp06dJEnr16/X+PHj\ntW7dOvn6+tpsv2rVKt10001atWqVLBaLJGnSpEnKysrStGnT3FESAAAA4L4WXrPZrCeffFJpaWnW\nZSUlJSoqKlJ+fn6l7Tdu3KgOHTpYw64kZWVlaf369e4qCQAAAJC3u3ZksViUnZ1ts+zFF19Uamqq\nwsLCKm1/6NAhxcTE2CyLjIxUXl6eu0oCAAAAXAu8BQUFDgNpdHS0/P39rX+//PLLev/99/Xss8/a\n3f706dOVujn4+vqqsLDQqVq6du2qwsJCRUdHO1k9AAAA6tPBgwdlsVj09ddfe7QOlwLvhg0bNHHi\nRJlMpkrrlixZooEDB0qSli1bpkWLFmnevHnq1auX3X1ZLBYdO3bMZllhYaH8/PycqqWgoEBFRUWu\nlA8AAIB6VFRU5HRjZl1yKfB2795d27Ztq3KbZ599Vg899JBmz56t8ePHO9wuNjZW27dvt1l2+PBh\np1tsy7pDfPTRR05tDwAAgPpV1hjqaW4dluxf//qXFi9erHnz5unqq6+uctvOnTtry5YtNql/7dq1\n6tKliztLAgAAQBPntsB77Ngx3XPPPRo1apSGDh2qw4cPW/8rLi6WJB05csQ6YkP37t0VHx+v2bNn\na/v27Xr66ae1adMmjRkzxl0lAQAAAO4LvCtXrtTp06e1fPly5eTkKCcnR9nZ2crJybFOJjFmzBgt\nXbq09I7NZj3++OM6dOiQRo8erbfffluPPfaY4uLi3FUSAAAA4L6JJ+pbWZ8Q+vACAAA0TA0lr7m1\nDy8AAADQ0BB4AQAAYGgEXgAAABgagdeA1m7L071Lv9KP+85P7LF9z682f0vSsZMFeum9rfp+91G7\n+ykpKdHmnb/o6PEzdVovgIarqLhEqzbt1568E54upV4dO1mgc0XFni4DgJsQeOvZqdNnrf/+ZN1e\nPfXGRp0uOOe2/ZeUlOiuZ77UV5sPaNajn0uS9uSd0Iw/f6rpD3+iv7z2jdZtOyhJWvzyWr3+4fe6\n9S+f2d3Xo39br9mP/U8T736/0n2s3nJAy/6zTfsPn6q07t//26kPvvpJJ0+f1ZnCczbryv9dXtkP\ny9uf79Tj/9igwrOOZ9E7mV+ob747qKLfblNUVKwT+YXW+yj7d00UFRVr5YZ92nf4ZI1uf/Zcsd37\nd/aH88d9x2yCRXFxiY4eP6Oya0vzjuRbH7e7uXr9alFRsc3j+nHfMf1y7LRTtz1dcE5vfrZDO38+\n5nCbp/61Uf/3+nqdyC/UwSP5drc5evyMDvxS+h48V1SsouKaXYNb8bEf+OWUw/dqTfZXnZrWXean\n/cerfC5r48PVu3Xf86t144MrVFyuzpKSEpvvrpKSEpvvN2eUlJTo+91HdaTcQfXBCu/xkpIS7dj7\nq/YfPqVVm/brXFGx9h06qWMnCxzu80zhOeWfOevU6/DT/uN6Z+WP1te7qLhEa7Yc0FV3v6/Zj/1P\nm3Yc1vY9vzq8fVFxifX1K/95+OXYaS35+3qt3ZanYycL9MbHP2j15gPW9WcKzumb7w7q7LnS77od\ne3/VbY9+phVf77Fu8+4XP+rl/2y1Pu+/niio8e9FUVGxvvx2vw4eyXfp/VlUVKw9eSeqvc2ZwnPa\ntOOw3e+n46cK9cQ/N+jzb352ue6Kjh4/U+vPS0UlJSU6fqr0e/tkfqFOnT5b7e9IUXGJftx3zPra\nlJSUaMuPv+jXEwXWv8te24q/S/lnzuqdlT/W+HemOnvyTth8Ps6eK7bWVReKikv05Bsbtew/VU9M\n5mmM0uBmRUXFMptNNtMvl5SUyGQy6e3Pd+rp5Zt0xeBUXT4oRaNuf1uSNCInSVNHdVJRcYlWbvhZ\nMeEBSmkRrm++P6iEqCDFRwWq8GyRzGaTvL3MOng0XweP5Cv/zDmt3nJAkSF++ub7Q9q664hCAn2t\n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\np09r6tSp6tatm9544w116dJF1113nc6cOVMXJQEAAKCJcnvgPXv2rBYsWKCMjIwqt3vnnXfk7++v\n2267TUlJSZo3b54CAwP1n//8x90lAQAAoAlze+B96qmnlJqaqt69e1e53caNG5WVlWWzLDMzU998\n8427SwIAAEAT5tbAu2PHDr322muaO3dutdsePHhQMTExNssiIyOVl5fnzpIAAADQxHm7snFBQYHD\nQBodHa0FCxbolltuUURERLX7OnPmjHx9fW2W+fr6qrCw0JWSAAAAgCq5FHg3bNigiRMn2r0YbebM\nmSouLtbYsWOd2pfFYqkUbgsLC+Xn5+dKSQAAAECVXAq83bt317Zt2+yumzhxor799lvrxWpnz55V\ncXGxMjMz9e677youLs5m+9jYWB06dMhm2eHDhxUdHe1KSQAAAECVXAq8VVm8eLEKCgqsf7/wwgva\ntGmTFi9eXKmvriR17txZzzzzjM2yb775Rtdff727SgIAAADcd9FaTEyMEhMTrf+FhYXJYrEoMTFR\nZnPp3Rw+fNgaiocMGaITJ07ovvvu044dO3TvvfcqPz9fQ4cOdVdJAAAAQP1OLZydna333ntPkhQU\nFKQnn3xSX3/9tUaPHq1NmzbpmWeeoQ8vAAAA3MptXRoqmjZtWqVlFfv/durUSW+88UZdlQAAAADU\nbwsvAAAAUN8IvAAAADA0QwReP18vT5cAAACABsoQgXf+NT09XQIAAAAaKEME3natq5/KGAAAAE2T\nIQIvAAAA4AiBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaARe\nAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAA\nGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqB\nFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAA\nAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG\n4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUA\n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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.plot_elbo()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks like convergence has happened! Let's also look at the posterior plot.\n", + "\n", + "What's provided is a `seaborn` swarm plot combined with the 95% HPD and IQR of the posterior distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq4AAAHxCAYAAACszz65AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xl4VdWh/vF3n/lkHsjEECZlEJVABKSORcVa5zpcK7Y+\n1Ra1WlpttYJ2sM5Kqa1XUblqe63WVota61CH9iryQxEEQRmEyBSBzAmZzrx/fyjBmIThcHL22cn3\n8zx97Flrn8OLQXizWHttwzRNUwAAAECKc1gdAAAAANgfFFcAAADYAsUVAAAAtkBxBQAAgC1QXAEA\nAGALFFcAAADYAsUVAAAAtkBxBQAAgC1QXAEAAGALKVFcQ6GQbrnlFk2ePFnHHnusfve733XMrVmz\nRhdeeKHKysp0wQUX6OOPP7YwKQAAAKySEsX1tttu05IlS/TYY49p7ty5+tvf/qa//e1vam9v18yZ\nMzVp0iQtXLhQZWVluuKKKxQIBKyODAAAgCQzTNM0rQzQ1NSkY445Rn/84x911FFHSZIWLFigzZs3\na+LEiXrooYf0+uuvd1x/6qmn6qqrrtI555xjVWQAAABYwPIV1+XLlyszM7OjtErSD37wA91+++36\n8MMPVV5e3un6iRMnasWKFcmOCQAAAItZXly3bdumQYMG6fnnn9dpp52mk08+WQ8++KBM01R1dbUK\nCws7XZ+fn6+qqiqL0gIAAMAqLqsDtLW1afPmzXrmmWd01113qaamRr/85S+VlpamQCAgj8fT6XqP\nx6NQKLRfn33UUUcpFAqpoKCgN6IDAADgIFVXV8vr9WrZsmX7vNby4up0OtXa2qrf/va3Ki4uliR9\n9tlneuqppzR8+PAuJTUUCsnn8+3XZweDQUWj0YRnBgAAQGJEo9H9XpS0vLgWFhbK6/V2lFZJGj58\nuHbu3KkpU6aopqam0/W1tbX7vYK6e5vBm2++mbjAAAAASJiTTjppv6+1fI9rWVmZgsGgtmzZ0jFW\nUVGhwYMHq6ysTB988EGn61esWKGysrJkxwQAAIDFLC+uw4YN0wknnKAbb7xR69at06JFi7RgwQJd\nfPHFmj59upqbm3XHHXeooqJCt912m9ra2nTaaadZHRsAAABJZnlxlaS5c+dq6NChmjFjhmbPnq1L\nLrlEM2bMUEZGhh5++GEtW7ZM5513nlavXq0FCxbs9x5XAAAA9B2WP4CgN+3eM8EeVwAAgNR0IH0t\nJVZcAQAAgH2huAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHi\nCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAA\nAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFug\nuAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIA\nAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAW\nKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4A\nAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACwBYorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACw\nhZQorm+88YbGjBmjsWPHdvzzxz/+sSRpzZo1uvDCC1VWVqYLLrhAH3/8scVpAQAAYIWUKK4bN27U\ntGnTtHjxYi1evFjvvPOObr/9drW3t2vmzJmaNGmSFi5cqLKyMl1xxRUKBAJWRwYAAECSpURxraio\n0KGHHqq8vDzl5+crPz9fGRkZeumll+T3+3X99ddrxIgRuummm5Senq5XX33V6sgAAABIspQprsOH\nD+8yvmrVKpWXl3camzhxolasWJGsaAAAAEgRKVFcN23apEWLFunUU0/VKaeconnz5ikcDqu6ulqF\nhYWdrs3Pz1dVVZVFSQEAAGAVl9UBtm/frkAgIK/Xq9///veqrKzs2N8aCATk8Xg6Xe/xeBQKhSxK\nCwAAAKtYXlwHDhyo9957T1lZWZKkMWPGKBaL6frrr9eUKVO6lNRQKCSfz2dFVAAAAFgoJbYK7C6t\nu40cOVLBYFADBgxQTU1Np7na2loVFBQkMx4AAABSgOXF9Z133tGUKVMUDAY7xtasWaPc3FwdddRR\n+uCDDzpdv2LFCpWVlSU7JgAAACxmeXGdMGGC/H6/brrpJm3atElvvfWW7r33Xv3gBz/Q9OnT1dzc\nrDvuuEMVFRW67bbb1NbWptNOO83q2AAAAEgyy4trenq6Hn30UTU0NOj888/XL37xC1100UW67LLL\nlJGRoYcffljLli3Teeedp9WrV2vBggXscQUAAOiHLL85S/p8T+ujjz7a7dwRRxyhhQsXJjkRAAAA\nUo3lK64AAADA/qC4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorkACRCPtCod2WR0D\nAIA+LSXOcQXsKhpp16oPX9ZLby2RYZj6xjFH6LDDTpE/Y5DV0QAA6HNYcQUOQtW21xUOfCbDMCVJ\n0fAu7dz2GquvAAD0AoorEKdgoE6Btqou42YsoubGTyxIBABA30ZxBeIUDbfGNQcAAOJDcQXi5PUX\nyDCc3c750oqTnAYAgL6P4grEyenyK2fA+C7jXv8ApWePtCARAAB9G6cKAAcht7BcafUuNbS/JKcj\nKl92mUqGHi2Hg/+0AABINP50BQ6S2z9E6+vGSZK8mYfL4fRYnAgAgL6J4grsp2gkoJamjYpEWuVL\nK1ZaRqkMw7A6FgAA/QbFFdgPgfZq7dzyimLRkCSpSavkTx+ootJTLU4GAED/QXEF9kPt9nc6Sutu\n7a3b1dywVhJPyepPdrQ3an1LlcKxiAb783RoRpFcDu5zBYBkoLgC+xAONSsUqOt2rq15q2RQXPuL\n1U2Veq/+047XW9rq9Glrjb5RfLicBuUVAHobxRXYB2NvheQ3t+rQ/12qv5T4FHMbSpsflMZPkpYs\nSV5AJEUwGtHyxi1dxncEGrWptVaHZBRakAoA+heKK7APLne6/OkD1d66vcucp9XUtm8WKer74kEE\nMVO5MpWb5IzofdXBXYrEot3ObQ80UlwBIAn4uy1gPwwYeLzc3pwvjRjKzB2jlgHaU1olyWGoodRU\noK0q6RnRu3xOd89zjp7nAACJw4orsB/cnkwNHnm+Aq3bvzgOq0iRcKuavd1f39K0Ub60ouSGRK8q\n8GYq35uh9dU1eu29rZKk6VNKVZiTrlEZfK0BIBkorsB+MgxD/ow9N2JFQi09XmuasWREQpKdUniY\naus/6Hjtc3g0rWCMcjxpFqYCgP6DrQJAnLxpRXKGu38AQXrWsOSGQVJkuHw6PnOM/Jvy5NuSq1Oz\njtSw9AFWxwKAfoPiCsTJ4XCpYKNkRM1O41k7DaVlDLEoFZLBEXbJGXTLwZPTACCp2CoAHIS0RkND\n/rNTraVpirkN+XcG5BtFaQUA2EdsZ7tiOwNSJCYjzyvHkDQZ7tRc26S4AgdjyRJVbKnXz/6wSJI0\nd9ZxGj00z+JQAADsn2hFs2Lb2jpemy0RmXVBOSfmynCmXnlNvUQAAADodWYoKrOyret4a0RmVcCC\nRPtGcQUAAOiHzOaITLOHuV2R5IbZT2wVAAAA6IeMLx6gU9fYrteWfnE+9eRS5ef4JV9qrm2mZioA\nAAD0KiPdJUeup+u405Cj2G9Bon1jxRUJZZqmJFOG0X++JzJNU1neRjmNqMxYyOo4AADsN8dh2Qo3\ntilmmnIYhqJpTjmPzOlYjU01FFckhBmNKFK5VJHaDVIsLEfWILmHTJYjLd/qaL0qFKhXS9U/dFjB\nR5Kk5p3t2pX9dWXlHWZxMhysSCyqtmhI6S6vnLu/EZs6VaPffVcv7r5onqSjj5aWLLEoJQAcHMPt\nUNswv14INcopQ1NGp8vI7roKmyoorkiI8Kf/UbRhc8frWFOlQm218h5+ngx333wcpmmaqtr2hmKR\n5j1jsahqd/w/ef2F8vp5opIdxUxTyxo2a03zdkViUfmcHk3IKdW4rIFWRwOAXhORFFEPd2qlkP7z\n97noNbFAU6fSupsZDihS80nyAyVJsL1a4VBTNzOmWpo2JD0PEmNF4xatatqmSCwqSQpEQ1pSt1Gf\nttZYnAwAwIorDpoZ6K687XvO7mKxcFxzSF2maWpt845u59bs2q4Rktp8HlWMKFLY7dLgz+pUmNyI\nANCvUVxx0Bz+PMlwSGas61x6393j6ksrlsPpkdTeZS4tozT5gXDQomZMgWj333S0RoPaOiBdb57/\nNUW/eJrMB2XDNcbI0LHJDAkA/RhbBXDQDG+GnAWjuxnPkjP/UAsSJYfD4VJ+8ddkGEan8fSsEUrL\nHGpRKhwMl8OpfG9Gt3MDPJl6+7DijtK627pBOdrWVp+MeADQ77HiioRwDz1G2xoN/eOF1+Q2Ijr9\nG8dq2NjjZbi8VkfrVZk5h2p8eYFGjtygWCyktIwh8mcM6VJmYR9H5QzTa9Uff3G02+c8DpcG+rK1\nyd398TCb2+o0JC0vWREBoN+iuCIhDMNQJHes/r2rVpJ0StEUGZ50i1Mlh8ebo7yiSVbHQIIMScvT\nmSVlWrPrM+0KB5TvzdDhWYPUFgn2+B4n36gAQFJQXAHgKwq9mSosGNNpLNPlU3ogotZurh+RXpCc\nYADQz7HHFQD2g8MwNO2j7fIF99y8ZZimyitqVezLtjAZAPQfrLgCwH4qevU/mrC5Rj97/N+S09Qd\n3zlBE4aXWB0LAPoNiisAHACX4ZSrxSdJSnP07ZsPASDVsFUAAAAAtkBxBQAAgC2wVQCJMXWqRr/7\nrl784mXsEZdi5eVy/N+7lsYCEi1qxhTJCEoOU+2xkNVxAKBfobgioWI5HoXG58pMd0mDJcdHC+Ue\ncaIcHM6OPqA62KzXdq1WcGCTJOm1plUymsIanz3E4mQA0D+wVQBxM0OtMkN7TrU0XYZCk/I/L61f\niLXVKfTJqzJjESsiAgkTM039u3qtAl9aZY3J1Pv1m1Qd2GVhMgDoP1hxxQGLtTcovGmRYi1VkiRH\nRpHcXlOxEr9Md9fvhcxQq2KN2+TMG57sqEDCVAV3qSUS6HauorVGhb6sJCcCgP6HFVccEDMWUWj9\nyx2lVZJiLVUKjZBMX/fPcZckM9yejHhAr4mZsR7nInuZAwAkDsUVByTWsFlmqK3LuOmW5Oz5ee2O\nLA5ph70VebPldbq7nRuWlp/kNADQP1FccUC6K627GcGYnDu6rqy6Cg+Tw5/bm7GAXudyOHRc/qFy\nfOW3zVGZxRrMr28ASAr2uOKAODKLu5+4/HJtuvYE/fqx9zXEXa0rv1mqgUXZcuaNZG8r+oxh6QN0\n9eHH69RhYxQyIxriz1OxL9vqWADQb1BccUAcGYVy5g1XtH5T5/HMEnlq3tdJWSskSc5gupy5ZZRW\n9DnpLq/G53D8FYA+JGqq1OGRW4YcwdTes09xxQFzj5wmR9YnitZ/Kkly5o1QpOpjOQN1HdcY0YBC\nn/6fvGl5bBMAACBFmV8/XSPDRbrP7ZMkGe+/oGh6u5wv/dHaYD2guOKAGYZDrsIxchWOkSTFWqpl\nttd3vdCMKVr7iRxDpiQ5IQAA2BfTNBUtnihz556FJ9MwZOaNkqMxJCPHY2G67nFzFg6aGQ32PBfp\neQ4AAFjHbArLdPm7nYtVd39utdVSqrjOnDlTs2fP7ni9Zs0aXXjhhSorK9MFF1ygjz/+2MJ06Ikj\nvVDq4ZggZ9agJKcBAAD7xbQ6wIFLmeL60ksv6e233+543d7erpkzZ2rSpElauHChysrKdMUVVygQ\nSM3vAPozw+WVe/CkLuOO7MFycHMWAAApych2y+jhb0aNAl+S0+yflCiuTU1Nuvfee3XkkUd2jL30\n0kvy+/26/vrrNWLECN10001KT0/Xq6++amFS9MRVNE7tQ07VpmCxKkMFChZNlefQ6TKMlPglBgAA\nvsJwGHJUr5ARjXQadzRukiM39fa3Silyc9bdd9+ts88+W9XV1R1jq1atUnl5eafrJk6cqBUrVuic\nc85JdkTsh0PHjNatt462OgYAANhPjrYaGctfl1l4iOT0yKjfKuPwQ6yO1SPLl8OWLFmi5cuX6+qr\nr+40Xl1drcLCwk5j+fn5qqqqSmY8AACAPs0IB+T47CM5tn4go6XW6jh7ZWlxDYVC+vWvf61f/epX\n8ng6L0kHAoEuYx6PR6FQKJkRAQAAkCIsLa7333+/Dj/8cH3ta1/rMuf1eruU1FAoJJ8vNTcLAwAA\noHdZusf15ZdfVl1dnSZMmCBJCofDkqR//etfOuOMM1RTU9Pp+traWhUUFCQ9JwAAAKxnaXH985//\nrEhkz51s9957ryTp+uuv19KlS7VgwYJO169YsUJXXnllUjMCAAAgNVhaXEtKSjq9Tk9PlyQNGTJE\nubm5mjdvnu644w7913/9l/7yl7+ora1Np512mhVRAQAAYDHLTxXoSUZGhh566CEtW7ZM5513nlav\nXq0FCxawxxUAAKCfSolzXHe78847O70+4ogjtHDhQovSAAAA9A+mYUiGU0Yssu+LLZRSxRUAAADJ\nYxpOxUYdL7NotEynS0bjZ3J6gzKsDtYDimuCmaYp87NqmdW1MiNRGbnZcpSWyPCm5qPTAABA/xUr\nLlfMG+54beYMUrSkUM5gVIbXaWGy7qXsHle7im3cqtjmSpltASkUlllVq+iq9TIjqb30DgAA+hez\nLaJYelHXcadH5s6ABYn2jeKaQGYwJLOqm0elBUMyq+qSHwgAAKAHZnt0L3OpueDGVoEEMlvb45oD\nAABINiPDJeP7l6u2oV2vLd0qSZo+uVT5OX4ZmW6L03WP4ppAht8rSaprbNdrS7dIkqZPHvr5L4Av\n5gAAAFKB4XXKGOiXGjovrhl+p4yi1Dx+lK0CCWT4fTLyc7pOuF0yigYkPxAAAMBeOA7JVPtgnxpi\nEbWYUQULPHJOyJXhSs2KyIprgjlGDVewKaiQuVVuSeHMDDkPHyXDk5pL7gAAoP8yDEOhAo/eCDdL\nkk4a7JPhSb3TBHajuCaY4XSovaRYz7elSzI1ZVipjHS/1bEAAABsLzXXgfuMVD2+FwAAwH4orgAA\nALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYSUlzr6+v1\n6quvatu2bYn4ONtztrWr3BPUFG9A7oZGmbGY1ZEAAAC65WiParzTr6NcaXI3hmWaptWRehRXcf3k\nk0906qmn6v3339euXbt01lln6Sc/+YlOP/10vfvuu4nOaCuxHTXK+HSTRrrDGuqKKL1yu2JrK1L6\nFwEAAOifYjvalbm+VaNcPg13epW2qV2xj5pStrfEVVzvvvtuDR06VCNGjNA///lPRSIRvfXWW7r8\n8st13333JTqjbZiRqGKbK2V85WttNuySWdtgTSgAAIBumNGYYhubpa/0llhdUGZt0JpQ++CK500r\nVqzQM888o/z8fC1atEgnnHCCioqK9K1vfUuPP/54ojPaR3OLFO1+W4DZuEsqyEtyIKB3mGZM/2/9\n/9Njr/5LDkdU3z7pWB0z+nh5XRlWRwMA7CezKSwz2v3Kqlkfkgp8SU60b3EVV4fDIY/Ho0gkoqVL\nl+oXv/iFJKm1tVU+X+r9JJPG6ZQefVT5lZX69u6xJZIGD5bxyzkWBgMSa0PNYu1sXSG3p02S1BDY\nqJWfNal88LfkcnotTgcA2B+G0+h5cm9zFoqruJaVlenhhx9WXl6egsGgjj/+eFVVVWnevHkqKytL\ndEbbMLIyZATav7riLpmmjMJ8KyIBCRcIt2hH8/pux3c2f6LBOUdYkAoAcMCy3DLSXFJj52FDkqM4\nNRci49rjevPNN2vNmjX6y1/+ojlz5igvL0+PPPKIKioqdMMNNyQ6o604PvtUxq6mPQOhkBw7tshI\n91sXCkig1lC91MOm/ZZQfZLTAADiZRiGnIdnK+rbUwdNpyHH6CwZGW4Lk/UsrhXXYcOGaeHChZ3G\nrr76as2ZM0cNDf37JiQjHJJz6bsyM7Ikl0va1Shj8mSrYwEJ43dn9ziX5s5KYhIAwMEy0lxqGZOu\nN9/YJbcMTRmXoZKS1F1si2vFdezYsaqv77yykpeXpx07duiUU05JSDC7M1p2yWisl8EZruhj0jzZ\nGpAxrMu42+lTceaY5AcCABwcw1C9GVWVGUnZva277feK67PPPqt//OMfkiTTNHX11VfL7e68jFxd\nXa2sLFZcgL5uTOHXVVNvKhb7TIYjqkzPQI0fOE0eV+p+lw4AsL/9Lq4nn3yyli9f3vG6uLi4ywkC\no0aN0jnnnJO4dABSktPhkt+Zp3AwQ4YjLJ8zVx5XmtWxAAB93H4X15ycHN15550dr2+66SZlZHBm\nI9AffVr3nipb3pPX//mtqDXtH+vDzxo0YfDZcjpSc0M/AMD+4ro5a3eBra2tVTjc9Zm2AwcOPPhk\nAFJSKNKmysaPuoy3hhpU1bxRA7PHWpAKANAfxP3krBtvvFFbt27tNG6apgzD0Nq1axMSDkDqaQ7W\nyjS7v+mwOVgtieIKAHYyemieXvzt2VbH2C9xFddbb71VBQUFuv7667kZC+hnfHt5rCuPfAUA9Ka4\niuuGDRv0/PPPa+TIkYnO0yeYufmKlQyRXC4ZddUyDEOpfbgEsP/SvXnKSRuk2qaNncadDreKM0db\nlAoA0B/EVVxLSkrU2tqa6Cx9Qiy3QLHygo7XZmGJjLxsOWIxGY64js0FUs5hRdNUWx+RaW6TYcTk\nd+XpiJKT5XOz4goA6D1xNamrrrpKd9xxh9avX69wOJzoTLZlRiKKFXS9Mc1My5RZ19jNOwB7cjt9\nGpx5rHZsmqodm4/WyJxvKttfbHUsAEAfF9eK6/z587V9+/Yez2zttzdnNbdKPayqmo27pIK8JAcC\nepdpOmVGnVbHAAD0E3EV16uuuirROfoGV8//Oo29zAG2M3WqRr/7rl7c/XqepKOPlpYssTAUAKCv\ni6tNnXvuuYnO0ScYmekyfvwj1VbW6bWlWyRJ0ycPVX5umoyiARanAwAAsLe47xZ666239N3vflfH\nHnusPvvsM91///164YUXEpnNlhxjRyqSvufRlzG3S47Rw2Wk+fbyLgAAAOxLXMV18eLFuuaaazRw\n4EDt2rVLsVhMkUhEs2fP1vPPP5/ojLZieD1qGTFML7el6fV2v3aNPlSOAblWxwIAALC9uIrr/fff\nr5/+9Ke666675HR+fmPGtddeq2uvvVaPPvpoQgPaVYvpUEPMKRmc4AoAAJAIcRXX9evXa9q0aV3G\nv/GNb3R5DCwAAACQCHEV18zMTFVXV3cZ37hxo7Kzsw86FAAAAPBVcRXXM888U3fccYfWrVsnwzDU\n2tqqt99+W7feequ++c1vJjojAAAAEN9xWD/5yU+0c+fOjgcQnHvuuTJNUyeeeKKuvfbahAYEAAAA\npDiLq9vt1m9/+1vNmjVLa9euVSwW06hRo3TIIYckOp9tZRoxuQ1TiplWRwEAAOgTDupxTunp6Try\nyCM7Xm/fvl2SNHDgwINLZWNmIKiMik06La1NkpT1yQbFMh0ciQUAAHCQ4iqub731lmbPnq2GhoZO\n46ZpyjAMrV27NiHh7Ci27lO52to7XjvCEcXWb5KR5uchBAAAAAchruJ6++2368gjj9TFF18sn48y\ntpvZ3Cqzpa2bCVNmVa2M4YOTHwoAAKCPiKu4VldX66GHHtKIESMSncfeIpEep8y9zAEAAGDf4joO\n6+ijj9bHH3+c6Cz2l5kuObr/V2rkZCU5DNC7TENqKPaqZohPYQ9PiAMA9L64Vlx//etf6/zzz9ei\nRYs0ZMgQGV95rOk111yTkHB2Y7hccgwdKNVv6DyenSkjP8eiVEDitaSb+vicIgXSP/8txBE1NSJk\napDFuQAAfVtcxfXBBx9UbW2tFi1aJL/f32nOMIx+W1wlyTGoSM1NIW1avF1uw1TboBI5xg2X0cNK\nLGA3pmlqzaPXqrK2Sq+/t0WSdMqUoYrlpCkrUKNMX4HFCQEAfVVcxfWf//yn7rzzTp177rmJztMn\nRNPT9X7IK0n6Vl4upRV9yq5AldrDu7pOmKaqWjZSXAEAvSau4ur3+zVx4sREZ+kzRg/N04u/Pdvq\nGECviJo932gYjYWTmAQA0N/EtRR48cUX6/7771d7e/u+LwbQp2T7iuVyerqdy08fmuQ0AID+JK4V\n12XLlun999/Xq6++qvz8fLlcnT/mzTffTEg4AKnH6XDpkAHHqKr+lU7jBRkjlJ9WalEqAEB/EFdx\nLS8vV3l5eaKzALCJosxDdEjumXq24QU5HFENzZqmsUXjupwwAgBAIsVVXBN9asDWrVt1yy236IMP\nPlBubq5mzJihyy+/XJJUWVmpX/ziF1q5cqUGDRqk2bNn65hjjknojw/gwHmdWWquHyZJyvQMpLQC\nNmOapqoaTdU2xWQYUkG2QwXZhgzD0Pot9frZHxZJkubOOk6jh+ZZnBb4XNy3u69bt06zZ8/WRRdd\npKqqKj355JNaunTpAX+OaZqaOXOmBgwYoBdeeEG//vWvNX/+fL300kuSpB/+8IcqLCzU3//+d511\n1lm65pprtHPnznhjAwAASeu2RbXhs6gaWkzVN5taXxnVhu0xq2MBexVXcf3oo490wQUXqLKyUh99\n9JFCoZDWrl2ryy67TG+99dYBfVZtba0OO+ww/epXv1JpaamOP/54TZ06VcuXL9e7776ryspK/eY3\nv9GIESM0c+ZMlZWV6dlnn40nNgAAkNTUGlPtLrPLeFVDTK2BruNAqoiruM6dO1eXXXaZnnjiCbnd\nbknSbbfdphkzZuj+++8/oM8qKCjQvHnzlJaWJklavny5li1bpsmTJ+vDDz/UuHHj5PV6O64vLy/X\nypUr44mGASidAAAgAElEQVQNAAAk7WrruZw2tu6eM2QYnEOO1BL3ius555zTZXzGjBmqqKiIO8y0\nadN0ySWXqKysTNOnT1dNTY0KCws7XZOfn6+qqqq4fwwAAPo7t6vnPelOw9T2eocGDxymwQOHa1O1\nU817KbpAMsVVXN1ut1paWrqM79ixo8sjYA/E/fffr4ceekjr1q3THXfcofb2dnk8nc+L9Hg8CoVC\ncf8YAAD0dwVZhtzOruNet1TdFFNjq6NjtbU9aGj15oiCYcorrBdXcT355JN13333adeuPY99rKio\n0O23364TTzwx7jDjxo3TCSecoBtvvFF//etfuy2poVBIPp8v7h8DQGLEzKh8aXXyZ1QrHONhJICd\nOJ2GDh/mUrpvz8prht/QiGKnmlq7Xh+Nfb7/FbBaXMX15z//uVpbW3X00Uervb1d3/rWt3TGGWfI\n6XTqhhtuOKDPqqur0xtvvNFp7JBDDlE4HFZBQYFqamo6zdXW1qqggGehA1ZqDtRoQ8Pzyi/5WHlF\n6/RJ/XPa1rjK6lgADkCG39DEQ1w66lCXjhrl0oSRLjn20goC/GUnUkBc57gahqGnn35aS5Ys0Zo1\naxSLxTRq1Cgdd9xxcuztV303Kisr9aMf/Uhvv/12RyFdvXq18vPzVV5erkcffVShUKhjy8Dy5ct1\n1FFHxRMbQAKYpqk1VW90WmU1FdOnte8p21ekLF+RhekAHCi/d8+qa7rPUE9HMmf4OasZ1ouruJ5z\nzjm67777NHXqVE2dOvWgAhxxxBE6/PDDNXv2bM2ePVuVlZWaO3eurrrqKk2aNEklJSW68cYb9cMf\n/lD//ve/tXr1at11110H9WMCiF9TYKcC4RYNyPbr29PHdJqrbq6guAI25nUbKslzqKah87jfa6go\nh+IK68VVXNva2hK2z9ThcOjBBx/Urbfeqosuukh+v1/f/e53dckll0iS5s+frzlz5ui8885TaWmp\nHnjgARUXFyfkxwZw4Eyz531uMTOaxCQAesOIbx2r9J0BjRg+XhGXV7l/qtCQrIici/7P6mhAfMX1\n0ksv1Y9+9CPNmDFDpaWlXUrspEmTDujzCgoK9Ic//KHbuSFDhuiJJ56IJyaAXpDtK5LL6VUkGuwy\nl58+1IJEABLJkFS8eaWKN3/pzPSjj7YsD/BlcRXXefPmSZJuvfXWLnOGYWjt2rUHlwpAynI4XBpV\ncJzWVv270+prUdYo5aUNsTAZAKCvi6u4vvnmm4nOAcBGCjKGK9P7X6pu2aBILKy8tCHK8ZdYHQsA\n0MfFVVwHDRqU6BwAbMbnzlBp7gSrYwAA+pG4iut3v/vdvc7/7//+b1xhAABAaog63Yo5XXKHeMAI\nUkdCVlwjkYi2bNmiTz75RJdeemlCggEAgOSLON3aOPls1Q4eK9PhVEbDDo00apRldTBAcRbXO++8\ns9vxBx54QDt37jyoQAAAwDprR52oxuY9N1625Jboo5LxKg+b8ro5yxXWiuuRrz05++yz9corryTy\nIwEAQJK0Bkw1Zg/sMh51erSzoecznIFkSWhxXbFihZxOZyI/EgAAJEkwbO5lLolBgB4k7OaslpYW\nrV+/XhdffPFBhwIAAMmX4TNkxKLqrr5m+tkmAOsl7Dgst9utSy65RGedddZBhwIAAMnncRsaOPtK\nfbixVa8v3SpJOmVyqUqL0lSYTXGF9RJ6cxYAALC3EcVO1dRHFQi2y2E4NCArpiOHO+V0Ulxhvbj3\nuH7wwQeqr6+XJD3//PO64oor9PDDD8s0e94fAwAAUl9Ouqma2u2qqqlUYXZMbhelFakhruL69NNP\na8aMGVq/fr3WrVun2bNnKxwO649//KMeeOCBRGcEAAAA4iuuf/rTn3TzzTdr6tSpevnll3XooYfq\nscce0z333KOFCxcmOiMAAAAQX3GtrKzUtGnTJEmLFy/W8ccfL0kaOXKkamtrE5cOAAAA+EJcxTU/\nP1/V1dWqqanR2rVrdcwxx0iS1q1bpwEDBiQ0IAAAACDFearA6aefrp/97Gfy+/0qLi7W5MmT9fLL\nL+vWW2/V+eefn+iMAAAAQHzF9ac//amKi4u1bds2zZgxQ06nU3V1dbrooot0zTXXJDojAAAAEF9x\ndTgc+s53vtNp7KuvAQCAfTmdLjkMhzjlEqkkruIqSW+++aY++eQTRaPRjrFQKKTVq1fr8ccfT0g4\nAACQXMGwqWAsSz/97nRJ0q6gobrmmPIz4z76HUiYuIrr3Llz9T//8z8aMGCA6urqVFRUpNraWkWj\nUZ1++umJzggAAJJk7daomtv3LLMGw6bWbo1q4iGG0rw8iADWiuvbpxdffFFz5szRO++8o8LCQj31\n1FN65513NHHiRA0ZMiTRGQEAQBK0tJudSutupilVNcQsSAR0Fldxraur6zjHdfTo0Vq1apVycnJ0\n7bXX6uWXX05oQAAAkByhSM8bWsPRHqeApImruGZlZamtrU2SVFpaqo0bN0qSBg4cqKqqqsSlAwAA\nSZPpN+TooRlkp7FNANaLq7hOmTJFc+fOVVVVlcaPH69XX31V9fX1+te//qW8vLxEZwQAAEngdhka\nWtC1GmSlGSrIprjCenEV1xtuuEHV1dV65ZVXdOqpp8rj8eiYY47RPffco0svvTTRGQEAQJIMLnDq\n8GFOFWQ7lJthaETJ568dDoorrBfXqQIlJSV6/vnnFQwG5fF49OSTT+qdd95RUVGRjjzyyERnBAAA\nSZSb4VBuhtUpgK4O6lC2VatW6emnn1Y0GtXw4cN12GGHJSoXAAAA0ElcK64tLS26/PLL9eGHH8ow\nDB1zzDGaO3eutm3bpscee0xFRUWJzgkAAIB+Lq4V13nz5skwDL3++uvy+XySpOuvv14ej0f33HNP\nQgMCAAAAUpzF9T//+Y9uuOGGTg8bGDlypH75y19qyZIlCQsHAAAA7BZXca2vr1dBQUGX8S+f7woA\nAAAkUlzF9YgjjtArr7zSZfzJJ5/kBi0AAAD0irhuzrruuut02WWXadWqVYpEIpo/f74qKir08ccf\n69FHH010RgAALNEWiaqiOahwzNTgdI8KfW6rIwH9WlwrrhMnTtTTTz+ttLQ0DR06VCtXrlRxcbGe\nfPJJTZkyJdEZAQBIuq0tQT2zpUHv17ZqZX2b/rmtUYurm62OBfRrca24StKYMWM4QQAA0CdFYqbe\nqW5RNGZ2Gl/fFNDQdK8Gp3ssSgb0b3EV11AopGeeeUaffPKJQqFQl/k777zzoIMBAGCV6kBYgWis\n27ktrUGKK2CRuIrrjTfeqNdff11jx46V1+tNdCYAACzlMIy45gD0rriK61tvvaV58+bplFNOSXQe\nAAAsV+hzKcPtUEu466rriAwWbACrxHVzVlZWloYPH57oLAAApASHYejE4iz5XY4vjUnl+ekq8nOy\nAGCVuIrrlVdeqTvvvFPbtm1LdB4AAFJCoc+tC4bmaVpJlo4tytQFw/I0Pi/N6lhAvxbXVoFRo0Zp\n3rx5mj59erfza9euPahQAACkApfD0DC2BgApI67ievPNN2vYsGE666yzlJbGd58AAADofXEV123b\ntukf//iHhg0bluA4AAAAQPfi2uN6xBFHaMuWLYnOAgAAAPQorhXXs88+W7Nnz9b555+vIUOGyO3u\nfIflOeeck5BwAAAAwG5xFddf/vKXkqRHHnmky5xhGBRXAAAAJFxcxXXdunWJzgEAAADsVVx7XAEA\nAIBko7gCAADAFiiuAAAAsAWKKwAAAGyB4goAAABboLgCAADAFiiuAAAAsIW4znEFAACwM9M0FW4x\npajkzjRkOA2rI2E/UFwBAEC/Em411fRJVNGAKUlyuKTM4U5taW3Uz/6wSJI0d9ZxGj00z8qY6AZb\nBQAAQL9hmqaa1u8prZIUi0hNG6MyQxYGw36huAIA0IP1W+p15k9f0Jk/fUHrt9RbHQcJEG4yFQ2a\nXSdMyWyiFqU6y79CVVVVmjVrlqZMmaITTjhBd911l0Khz7/lqays1Pe+9z1NmDBBZ5xxhhYvXmxx\nWgAAYGex6F4m9zaHlGB5cZ01a5aCwaCeeuopzZs3T//5z3/0+9//XpL0wx/+UIWFhfr73/+us846\nS9dcc4127txpcWIAAGBXnixDRg/tx8gwlenwKtfplxlLbi7sH0tvzvr000+1atUqLV68WHl5n2+A\nnjVrlu655x4dd9xxqqys1DPPPCOv16uZM2dqyZIlevbZZ3XNNddYGRsAANiUw20oo9Sp5s2dl1fd\nmYaiVQ5NzhgsSYptcKk9IyZ/geVrfPgSS4trQUGBFixY0FFad2tubtaHH36ocePGyev1doyXl5dr\n5cqVyY4JAAD6kLQSh9yZhgI1MZkxyZNrqGVrVAruORLLjEq7KqJypxtypXFUVqqwtLhmZmbq2GOP\n7Xhtmqb+/Oc/a+rUqaqpqVFhYWGn6/Pz81VVVZXsmAAAoI9xZxhyZzglSeFmU9H2bi4ypfaamDKH\nOpMbDj1KqfXve+65R2vXrtW1116r9vZ2eTyeTvMej6fjxi0AAIBEiEW7OWXgC2YkiUGwTynzAIJ7\n771XTzzxhO677z4dcsgh8nq9ampq6nRNKBSSz+ezKCEAAOiL3BmGjAUPacD2Kn179+ASSYMHy3PX\nTAuT4atSYsX11ltv1Z/+9Cfde++9OvnkkyVJRUVFqqmp6XRdbW2tCgoKrIgIAAD6KIfLUObO9yWz\n88qrp7lS3nz2t6YSy4vrf//3f+uvf/2rfve73+m0007rGB8/frzWrFnTaWvA8uXLVVZWZkVMAADQ\nh/kbNijv3cfl37pMvu2rlf3hc8rZ+m8ZBsU1lVhaXCsqKjR//nzNnDlTEyZMUG1tbcf/Jk+erJKS\nEt14443auHGjHnnkEa1evVrnn3++lZEBAEAfFU3LVTQtT9G0PEXS82U6UmZHJb5g6VfkzTffVCwW\n0/z58zV//nxJn58sYBiG1q5dqwceeEA33XSTzjvvPJWWluqBBx5QcXGxlZEBAEAf1FI4Qa3Ze47n\nDOcMUnBAuvKipgwnq66pwtLiOnPmTM2c2fOm59LSUj3xxBNJTAQAAPqbaMhU64Bx0mc7Oo1HfLkK\n1JryF1FcU4Xle1wBAACsFGk1JaP7s1pDzT0flYXko7gCAIB+zeHpeUXV6e1xChaguAIAgH7NnW7I\n07qzy7gRC8tfSFVKJXw1AABAv5e97f/k27lGMmOSJNeuKuVseVNOL/tbUwnnPAAAgH7PEQ0q+8Pn\nlOnyynS65Qy2SEcfbXUsfAXFFQAAYMkSrd9Sr5/9YZEkae6s4zR6aN4+3oRkY6sAAAAAbIHiCgAA\nAFtgqwAAAN2ZOlWj331XL+5+PU+f73lcssTCUED/xoorAAAAbIHiCgAAAFuguAIAAMAWKK4AAACw\nBYorAAAAbIFTBQAAACSNHpqnF397ttUxsBesuAIAAHwh0m4q3GLKjJlWR0E3WHEFAAD9XjRoqmlD\nVOHmzwurwy1lDnfKl88aXyrhqwEAAPq9xvV7SqskxcJS04aoIu2svKYSiisAAOjXwi2mIq3dFFRT\naq+OJT8QekRxBQAA/Vos0vOqqhlJYhDsE8UVAAD0a+4MQ0YPjciTbSQ3DPaK4goAAPo1h8tQRqmz\ny7gny5A3j+KaSjhVAAAA9HtpJQ650qX2alNm1JQ3xyFfgSHDQXFNJRRXAAAASZ4shzxZVqfA3rBV\nAAAAALZAcQUAAIAtsFUAAPqJ+mBQqxrrVBcKKtPl1rjsXA1KS++Yrw0GtK2tRW7DoREZWUpz7fkj\noi0S0aetzQrHohqSlqEBXl/H3K5wSOt2NaopHFaex6uxWTmd3msXkS8e8eliTyOQsuz3OwsA4IDV\nBQN6afs2hWOfH6beGAqpsr1VXy8cqOEZmXqvrlofNTZ0XL+svlYnFJZoeEamtrW16N9V2zuK3Qf1\ndRqbnaOvDShSbTCgV7ZvU+iLz93a2qL1uxp1+sBSZXs8yf+JxqEpFNF7ta36rC0kh6TSDK+mDMhQ\nmtXBAHTBVgEA6AdWNdZ3lNbdTFP6oKFWOwNtnUqrJEVNU+/U7lQgEtGi6p0dpXW3tU2N+qytVe/X\n1XSU1t3ao1GtaKjtnZ9IgoVjpl79rEmVrSGZphQ1pU3NQb2+vUk86BNIPay4AkA/UBMMdDveGAqp\nonlXt3OhaEyrm+rVHo2qrqldr723VZI0fUqp8rP92tTSrB2Btm7fuz3QnpjgvezT5oBaI10f6VkX\njGhHzgANtCATgJ5RXAGgH8h0udUcDncZ9zudcvf0yCBJzi/m8rP9+vb00Z3nHIZ8Dqfao9FuP9cO\nWroprbs1+9IUcru1ufQQhd1uDdq+VTlJzAagK4orAPQD47Jztb296+rouJxcDfKna3VTQ5c5v9Op\nI3LytKG5SS2Rrg9sH56RKY/DqZUNdV3mRmdmJyZ4Lxvg7fmPwZjh0N/OuVQhj/fzgXLpyFi7jkpS\nNgBdsccVAPqB0vQMnVBYoiy3W9LnpfSovAE6MjtPA7w+Tc4vkMPYcze9x+nQ14sGyu1w6MSigfJ9\naQXVMKSJefkq9qWpLDdfY7Jy5PzivS6HoSNz8jQ2yx5rk0PSPSr0dS2vpRkefThs9J7S+oVVpYdq\nR1soWfEAfAUrrgDQTxySmaWRGZkKxWJyOxydiuoROXkakZGpyrZWuR0ODUnLkNvx+dpGkc+v/yod\noa1tLQrFYhrkT1fmFwXYaRg6pqBIE/Py1RIOK8vtkdcm2wQkyWEYmj4oW6sb2rW1NSiHDI3I9CrX\n49RrHl+379ncElRJmj1OTAD6GoorAPQjhmH0WCzTXW6N7mGl1OX4/GzXnvidLvmd9vwjxeNwqDw/\nXeX5e8603d4Wki6/vNub0jhtALAOWwUAAPiKIr9bflf3f0QOy/B2Ow6g91FcAQD4Cqdh6ISizI69\nu7sdnuvXQLYJAJahuAIA0I2BaR6dkpcmZ2ObnM0BHZfj1+QBGVbHAvo1iisAAN3YFYpqSVO7ojlp\nimb69N6ugCqau3+QA4DkoLgCANCNf+/cpaYvPaAgFDO1qKpZDcGuZ9oCSA6KKwAAX1EdCKu+m4Ia\nM6UNrLoClqG4AgDwFaFoz4deBfcyB6B3UVwBAPiKQr9LbofR7dxgThUALENxBQDgKzwOh44akN5l\nfHC6R0MzKK6AVez5mBMAAHrZ2Gy/mnL8enNXQHIYmpjp1YklWZ0elQsguSiuAAD0INftlLu2VZI0\n2Ofu8kACAMnFVgEAAADYAsUVAAAAtkBxBQAAgC1QXAEAAGALFFcAAADYAsUVAAAAtkBxBQAAgC1Q\nXAEAAGALFFcAAADYAsUVAAAAtsAjXwEA6MHooXl68bdnWx0DwBdYcQUAAIAtUFwBAABgCylVXEOh\nkM4880y9//77HWOVlZX63ve+pwkTJuiMM87Q4sWLLUwIAAAAq6RMcQ2FQrruuuu0cePGTuNXX321\nCgsL9fe//11nnXWWrrnmGu3cudOilAAAALBKShTXiooKXXjhhaqsrOw0vmTJEm3btk2/+c1vNGLE\nCM2cOVNlZWV69tlnLUoKAAAAq6REcV26dKmmTp2qv/71rzJNs2N81apVGjdunLxeb8dYeXm5Vq5c\naUVMAAAAWCgljsP69re/3e14TU2NCgsLO43l5+erqqoqGbEAAACQQlJixbUn7e3t8ng8ncY8Ho9C\noZBFiQAAAGCVlC6uXq+3S0kNhULy+XwWJQIAAIBVUrq4FhUVqaamptNYbW2tCgoKLEoEAAAAq6R0\ncR0/frzWrFnTadV1+fLlKisrszAVAAAArJDSxXXy5MkqKSnRjTfeqI0bN+qRRx7R6tWrdf7551sd\nDQAAAEmWcsXVMIyO/+9wOPTggw+qpqZG5513nl588UU98MADKi4utjAhAAAArJASx2F92dq1azu9\nHjJkiJ544gmL0gAAACBVpNyKKwAAANAdiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABs\ngeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIK\nAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAA\nW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4\nAgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAA\nwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYo\nrgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAA\n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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.plot_posterior() # can pass in rotate_xticks=True if needed" + ] + }, + { + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} From 92b4cb76f7947d9f68e630dc5dcb1fdeb5f0a543 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 01:21:46 +0100 Subject: [PATCH 06/12] updated text. --- docs/source/notebooks/best-api.ipynb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/notebooks/best-api.ipynb b/docs/source/notebooks/best-api.ipynb index 62e490a3b0..03530522d1 100644 --- a/docs/source/notebooks/best-api.ipynb +++ b/docs/source/notebooks/best-api.ipynb @@ -6,7 +6,9 @@ "source": [ "# Introduction\n", "\n", - "This notebook is intended as an introduction to the BEST model available as a \"default model\" in PyMC3." + "This notebook is intended as an introduction to the BEST model available as a \"default model\" in PyMC3.\n", + "\n", + "John Kruschke introduced the BEST model in 2013 as a way to show how Bayesian estimation can provide a superior way of summarizing a two-sample (treatment " ] }, { From 872337fb8f751c34d348e1b1a7575582f81443d1 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 01:43:04 +0100 Subject: [PATCH 07/12] updated text describing BEST --- docs/source/notebooks/best-api.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/notebooks/best-api.ipynb b/docs/source/notebooks/best-api.ipynb index 03530522d1..8fb5344f36 100644 --- a/docs/source/notebooks/best-api.ipynb +++ b/docs/source/notebooks/best-api.ipynb @@ -8,7 +8,7 @@ "\n", "This notebook is intended as an introduction to the BEST model available as a \"default model\" in PyMC3.\n", "\n", - "John Kruschke introduced the BEST model in 2013 as a way to show how Bayesian estimation can provide a superior way of summarizing a two-sample (treatment " + "John Kruschke introduced the BEST model in 2013 as a way to show how Bayesian estimation can provide a superior way of summarizing a two-sample comparison, i.e. treatment vs. control. Here, I have done the necessary software engineering to extend it to a multi-sample comparison, i.e. multiple treatments vs. control." ] }, { From b69c9dc5fef29ede70b901ec9732a90b456c08f6 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 10:25:57 +0100 Subject: [PATCH 08/12] changed "modules" directory name to "models" --- pymc3/{modules => models}/__init__.py | 0 pymc3/{modules => models}/best.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename pymc3/{modules => models}/__init__.py (100%) rename pymc3/{modules => models}/best.py (100%) diff --git a/pymc3/modules/__init__.py b/pymc3/models/__init__.py similarity index 100% rename from pymc3/modules/__init__.py rename to pymc3/models/__init__.py diff --git a/pymc3/modules/best.py b/pymc3/models/best.py similarity index 100% rename from pymc3/modules/best.py rename to pymc3/models/best.py From b3cffda5dd5c620766f16e5b767447f43b69cf19 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 10:28:10 +0100 Subject: [PATCH 09/12] fixed stray debug comment --- pymc3/models/best.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pymc3/models/best.py b/pymc3/models/best.py index bc136ae2cd..efd7a395c2 100644 --- a/pymc3/models/best.py +++ b/pymc3/models/best.py @@ -51,8 +51,6 @@ def _convert_to_indices(self): self.data['indices'] = self.data[self.sample_col].apply( lambda x: sample_names[x]) - # print(self.data) - def fit(self, n_steps=500000): """ Creates a Bayesian Estimation model for replicate measurements of From c0fd39b97dc63568a2f6dc61d06d18c15c0bd9b4 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Thu, 10 Nov 2016 10:45:22 +0100 Subject: [PATCH 10/12] added test_vals and re-ran notebook --- docs/source/notebooks/best-api.ipynb | 102 ++++++++++++++------------- pymc3/models/best.py | 12 +++- 2 files changed, 62 insertions(+), 52 deletions(-) diff --git a/docs/source/notebooks/best-api.ipynb b/docs/source/notebooks/best-api.ipynb index 8fb5344f36..0b89100086 100644 --- a/docs/source/notebooks/best-api.ipynb +++ b/docs/source/notebooks/best-api.ipynb @@ -27,7 +27,7 @@ "\n", "sns.set_style('white')\n", "\n", - "from pymc3.modules.best import BEST\n", + "from pymc3.models.best import BEST\n", "\n", "%load_ext autoreload\n", "%autoreload 2" @@ -78,16 +78,16 @@ { "data": { "text/plain": [ - "array([ 34.00430056, 32.10809804, 38.53808509, 36.110382 ,\n", - " 44.04434539, 41.95780145, 41.66832831, 40.97863928,\n", - " 45.92757886, 46.51006965, 44.08638969, 47.72199583,\n", - " 34.72484433, 29.45368386, 31.41960255, 35.72236196,\n", - " 43.91900172, 46.25127316, 41.98282348, 43.54996025,\n", - " 14.97420725, 15.02268631, 15.00169222, 14.97478774,\n", - " 14.40326155, 13.39092329, 14.91150851, 23.98522204,\n", - " 26.050393 , 28.14806707, 29.83439903, 30.35088746,\n", - " 16.48278352, 20.85506246, 19.09767034, 20.14939378,\n", - " 45.00058993, 36.10567556, 38.69867637, 40.86339928])" + "array([ 21.51804962, 19.17406042, 16.51748568, 21.1254247 ,\n", + " 15.98845044, 16.01062808, 16.03388728, 15.98152944,\n", + " 11.55567225, 14.61522226, 13.82675371, 16.480401 ,\n", + " 38.81548662, 36.42769763, 38.78238235, 40.44465029,\n", + " 15.08502181, 14.0348035 , 10.01033688, 15.71514256,\n", + " 30.59898852, 29.99291836, 27.70848322, 27.48400447,\n", + " 24.09975511, 23.82401982, 21.77444056, 21.37802053,\n", + " 29.6104827 , 30.32411378, 35.00388415, 30.21269507,\n", + " 33.38952711, 35.06357773, 32.66744472, 32.57797696,\n", + " 39.77090017, 35.94262292, 38.0648428 , 37.21283409])" ] }, "execution_count": 3, @@ -158,52 +158,52 @@ " \n", " 0\n", " 0\n", - " 34.004301\n", + " 21.518050\n", " \n", " \n", " 1\n", " 0\n", - " 32.108098\n", + " 19.174060\n", " \n", " \n", " 2\n", " 0\n", - " 38.538085\n", + " 16.517486\n", " \n", " \n", " 3\n", " 0\n", - " 36.110382\n", + " 21.125425\n", " \n", " \n", " 4\n", " 1\n", - " 44.044345\n", + " 15.988450\n", " \n", " \n", " 5\n", " 1\n", - " 41.957801\n", + " 16.010628\n", " \n", " \n", " 6\n", " 1\n", - " 41.668328\n", + " 16.033887\n", " \n", " \n", " 7\n", " 1\n", - " 40.978639\n", + " 15.981529\n", " \n", " \n", " 8\n", " 2\n", - " 45.927579\n", + " 11.555672\n", " \n", " \n", " 9\n", " 2\n", - " 46.510070\n", + " 14.615222\n", " \n", " \n", "\n", @@ -211,16 +211,16 @@ ], "text/plain": [ " treatments measurements\n", - "0 0 34.004301\n", - "1 0 32.108098\n", - "2 0 38.538085\n", - "3 0 36.110382\n", - "4 1 44.044345\n", - "5 1 41.957801\n", - "6 1 41.668328\n", - "7 1 40.978639\n", - "8 2 45.927579\n", - "9 2 46.510070" + "0 0 21.518050\n", + "1 0 19.174060\n", + "2 0 16.517486\n", + "3 0 21.125425\n", + "4 1 15.988450\n", + "5 1 16.010628\n", + "6 1 16.033887\n", + "7 1 15.981529\n", + "8 2 11.555672\n", + "9 2 14.615222" ] }, "execution_count": 5, @@ -268,31 +268,32 @@ "cell_type": "code", "execution_count": 7, "metadata": { - "collapsed": false + "collapsed": false, + "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Iteration 0 [0%]: ELBO = -2409.98\n", - "Iteration 50000 [10%]: Average ELBO = -225.57\n", - "Iteration 100000 [20%]: Average ELBO = -130.53\n", - "Iteration 150000 [30%]: Average ELBO = -130.17\n", - "Iteration 200000 [40%]: Average ELBO = -130.15\n", - "Iteration 250000 [50%]: Average ELBO = -130.13\n", - "Iteration 300000 [60%]: Average ELBO = -130.13\n", - "Iteration 350000 [70%]: Average ELBO = -130.12\n", - "Iteration 400000 [80%]: Average ELBO = -130.18\n", - "Iteration 450000 [90%]: Average ELBO = -130.18\n", - "Finished [100%]: Average ELBO = -130.16\n" + "Iteration 0 [0%]: ELBO = -1538.66\n", + "Iteration 50000 [10%]: Average ELBO = -333.06\n", + "Iteration 100000 [20%]: Average ELBO = -169.59\n", + "Iteration 150000 [30%]: Average ELBO = -133.72\n", + "Iteration 200000 [40%]: Average ELBO = -121.73\n", + "Iteration 250000 [50%]: Average ELBO = -121.09\n", + "Iteration 300000 [60%]: Average ELBO = -121.04\n", + "Iteration 350000 [70%]: Average ELBO = -121.07\n", + "Iteration 400000 [80%]: Average ELBO = -121.03\n", + "Iteration 450000 [90%]: Average ELBO = -121.09\n", + "Interrupted at 450113 [90%]: Average ELBO = -121.09\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 2000/2000 [00:00<00:00, 8517.56it/s]\n" + "100%|██████████| 2000/2000 [00:00<00:00, 7032.20it/s]\n" ] } ], @@ -316,9 +317,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHcCAYAAAA0pnmEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd4VGXexvF7JmXSe4dQQkhCCyShk1ACgiAgCuiKgCKI\nDXFBdCkiiqKu4rrri33Firrurou66roqtkUUBClSVEAEBAII0gIJJHn/iBkyyUwyk0wyycn3c11e\nknPOnPlNv89znvM8ppKSkhIBAAAABmX2dAEAAABAXSLwAgAAwNAIvAAAADA0Ai8AAAAMjcALAAAA\nQyPwAgAAwNAIvAAAADA0Ai8AAAAMjcALAAAAQ3Nr4D1x4oTmzZunPn36qFevXpozZ45OnDjhcPu9\ne/dq0qRJysjI0PDhw7Vy5Up3lgMAAAC4N/Deeeed+v777/XMM89o6dKl2rFjh+bPn+9w+5tuukkx\nMTH65z//qZEjR2ratGk6cOCAO0sCAABAE2cqKSkpcceOTp8+rW7duunVV19Vp06dJEnr16/X+PHj\ntW7dOvn6+tpsv2rVKt10001atWqVLBaLJGnSpEnKysrStGnT3FESAAAA4L4WXrPZrCeffFJpaWnW\nZSUlJSoqKlJ+fn6l7Tdu3KgOHTpYw64kZWVlaf369e4qCQAAAJC3u3ZksViUnZ1ts+zFF19Uamqq\nwsLCKm1/6NAhxcTE2CyLjIxUXl6eu0oCAAAAXAu8BQUFDgNpdHS0/P39rX+//PLLev/99/Xss8/a\n3f706dOVujn4+vqqsLDQqVq6du2qwsJCRUdHO1k9AAAA6tPBgwdlsVj09ddfe7QOlwLvhg0bNHHi\nRJlMpkrrlixZooEDB0qSli1bpkWLFmnevHnq1auX3X1ZLBYdO3bMZllhYaH8/PycqqWgoEBFRUWu\nlA8AAIB6VFRU5HRjZl1yKfB2795d27Ztq3KbZ599Vg899JBmz56t8ePHO9wuNjZW27dvt1l2+PBh\np1tsy7pDfPTRR05tDwAAgPpV1hjqaW4dluxf//qXFi9erHnz5unqq6+uctvOnTtry5YtNql/7dq1\n6tKliztLAgAAQBPntsB77Ngx3XPPPRo1apSGDh2qw4cPW/8rLi6WJB05csQ6YkP37t0VHx+v2bNn\na/v27Xr66ae1adMmjRkzxl0lAQAAAO4LvCtXrtTp06e1fPly5eTkKCcnR9nZ2crJybFOJjFmzBgt\nXbq09I7NZj3++OM6dOiQRo8erbfffluPPfaY4uLi3FUSAAAA4L6JJ+pbWZ8Q+vACAAA0TA0lr7m1\nDy8AAADQ0BB4AQAAYGgEXgAAABgagdeA1m7L071Lv9KP+85P7LF9z682f0vSsZMFeum9rfp+91G7\n+ykpKdHmnb/o6PEzdVovgIarqLhEqzbt1568E54upV4dO1mgc0XFni4DgJsQeOvZqdNnrf/+ZN1e\nPfXGRp0uOOe2/ZeUlOiuZ77UV5sPaNajn0uS9uSd0Iw/f6rpD3+iv7z2jdZtOyhJWvzyWr3+4fe6\n9S+f2d3Xo39br9mP/U8T736/0n2s3nJAy/6zTfsPn6q07t//26kPvvpJJ0+f1ZnCczbryv9dXtkP\ny9uf79Tj/9igwrOOZ9E7mV+ob747qKLfblNUVKwT+YXW+yj7d00UFRVr5YZ92nf4ZI1uf/Zcsd37\nd/aH88d9x2yCRXFxiY4eP6Oya0vzjuRbH7e7uXr9alFRsc3j+nHfMf1y7LRTtz1dcE5vfrZDO38+\n5nCbp/61Uf/3+nqdyC/UwSP5drc5evyMDvxS+h48V1SsouKaXYNb8bEf+OWUw/dqTfZXnZrWXean\n/cerfC5r48PVu3Xf86t144MrVFyuzpKSEpvvrpKSEpvvN2eUlJTo+91HdaTcQfXBCu/xkpIS7dj7\nq/YfPqVVm/brXFGx9h06qWMnCxzu80zhOeWfOevU6/DT/uN6Z+WP1te7qLhEa7Yc0FV3v6/Zj/1P\nm3Yc1vY9vzq8fVFxifX1K/95+OXYaS35+3qt3ZanYycL9MbHP2j15gPW9WcKzumb7w7q7LnS77od\ne3/VbY9+phVf77Fu8+4XP+rl/2y1Pu+/niio8e9FUVGxvvx2vw4eyXfp/VlUVKw9eSeqvc2ZwnPa\ntOOw3e+n46cK9cQ/N+jzb352ue6Kjh4/U+vPS0UlJSU6fqr0e/tkfqFOnT5b7e9IUXGJftx3zPra\nlJSUaMuPv+jXEwXWv8te24q/S/lnzuqdlT/W+HemOnvyTth8Ps6eK7bWVReKikv05Bsbtew/VU9M\n5mmM0uBmRUXFMptNNtMvl5SUyGQy6e3Pd+rp5Zt0xeBUXT4oRaNuf1uSNCInSVNHdVJRcYlWbvhZ\nMeEBSmkRrm++P6iEqCDFRwWq8GyRzGaTvL3MOng0XweP5Cv/zDmt3nJAkSF++ub7Q9q664hCAn2t\n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\np09r6tSp6tatm9544w116dJF1113nc6cOVMXJQEAAKCJcnvgPXv2rBYsWKCMjIwqt3vnnXfk7++v\n2267TUlJSZo3b54CAwP1n//8x90lAQAAoAlze+B96qmnlJqaqt69e1e53caNG5WVlWWzLDMzU998\n8427SwIAAEAT5tbAu2PHDr322muaO3dutdsePHhQMTExNssiIyOVl5fnzpIAAADQxHm7snFBQYHD\nQBodHa0FCxbolltuUURERLX7OnPmjHx9fW2W+fr6qrCw0JWSAAAAgCq5FHg3bNigiRMn2r0YbebM\nmSouLtbYsWOd2pfFYqkUbgsLC+Xn5+dKSQAAAECVXAq83bt317Zt2+yumzhxor799lvrxWpnz55V\ncXGxMjMz9e677youLs5m+9jYWB06dMhm2eHDhxUdHe1KSQAAAECVXAq8VVm8eLEKCgqsf7/wwgva\ntGmTFi9eXKmvriR17txZzzzzjM2yb775Rtdff727SgIAAADcd9FaTEyMEhMTrf+FhYXJYrEoMTFR\nZnPp3Rw+fNgaiocMGaITJ07ovvvu044dO3TvvfcqPz9fQ4cOdVdJAAAAQP1OLZydna333ntPkhQU\nFKQnn3xSX3/9tUaPHq1NmzbpmWeeoQ8vAAAA3MptXRoqmjZtWqVlFfv/durUSW+88UZdlQAAAADU\nbwsvAAAAUN8IvAAAADA0QwReP18vT5cAAACABsoQgXf+NT09XQIAAAAaKEME3natq5/KGAAAAE2T\nIQIvAAAA4AiBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaARe\nAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAA\nGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqB\nFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAA\nAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG\n4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqBFwAAAIZG4AUA\n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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHcCAYAAAA0pnmEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd4VGXexvF7JmUS0jsJBAgtoQQIhCaELggrKAuoKLCi\niA1Qii4IiAU77rq89sZaWMvuuqzddWXVlUVUQDoiBCkCoRoChCQkef9AhgyZmcwkM5nJyfdzXV4y\n5zxz5pd+z3OeYiovLy8XAAAAYFBmXxcAAAAAeBOBFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGBqB\nFwAAAIZG4AUAAIChEXgBAABgaAReAAAAGJpHA29BQYHmzp2rXr16qWfPnpozZ44KCgoctt+7d68m\nTpyorKwsXXrppVqxYoUnywEAAAA8G3jvvvtubdu2TS+88IJefvll7dixQ/Pnz3fY/tZbb1ViYqL+\n/ve/a8SIEZoyZYoOHDjgyZIAAABQz5nKy8vLPXGhwsJCde3aVW+88YYyMzMlSd9//73GjRunNWvW\nKDg42Kb9ypUrdeutt2rlypWyWCySpIkTJ6pLly6aMmWKJ0oCAAAAPNfDazab9eyzzyojI8N6rLy8\nXKWlpTp16lSl9uvXr1e7du2sYVeSunTpou+//95TJQEAAAAK9NSFLBaLevfubXPs1VdfVXp6uqKj\noyu1P3TokBITE22OxcXFKS8vz1MlAQAAAO4F3qKiIoeBNCEhQaGhodbHr7/+uj755BO99NJLdtsX\nFhZWGuYQHBys4uJil2rJzs5WcXGxEhISXKweAAAAtenQoUMKDg7Wd99959M63Aq869at04QJE2Qy\nmSqde/LJJzVw4EBJ0tKlS/XAAw9o7ty56tmzp91rWSwW5efn2xwrLi5WSEiIS7UUFRWptLTUnfIB\nAABQi86cOSMPTRerEbcCb7du3bR161anbV566SU99thjmj17tsaNG+ewXVJSkrZv325z7PDhwy73\n2J4bDvHZZ5+51B4AAAC161xnqK95dFmyf/zjH1q0aJHmzp2ra6+91mnbjh07avPmzTZDGFavXq1O\nnTp5siQAAADUcx4LvPn5+br//vt1+eWXa+jQoTp8+LD1v7KyMknS0aNHrSs2dOvWTcnJyZo9e7a2\nb9+u559/Xhs2bNDo0aM9VRIAOOUPt9mqUl5erryjp+pErXAPX1Og9ngs8K5YsUKFhYVatmyZcnJy\nlJOTo969eysnJ8e6mcTo0aP18ssvn31hs1lPP/20Dh06pFGjRum9997TU089pYYNG3qqJKDeKC8v\n16bcIzp1usR67O/Lf9TTf1unkjNlLl+nqKRUJwtLdLr4jA4cOakl723S7gPHra/x7292ac3WgzpZ\nWKJbHv1Mb3yyVfknivT5mr0qLDqj/BNFeuTVb/X7J/+r/BNFTl+rrKxcP+0/ruKSUm3bfUylZY7/\n+J86XaKVG/arsOiM3fO7DxzXjr2/2BwrOFWsZ99Zr5378iu1Ly8v130vfa1JD3yqY8dP2xy/8DVO\nF5/RicISnSwsUWlZuU4Xn1HBKdvJtYd/KdTy7/Y4rK+i77bk6eFXv9XegwU6capYJypca+OOw7rt\n8c/15dq91mOvfLBZkx74VH/97Eeb61T8um7ZeVRLP95qc62K7Rx9LU67UK909mu1btsh/ePz7cr9\nufLn011Hj5/W6x9v0a79x9163uniM1q5Yb/+/c1uvf7xFhWVOJ7HUV5err0HC7T2h4M6eLTy0phV\nOX6y2ObruX3PL/py7V49+8567T14dgfRf63apVc/3KwzpWUqOVP1nJLy8nJt3nlEB4+e0oEjJ3X9\nA5/qj2+scbs2STpRWKLZT32lZ99ZX63nX+id/2zXvS9+rV8KnP/cVuV08RnN/NMXuvfFr1Va6vrv\nHm8rLDqj0tKyKt9krN6ap2VfbNeZC2o/97ytu45q1cb9Ki0t04nCEnuXkCR9sWavlry3yen3KGqX\nxzaeqG3nxoQwhhdGV15eruMnixUVfnbN6v2HT2rrrqPq1SFFwUEBKi8v14hZ71rbd2gZr/XbD9tc\nIzYyRA/d2ktbfzqmT7/ZpY07jkiSurZNUv8uqSorK9dfP9umXQfsbwXer0tjfb56r91zFQUGmG3+\nUMy8potiwi1KSQhXQIBJn36zS5L0+kf25wKEWgI0fmhbhVoCdPxksdb+cEihIYFauWF/pbYLb7pI\nL/5zo36qEJoev62Pfv/kVwoJDrD5Y9QzM1lxUSHauOOIDhw5qQnD2ur5ZRsqXbN5SpRy9+UrPjpU\nh38p1KCuTfTvb3c7/HifmN5XgQFmTVn0H5vjd1/fXWGhQTpxqkTLV+9Ri0ZRGjOwtdb+cFB3P79S\nkhQcaFbxr6E1NSlC997QU9ct/Fel69z30iqHn6sbR3bQ6x9v1eFfCq3HR+Q0V5+sRkqMaaDjJ4ut\n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\npTeN8cr1Rw9opeljO8sSFOCV6/vSuSEmFw41qa77b7xIrVKjdcso99dIBgCgLjFkDy+8IyT4/LeL\n2Vy9SU2j+rdUx1bxatKQ9V3dNefablr34yF1bOWZwJuWEqU/3N7XI9eqsXLepAIAvMdwPbyHanBb\nvj5Lc2GDgXFDMxQTYVGbZrFq0Siqyvb2mEwmtUqN8Yse2LqWsUItgerRPtnpOGYAAFCZRwNvQUGB\n5s6dq169eqlnz56aM2eOCgoKHLZfuHChMjIy1KZNG+v/ly5dWqMarlvIcmTu6pKRqJt+W/Vt7ZiI\nEC2ZP1iPTOldJ5at6tAy3tclAAAAP+DRrqK7775be/fu1QsvvCCTyaQFCxZo/vz5euKJJ+y2z83N\n1axZszRy5EjrsfDw6q+5evwkE3Cq454beto8djZcobbG+nrCzGu66PWPtqhH+2RflwIAAHzIY4G3\nsLBQn376qd544w21bXt2YtJdd92lcePGqbi4WMHBlXdu2rFjhyZNmqS4OM8s6fPVup89cp366sqL\nW+uTlbs059quvi7FI2IjQzTNyRa6dWxEAwAAqCaPBV6z2axnn31WGRkZ1mPl5eUqLS3VqVOnKgXe\nEydOKC8vT82aNfNUCXrm7+s9dq36aNwlbXTNkIw6MVwBAADAVR67P22xWNS7d28FBZ1f/P/VV19V\nenq6oqOjK7XPzc2VyWTSM888o759++qyyy7TsmXLPFUOqqk+hd3IBpXvOsA34mMa+LoEAICBudXD\nW1RUpLy8PLvnEhISFBp6fvvT119/XZ988oleeuklu+1zc3NlNpvVokULjR8/Xt98843mz5+v8PBw\nDRo0yJ2yJEl7DzqeHAfH7p3cs+pGBjO4e1Ot3LBPs39njKEbRjBvYjfd//Iq9enUyNelAAAMyFRe\n7vriTN98840mTJhgtxfwySef1MCBAyVJS5cu1cKFCzV37lyNGzfO4fWOHz+uyMjzy2EtXLhQO3fu\ndBiSKzr3Wp999pkkacyc93W6uNTVD6WS7u0aVrkVrdEsmpaj9Kaxvi7DJ0rLyhVQzbWEAQCAay7M\na77iVg9vt27dtHXrVqdtXnrpJT322GOaPXu207ArySbsSlLz5s21atUqd0qyqknYlaR513XX8Jn/\nrNE16pr6NHzhQoRdAADqD48uS/aPf/xDixYt0ty5czV+/HinbRcvXqy1a9dqyZIl1mNbtmxRWlqa\n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\nrfn8AgmW+W3v53AHefXVV1leXk6v18uOjg7a7XZ2dHQs9WmJW8jMzFS3HYpGoywvL+eBAwd46dIl\nulwu2mw2da/M4eFhKorCY8eO8dKlS9y/fz+dTqf6WmfPnmV2djY7OjrY29vL8vJy1tXVqfW55ka8\n3mL+fD4f169fzyNHjnB8fFzzJVnrUzQa5Y4dO/j000/T5/Oxs7OTBQUFPHnyJKPRKLdt2yaZ61RN\nTY26TdTk5CTz8/NZV1dHn8/H2tpabtmyRd0X1ePxMCsri83NzRwYGGBlZSWfe+459bVcLhcLCwvZ\n3d3Nn376iQ6Hg5988olaf+aZZ1hZWcnBwUF+/vnnVBSFfX19t9VbLNzff//NrVu38oUXXuBvv/3G\nzs5OOhwOHj9+nJOTk8zLy0vYzBNywRsKhVhTU0Or1crCwkJ+9tlnS31KYg43/uGJP/74gxUVFdy0\naRPLy8vZ1dWlOf67775jWVkZLRYLd+3ape7hN+PYsWPMz89nTk4OX3nlFUYiEbUWb27E6y3mx+Vy\n0Ww2a74yMzNpNptJ/re3omStP2NjY6yqqmJ2djYdDgddLpdak8+3fl2/4CVJr9fLRx99lIqicOfO\nnRwYGNAcf+bMGRYVFdFqtbKqqorBYFCtRaNRvv3229y8eTMffPDBWfu+TkxMcM+ePVQUhSUlJTx7\n9qymHq+3WDifz8ddu3bRZrPR4XDw/fffV2uJnPky8rpNUoUQQgghhNCZhLuGVwghhBBCiPmQBa8Q\nQgghhNA1WfAKIYQQQghdkwWvEEIIIYTQNVnwCiGEEEIIXZMFrxBCCCGE0DVZ8AohhBBCCF2TBa8Q\nQgghhNA1WfAKIYQQQghdkwWvEEIIIYTQNVnwCiGEEEIIXfsf+xxcuu70xd4AAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -341,19 +342,19 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\n2Ofu8kACAMnFVgEAAADYAsUVAAAAtkBxBQAAgC1QXAEAAGALFFcAAADYAsUVAAAAtkBxBQAAgC1Q\nXAEAAGALFFcAAADYAsUVAAAAtsAjXwEA6MHooXl68bdnWx0DwBdYcQUAAIAtUFwBAABgCylVXEOh\nkM4880y9//77HWOVlZX63ve+pwkTJuiMM87Q4sWLLUwIAAAAq6RMcQ2FQrruuuu0cePGTuNXX321\nCgsL9fe//11nnXWWrrnmGu3cudOilAAAALBKShTXiooKXXjhhaqsrOw0vmTJEm3btk2/+c1vNGLE\nCM2cOVNlZWV69tlnLUoKAAAAq6REcV26dKmmTp2qv/71rzJNs2N81apVGjdunLxeb8dYeXm5Vq5c\naUVMAAAAWCgljsP69re/3e14TU2NCgsLO43l5+erqqoqGbEAAACQQlJixbUn7e3t8ng8ncY8Ho9C\noZBFiQAAAGCVlC6uXq+3S0kNhULy+XwWJQIAAIBVUrq4FhUVqaamptNYbW2tCgoKLEoEAAAAq6R0\ncR0/frzWrFnTadV1+fLlKisrszAVAAAArJDSxXXy5MkqKSnRjTfeqI0bN+qRRx7R6tWrdf7551sd\nDQAAAEmWcsXVMIyO/+9wOPTggw+qpqZG5513nl588UU98MADKi4utjAhAAAArJASx2F92dq1azu9\nHjJkiJ544gmL0gAAACBVpNyKKwAAANAdiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABs\ngeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIK\nAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAA\nW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4\nAgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAA\nwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYo\nrgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAAALAFiisAAABsgeIKAAAAW6C4AgAAwBYorgAA\n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\n", + "image/png": "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\nIiYAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, - "execution_count": 13, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -373,6 +374,7 @@ } ], "metadata": { + "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", diff --git a/pymc3/models/best.py b/pymc3/models/best.py index efd7a395c2..6e949a643d 100644 --- a/pymc3/models/best.py +++ b/pymc3/models/best.py @@ -43,6 +43,10 @@ def __init__(self, data, sample_col, output_col, baseline_name): self._convert_to_indices() def _convert_to_indices(self): + """ + Adds the "indices" column to self.data (DataFrame). This is necessary + for the simplified model specification in the "fit" function below. + """ sample_names = dict() for i, name in enumerate( list(np.unique(self.data[self.sample_col].values))): @@ -64,6 +68,9 @@ def fit(self, n_steps=500000): sample_names = set(self.data[self.sample_col].values) + mean_test = self.data.groupby('indices').mean()[self.output_col].values + sd_test = self.data.groupby('indices').std()[self.output_col].values + with Model() as model: # Hyperpriors upper = Exponential('upper', lam=0.05) @@ -71,11 +78,12 @@ def fit(self, n_steps=500000): # "fold", which is the estimated fold change. fold = Uniform('fold', lower=1E-10, upper=upper, - shape=len(sample_names)) + shape=len(sample_names), testval=mean_test) # Assume that data have heteroskedastic (i.e. variable) error but # are drawn from the same HalfCauchy distribution. - sigma = HalfCauchy('sigma', beta=1, shape=len(sample_names)) + sigma = HalfCauchy('sigma', beta=1, shape=len(sample_names), + testval=sd_test) # Model prediction mu = fold[self.data['indices']] From 7595681196b55beebc168c861c256f7b696858c5 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Fri, 11 Nov 2016 09:20:17 -0500 Subject: [PATCH 11/12] added note on current API design. --- pymc3/models/best.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pymc3/models/best.py b/pymc3/models/best.py index 6e949a643d..2a093ba520 100644 --- a/pymc3/models/best.py +++ b/pymc3/models/best.py @@ -1,3 +1,24 @@ +""" +Written by: Eric J. Ma +Date: 11 November 2016 +Inspiration taken from many places, including the PyMC3 documentation. + +A note on the API design, for future contributors. + +There were some design choices made here for "default models" that may be +modified in the future. I list the choices below: + +- A "model" is an object, like scikit-learn. +- A model is instantiated with a DataFrame that houses the data. +- Models accept other parameters as necessary. +- Every model has a `.fit()` function that performs model fitting, like in + scikit-learn. +- Every model has a `.plot_posterior()` function that returns a figure showing + the posterior distribution. Inspired by the pymc3 GLM module. +- BEST uses ADVI, but this can (and should) be made an option; MCMC is also a + good tool to use. +""" + from ..distributions import StudentT, Exponential, Uniform, HalfCauchy from .. import Model from ..variational import advi, sample_vp From e62e58e0edd333188beb538cf8b12d7c4db52fa2 Mon Sep 17 00:00:00 2001 From: "Eric J. Ma" Date: Sat, 12 Nov 2016 17:02:05 -0500 Subject: [PATCH 12/12] return fig and ax for user mods --- pymc3/models/best.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymc3/models/best.py b/pymc3/models/best.py index 2a093ba520..4cf680221c 100644 --- a/pymc3/models/best.py +++ b/pymc3/models/best.py @@ -156,7 +156,7 @@ def plot_posterior(self, rotate_xticks=False): plt.xticks(rotation='vertical') plt.ylabel(self.output_col) - return fig + return fig, ax def plot_elbo(self): """