Skip to content

Instantly share code, notes, and snippets.

@rndmcnlly
Created January 19, 2014 12:43
Show Gist options
  • Save rndmcnlly/8504391 to your computer and use it in GitHub Desktop.
Save rndmcnlly/8504391 to your computer and use it in GitHub Desktop.
Using IPython Notebook and PyMC to play around with some probabilistic graphical models. We're looking at ways of doing some serious machine learning *during gameplay* in the next version of DragonBox Adaptive.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Positive Linear Regression with Gamma Priors and Gamma Observations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this notebook, I explore a variation on linear regression that is appropriate for positive data.\n",
"\n",
"In a typical [ordinary least squares](https://en.wikipedia.org/wiki/Ordinary_least_squares) approach to regression, there is a uniform prior on model parameters and a guassian observation model. In the case of positive linear regression, we want all of our parameters to be positive. A [gamma](https://en.wikipedia.org/wiki/Gamma_distribution) prior (which includes the exponential as a special case) is reasonable. Similarly, we want our posterior predictive distribution to only put mass on positive values. Again, I've chosen a gamma distribution. I've thrown in some magic constants to make things converge to non-zero solutions in the low-data case.\n",
"\n",
"If $\\mathbf{\\phi}$ is a vector of features and $\\mathbf{w}$ are the model weights, the observed value $y$ will be distributed as the following.\n",
"\n",
"$$y \\sim \\text{Gamma}(k_{obs}:2,\\;\\theta_{obs}:(\\mathbf{w}\\cdot\\mathbf{\\phi})/2)$$\n",
"$$\\mathbf{w} \\sim \\text{Gamma}(k_{prior}:2,\\;\\theta_{prior}:1/2) \\qquad\\text{(prior has mean of 1)}$$\n",
"\n",
"Because [PyMC](http://pymcmc.readthedocs.org/en/latest/tutorial.html) uses an $\\alpha$,$\\beta$ parameterization for the gamma distribution, I'll write code using $\\alpha=k$ and $\\beta=1/\\theta$."
]
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Applying PLR to Eric's DragonBox Data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Eric Butler](http://www.ericbutler.net/) made some nice hypothetical data for experimenting with different models and inference techniques. The collection describes 12 different [DragonBox](http://www.dragonboxapp.com/) levels along with plausible completion times for these levels by a few different reference personas.\n",
"\n",
"The machine learning challenge here is to design a model that provides reasonable predictions after seeing very little data (perhaps no data or maybe just one time for a few different levels in the beginning of the game). I'll explore this by looking at performing one or more passes over Eric's hand-entered data. Oh, it should also be a simple enough model that, when the time comes, we can easily run the same inference on the 8 million levels recorded in the [Norway Algebra Challange](http://no.algebrachallenge.org/) (using [stochastic gradient descent](https://en.wikipedia.org/wiki/Stochastic_gradient_descent) or [expectation-maximization](https://en.wikipedia.org/wiki/Expectation-maximization_algorithm)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# you'd think this was imported in IPython by default\n",
"import IPython.display"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Load structure and data from YAML file"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import yaml\n",
"\n",
"with open('concepts.yaml') as f:\n",
" concepts_yaml = yaml.load(f)\n",
"\n",
"# {level_id: {concept: count}}\n",
"LEVEL_CONCEPTS = concepts_yaml['level-concepts']\n",
"\n",
"# {level_id: time}\n",
"PLAYER = concepts_yaml['players']['standard']\n",
"#PLAYER = concepts_yaml['players']['weak']\n",
"#PLAYER = concepts_yaml['players']['weak-zero']\n",
"\n",
"# {concept}\n",
"CONCEPTS = sorted(reduce(lambda a,b: a|b, [set(lev.keys()) for lev in LEVEL_CONCEPTS.values()]))\n",
"\n",
"# {concept: index}\n",
"CONCEPT_TO_INDEX = dict([(c,i) for (i,c) in zip(range(len(CONCEPTS)),sorted(CONCEPTS))])\n",
"\n",
"# {level_id: eqn}\n",
"EQUATIONS = concepts_yaml['level-equations']\n",
"\n",
"print \"Here's what the concepts refer to during gameplay:\"\n",
"print concepts_yaml['concept-descriptions']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Here's what the concepts refer to during gameplay:\n",
"(z)ero - canceling a + zero\n",
"(o)ne - canceling a * one\n",
"o(p)posite - canceling opposites\n",
"(a)dd - adding something to both sides\n",
"(c)reature - uses monster cards\n",
"(n)umber - uses number cards\n",
"\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# a pretty summary table of the data\n",
"html = '<table>'+''.join([\n",
" ('<tr>'+'<td>%s</td>'*4+'</tr>') % (l, PLAYER[l], EQUATIONS[l], LEVEL_CONCEPTS[l])\n",
" for l in sorted(PLAYER.keys())])+'</table>'\n",
"IPython.display.HTML(data=html)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table><tr><td>1</td><td>1.0</td><td>C x+0 = c</td><td>{'c': 1, 'z': 1}</td></tr><tr><td>2</td><td>2.1</td><td>C x+0+0+0 = c</td><td>{'c': 1, 'z': 3}</td></tr><tr><td>3</td><td>2.7</td><td>N x+0+0+0 = c</td><td>{'z': 3, 'n': 1}</td></tr><tr><td>4</td><td>0.9</td><td>C 1x = c</td><td>{'c': 1, 'o': 1}</td></tr><tr><td>5</td><td>1.8</td><td>C 111x = c</td><td>{'c': 1, 'o': 3}</td></tr><tr><td>6</td><td>2.0</td><td>N 111x = c</td><td>{'o': 3, 'n': 1}</td></tr><tr><td>7</td><td>3.0</td><td>C x+a-a = c</td><td>{'p': 1, 'c': 1, 'z': 1}</td></tr><tr><td>8</td><td>3.6</td><td>N x+a-a = c</td><td>{'p': 1, 'z': 1, 'n': 1}</td></tr><tr><td>9</td><td>5.6</td><td>C x+a = c</td><td>{'a': 1, 'p': 1, 'c': 1, 'z': 1}</td></tr><tr><td>10</td><td>7.8</td><td>C x+a+b = c</td><td>{'a': 2, 'p': 2, 'c': 1, 'z': 2}</td></tr><tr><td>11</td><td>8.5</td><td>N x+a+b = c</td><td>{'a': 2, 'p': 2, 'z': 2, 'n': 1}</td></tr><tr><td>12</td><td>3.6</td><td>C 1x+a-a = c</td><td>{'p': 1, 'c': 1, 'z': 1, 'o': 1}</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"<IPython.core.display.HTML at 0x1078f9110>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Build training set"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To build a training set from the refererence times, I'll cycle through the reference data a few times, building feature vectors and labels. To keep the code clean later, `labels` and `instances` are encoded as `numpy` arrays."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy\n",
"\n",
"cyclic_passes = 2\n",
"training_examples = PLAYER.items()*cyclic_passes\n",
"\n",
"labels = []\n",
"instances = []\n",
"\n",
"for level, observation in training_examples:\n",
" labels.append(observation)\n",
" inputs = zeros([len(CONCEPTS)])\n",
" for c,n in LEVEL_CONCEPTS[level].items():\n",
" inputs[CONCEPT_TO_INDEX[c]] = n\n",
" instances.append(inputs)\n",
"\n",
"labels = array(labels)\n",
"instances = array(instances)\n",
"print \"number of examples:\", len(instances) "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"number of examples: 24\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# a visual summary of training data (not important: I'm just learning matplotlib)\n",
"plt.subplot(1,2,1)\n",
"plt.title(\"instances\")\n",
"plt.xlabel(\"concept\")\n",
"plt.ylabel(\"example index\")\n",
"imshow(instances,interpolation='nearest',cmap='gist_heat',vmin=0)\n",
"plt.subplot(1,2,2)\n",
"plt.title(\"labels\")\n",
"plt.xlabel(\"time\")\n",
"imshow(labels.reshape([len(labels),1]),interpolation='nearest',cmap='gist_heat',vmin=0)\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\ngg==\n",
"text": [
"<matplotlib.figure.Figure at 0x107dc5190>"
]
}
],
"prompt_number": 12
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Build the predictive model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this graphical model, `ideal_concept_duration` plays the role of $\\mathbf{w}$ and `instances` provides the $\\mathbf{\\phi}$ vectors. All of the observations (the $y$ values) are packaged as the array `observation`."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pymc\n",
"\n",
"ideal_concept_duration = pymc.Gamma('ideal_concept_duration',alpha=2.0,beta=2.0/ones([len(CONCEPTS)]))\n",
"\n",
"@pymc.deterministic()\n",
"def ideal_duration(ideal_concept_duration=ideal_concept_duration):\n",
" return sum(instances*ideal_concept_duration,1)\n",
"\n",
"observation = pymc.Gamma('observation',alpha=2.0,beta=2.0/ideal_duration,observed=True,value=labels)\n",
"\n",
"model = pymc.Model([ideal_concept_duration,observation])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# a visual summary of the model (super ugly)\n",
"dot = pymc.graph.graph(model,legend=True)\n",
"IPython.display.SVG(data=dot.create_svg())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"svg": [
"<svg height=\"377pt\" viewBox=\"0.00 0.00 874.00 377.00\" width=\"874pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 373)\">\n",
"<title>G</title>\n",
"<polygon fill=\"white\" points=\"-4,5 -4,-373 871,-373 871,5 -4,5\" stroke=\"white\"/>\n",
"<g class=\"cluster\" id=\"clust1\"><title>cluster_Legend</title>\n",
"<polygon fill=\"none\" points=\"315,-276 315,-361 858,-361 858,-276 315,-276\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"586.5\" y=\"-345.8\">Legend</text>\n",
"</g>\n",
"<!-- observation -->\n",
"<g class=\"node\" id=\"node1\"><title>observation</title>\n",
"<ellipse cx=\"209\" cy=\"-18\" fill=\"lightgrey\" rx=\"52.9443\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"209\" y=\"-14.3\">observation</text>\n",
"</g>\n",
"<!-- (ideal_duration_rdiv_2.0) -->\n",
"<g class=\"node\" id=\"node2\"><title>(ideal_duration_rdiv_2.0)</title>\n",
"<polygon fill=\"none\" points=\"209,-88 417.923,-122.5 0.0774797,-122.5 209,-88\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"209\" y=\"-107.3\">(ideal_duration_rdiv_2.0)</text>\n",
"</g>\n",
"<!-- (ideal_duration_rdiv_2.0)&#45;&gt;observation -->\n",
"<g class=\"edge\" id=\"edge1\"><title>(ideal_duration_rdiv_2.0)-&gt;observation</title>\n",
"<path d=\"M209,-87.9714C209,-75.4368 209,-59.6294 209,-46.311\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"212.5,-46.2736 209,-36.2736 205.5,-46.2736 212.5,-46.2736\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"221\" y=\"-58.3\">beta</text>\n",
"</g>\n",
"<!-- ideal_duration -->\n",
"<g class=\"node\" id=\"node3\"><title>ideal_duration</title>\n",
"<polygon fill=\"none\" points=\"209,-186 335.133,-220.5 82.8668,-220.5 209,-186\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"209\" y=\"-205.3\">ideal_duration</text>\n",
"</g>\n",
"<!-- ideal_duration&#45;&gt;(ideal_duration_rdiv_2.0) -->\n",
"<g class=\"edge\" id=\"edge2\"><title>ideal_duration-&gt;(ideal_duration_rdiv_2.0)</title>\n",
"<path d=\"M209,-185.734C209,-169.778 209,-148.435 209,-132.818\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"212.5,-132.617 209,-122.617 205.5,-132.617 212.5,-132.617\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"213\" y=\"-156.3\">b</text>\n",
"</g>\n",
"<!-- ideal_concept_duration -->\n",
"<g class=\"node\" id=\"node4\"><title>ideal_concept_duration</title>\n",
"<ellipse cx=\"209\" cy=\"-307\" fill=\"none\" rx=\"96.2874\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"209\" y=\"-303.3\">ideal_concept_duration</text>\n",
"</g>\n",
"<!-- ideal_concept_duration&#45;&gt;ideal_duration -->\n",
"<g class=\"edge\" id=\"edge3\"><title>ideal_concept_duration-&gt;ideal_duration</title>\n",
"<path d=\"M209,-288.837C209,-272.645 209,-248.334 209,-230.994\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"212.5,-230.76 209,-220.761 205.5,-230.761 212.5,-230.76\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"275\" y=\"-254.3\">ideal_concept_duration</text>\n",
"</g>\n",
"<!-- data -->\n",
"<g class=\"node\" id=\"node5\"><title>data</title>\n",
"<ellipse cx=\"823\" cy=\"-307\" fill=\"lightgrey\" rx=\"27\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"823\" y=\"-303.3\">data</text>\n",
"</g>\n",
"<!-- stochastics -->\n",
"<g class=\"node\" id=\"node6\"><title>stochastics</title>\n",
"<ellipse cx=\"728\" cy=\"-307\" fill=\"none\" rx=\"50.0684\" ry=\"18\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"728\" y=\"-303.3\">stochastics</text>\n",
"</g>\n",
"<!-- deterministics -->\n",
"<g class=\"node\" id=\"node7\"><title>deterministics</title>\n",
"<polygon fill=\"none\" points=\"536,-284 659.234,-318.5 412.766,-318.5 536,-284\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"536\" y=\"-303.3\">deterministics</text>\n",
"</g>\n",
"<!-- potentials -->\n",
"<g class=\"node\" id=\"node8\"><title>potentials</title>\n",
"<polygon fill=\"none\" points=\"394.25,-325 323.75,-325 323.75,-289 394.25,-289 394.25,-325\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"359\" y=\"-303.3\">potentials</text>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text": [
"<IPython.core.display.SVG at 0x10bb16f10>"
]
}
],
"prompt_number": 21
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Fit model to data (MAP inference)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%time\n",
"mapper = pymc.MAP(model.nodes)\n",
"mapper.draw_from_prior()\n",
"mapper.fit(method='fmin_powell',verbose=True)\n",
"# powell's method was faster than the default on larger data sets"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Current log-probability : -45.695929\n",
"Current log-probability : -44.123325\n",
"Current log-probability : -43.658910\n",
"Current log-probability : -43.654900\n",
"Optimization terminated successfully.\n",
" Current function value: 43.654900\n",
" Iterations: 4\n",
" Function evaluations: 304\n",
"CPU times: user 34.1 ms, sys: 1.11 ms, total: 35.2 ms\n",
"Wall time: 34.3 ms\n"
]
}
],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# show best model parameters as bar chart\n",
"grid(True)\n",
"bar(range(len(CONCEPTS)),ideal_concept_duration.value)\n",
"print ideal_concept_duration.value"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 0.90249382 0.48599935 0.64853007 0.45220019 1.68391463 0.64544966]\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAEACAYAAACuzv3DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGchJREFUeJzt3W9MW9f9BvAHZN6QpIGUlAbsyQl4GMofs5GQKIoEWTUo\nE3RNkArrlhoI87JWVbo3aK2mmr4IodOkdmEvaJQWrWlZ9qIT7UbdLVlMaCJKK8iIliojHahgKiQ3\nYdCSFePc34uAhwv+w49rLufc5yMhOPGJfb4c/OXy2NeOUxRFARERCSte6wUQEdHasJETEQmOjZyI\nSHBs5EREgmMjJyISHBs5EZHgIjby+vp6pKamIi8vb8XLvV4vysvLYbPZkJubi46ODrXXSEREYcRF\neh55b28vNm/ejCNHjuDatWvLLnc6nfj666/R0tICr9eLrKwsTE5OwmAwxGzRRET0PxGPyA8cOIDk\n5OSQl+/YsQPT09MAgOnpadx///1s4kRE62jNHbexsREHDx5EWloaZmZm8Mc//lGNdRERUZTW/GDn\niRMnYLPZMDExgatXr+Kpp57CzMyMGmsjIqIorPmI/MqVK3j++ecBABkZGdi5cydu3LiBoqKioHnp\n6emYmJhY680REelKRkYGbt68GXbOmo/IrVYrzp8/DwCYnJzEjRs3sGvXrmXzJiYmoCiKtB8vvPCC\n5mtgfayN9cn38emnn0bswxGPyGtra9HT0wOv1wuTyYTm5mb4fD4AgMPhwHPPPYe6ujoUFBTg7t27\neOmll7Bt27bV/j4Q3ujoqNZLiCmZ65O5NoD16UHERt7Z2Rn28pSUFLz77ruqLYiIiFaHZ3aqxG63\na72EmJK5PplrA1ifHkQ8IUi1G4qLwzrdFBGRNKLpnTwiV4nb7dZ6CTElc30y1wawPj1gIyciEhyj\nFSKiDYzRChGRDrCRq0T2nE7m+mSuDWB9esBGTkQkOGbkREQbGDNyIiIdYCNXiew5ncz1yVwbACQm\nbkFcXJxQH/fdF/3rNcm+f9HgW/kQSe7OnS8BiBVrzszEab0EoTAjJ5JcXFwcRGvkAPvFImbkREQ6\nwEauEtlzOpnrk7k2PeD+sZETEQkvYkZeX1+Pv/zlL3jggQdw7dq1Fee43W48++yz8Pl8SElJWfE3\nJDNyIm0wIxdbNL0zYiPv7e3F5s2bceTIkRUb+dTUFPbv34/3338fRqMRXq8XKSkp/6/FEJH62MjF\npsqDnQcOHEBycnLIy9966y0cPnwYRqMRAFZs4noge04nc30y16YH3D8VMvLh4WHcunULpaWlKCoq\nwhtvvKHGuoiIKEprPiHI5/NhYGAAFy5cwOzsLPbt24e9e/fCYrEsm2u322E2mwEASUlJsNlsKCkp\nAfC/36qijhf/baOsh/VFPy4pKdlQ64nFGHAvfBZlHP3Pm2z753a70dHRAQCBfhlJVCcEjY6OorKy\ncsWMvLW1FXfu3IHT6QQAHD16FOXl5aiurg6+IWbkRJpgRi62dTkh6NFHH8UHH3wAv9+P2dlZfPjh\nh8jJyVnr1Qpn8TeqrGSuT+ba9ID7F0W0Ultbi56eHni9XphMJjQ3N8Pn8wEAHA4HrFYrysvLkZ+f\nj/j4eDQ2NuqykRMRaYWvtUIkOUYrYuNrrRAR6QAbuUpkz+lkrk/m2vSA+8dGTkQkPGbkRJJjRi42\nZuRERDrARq4S2XM6meuTuTY94P6xkRMRCY8ZOZHkmJGLjRk5EZEOsJGrRPacTub6ZK5ND7h/bORE\nRMJjRk4kOWbkYmNGTkSkA2zkKpE9p5O5Pplr0wPuHxs5EZHwmJETSY4ZudhUycjr6+uRmpqKvLy8\nsPM++ugjGAwGvP3226tbJRERrUnERl5XVweXyxV2jt/vR1NTE8rLy3X7W1T2nE7m+mSuTQ+4f1E0\n8gMHDiA5OTnsnFOnTqG6uhrbt29XbWFERBSdNT/Y6fF40NXVhWPHjgFYzOP0p6SkROslxJTM9clc\nmx5w/wDDWq/g+PHjOHnyZCCQDxet2O12mM1mAEBSUhJsNltgExb/POKYY47VHwPuhc+ijO/VsFG+\nf+s5drvd6OjoAIBAv4wkqmetjI6OorKyEteuXVt22a5duwLN2+v1IjExEadPn0ZVVVXwDUn+rJWl\nP3Qykrk+mWsD5H/Wih72L9L3Ys1H5P/+978DX9fV1aGysnJZEyciotiJ2Mhra2vR09MDr9cLk8mE\n5uZm+Hw+AIDD4Yj5AkUh8xEBIHd9MtemB9w/nhBEJD3ZoxXZ8UWz1tHigxWykrk+mWvTA+4fGzkR\nkfAYrRBJjtGK2BitEBHpABu5SmTP6WSuT+ba9ID7x0ZORCQ8ZuREkmNGLjZm5EREOsBGrhLZczqZ\n65O5Nj3g/rGRExEJjxk5keSYkYuNGTkRkQ6wkatE9pxO5vpkrk0PuH9s5EREwmNGTiQ5ZuRiY0ZO\nRKQDERt5fX09UlNTkZeXt+Llb775JgoKCpCfn4/9+/djaGhI9UWKQPacTub6ZK5ND7h/UTTyuro6\nuFyukJfv2rULly5dwtDQEH71q1/hpz/9qaoLJCKi8KLKyEdHR1FZWYlr166FnXf79m3k5eVhfHx8\n+Q0xIyfSBDNysa17Rn7mzBlUVFSoeZVERBSBQa0runjxIl577TVcvnw55By73Q6z2QwASEpKgs1m\nC7wD9mLOJer45ZdflqoePdW3NGPdCOuJxRhYrFGU8b0a9Lh/brcbHR0dABDolxEpURgZGVFyc3ND\nXv6Pf/xDycjIUIaHh0POifKmhHXx4kWtlxBTMtcnc22Kcu++ByiCfUTfL/Swf5GsOSP/7LPPcPDg\nQZw9exZ79+4NeR3MyIm0wYxcbNH0zoiNvLa2Fj09PfB6vUhNTUVzczN8Ph8AwOFw4OjRo/jTn/6E\nb33rWwCAhIQE9Pf3/78WQ0TqYyMXmyqNfD0XI7KleZ6MZK5P5toA+Ru5HvYv0veCZ3YSEQmOR+RE\nkpP9iFx2PCInItIBNnKVLH0uq4xkrk/m2vSA+8dGTkQkPGbkRJJjRi42ZuRERDrARq4S2XM6meuT\nuTY94P6xkRMRCY8ZOZHkmJGLjRk5EZEOsJGrRPacTub6ZK5ND7h/bORERMJjRk4kOWbkYmNGTkSk\nAxEbeX19PVJTU5GXlxdyzjPPPAOLxYKCggIMDg6qukBRyJ7TyVyfzLXpAfcvikZeV1cHl8sV8vLu\n7m7cvHkTw8PDePXVV3Hs2DFVF0hEROGt+T07f/azn6G0tBSPP/44AMBqtaKnpwepqanBN8SMnEgT\nzMjFti4ZucfjgclkCoyNRiPGx8fXerVERBQlVR7s/OZvi3tHAPoie04nc30y16YH3D/AsNYrSE9P\nx9jYWGA8Pj6O9PT0Fefa7XaYzWYAQFJSEmw2W+BNUxc3Q9Tx1atXN9R6WB/HS8eAe+GzKOPgN1XW\n+vu3nmO3242Ojg4ACPTLSNackXd3d6OtrQ3d3d3o6+vD8ePH0dfXt/yGmJETaYIZudii6Z0Rj8hr\na2vR09MDr9cLk8mE5uZm+Hw+AIDD4UBFRQW6u7uRmZmJTZs24fXXX1dn9UREFBWe2amSpX8Gykjm\n+mSuDZD/iFwP+8czO4mIJMcjciLJyX5ELjsekRMR6QAbuUoWnz4kK5nrk7k2PeD+sZETEQmPGTmR\n5JiRi40ZORGRDrCRq0T2nE7m+mSuTQ+4fyq81spqiPZiWlu2JGN6+pbWyyAiCmtdM3LmdETrj/c9\nsTEjJyLSATZylcie08lcn8y16QH3j42ciEh4zMjDYk5H4uN9T2zMyImIdICNXCWy53Qy1ydzbXrA\n/YuikbtcLlitVlgsFrS2ti673Ov1ory8HDabDbm5uYH3miMiovURNiP3+/3IysrC+fPnkZ6ejt27\nd6OzsxPZ2dmBOU6nE19//TVaWlrg9XqRlZWFyclJGAzB5xoxpyPSBu97YltzRt7f34/MzEyYzWYk\nJCSgpqYGXV1dQXN27NiB6elpAMD09DTuv//+ZU2ciIhiJ2wj93g8MJlMgbHRaITH4wma09jYiH/+\n859IS0tDQUEBXnnlldisdIOTPaeTuT6Za9MD7l+ERh7Na6OcOHECNpsNExMTuHr1Kp566inMzMyo\ntkAiIgovbAaSnp6OsbGxwHhsbAxGozFozpUrV/D8888DADIyMrBz507cuHEDRUVFK1yjHYB54esk\nADYAJQtj98LnjTZeGC381l98t+5vjhf/LdTloo9lrq+kpGRDrScW441zf4p2HP3Pm2z753a7A08a\nMZvNiEbYBzvn5+eRlZWFCxcuIC0tDXv27Fn2YOcvfvELbN26FS+88AImJyfx3e9+F0NDQ9i2bVvw\nDfEBFyJN8L4ntjU/2GkwGNDW1oaysjLk5OTg8ccfR3Z2Ntrb29He3g4AeO655/Dxxx+joKAADz/8\nMF566aVlTVwPZM/pZK5P5tr0gPsXxeuRP/LII3jkkUeC/s3hcAS+TklJwbvvvqv+yoiIKCp8rZWw\n+OcdiY/3PbHxtVaIiHSAjVwlsud0Mtcnc216wP1jIyciEh4z8rCY05H4eN8TGzNyIiIdYCNXiew5\nncz1yVybHnD/2MiJiITHjDws5nQkPt73xMaMnIhIB9jIVSJ7TidzfTLXpgfcPzZyIiLhMSMPizkd\niY/3PbExIyci0gE2cpXIntMlJm5BXFycMB/33Rf9a+LLvney4/5F8XrkRABw586XEOnP85mZyO83\nS3KoqKhc+PkUx5YtyZievqXa9UU8Ine5XLBarbBYLGhtbV1xjtvtRmFhIXJzc4Pe41FP9Fq3DLh3\nYvvfQYY4HzMzt1X9HoR9sNPv9yMrKwvnz59Heno6du/evew9O6emprB//368//77MBqN8Hq9SElJ\nWX5DfMBFaOLtH/dukXh7B6xm//RQ35oe7Ozv70dmZibMZjMSEhJQU1ODrq6uoDlvvfUWDh8+DKPR\nCAArNnE9YE4nLu4diS5sI/d4PDCZTIGx0WiEx+MJmjM8PIxbt26htLQURUVFeOONN2KzUiIiWlHY\nBzvv/ckSns/nw8DAAC5cuIDZ2Vns27cPe/fuhcViWWG2HYB54eskADYAJQtj98LnjTZeGC0ctS3m\nqd8cL/5bqMtFHy9UCO33I9px9PtRUlKi+fc39vvnXvgsynh19yft17vacej63G43Ojo6AABmsxnR\nCJuR9/X1wel0wuVyAQBaWloQHx+PpqamwJzW1lbcuXMHTqcTAHD06FGUl5ejuro6+IYkz7FkJ97+\nce8Wibd3ADPyJTPXmpEXFRVheHgYo6OjmJubw7lz51BVVRU059FHH8UHH3wAv9+P2dlZfPjhh8jJ\nyYlqgTJhziou7h2JLmy0YjAY0NbWhrKyMvj9fjQ0NCA7Oxvt7e0AAIfDAavVivLycuTn5yM+Ph6N\njY26bORERFrha62ExT/PF4m3f9y7ReLtHcBoZclMvtYKEZH82MhVwpxVXNw7Eh0bORGR4JiRh8Wc\ndZF4+8e9WyTe3gHMyJfMZEZORCQ/NnKVMGcVF/eORMdGTkQkOGbkYTFnXSTe/nHvFom3dwAz8iUz\nmZETEcmPjVwlzFnFxb0j0fE9O1Ui2vsGqv2egUSkHWbkYcmc060uQ5a9PpmJt3eA3Pc9gBk5EREF\nYSMn3WNGTqJjtBKWzH/eMVpZlJi4RajHN4DVPcYh3t4Bct/3ALWjFTbysGT+YWIjD8wUrjaA9S2Z\nqYP61pyRu1wuWK1WWCwWtLa2hpz30UcfwWAw4O23345qcUREpI6wjdzv9+Ppp5+Gy+XC9evX0dnZ\niU8++WTFeU1NTSgvL+czBYiI1lnYRt7f34/MzEyYzWYkJCSgpqYGXV1dy+adOnUK1dXV2L59e8wW\nSkREKwvbyD0eD0wmU2BsNBrh8XiWzenq6sKxY8cALOZVRES0XsI28mia8vHjx3Hy5MlAIB8+WrED\ncC58vAzAveQy9wYcLxm53UFPU/vmePn/0WK9qxkjbD36q0/r9a52zPpkrc/tdsNut8Nut8PpdCIa\nYZ+10tfXB6fTCZfLBQBoaWlBfHw8mpqaAnN27doVaN5erxeJiYk4ffo0qqqqgm9IB48si1Ufn7US\nmClcbQDrWzJTB/Wt6emH8/PzyMrKwoULF5CWloY9e/ags7MT2dnZK86vq6tDZWUlDh06tOJiZP9m\ni1UfG3lgpnC1AaxvyUwd1BdpbtgXzTIYDGhra0NZWRn8fj8aGhqQnZ2N9vZ2AIDD4Yhy0UREFCs8\nISgsmY8KeEQemClcbQDrWzJTB/XxRbOIiCTHRk5EJDg2ciIiwbGRExEJjo2ciEhwbORERIJjIyci\nEhwbORGR4NjIiYgEx0ZORCQ4NnIiIsGxkRMRCY6NnIhIcGzkRESCYyMnIhIcGzkRkeCiauQulwtW\nqxUWiwWtra3LLn/zzTdRUFCA/Px87N+/H0NDQ6ovlIiIQlAimJ+fVzIyMpSRkRFlbm5OKSgoUK5f\nvx4058qVK8rU1JSiKIry3nvvKcXFxcuuB4ACKIJ9RPz2CFxf9LXJXp94tbE+vdUXScQj8v7+fmRm\nZsJsNiMhIQE1NTXo6uoKmrNv3z5s3boVAFBcXIzx8XHVftEQEVF4ERu5x+OByWQKjI1GIzweT8j5\nZ86cQUVFhTqrIyKiiCI28ntvbBqdixcv4rXXXlsxR7/HDsC58PEyAPeSy9wbcLxk5HbD7XaHHC//\nP1qsdzVjhK1Hf/Vpvd7VjlmfrPW53W7Y7XbY7XY4nU5EI24hgwmpr68PTqcTLpcLANDS0oL4+Hg0\nNTUFzRsaGsKhQ4fgcrmQmZm5/IZ08E7XYtUXfW2A3PWJVxvA+pbM1EF9keZGPCIvKirC8PAwRkdH\nMTc3h3PnzqGqqipozmeffYZDhw7h7NmzKzZxIiKKHUPECQYD2traUFZWBr/fj4aGBmRnZ6O9vR0A\n4HA48OKLL+L27ds4duwYACAhIQH9/f2xXTkREQGIIlpR7YZ08OePWPUxWgnMFK42gPUtmamD+tYc\nrRAR0cbGRk5EJDg2ciIiwbGRExEJjo2ciEhwbORERIJjIyciEhwbORGR4NjIiYgEx0ZORCQ4NnIi\nIsGxkRMRCY6NnIhIcGzkRESCYyMnIhJcxEbucrlgtVphsVhCvhfnM888A4vFgoKCAgwODqq+SCIi\nCi1sI/f7/Xj66afhcrlw/fp1dHZ24pNPPgma093djZs3b2J4eBivvvpq4F2CiIhofYRt5P39/cjM\nzITZbEZCQgJqamrQ1dUVNOedd97Bk08+CQAoLi7G1NQUJicnY7diIiIKEraRezwemEymwNhoNMLj\n8UScMz4+rvIyiYgolLCN/N574UX2zfeTi/b/ERHR2hnCXZieno6xsbHAeGxsDEajMeyc8fFxpKen\nL7uujIwMfPqpeA1+db+UxKpv9b9wZa5PrNoA1veN2TFbR6xEW19GRkbEOWEbeVFREYaHhzE6Ooq0\ntDScO3cOnZ2dQXOqqqrQ1taGmpoa9PX1ISkpCampqcuu6+bNm1EtmoiIVidsIzcYDGhra0NZWRn8\nfj8aGhqQnZ2N9vZ2AIDD4UBFRQW6u7uRmZmJTZs24fXXX1+XhRMR0T1xyjcDbiIiEkrMz+yM5oQi\nkdXX1yM1NRV5eXlaL0V1Y2NjKC0txUMPPYTc3Fz89re/1XpJqvrvf/+L4uJi2Gw25OTk4Je//KXW\nS4oJv9+PwsJCVFZWar0U1ZnNZuTn56OwsBB79uzRejmqmpqaQnV1NbKzs5GTk4O+vr7Qk5UYmp+f\nVzIyMpSRkRFlbm5OKSgoUK5fvx7Lm1x3ly5dUgYGBpTc3Fytl6K6zz//XBkcHFQURVFmZmaUb3/7\n29Lt31dffaUoiqL4fD6luLhY6e3t1XhF6vvNb36j/OhHP1IqKyu1XorqzGaz8sUXX2i9jJg4cuSI\ncubMGUVR7v18Tk1NhZwb0yPyaE4oEt2BAweQnJys9TJi4sEHH4TNZgMAbN68GdnZ2ZiYmNB4VepK\nTEwEAMzNzcHv92Pbtm0ar0hd4+Pj6O7uxtGjR5c9TVgWMtb1n//8B729vaivrwdw7/HKrVu3hpwf\n00YezQlFJIbR0VEMDg6iuLhY66Wo6u7du7DZbEhNTUVpaSlycnK0XpKqnn32Wfz6179GfLycr48X\nFxeHhx9+GEVFRTh9+rTWy1HNyMgItm/fjrq6OnznO99BY2MjZmdnQ86P6e7yxCA5fPnll6iursYr\nr7yCzZs3a70cVcXHx+Pq1asYHx/HpUuX4Ha7tV6Sav785z/jgQceQGFhoZRHrQBw+fJlDA4O4r33\n3sPvfvc79Pb2ar0kVczPz2NgYAA///nPMTAwgE2bNuHkyZMh58e0kUdzQhFtbD6fD4cPH8aPf/xj\n/PCHP9R6OTGzdetW/OAHP8DHH3+s9VJUc+XKFbzzzjvYuXMnamtr8fe//x1HjhzRelmq2rFjBwBg\n+/bteOyxx9Df36/xitRhNBphNBqxe/duAEB1dTUGBgZCzo9pI196QtHc3BzOnTuHqqqqWN4kqUhR\nFDQ0NCAnJwfHjx/Xejmq83q9mJqaAgDcuXMHf/vb31BYWKjxqtRz4sQJjI2NYWRkBH/4wx9w8OBB\n/P73v9d6WaqZnZ3FzMwMAOCrr77CX//6V2mePfbggw/CZDLhX//6FwDg/PnzeOihh0LOD3tC0FqF\nOqFIJrW1tejp6cEXX3wBk8mEF198EXV1dVovSxWXL1/G2bNnA0/vAoCWlhaUl5drvDJ1fP7553jy\nySdx9+5d3L17Fz/5yU/wve99T+tlxYxsUefk5CQee+wxAPeiiCeeeALf//73NV6Vek6dOoUnnngC\nc3NzyMjICHuyJU8IIiISnJwPZRMR6QgbORGR4NjIiYgEx0ZORCQ4NnIiIsGxkRMRCY6NnIhIcGzk\nRESC+z+gqeyCc5NOkwAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10bcc6c50>"
]
}
],
"prompt_number": 25
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Explore posterior marginal distributions (with MCMC)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcmc = pymc.MCMC(model.nodes)\n",
"mcmc.sample(100000)\n",
"pymc.Matplot.plot(mcmc)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [- 4% ] 4483 of 100000 complete in 0.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [--- 8% ] 8880 of 100000 complete in 1.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [----- 13% ] 13173 of 100000 complete in 1.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [------ 17% ] 17500 of 100000 complete in 2.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-------- 21% ] 21923 of 100000 complete in 2.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [--------- 26% ] 26290 of 100000 complete in 3.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [----------- 30% ] 30682 of 100000 complete in 3.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [------------- 35% ] 35035 of 100000 complete in 4.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-------------- 39% ] 39372 of 100000 complete in 4.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [---------------- 43% ] 43745 of 100000 complete in 5.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------48% ] 48000 of 100000 complete in 5.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------52% ] 52294 of 100000 complete in 6.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------56%- ] 56685 of 100000 complete in 6.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------61%--- ] 61080 of 100000 complete in 7.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------65%---- ] 65509 of 100000 complete in 7.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------69%------ ] 69864 of 100000 complete in 8.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------74%-------- ] 74262 of 100000 complete in 8.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------78%--------- ] 78620 of 100000 complete in 9.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------83%----------- ] 83084 of 100000 complete in 9.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------87%------------- ] 87401 of 100000 complete in 10.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------91%-------------- ] 91729 of 100000 complete in 10.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------96%---------------- ] 96034 of 100000 complete in 11.0 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\r",
" [-----------------100%-----------------] 100000 of 100000 complete in 11.5 sec"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Plotting ideal_concept_duration_0\n",
"Plotting"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ideal_concept_duration_1\n",
"Plotting"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ideal_concept_duration_2\n",
"Plotting"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ideal_concept_duration_3\n",
"Plotting"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ideal_concept_duration_4\n",
"Plotting"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" ideal_concept_duration_5\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nlwAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10bf9eb10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10c1b3a90>"
]
}
],
"prompt_number": 29
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Examine covariance with normal approximation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There's already far more information in the MCMC traces above than we need for looking at correlations between variables. However, I really wanted to play with PyMC's `NormApprox` tool.\n",
"\n",
"**Mildly interesting findings:**\n",
"\n",
"* Reading the diagonal, `a` (adding) and `p` (opposite) have the most variance. But why?\n",
"* Reading the off-diagonals, see that blue spot in the `a`~`p` position? They have negative covariance. This suggests these two variables are fighting to explain the duration in levels with adding (which always contains oppositing).\n",
"* Creature cards `c` and number cards `n` have a positive covariance. When one draws time away from the physical actions in half of the levels, it pushes the other to soak up that time in the other half of the levels. Another way to see this is that they are both have a mild negative covariance with the physical actions."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"na = pymc.NormApprox(model.nodes)\n",
"na.fit()\n",
"\n",
"imshow(2*triu(na.C[ideal_concept_duration]),interpolation=\"nearest\",cmap='bwr',vmin=-1,vmax=1)\n",
"print na.C[ideal_concept_duration]\n",
"sorted(CONCEPTS)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[[ 0.48991892 0.00064652 0.01718328 0.00131613 -0.20105814 -0.00723816]\n",
" [ 0.00064652 0.10905679 0.04769873 -0.0343632 -0.03350781 -0.0349222 ]\n",
" [ 0.01718328 0.04769873 0.27033539 -0.04003151 -0.05102219 -0.04842461]\n",
" [ 0.00131613 -0.0343632 -0.04003151 0.04843968 0.00840582 0.01418628]\n",
" [-0.20105814 -0.03350781 -0.05102219 0.00840582 0.43957919 -0.04190602]\n",
" [-0.00723816 -0.0349222 -0.04842461 0.01418628 -0.04190602 0.08189671]]\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"['a', 'c', 'n', 'o', 'p', 'z']"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n9sDAgFavXq26ujpVVFRo586dOn36dKAztbS0aOnSpYHO8EcrVqxQJBKRJFVVVamhoUHXr18PeCqp\nsrJSkjQ5OalUKlUS93gbGRnRuXPntG/fvpK7PVUx5imJsEdHR1VbW5t5v6amRqOjowFOVPqGh4c1\nODioWCwW9ChKp9OKRCKqrq5WW1ubwuFw0CNp//79OnLkiMrKSuJbPKNYt8sqib91KBQKeoQFZXx8\nXDt27FB3d7eqqqqCHkdlZWW6cuWKRkZG1NfXF/iPcZ49e1bLly9XNBotuaN1f3+/BgcH9eWXX+rj\njz/WhQsXCvJ5SiLsVatWKZlMZt5PJpOqqakJcKLSNTU1pc7OTu3atUvbtm0LepzfWbJkibZs2aLL\nly8HOselS5f0xRdf6KmnnlJXV5e+/fZbvfnmm4HO9B8rV66UJD355JPavn174e41X/Cr+BxMTU25\np59+2g0NDbl79+6VxItnzjk3NDRUUi+epdNpt3v3bvfuu+8GPUrGzZs33a+//uqcc+7u3buupaXF\nffPNNwFP9V+JRMJt3bo16DGcc/dfZLx165Zzzrnx8XHX1NTkvvrqq4J8rpI4YpeXl+v48eNqb29X\nOBzWa6+9poaGhkBn6urqUlNTk65du6ba2lqdOHEi0Hmk+6dxJ0+eVG9vr6LRqKLRqHp6egKdaWxs\nTC+99JIikYhisZg6Ojq0cePGQGf6o1K51Ltx44ZaWloyX6utW7cW7HZZ/EgpYFBJHLEB+IuwAYMI\nGzCIsAGDCBswiLABgwgbMIiwAYP+H5jzpj4Md/K/AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x10c1c9a50>"
]
}
],
"prompt_number": 31
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Conclusions?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Um, things look pretty good. I've been doing a lot of manual exploration with different data set sizes, different personas, and different prior and observation models.\n",
"\n",
"When there is plenty of data, an $\\text{Exponential}(\\beta:1)$ distribution works great as a prior (and as an observation model, but it can do some silly things during MAP inference when very few data points are given. When no data is supplied, the MAP estimate happily sets everything to zero (sadface). Using a gamma distribution with $\\alpha \\geq 2$ seems to help things scale down while not being so strong as to influence the big data case in a visible way.\n",
"\n",
"Yeah, we'll run with this model in our next gameplay prototype.\n",
"\n",
"Also, PyMC and IPython Notebook have been really fun to use. I'll make a point of using them more in the future."
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment