Skip to content

Instantly share code, notes, and snippets.

@ExpectationMax
Last active August 1, 2017 13:14
Show Gist options
  • Save ExpectationMax/eca099341f4d0e5742d4efe6268c3a76 to your computer and use it in GitHub Desktop.
Save ExpectationMax/eca099341f4d0e5742d4efe6268c3a76 to your computer and use it in GitHub Desktop.
Implicit vs Explicit DirichletMultinomial model in pymc3
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import seaborn as sns\n",
"import pymc3 as pm\n",
"import numpy as np\n",
"from numpy import random as nr"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# DirichletMultinomial model\n",
"import theano.tensor as tt\n",
"from pymc3.distributions.dist_math import gammaln, bound, factln\n",
"class DirichletMultinomial(pm.Discrete):\n",
" def __init__(self, n, a, *args, **kwargs):\n",
" super(DirichletMultinomial, self).__init__(*args, **kwargs)\n",
"\n",
" self.K = tt.as_tensor_variable(a.shape[-1])\n",
" self.n = tt.as_tensor_variable(n[:, np.newaxis])\n",
"\n",
" if a.ndim == 1:\n",
" self.alphas = tt.as_tensor_variable(a[np.newaxis, :]) # alphas[1, #classes]\n",
" self.A = tt.as_tensor_variable(a.sum(axis=-1)) # A is scalar\n",
" self.mean = self.n * (self.alphas / self.A)\n",
" else:\n",
" self.alphas = tt.as_tensor_variable(a) # alphas[1, #classes]\n",
" self.A = tt.as_tensor_variable(a.sum(axis=-1, keepdims=True)) # A[#samples, 1]\n",
" self.mean = self.n * (self.alphas / self.A)\n",
"\n",
" self.mode = tt.cast(pm.math.tround(self.mean), 'int32')\n",
"\n",
" def logp(self, value):\n",
" k = self.K\n",
" a = self.alphas\n",
" res = bound(\n",
" tt.sum(\n",
" factln(self.n) + gammaln(self.A) - gammaln(self.A + self.n)\n",
" + tt.sum(gammaln(self.alphas + value) - gammaln(self.alphas) - factln(value), axis=-1),\n",
" axis=-1),\n",
" tt.all(value >= 0),\n",
" tt.all(tt.eq(tt.sum(value, axis=-1, keepdims=True), self.n)),\n",
" tt.all(a > 0),\n",
" k > 1,\n",
" tt.all(tt.ge(self.n, 0), axis=-1),\n",
" broadcast_conditions=False\n",
" )\n",
" return res"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Generate simple data (n constant)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"alphas = np.array([5, 7, 1, 0.5])\n",
"ndraws = 2000\n",
"N = 40\n",
"dirichlets = np.array([nr.dirichlet(alphas) for i in range(N)])\n",
"data = np.array([nr.multinomial(ndraws, p) for p in dirichlets])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Test explicit model"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Auto-assigning NUTS sampler...\n",
"Initializing NUTS using advi+adapt_diag...\n",
"Average Loss = 5.1579e+05: 10%|█ | 20584/200000 [00:08<01:08, 2604.87it/s]\n",
"Convergence archived at 20600\n",
"Interrupted at 20,600 [10%]: Average Loss = 5.2184e+05\n",
" 99%|█████████▊| 987/1000 [00:10<00:00, 108.81it/s]/Users/maexlich/.miniconda/envs/bayesian_microbiome/lib/python3.6/site-packages/pymc3/step_methods/hmc/nuts.py:473: UserWarning: Chain 0 contains 5 diverging samples after tuning. If increasing `target_accept` does not help try to reparameterize.\n",
" % (self._chain_id, n_diverging))\n",
"100%|██████████| 1000/1000 [00:10<00:00, 93.32it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"alphas:\n",
"\n",
" Mean SD MC Error 95% HPD interval\n",
" -------------------------------------------------------------------\n",
" \n",
" 4.923 0.729 0.031 [3.695, 6.359]\n",
" 6.768 0.946 0.037 [4.843, 8.402]\n",
" 0.980 0.146 0.006 [0.716, 1.278]\n",
" 0.560 0.086 0.003 [0.402, 0.724]\n",
"\n",
" Posterior quantiles:\n",
" 2.5 25 50 75 97.5\n",
" |--------------|==============|==============|--------------|\n",
" \n",
" 3.705 4.396 4.874 5.409 6.374\n",
" 4.945 6.185 6.743 7.416 8.718\n",
" 0.721 0.870 0.972 1.077 1.302\n",
" 0.408 0.498 0.556 0.618 0.741\n",
"\n"
]
},
{
"data": {
"image/png": "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\n++23U6lUOm1WR2meL1UsFonH4x20RrAc4n7XSru+u7CNisUisVisE+adNxbe90W7BNyZi2JgAAAC\np0lEQVR///088MAD3H333S3X+YutTdr5Q80+wMXWHnV27tzJm970JiRJYufOncRiMebm5hrvL9Uu\n63Hd3ZSC6uqrr+YnP/kJAI8//jh79+7tsEWdY2pqive+97385V/+JTfffHOnzeko3/jGN/j617/O\n1772Nfbt28f9999Pd3d3p83qCNdccw0//elP8X2f8fFxyuUyyWSy02Z1hHg83rhBJBIJHMfBdd0O\nW9VZLrvsMn75y18C8JOf/IRrr722wxYJlkLc71pp13evvvpqHn74YTzPY2RkBM/zSKfTHbZ042h3\n37/Y2+U73/kOX/rSlwAIhUJIksTll19+0bZJO3/ohhtuuGjbo863vvUt7rvvPoCGbxQOhzl16hS+\n7/Pwww832mW9r7ubchjs1a9+NT/72c94xzvege/73HvvvZ02qWN88YtfJJfL8YUvfIEvfOELAPzz\nP/8zpml22DJBJ/nt3/5tHnnkEW6++WZ83+djH/vYRTu/7j3veQ933nknf/AHf4Bt23zkIx8hHA53\n2qyOctttt3H33Xfzd3/3dwwNDfHa17620yYJlkDc71pp13cVReHaa6/l7W9/O57n8bGPfazTZm4o\n7e77f/VXf8U999xz0bbLa17zGu644w7e9a534TgOd955J7t27bro+0oz4tyBm2++mTvuuIN3vvOd\nSJLEvffeiyzLfPSjH8V1XQ4cOMD+/fu54oor1v26K/kX68QLgUAgEAgEAoFAIDhHNmXKn0AgEAgE\nAoFAIBBcCAhBJRAIBAKBQCAQCARrRAgqgUAgEAgEAoFAIFgjQlAJBAKBQCAQCAQCwRoRgkogEAgE\nAoFAIBAI1ogQVAKBQCAQCAQCgUCwRoSgEggEAoFAIBAIBII1IgSVQCAQCAQCgUAgEKyR/x+XyaOh\nPqN9BAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1117069b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"with pm.Model() as model:\n",
" lowerbound = pm.Bound(pm.Flat, lower=0)\n",
" a = lowerbound('alphas', shape=len(alphas))\n",
" d = pm.Dirichlet('dirichlets', a, shape=(N, len(alphas)))\n",
" obs = pm.Multinomial('data', n=ndraws,p=d, observed=data)\n",
"\n",
"with model:\n",
" trace = pm.sample()\n",
" pm.traceplot(trace, ['alphas'])\n",
" pm.summary(trace, ['alphas'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Test implicit model"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Auto-assigning NUTS sampler...\n",
"Initializing NUTS using advi+adapt_diag...\n",
"Average Loss = 2.939e+06: 6%|▌ | 11241/200000 [00:02<00:39, 4807.76it/s] \n",
"Convergence archived at 11800\n",
"Interrupted at 11,800 [5%]: Average Loss = 2.9404e+06\n",
"100%|██████████| 1000/1000 [00:02<00:00, 430.30it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"alphas:\n",
"\n",
" Mean SD MC Error 95% HPD interval\n",
" -------------------------------------------------------------------\n",
" \n",
" 4.715 0.111 0.007 [4.505, 4.939]\n",
" 6.504 0.150 0.010 [6.221, 6.783]\n",
" 0.947 0.022 0.001 [0.903, 0.989]\n",
" 0.540 0.014 0.001 [0.515, 0.567]\n",
"\n",
" Posterior quantiles:\n",
" 2.5 25 50 75 97.5\n",
" |--------------|==============|==============|--------------|\n",
" \n",
" 4.492 4.644 4.718 4.788 4.935\n",
" 6.231 6.402 6.503 6.612 6.809\n",
" 0.907 0.931 0.945 0.961 0.994\n",
" 0.516 0.530 0.539 0.549 0.568\n",
"\n"
]
},
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11537eb00>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"with pm.Model() as implicit_model:\n",
" lowerbound = pm.Bound(pm.Flat, lower=0)\n",
" a = lowerbound('alphas', shape=len(alphas))\n",
" obs = DirichletMultinomial('data', n=np.array([ndraws]*N, dtype=np.uint), a=a, observed=data)\n",
"\n",
"with implicit_model:\n",
" implicit_trace = pm.sample()\n",
" pm.traceplot(implicit_trace, ['alphas'])\n",
" pm.summary(implicit_trace, ['alphas'])"
]
},
{
"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.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment