Skip to content

Instantly share code, notes, and snippets.

@joezuntz
Last active February 22, 2017 10:56
Show Gist options
  • Save joezuntz/7d341e63a668c76565b1fef27ed4a334 to your computer and use it in GitHub Desktop.
Save joezuntz/7d341e63a668c76565b1fef27ed4a334 to your computer and use it in GitHub Desktop.
Truncated Exponential Sampling With Negative Beta allowed
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"pylab inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import scipy.stats\n",
"import scipy.integrate"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First lets make our true distribution, a truncated exponential from 0 .. b=1 with beta=-1.0.\n",
"Negative beta values are not normally allowed for exponential distributions because they diverge, but if we are truncating this one at both ends then it is allowed. This does mean we can't use the standard scipy tools though.\n",
"\n",
"First we will generate a simulated sample. We will generate u ~ U[0,1] and use that to sample into the cumulative density function.\n",
"\n",
"The PDF we want is:\n",
"\n",
"$P(x) = A e^{-x/\\beta} \\qquad [0<x<b]$\n",
"\n",
"where $A = \\frac{1}{\\beta \\left(1-e^{-b/\\beta}\\right)}$\n",
"\n",
"and the CDF:\n",
"\n",
"$C(x) = B \\left( e^{-x/\\beta} - 1 \\right)$\n",
"\n",
"where $B = \\frac{1}{\\left(e^{-b/\\beta}-1\\right)}$\n",
"\n",
"We will code these up and make some plots to ensure they all look right.\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x10b46ea90>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEICAYAAACktLTqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VPW9xvHPdyYTgoBRBNxAwRaqxCBiUJSGotgKLmC1\ntihKUZB6e7m1Qq1UrxioS1VcqlAV1CJVBPSqIIKIsqqABARkU8OibEJA2Q1k+d0/MmCICRlg5pyZ\nyfN+vfJilpM5Dwd4OPmdc37HnHOIiEhyCfgdQEREok/lLiKShFTuIiJJSOUuIpKEVO4iIklI5S4i\nkoRU7iIiSUjlLtWGma0xs+/NbJeZbTKzEWZW28ymm1mBme00sx1mNt/M+ptZjTLfm2NmheHv3f/1\nVz9/PyKHonKX6uYq51xtoBWQBfxv+PU+zrk6wMlAP6ArMNHMrMz3jnHO1S7z9YinyUUOg8pdqiXn\n3HpgEnB2udd3O+emA52BC4ErvE8ncvRU7lItmVkj4HLg04red859DeQC2V7mEokWlbtUN2+Z2Tbg\nQ2AG8OAhlt0A1C3z/Ldmtq3M1ymxDCpyNFL8DiDisaudc++XfeHgYfWDnAp8XOb5WOfcjbEKJhJN\n2nMXqUB42OY8YJbfWUSOhMpdpAwzO8bMfgGMAz4BJvocSeSIqNxFSg0xs53AJuBJ4P+Ajs65En9j\niRwZ0806RESSj/bcRUSSkMpdRCQJqdxFRJKQyl1EJAn5dhFTvXr1XOPGjf1avYhIQpo/f/4W51z9\nqpbzrdwbN25Mbm6uX6sXEUlIZvZVJMtpWEZEJAmp3EVEkpDKXUQkCWlWSJEkVVhYyLp16ygoKPA7\nihyBtLQ0GjZsSCgUOqLvV7mLJKl169ZRp04dGjdufKhpjSUOOefYunUr69ato0mTJkf0GRqWEUlS\nBQUFnHDCCSr2BGRmnHDCCUf1U5fKXSSJqdgT19H+2ancRUSSkMo9xp764EtGf/K13zFEfBEMBmnZ\nsiVnn3021113HXv27Dno9YyMDM455xwee+wxSkpKp86fPn066enptGzZkpYtW3LppZf6+VtIWDqg\nGmOPT/kCgC7vnEdN2wc5231OJOKdmjVrsnDhQgC6devGs88+S9++fQ96ffPmzdxwww3s2LGDgQMH\nApCdnc2ECRN8y50MtOfukbeK2/odQcRX2dnZ5OXl/ej1Bg0aMGzYMIYMGYJuHhQ92nOPsTPq1WLV\nlt38u7gjXYPT0OEt8cPAt5eybMOOqH5m81OO5b6rMiJatqioiEmTJtGxY8cK3z/jjDMoLi5m8+bN\nAMyaNYuWLVsCcN1113HPPfdEJ3Q1onKPtXCbf+EaMbukORf5m0bEU99///2Bks7OzqZnz54RfZ+G\nZY6eyt0DvwzksqCkKS8Wd1S5iy8i3cOOtrJj64eyatUqgsEgDRo0YPny5R4kS34ac/dADQq5ITiV\nD0pa8dXW3X7HEYkr+fn53HbbbfTp00fn5UeRyt0jN6ZMIUgJI2dHNBWzSFLbP1yTkZHBpZdeyq9+\n9Svuu+8+v2MlFQ3LeORE28blgbmMnZfGHb9sRu0a2vSS/Hbt2lXh68XFxZV+T/v27Wnfvn2MElUf\n2nP30M0p77JzbxFvLFjndxQRSXIq91grc9ruuYGVnNPoOEZ8tIaSEp3PKyKxo3L3gJVp+FvaNmbV\nlt3M+CLfx0QikuyqLHcze9HMNpvZkkre72Zmi83sMzP72MzOiX7M5NHpzUxOYivDZ63yO4qIJLFI\n9txHABVfVlZqNfAL51wm8HdgWBRyJa1UK+aWlHf5eOVWlqzXPDMiEhtVlrtzbibw7SHe/9g59134\n6RygYZSyJa2uwanUrpHCczO19y4isRHt8/F6ApMqe9PMegO9AU477bQorzpxHGvfc8P5p/HCh6v5\n62U/o1HdY/yOJNVBTnqUP6/qnzyDwSCZmZkUFhaSkpJC9+7dueOOOwgEkvtw35o1a7jyyitZsqTC\n0WxPRG0Lm9nFlJb7XZUt45wb5pzLcs5l1a9fP1qrTkg3t22MAS9+tNrvKCIxs3/6gaVLlzJlyhQm\nTZp0YFrfsoqKinxIl9yiUu5m1gJ4HujinNsajc9Mdien16TzOacwZt5atu8p9DuOSMyVn9p3xIgR\ndO7cmUsuuYQOHTqwa9cuOnToQKtWrcjMzGTcuHEAPProozz11FMA3HHHHVxyySUATJ06lW7dugFQ\nu3Zt7rnnHs455xzatGnDpk2bfrT+GTNmHLgByLnnnsvOnTsrXeeaNWs488wz6dGjB82aNaNbt268\n//77tG3blqZNm/LJJ58AkJOTw0033cSFF15I06ZNGT58+I/WW1xczJ133knr1q1p0aIFzz33HAAb\nN26kXbt2B25mMmvWrKhu76MudzM7DXgDuMk598XRR6omctK5demN7NlXzMtzNSWBVA/lp/ZdsGAB\nr7/+OjNmzCAtLY0333yTBQsWMG3aNPr164dzjuzs7APFl5uby65duygsLGTWrFm0a9cOgN27d9Om\nTRsWLVpEu3btKizZwYMHM3ToUBYuXMisWbOoWbNmpesEyMvLo1+/fqxYsYIVK1YwatQoPvzwQwYP\nHsyDDz544HMXL17M1KlTmT17NoMGDWLDhg0HrfeFF14gPT2defPmMW/ePIYPH87q1asZNWoUl112\nGQsXLmTRokUHZs+MlirH3M3sVaA9UM/M1gH3ASEA59yzwADgBOBf4Ul/ipxzWVFNmcAOdanSWYG1\nZAcW8+/J2+g1/QJqDNQPPVK9/PKXv6Ru3boAOOe4++67mTlzJoFAgPXr17Np0ybOO+885s+fz44d\nO6hRowatWrUiNzeXWbNmHdijT01N5corrwTgvPPOY8qUKT9aV9u2benbty/dunXjmmuuoWHDhhQW\nFla4ToAmTZqQmZkJQEZGBh06dMDMyMzMZM2aNQc+t0uXLtSsWZOaNWty8cUX88knnxxU1O+99x6L\nFy/m9ddfB2D79u18+eWXtG7dmltuuYXCwkKuvvpq78vdOXd9Fe/3AnpFLVESskNU/B+CE7ix5G7e\nKv45v/Mwk4gfyk7tC1CrVq0D773yyivk5+czf/58QqEQjRs3pqCggFAoRJMmTRgxYgQXXXQRLVq0\nYNq0aeTl5XHWWWcBEAqFDswoGQwGKxzD79+/P1dccQUTJ06kbdu2TJ48mTlz5lS4ToAaNWoc+N5A\nIHDgeSAQOOjzy89kWf65c46nn36ayy677EeZZs6cyTvvvEOPHj3o27cv3bt3j3xjViG5D1kngLaB\nJTS3NQwrvkJTEkhSq2pq3+3bt9OgQQNCoRDTpk3jq69+GK7Mzs5m8ODBtGvXjuzsbJ599lnOPffc\nw5oieOXKlWRmZnLXXXfRunVrVqxYcch1RmrcuHEUFBSwdetWpk+fTuvWrQ96/7LLLuOZZ56hsLD0\n2NoXX3zB7t27+eqrrzjxxBO59dZb6dWrFwsWLDjsdR+Kpib0mRn8IeVtbi/8H95b9g0dzz7Z70iS\nrHy4Ofv+qX33nwp500030bdv3wqX7datG1dddRWZmZlkZWVx5plnHngvOzubBx54gAsvvJBatWqR\nlpZGdnb2YWV58sknmTZtGoFAgIyMDDp16sTOnTsrXWekWrRowcUXX8yWLVu49957OeWUUw4atunV\nqxdr1qyhVatWOOeoX78+b731FtOnT+fRRx8lFApRu3ZtRo4cedjrPhTz64a0WVlZLjc315d1e+ni\nwdPJ/PY9nkodWukyxc7osO8xap/SjLf7/Fw3LJCoWL58+YFhC4mNnJwcateuzV/+8peYfH5Ff4Zm\nNj+S45oalokDQXP8V3A8S9bv0IRiIhIVGpaJE78OzuKfRdcwZMTL/CJ1IDZQ886IxLucnBy/I1RK\ne+5xItWK6Z0ygVz3M+a6wx/3E6mIX8OucvSO9s9O5R5HuganUY/tDC262u8okgTS0tLYunWrCj4B\nOefYunUraWlpR/wZGpaJI2lWSM+UiTxcdD2L1m7jnEbH+R1JEljDhg1Zt24d+fk6jpOI0tLSaNjw\nyCfZVbnH2OHuNd0YfJ9nijozZFoew7vrQl85cvsv/pHqScMyHjicExvr2Pf0CL7LlGWbWPHNjphl\nEpHkpnKPQzenTOYYChjy1CPRn4NbRKoFlXscOt528fvgZN4puYAvSk71O46IJCCVe5zqnfIOx7CX\nfxZd63cUEUlAKvc4dbzt4pbgu7xT0oblGzX2LiKHR+Uex3qlTKQOe3jyfd0DRUQOj8o9jqXbbnqm\nTGTy0k0sGXCO33FEJIGo3OPcLcFJHMtuntTYu4gcBpV7jB3thd/H2vf0TpnA+yXnsWjttqhkEpHk\np3L3wKFusxeJHsHJHMdOntDYu4hESOWeAGpbAX9ImcD0z/OZ/9V3fscRkQSgck8Q3YPvUa92DR55\nd4Vm+RORKqncE0Qt28ufOvyUuau/Zbru1iQiVVC5J5CurU/jtLrH8Mi7n1NSor13EalcleVuZi+a\n2WYzW1LJ+2ZmT5lZnpktNrNW0Y8pAKkpAfr9qhnLN+5g/KINfscRkTgWyZ77CKDjId7vBDQNf/UG\nnjn6WFKhnHSuejODDFvN4Pc+Z29Rsd+JRCROVVnuzrmZwLeHWKQLMNKVmgMcZ2YnRyugHCxgjr+m\njGHdd98zau7XfscRkTgVjTH3U4G1ZZ6vC7/2I2bW28xyzSy3utz6KxYntrQLLObCM05gyNQ8du0t\niv4KRCTheXpA1Tk3zDmX5ZzLql+/vper9tXRXsT0o88zuKvTmWzdvY/hM1dF9bNFJDlEo9zXA43K\nPG8Yfk1iqOULp9MpMJfhs1axeWeB33FEJM5Eo9zHA93DZ820AbY75zZG4XOlCn9NGcO+ohIef0/T\nEojIwSI5FfJVYDbwMzNbZ2Y9zew2M7stvMhEYBWQBwwH/hiztHKQJoFv6G7vMGbeVywbkOl3HBGJ\nIylVLeCcu76K9x3w31FLJIfl9pQ3eaM4mweKbuRl5zAzvyOJSBzQFaoJLt128+eU/+OjkrP5YPlm\nv+OISJxQuSeBbsEPOMM28ODE5RQWl/gdR0TigMo9CYSsmHtSXmHVlt28fF9XyEn3O5KI+EzlniQu\nCXzKzwOf8WTRtWxztfyOIyI+U7nHmIvyBUyVMYP/TXmZnRzDP4uu8WSdIhK/VO4e8Or8lTMDa+ka\nnMrI4l/x+Tc7PVqriMQjlXuSuTNlLHXYw4BxS3THJpFqTOWeZI63XdyZMoa5q7/l7cW6UFikulK5\nJ6GuwWmcbat54NUPNGukSDWlck9CQXMMCv2bTdTl6UF9Sk+N1OmRItWKyj1JtQrk8dvgNF4o7kRe\nySl+xxERj6nck9hdKaM5hr3kFP0+JjcNEZH4pXJPYifYTvqlvMaHJZlMLLnA7zgi4iGVe4z5vcfc\nLfg+GbaagYXd2VFQ6G8YEfGMyt0T/jV8ipXwUOh5tpDOI++u8C2HiHhL5V4NtAispkfwXV6Z+zXz\nv/rW7zgi4gGVezXRL+U1Tj42jb+98Rn7ijQtsEiyU7lXE7VsL4O6nM0Xm3YxbOZKv+OISIyp3KuR\nS5ufyOWZJ/HUe0tYPeBnurBJJImp3KuZnKsyqEEhdxf19P1MHhGJHZV7NdPg2DTuShnN7JIMxha3\n9zuOiMRIit8BxEPhYZgbgsbbxRdyf9GNZG/7nlOOq+lzMBGJNu25x1g8Dn0EzPFIaBhFBPjbG59p\n3neRJBRRuZtZRzP73MzyzKx/Be+fZmbTzOxTM1tsZpdHP6pE0+mBzdyVMpoZX+TzWu46v+OISJRV\nWe5mFgSGAp2A5sD1Zta83GL/C4x1zp0LdAX+Fe2gicx8vEL1ULoHp3BBk7r8fcIyNm7/3u84IhJF\nkey5nw/kOedWOef2AaOBLuWWccCx4cfpwIboRZRYCZjjkfXdKdq7i/4PP67hGZEkEkm5nwqsLfN8\nXfi1snKAG81sHTAR+J+KPsjMeptZrpnl5ufnH0FcibYDwzMlLTU8I5JEonVA9XpghHOuIXA58B8z\n+9FnO+eGOeeynHNZ9evXj9Kq5Wh1D07hAlvG3ycsY8M2Dc+IJINIyn090KjM84bh18rqCYwFcM7N\nBtKAetEIKLEXMMejoWGUOEffsQspKdHwjEiii6Tc5wFNzayJmaVSesB0fLllvgY6AJjZWZSWu8Zd\nEshpgc3cd1UGc1Z9y/BZq/yOIyJHqcpyd84VAX2AycBySs+KWWpmg8ysc3ixfsCtZrYIeBXo4XR0\nLuFcl9WQjhknMXjSEpYOaKG5Z0QSWERXqDrnJlJ6oLTsawPKPF4GtI1uNPGamfHQNZlctnQ5txf+\nNxNS7yHN71AickR0haoc5PhaqQwOPUuea8hDRTf4HUdEjpDK3QNmfic4PO2Cn3FzcBIvFV/GtM83\n+x1HRI6Ayl1+kJN+YJz9rpTRNLO13PnaYvJ37vU5mIgcLpW7VCjNCnkqNISdBYU6PVIkAancpVJn\nBtZy31UZzPpyC/+anud3HBE5DCp3OaTrz2/EVeecwuNTvmDuqq1+xxGRCKnc5ZDMjAd/fTann1CL\nP43+lK279v4wNq/z4EXilspdDi0nnTr/qMeQG87luz2F9B27iBKXYKf/iFRDKneJSMYp6dx7ZXNm\nfJHPc8VX+h1HRKqgco+xpJmFISedGye14IrAHAYX/ZbZxWf5nUhEDkHl7oF4vRPT4TKDf4SG09i+\n4X8K/8RGV1dj7yJxSuUuh6WOfc9zoScoIMR/7budvS6i6YlExGMqdzlsPw1sYHDoWRa6puQU/d7v\nOCJSAZW7HJGOwVz+GBzHq8UdGF3U3u84IlKOyl2OWL+UsWQHFjOg6GYWrt3mdxwRKUPlLkcsaI6n\nQkOozzb+6+X5bN5Z4HckEQlTuctROd52MSz1cbbtKaT3yPkUFBb7HUlEULlLFGQEvuIJHmXh2m38\n9b57k+fcfpEEpnKXqOgYzOXOlNGML2nLkKmaQVLEbzpJOcaq0z7sH4PjWVlyKo9NgZ80qM3lmSf7\nHUmk2tKeuweS5QrVqpjBQ6HhnHf68fQdu5DP1m33O5JItaVyl6iqYUU8d9N5nFCrBr1GzmPDtu/9\njiRSLancJerqDW7AC3v+xJ4d39Hj4ZfYfp+GZ0S8FlG5m1lHM/vczPLMrH8ly/zWzJaZ2VIzGxXd\nmJJozgys5bnQ46x2J9N7X1/2FukUSREvVVnuZhYEhgKdgObA9WbWvNwyTYG/AW2dcxnAn2OQVRLM\nRcFlDA49w1zXvPQmH7rJtohnItlzPx/Ic86tcs7tA0YDXcotcysw1Dn3HYBzbnN0Y0qi6hKczd9S\nRvHO4o08OHG533FEqo1Iyv1UYG2Z5+vCr5XVDGhmZh+Z2Rwz61jRB5lZbzPLNbPc/Pz8I0ssCad3\ncAI9LmrM8x+u5oUPV/sdR6RaiNZ57ilAU6A90BCYaWaZzrmDZpNyzg0DhgFkZWXpZ/RqwgzuvbI5\nm3YUcP87y6hbK8Svz23odyyRpBbJnvt6oFGZ5w3Dr5W1DhjvnCt0zq0GvqC07Ks9XYlfKhgwnvhd\nS9o0OYG/jFnAe/de4nckkaQWSbnPA5qaWRMzSwW6AuPLLfMWpXvtmFk9SodpVkUxZ0IzvwPEg5x0\n0h6oy/D1Xci0VfQp/BMf5W3xO5VI0qqy3J1zRUAfYDKwHBjrnFtqZoPMrHN4scnAVjNbBkwD7nTO\nbY1VaElcta2AEamPcIZt5NaRucz/6ju/I4kkpYjOc3fOTXTONXPO/cQ590D4tQHOufHhx84519c5\n19w5l+mcGx3L0JLYjrPdjEx9iPqF67n5mSksG5DpdySRpKMrVMUXDWw7L4cepBYFdN/3N1bm7/I7\nkkhSUbmLbxoFtvCf1IcAuH7YHBW8SBSp3MVXPw1sYFTq/ZQ4p4IXiSKVu/iuWWA9o25to4IXiSKV\nu8SFZs80ZNS+2ynZuZnrh81hlQpe5Kio3GPMVZMbdURDs8D6A0M0XbUHL3JUVO4SV8oO0fzuudks\n27DD70giCUnl7oHqcpu9aGl2Yh3G/OFCQsEAXYfNZsHX30FOeumXiERE5S5x6Sf1a/PabRdSt1Yq\nNz4/l4+KM/yOJJJQVO4Sf8J76Q2PP4axt11Io+OP4ebCO5lS3MrvZCIJQ+Uuca1BnTTG/KENZ9nX\n3FZ4B299Wn5CUhGpSLTmcxeJvvAY+3HAK6lp9Crsx5/HBNm8s4Bbs8/ATPNtilRGe+6SEGpbASNC\nj3BFi5N5cOIKBr69jGLdk1WkUtpzl4SRZoU83fVcTjo2jRc+XM2mHQU88buWpIWCfkcTiTsqd0ko\ngUHHcS9wckonHljSjfylM3g+dTDHDdzgdzSRuKJhmRjTbfZio1fKJIaEnmaxO4Nr9+Xw9dY9fkcS\niSsqdw/osF9sXBGcy39SH2KLS6fL0A+Zs0o3/xLZT+UuCe2CwAreSh3A8eGLnUZ/8rXfkUTigspd\nEl6TwDe8+ce2XPiTE+j/xmcM0pk0Iip3SQ7pNUP8u0drelzUmBc/Wk3Pl+axo6DQ71givlG5S9JI\nCQbI6ZzBg7/O5MMvt3D1wBF8OaC537FEfKFyl+RQZtbIGy44jZd7XcAOV4su+/7OhMU6TVKqH53n\nLsklXPBtgAk1jueP+26nz6g0Fo65n/4pr5Iy8Dt/84l4JKI9dzPraGafm1memfU/xHLXmpkzs6zo\nRRQ5MifZd4xO/Tu/D07m+eIr6LbvbjbvLPA7lognqix3MwsCQ4FOQHPgejP70UCmmdUBbgfmRjtk\nItM5G/5KtWIGhl7iidBQFrmfcOVTOh9eqodI9tzPB/Kcc6ucc/uA0UCXCpb7O/AwoF2jH1HF++3X\nwY94M3UAtXat4YZhH/PEPbfodElJapGU+6nA2jLP14VfO8DMWgGNnHPvRDGbSFSdFVjL26n3cHXg\nI/5ZfC3XD5/Dxu3f+x1LJCaO+mwZMwsAjwP9Ili2t5nlmllufn7+0a5a5LDVtgIeT32Gx0LPsGT1\nBjo9NI4pyzb5HUsk6iIp9/VAozLPG4Zf268OcDYw3czWUHqiwviKDqo654Y557Kcc1n169c/8tQi\nR+na4CwmpN7NqbaFW0fmct+4JRQUFvsdSyRqIin3eUBTM2tiZqlAV2D8/jedc9udc/Wcc42dc42B\nOUBn51xuTBKLRMkZgW94I/U+bm7bmJdmf8UVT81i0dptfscSiYoqy905VwT0ASYDy4GxzrmlZjbI\nzDrHOqBILNWwIu6bfxEvhx5kT/7XXPPMxzz+3ucUFpf4HU3kqER0EZNzbiIwsdxrAypZtv3RxxLx\n1s+DS3g3cBcDMybx1NQ8pn6+mcd/25JmJ9bxO5rIEdH0AyJh6baHx3/bkmdvPI+N2wq48ukPeW7G\nSoq0Fy8JSNMPxJjuxJRgctLpCGS5Y7m7pCcPTSphwuKN/OPaTDJOSfc7nUjEtOcuUoF6toPnQk8w\nNPRPNm4voPOQj/jHpBU6o0YShsrdA6YrVBOSWemt/D4o7M5vbCrPzlhJxydn8vHKLX5HE6mSyl2k\nCum2m4dDwxkVuh/37SpuGD6XO19bxNZde/2OJlIplbtIhC4KLmNy6l3cFhzPm5+u5+LB0xk5e43m\nqJG4pHIXOQxpVkj/0Gje/XM2mQ3TGTBuKVc9/SG5a74tXaDMTUNE/KSzZUSOwE8b1OHlnhcw8bNv\nuH/UFH7z7A6uCczkb6FjqW87/I4nonIXOSI56RhwBdC+Rg2GFF3N88VX8N7eLP6YMo5bCotJCwX9\nTinVmIZlRI5SLdvLXaExvJt6F20Cy3mk6Ho6PDaDtz5dT4nG48UnKneRKPlJYCPPpz7GqND9HF8r\nxJ/HLKTL0I905yfxhco95rTnVt1cFFzG+C1X8URoKFvXr6TrsDncOjKXvM07/Y4m1YjK3QPmdwDx\nXMAcvw5+xNQa/bgzZTSzl63mN8/OZm+RrnAVb6jcRWIozQr575Tx3J7yBtv2FLK3SJOQiTdU7iIe\n2P/TmyaSE6+o3EU84Q76RSTWVO4iHtg/eZxTu4tHVO4iHtCwjHhN5S7igR/23EW8oXIX8cCBcteu\nu3hE5R5j+rcsoGsdxHsqdxEPaFhGvKZy94Busyc/DMv4HESqDZW7iId0KqR4JaJyN7OOZva5meWZ\nWf8K3u9rZsvMbLGZfWBmp0c/qkjiMl3EJB6rstzNLAgMBToBzYHrzax5ucU+BbKccy2A14FHoh1U\nJJFpzF28Fsme+/lAnnNulXNuHzAa6FJ2AefcNOfcnvDTOUDD6MYUSWy6iEm8Fkm5nwqsLfN8Xfi1\nyvQEJlX0hpn1NrNcM8vNz8+PPKVIgtP0A+K1qB5QNbMbgSzg0Yred84Nc85lOeey6tevH81Vi8Q1\nnS0jXovkBtnrgUZlnjcMv3YQM7sUuAf4hXNub3TiJT79WxYoMyzjawqpTiLZc58HNDWzJmaWCnQF\nxpddwMzOBZ4DOjvnNkc/pkhi0/QD4rUqy905VwT0ASYDy4GxzrmlZjbIzDqHF3sUqA28ZmYLzWx8\nJR9XLekiJtlP3S5eiWRYBufcRGBiudcGlHl8aZRziSQV/QcvXtMVqiIeMNMBVfGWyl3EAz8cUFW7\nizdU7iIe0KmQ4jWVu4gHNP2AeE3lLuKBH6YfUL2LN1TuIiJJSOUeY9pTE9CwjHhP5e4B3T9T0AFV\n8ZjKXcQDP/wHr3YXb6jcRTygUyHFayp3EQ9ozF28pnIX8YDuxCReU7mLeEB3YhKvqdxFPKAxd/Ga\nyl3EAxqWEa+p3GNM/5allIZlxFsqdxEPaM9dvKZy94DuwiP6OyBeU7mLeEAHVMVrKncRD+hOTOI1\nlbuIB7TnLl5TuYt4QNMPiNdU7iIe0J2YxGsRlbuZdTSzz80sz8z6V/B+DTMbE35/rpk1jnZQkcSm\nPXfxVpXlbmZBYCjQCWgOXG9mzcst1hP4zjn3U+AJ4OFoBxVJZDoVUryWEsEy5wN5zrlVAGY2GugC\nLCuzTBcgJ/z4dWCImZmLwc+g7y75hn5jF0b7Y2Nm975iLKh/2NVdkBIAbhg+h6Dp3lzVXc+fN6Hv\nr34W03WJwu/FAAAE6UlEQVRYVf1rZr8BOjrneoWf3wRc4JzrU2aZJeFl1oWfrwwvs6XcZ/UGeoef\n/gz4/Ahz1wO2VLlU/EikvImUFRIrbyJlhcTKm0hZ4ejynu6cq1/VQpHsuUeNc24YMOxoP8fMcp1z\nWVGI5IlEyptIWSGx8iZSVkisvImUFbzJG8kB1fVAozLPG4Zfq3AZM0sB0oGt0QgoIiKHL5Jynwc0\nNbMmZpYKdAXGl1tmPPD78OPfAFNjMd4uIiKRqXJYxjlXZGZ9gMlAEHjRObfUzAYBuc658cALwH/M\nLA/4ltL/AGLpqId2PJZIeRMpKyRW3kTKComVN5Gyggd5qzygKiIiiUdXqIqIJCGVu4hIEkqIcjez\numY2xcy+DP96fCXLFZvZwvBX+YO+XuRMmGkaIsjaw8zyy2zPXn7kDGd50cw2h6+nqOh9M7Onwr+X\nxWbWyuuM5fJUlbe9mW0vs20HeJ2xTJZGZjbNzJaZ2VIzu72CZeJi+0aYNZ62bZqZfWJmi8J5B1aw\nTOw6wTkX91/AI0D/8OP+wMOVLLfLx4xBYCVwBpAKLAKal1vmj8Cz4cddgTFxnLUHMMTvP/twlnZA\nK2BJJe9fDkyidH6uNsDcOM/bHpjg93YNZzkZaBV+XAf4ooK/C3GxfSPMGk/b1oDa4cchYC7Qptwy\nMeuEhNhzp3R6g5fCj18CrvYxS2UOTNPgnNsH7J+moayyv4/XgQ5mvlyLHknWuOGcm0npWViV6QKM\ndKXmAMeZ2cnepPuxCPLGDefcRufcgvDjncBy4NRyi8XF9o0wa9wIb69d4aeh8Ff5M1hi1gmJUu4n\nOuc2hh9/A5xYyXJpZpZrZnPMzOv/AE4F1pZ5vo4f/8U7sIxzrgjYDpzgSbpKcoRVlBXg2vCP4a+b\nWaMK3o8Xkf5+4smF4R/XJ5lZht9hAMJDAudSuodZVtxt30NkhTjatmYWNLOFwGZginOu0m0b7U7w\ndPqBQzGz94GTKnjrnrJPnHPOzCo7f/N059x6MzsDmGpmnznnVkY7azXxNvCqc26vmf2B0r2LS3zO\nlCwWUPp3dZeZXQ68BTT1M5CZ1Qb+D/izc26Hn1mqUkXWuNq2zrlioKWZHQe8aWZnO+cqPBYTbXGz\n5+6cu9Q5d3YFX+OATft/DAz/urmSz1gf/nUVMJ3S/9m9kkjTNFSZ1Tm31Tm3N/z0eeA8j7IdiUi2\nfdxwzu3Y/+O6c24iEDKzen7lMbMQpWX5inPujQoWiZvtW1XWeNu2+znntgHTgI7l3opZJ8RNuVeh\n7PQGvwfGlV/AzI43sxrhx/WAthw8LXGsJdI0DVVmLTem2pnS8c14NR7oHj6row2wvcwwXtwxs5P2\nj6ua2fmU/jv0ZS6mcI4XgOXOuccrWSwutm8kWeNs29YP77FjZjWBXwIryi0Wu07w+4hyJF+UjkF9\nAHwJvA/UDb+eBTwffnwR8BmlZ358BvT0IefllB7BXwncE35tENA5/DgNeA3IAz4BzvBxm1aV9SFg\naXh7TgPO9DHrq8BGoJDS8d6ewG3AbeH3jdIbyqwM/9ln+fz3taq8fcps2znART5m/TmlB/kWAwvD\nX5fH4/aNMGs8bdsWwKfhvEuAAeHXPekETT8gIpKEEmVYRkREDoPKXUQkCancRUSSkMpdRCQJqdxF\nRJKQyl1EJAmp3EVEktD/AzYnd/V/vXrzAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x109210510>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10968aad0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10b3acb10>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10b435690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def pdf(x, b, beta):\n",
" A = 1./(1-beta*(exp(b/-beta)))\n",
" x = np.array(x)\n",
" valid = (x>=0) & (x<=b)\n",
" P = np.zeros_like(x)\n",
" P[valid] = A * exp(-x[valid]/beta)\n",
" P[~valid] = 0\n",
" return P\n",
"\n",
"def cdf(x, b, beta):\n",
" x = np.array(x)\n",
" valid = (x>=0) & (x<=b)\n",
" C = np.zeros_like(x)\n",
" B = 1./(exp(-b/beta)-1)\n",
" C[valid] = B * (exp(-x[valid]/beta)-1)\n",
" C[~valid] = 0\n",
" return C\n",
"\n",
"def log_pdf(x, b, beta):\n",
" logA = -log(-beta*(exp(b/-beta)-1))\n",
" x = np.array(x)\n",
" valid = (x>=0) & (x<=b)\n",
" P = np.zeros_like(x)\n",
" P[valid] = logA + x[valid]/-beta\n",
" P[~valid] = -np.inf\n",
" return P\n",
"\n",
"def inv_cdf(y, b, beta):\n",
" y = np.array(y)\n",
" valid = (y>=0) & (y<=1)\n",
" invC = np.zeros_like(y)\n",
" B = 1./(exp(-b/beta)-1)\n",
" invC[valid] = -beta * log(y/B+1)\n",
" invC[~valid] = np.nan\n",
" return invC\n",
" \n",
"def generate_sample(n, b, beta):\n",
" u = random.uniform(0.0,1.0,n)\n",
" samples = inv_cdf(u, b, beta)\n",
" return samples\n",
"\n",
"# PDF plot - generate lots samples too and compare to histogram\n",
"x = arange(-0.5, 3.0, 0.001)\n",
"plot(x, pdf(x, 1.5, 1.0), label=\"PDF\")\n",
"samples = generate_sample(100000,1.5, 1.0)\n",
"hist(samples, bins=50, normed=True, label=\"Drawn samples\")\n",
"legend()\n",
"title(\"PDF\")\n",
"\n",
"\n",
"figure()\n",
"plot(x, log_pdf(x, 1.5, 1.0))\n",
"title(\"Log PDF\")\n",
"figure()\n",
"plot(x, cdf(x, 1.5, 1.0))\n",
"title(\"CDF\")\n",
"figure()\n",
"y = np.arange(0.0, 1.0, 0.001)\n",
"plot(y, inv_cdf(y, 1.5, 1.0))\n",
"title(\"Inverse CDF\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's do an example where we have 20 samples from this distribution as our data sets.\n",
"\n",
"Our log-PDF for any given sample is just the sum of the log-pdfs for each sample, as they are independent.\n",
"\n",
"Note that I'm using a stupid uniform prior here. You should use something else, maybe a Jeffreys prior or something. Depends on the actual problem.\n",
"\n",
"It also turns out that the likelihood flattens out basically completely for b>>sample_max, so we need to add in an upper limit or the emcee samples wander off to infinity when they're trying to explore the tails if you're unlucky."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a70cd50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nfxUmen6IWcfSAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10b5499d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"true_beta = -0.3\n",
"true_b = 1.5\n",
"sample = generate_sample(100, true_b, true_beta)\n",
"\n",
"hist(sample)\n",
"figure()\n",
"plot(sample,'.')\n",
"\n",
"def log_prob(b_beta, sample):\n",
" b,beta=b_beta\n",
" if b<=sample.max():\n",
" return -np.inf\n",
" if b>sample.max()*20:\n",
" return -np.inf\n",
" if beta<-10:\n",
" return -np.inf\n",
" if beta>10:\n",
" return -np.inf\n",
" return log_pdf(sample, b, beta).sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can just plot the log-pdf for this example, but Steve doesn't want to do that for some reason. He loves emcee.\n",
"Or maybe in the extended version there are more parameter. Even for three parameters it's worth doing a grid over emcee.\n",
"\n",
"But first let's plot it in two slices."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/site-packages/ipykernel/__main__.py:20: RuntimeWarning: overflow encountered in exp\n"
]
},
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x108f10050>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a246410>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"b_plot = np.arange(1.4, 1.6, 0.001)\n",
"y = [log_prob([bi,1.0],sample) for bi in b_plot]\n",
"plot(b_plot,exp(y))\n",
"title(\"Slice through b\")\n",
"figure()\n",
"\n",
"beta_plot = np.arange(-3.0, 6.0, 0.001)\n",
"y_beta = [log_prob([1.5,beta],sample) for beta in beta_plot]\n",
"plot(beta_plot,exp(y_beta))\n",
"_=title(\"Slice through beta\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Okay, now let's run emcee on our log-posterior. We'll use 20 walkers"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import emcee\n",
"walkers=20\n",
"sampler=emcee.EnsembleSampler(nwalkers=walkers, dim=2, lnpostfn=log_prob, args=[sample])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Need to make sure that none of our initial points has bad posteriors, so just sample around 2"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"p0=emcee.utils.sample_ball([2.0,-1.0], [0.01,0.01], size=20)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the sampler and pull out the parameters of interest.\n",
"\n",
"It turns out there's quite a long tail, so worth taking plenty of samples."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nsample=10000\n",
"b_samples=np.zeros((nsample,walkers))\n",
"beta_samples=np.zeros((nsample,walkers))\n",
"\n",
"for i,(params,logp,rstate) in enumerate(sampler.sample(p0, iterations=nsample)):\n",
" b_samples[i] = params[:,0]\n",
" beta_samples[i] = params[:,1]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Very useful to plot the chains to check the burn-in - especially as at the start of the chain you can get some beta values with the wrong sign."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nRK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10918aa50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X10FPd5L/DvcwOO7EYWcNGJbAQW4aSwaXVNkm1rn1oS\niFbyCy2kai0IByPXLpXNieME+0Zu6+u9h5wTuUSuzYlAprYL1aFYbrGVXF4KraQI+R7XtWhlC3uh\nMRHBMlGRL7GtxNEhbp77x84Msy+zu5JWmvkt3885OtqdnZ15Zn4z3/nN7JuoKoiIKL/8N78LICKi\n3GO4ExHlIYY7EVEeYrgTEeUhhjsRUR5iuBMR5SGGOxFRHmK4ExHlIYY7EVEemuXXjOfPn69lZWV+\nzZ6IyEgnTpx4T1WLM43nW7iXlZWhv7/fr9kTERlJRH6UzXi8LENElIcY7kREeYjhTkSUhxjuRER5\niOFORJSHGO5ERHmI4U5ElIeMDffospDfJRARBZZvH2KaipKeARSs/TbO+l0IEVFAGdlzH+mt8rsE\nIqJAM7PnXtWLkZXL/S6DiCiwjOy5AwAiRX5XQEQUWEaG+z6tQ0lVr99lEBEFlpHhfs+xHX6XQEQU\naEZec3/4/auBjovASr8rISIKpow9dxFZKCI9IvKWiLwpIl9NMY6IyA4ReVtE3hCRL0xPuTFbSr6E\n6u9vmc5ZEBEZLZue+8cAtqrqv4lIIYATIvJPqvqWa5zbAHzW+vstALus/9OifPEijO5qx8h0zYCI\nyHAZe+6q+mNV/Tfr9hiAKIAFCaOtAfC3GvMvAOaIyHU5r9ZSN1SHxt7O6Zo8EZHxJvSCqoiUAfg8\ngFcTHloA4B3X/WEkHwAgIptFpF9E+kdHRydWqUskEkEEfzXp5xMR5busw11EPgXgAIAHVfXDycxM\nVXeralhVw8XFGX/f1RO/V4aIKL2swl1EZiMW7PtU9cUUo7wLYKHrfqk1bFp0rKufrkkTEeWFbN4t\nIwCeBRBV1Sc8RvsegLusd83cBOADVf1xDuuMU1HZjgi+Nl2TJyIyXjbvlvltABsBDIrIgDXszwAs\nAgBVbQNwGMDtAN4G8BGAu3Nf6mVLj+0BahoARKZzNkRExsoY7qr6MgDJMI4CmLE3np+uacAGOcC3\nQhIReTDy6weIiCg9I8N9VfUZPNpx0e8yiIgCy8hwb6lfjTVzZvtdBhFRYBkZ7ls7DuIWTOqt9kRE\nVwQjwz26LISXca3fZRARBZaR4R46FUW4ttDvMoiIAsvIcAeAnvvW+10CEVFgGRnuw0196F7R6ncZ\nRESBZWS4A8BoyXG/SyAiCiwjw720uQJtVWv9LoOIKLCMDHcA2Kd1fpdARBRYxob7g+9c43cJRESB\nZWy4j0Wb/S6BiCiwjA13IiLyZmy4P1vzgN8lEBEFlrHhvkEO+F0CEVFgGRvuRETkzdhwb+zt9LsE\nIqLAMjbc94z/ht8lEBEFlrHhPl67wO8SiIgCy9hw52UZIiJvxoY7v1uGiMibseHOH8gmIvJmbLhv\naav2uwQiosAyNty7upf4XQIRUWAZG+78hCoRkTdjw53f505E5M3YcL/n2A6/SyAiCqyM4S4iz4nI\nBRE56fH4XBF5SUTeEJF/FZFfz32ZyRoKXpuJ2RARGSmbnvseALemefzPAAyo6v8AcBeAp3JQV0aF\n0f6ZmA0RkZEyhruqHgeQ7k3lnwPQbY17CkCZiHw6N+V5K5j79emeBRGRsXJxzf11AH8AACLymwBu\nAFCag+mmtX3Oz6d7FkRExspFuDcDmCMiAwC+AuDfAfxXqhFFZLOI9ItI/+jo6JRm+jKundLziYjy\n2ZTDXVU/VNW7VXU5YtfciwH80GPc3aoaVtVwcXHxlOZ7W+j+KT2fiCifTTncRWSOiFxl3b0XwHFV\n/XCq082kbojvcyci8jIr0wgish/ACgDzRWQYwGMAZgOAqrYBCAHYKyIK4E0A90xbtS6RSGQmZkNE\nZKSM4a6q6zM8/gqAX81ZRURENGXGfkKVPXciIm8MdyKiPGRsuPMrf4mIvBkb7quqz/hdAhFRYBkb\n7q2N3X6XQEQUWMaG+5o5s/0ugYgosIwN97HOzX6XQEQUWMaGe+Ha3X6XQEQUWMaGOxEReWO4ExHl\nIYY7EVEeMjbcb8G0f/EkEZGxjA33s813+F0CEVFgGRvuLfWr/S6BiCiwjA33+sXf8LsEIqLAMjbc\nT9c0+F0CEVFgGRvu9xzbgbKmQ36XQUQUSBl/iSmo+IIqEZE3Y3vu/D53IiJvxoY7v8+diMibseEe\nXRbyuwQiosAyNtxX7trvdwlERIFlbLjv0zq/SyAiCixjw73v+Ea/SyAiCixjwz0SifhdAhFRYBkb\n7nxBlYjIm7HhHjoV9bsEIqLAMjbciYjIG8OdiCgPZQx3EXlORC6IyEmPx4tE5P+IyOsi8qaI3J37\nMomIaCKy6bnvAXBrmse3AHhLVW8EsAJAi4hcNfXS0mtt7J7uWRARGStjuKvqcQAX040CoFBEBMCn\nrHE/zk153ra0VU/3LIiIjJWLa+7fARACcB7AIICvquovU40oIptFpF9E+kdHR3MwayIiSiUX4V4L\nYADA9QCWA/iOiFybakRV3a2qYVUNFxcXT2mmfJ87EZG3XIT73QBe1Ji3AQwBWJaD6aZ1+EZ+nzsR\nkZdchPs5AKsAQEQ+DWApgB/mYLppbe04ON2zICIyVsaf2ROR/Yi9C2a+iAwDeAzAbABQ1TYA2wDs\nEZFBAALgG6r63rRVbLG/W4bfMUNElExU1ZcZh8Nh7e/v92XeRESmEpETqhrONB4/oUpElIcY7kRE\necjYcC/pGfC7BCKiwDI23EdWLve7BCKiwDI23ImIyJux4T7c1Od3CUREgWVsuJc2V/hdAhFRYBkb\n7gA/wERE5CXjJ1SDqnxvOQYjg36XQUQUSMb23J9c+JHfJRARBZax4b6q+ozfJRARBZax4U5ERN6M\nDffyveV+l0BEFFjGhvvg0Dm/SyAiCixjwx2RD/yugIgosIwNd16WISLyZmy4D27ie9yJiLwYG+78\nyl8iIm/Ghvs+rfO7BCKiwDI23DfIAb9LICIKLGPDnT/WQUTkzdhw5zV3IiJvxoZ7/9Exv0sgIgos\nY8O9tLmCvXciIg/GhjsANPZ2+l0CEVEgGR3ubVVr/S6BiCiQjA734nMb/S6BiCiQjA331sZuv0sg\nIgqsjOEuIs+JyAUROenx+MMiMmD9nRSR/xKRebkvNRm/X4aIKLVseu57ANzq9aCqblfV5aq6HMAj\nAHpV9WKO6vO0pa16umdBRGSsjOGuqscBZBvW6wHsn1JFE1DWdGimZkVEZJScXXMXkWsQ6+HP2Je+\nnG2+Y6ZmRURklFy+oPp7AP5vuksyIrJZRPpFpH90dHRqc4sUTe35RER5LJfhvg4ZLsmo6m5VDatq\nuLi4eEozGx4/iEgkMqVpEBHlq5yEu4gUAagC8N1cTC8bzxR0MdyJiDzMyjSCiOwHsALAfBEZBvAY\ngNkAoKpt1mhfAnBMVX82TXUmYbATEXnLGO6quj6LcfYg9pbJGVPWdIgvqBIReTD2E6pHOh/iWyGJ\niDwYG+6hU1EUhpr8LoOIKJCMDXeAXz9AROTF2HCPLgv5XQIRUWAZG+6hU1G/SyAiCixjw52IiLwZ\nG+7DTX0o31vudxlERIFkbLgDfEGViMiLseH+TEEX3+dOROTB2HC/d3wVP6FKROTB2HAHYtfdiYgo\nmbHh3jH0OE7XNPhdBhFRIBkb7ltD7LUTEXkxNtyHxw9iVfUZv8sgIgokY8O9tLnC7xKIiALL2HAv\n6RnwuwQiosAyNtx77sv4GyJERFcsY8M9tO683yUQEQWWseGOyAd+V0BEFFjmhjsREXkyNtz56VQi\nIm/GhjsREXkzNtxLmyv4fe5ERB6MDXcAGIs2+10CEVEgGR3uz9Y84HcJRESBZGy4Dzf14Z5jO/wu\ng4gokIwN946hx9FQ8JrfZRARBZKx4b6146DfJRARBVbGcBeR50TkgoicTDPOChEZEJE3RaQ3tyWm\nNtzUhwOLD8zErIiIjJNNz30PgFu9HhSROQB2Avh9Vf01AH+Um9LSK22uwOii9pmYFRGRcTKGu6oe\nB3AxzShfBvCiqp6zxr+Qo9oyGlm5fKZmRURklFxcc/9VAHNF5PsickJE7srBNLPC73QnIkptVo6m\n8UUAqwBcDeAVEfkXVf2PxBFFZDOAzQCwaNGiKc+YPXciotRy0XMfBnBUVX+mqu8BOA7gxlQjqupu\nVQ2rari4uHhKMy3fW46ypkNTmgYRUb7KRbh/F8AtIjJLRK4B8FsAojmYbkZHOh+aidkQERkn42UZ\nEdkPYAWA+SIyDOAxALMBQFXbVDUqIv8I4A0AvwTwjKp6vm0yV55c+BE61m1EZLpnRERkoIzhrqoZ\nf6xUVbcD2J6TirI08HQIkY7ITM6SiMgYxn5ClYiIvBkb7ls7DvL73ImIPBgb7gAwuGnQ7xKIiALJ\n3HCPFPldARFRYBkb7q0jL/ldAhFRYBkb7lvaqvn1A0REHowN95b61fz6ASIiD8aGOwB+/QARkYdc\nfHGYL7Z2HMTy7iUA7vC7FCKiwDG65953fKPfJRARBZLR4U5ERKkZHe5tVWv9LoGIKJCMDffoshCK\nz/GyDBFRKsa+oHr4xiWoGwr7XQYRUSAZ23O//fUzqH++w+8yiIgCydiee+hUFCU9AxjxuxAiogAy\ntueeaLipz+8SiOhKFcAvMjQ33BNWZmlzhU+FENGVKOgdSmPDvXXkJb5bhvJWV/cSdHUv8bsM8pAy\n2APWezc23Md/8gRGF7U794N+FM2F1sZuv0ugGbKq+syknscDgk8iH8T+AsTYcN/acRCNvZ3O/alc\nlsn1F5AF4UAzXQeClvrV0zv/gPV+spHtOpmoyQT8ZA8Kppvpn9w04TKwseGe2EOZbKCWNR3C2ebc\nfvlYLho+1fJsaavO+Dz7O+6zGXcytnYcjLvvtVNNZP5J0/A54CORyITGT1wnuTCZyzIzdSmHZ5Ax\nift50NaLseG+9NgeAMjqBzsy9cwTH3fvJNFlockVOA2y2Xhy8R336QKipX41WupXO4F8JLpzQtNO\ndTCI+y3cAJzaTjTcJ9tzT9chWVV9JrC98OnqOExIQgdgpn9PebipL237pduHZuosw9hwL22uQFvV\n2rhLM6mCPpsVmdhzz7RjZQr84aY+tDZ2o6RnwNkA7ANIV/eSjGcZw019KXsF9k6VuEzuDSkXv06V\natnLmg6hrOlQyl5qYj3pDkKDmwaTxs/Fxh5dFsrZgdgd7vbBLJ2tHQfj2zRSlPHsI7oslPYMbzK9\n8KXH9kzLASHd8qdqu4keHG2TPetobex26vDalhK3SXs/SbVsiXWU7y1Pmm5S20WK4g56q6rPpFye\nmbx8ZGy4ewZaip3qbPMdaQM1uiw0ocs63StaUw5317GlrRr9R8dQ2lzhTHsi8/Aad7ipL6GnW4RV\nx9+LG6e1sTsu6DzPXBLWlfsA5Ixi7aj2AdDeGQY3DaYN8VSPlTUdSrtx2/Mtqer1HCfVfEp6BtC9\nohWhU9GsnpPNQcAO9a0dB5MOaF3dS+LaOjEgIvha0vQSAy90Kuq0sf3YRF77aW3sTlrHp2sa0j5n\nogd+ex7u5bfbL5t1aM8vU6DZ7b6q+gwQKZrwQTrdmUSmZU7VWUkVzKOL2i/vk5GiuP3TXj53e3i1\npftNINPN2HAfeDq2Abi/GfLRjosYHk9urLKmQ7gFH6KlfrVn76C0YHXchjCVXgQQ26jcR/dnax5w\ndj73Tpi0Iac4ONkbij3txF5KV+V8Z1z7TKZ7RWtcoEz0RePEwErV2267+avOMtrTt/8n7nAlPQMp\nX9uwa7T/l+8tx0hvlTP/6LIQIpFIyp3UvUzb6uclhWUiu01Dp6LOek88iEYiERRG+1OGupvn5S+r\n/dIFfOJZhj28MNTk3E/XA0/XM+7qXhK3XibTi7a3sy1t1dhWPy9uWxgcOofhpj7nQDo4dC7j9Nyd\nEXdtiWc7dvscvvHyJdFsOimtjd0Y3DSY8qAwsnI5Whu7Uf39LXGPj/RWAYht5/Zwe/6p9n17/JKe\ngbjOhzNNj8uJJT0DcXUXn9uIF771ccpxc83YcE/03fd/gW3181BaENsQS3oGUL63HKOL2jFeuwAA\nUL/4Gymf272i1TkoDDf1oaRnANfff1XKjSUSiWBb/by0vYvS5go82nEx7rKMm/16gbvRW+pXOzvi\nMwVdeKagK7YhWaG4pa0aW9qq8UxBF4BYCL7wrY9RUtWLVcffczZI98EuEomgfG85zjbf4ayDyw8W\nxf1Pd+qdKiAaDt+AI9GdKN9b7uy89vKsmTM7Zc/dns7gpsGkULc9ufAjzzoSAz7xYDHWuTmuF9xS\nvxplTYectnIH5p2PzEJJzwDCtYVJoTEWCsddjkkVACU9A0nLWNZ0KGXnwr2tRJeFnLOM0uaKpIO5\nc8C25lPWdCgubNy3t5R8yakxMZDsy2j2Y4nrOfFgba/bVO22NXS5x1pS1YvbQvc723X54kXOY0Cs\nPd0HY7su935g13Vb6P64+SSegSZyb8Mt0YrYsrvW352PzHIu+5XvLXf2n+1zfo47H7n8TStd3UuS\nzg5Legbw4DvXAAAefOeapIOre3w76IFYR+HJhR+hpX411syZ7Uz/2ZoHnHG+MrTLucxm99xn4idC\njQ33xF7Vtvp5nuMWHH0XL+NahGsLAcR2MPfG72aPc37nJefyi7sHEfcd8tYpZEv95V7/tvp5KOkZ\nwJo5s7FP65xRlx7bg6XH9mCDHHDmAQC3rf22c7uish0lVb0ojPbHzccJKGtDtl/EDK07j5HeKqfn\nbtcwWnI8Vp4r6JzXJqxplC9e5DzPHu/ZmgdQ1nTI2ckikQjuHV/l1OHeucZCYXQMPY4XvvVx0np0\nH4CGm/qcIKmobMeTCz9y5lfSM4BIJILGV55ynrtBDqAlWhFXFxBrw5HeqriDUmtjN5bd+SfOOCt3\n7XfWW0PBawCAswVfRmjd+bhr2F3dS5zeU//RMWdct7FQGGOhsFPD+Z2XnOdff/9VAODszLZnax5w\nlj0Ve1r2WYYdePbBw+4Fu78Qzw6JxPCu/v4WRJ+/3rPDcrb5DnxlaBcA4NQLf+0Mt9d5w+EbLk8z\nUuScLdnbjr1+ASvYIkVA5APng4MdQ48DkaK4tmupX530Gwv3HNsRd5Z0pPMhHOl8KG7ZH3znGpRU\n9ToBOhYKO89ZuWt/XO83cb9tHXnJmbZ7HbuN1y5A4ytPIXQqGve4PY/zOy85w8qaDjn7l71v2+1i\n77fuoE/sFCUeHN2vCW6QAzP6wUtjw721sTsuPJ3hIy85G+1YtBkAknqt53decjb8l3EtRkuOp90p\ngdhG5u4lrNy1HyVVvXEbRiruSzD27X1ah5b61TjS+RCAyxuZvRNub/xm3DTcvQAgFp6Z3qWyZs5s\nFI9UArgcdOV7yxF9/npEIpG40+mKynYs/9PYafZ47YK4yzxu/UfH4u6PhcJxrz80FLyGhoLXsGf8\nNy6HBOAEwAY54AyzQ6B4pDLuwLxP6+KWv2NdPSoq29FQ8BpaR16KhUCG66j2tMdCYbREKxB9/nrn\nscSQDNcWoqKyHV3dS1C+tzzuYGaz1w1wOdjdvTc7YN3LB1g9eVePtaV+dWw7subbMfS40/PtXtHq\nhEbHunrnOe5pumtfuWs/CtfuBpB8aelswZdR0jPg1O1ui31ah7aqtdje+E0MPB1KWh/2NtNVOT+p\nw9TVvQRPLvzI6X3aZymtjd1oHXkJt78e6+262+fh96/G+Z2XEK4txDMFXc6y3Ra6H6OL2rG98Zuo\nG6pzQrAlWoHCaD8S2dvweO0CPPz+1SiY+/Wk/cRtdFE7Hm77C+f++E+eSDrbPr/zklMzEDtrtLPC\nvU7TvQZkt729rhMP+G1Va+O2n8ZXnkLHuvqUHYpcyxjuIvKciFwQkZMej68QkQ9EZMD6+1+5LzPZ\n+E+eQN/xjUkB7165SZciEL+z2AEPxAIu0bb6eTi/8xJW7tqPnvvWx4WE7Z5jO7Kq1x3sG+SA0+AN\nBa/h8I1LMBYKJ20YiRKv43ZVznd6ue7lsndQAKgburx+Rhe1Y+Wu/SgeqXQ22K7K+UmhBMQ2Vjvo\nKirbnenUL/4GxkKXv0d/tOQ4vjK0C+O1C5xQffj9q9FWtRZPLvwIp2sa0p5V2VKtfyD+TMkdUtm8\n6GpPM/EAvEEOOCFr398gB9Bw+AaEawvRVrUWFZXtqKhsR1vV2qTf6i1cuxslVb2xnlykCKdrGuLO\nxuy6x2sX4HRNA87vvJQysMZC4bj2SbXMiXVvkAMT+gUye9y2qrV4uO0v4tra3gZLqnrRVTnfadfx\nnzyRNJ3E9b298ZsI1xZiW/085+wp1RsNUrV9x7r6pOvOqZbJvvaeaM2c2XHTXXbnn+B0TQPqhmIH\nLvvg4w7/5X8aRfeKVlRUtjvrYIMcwPmdl5K2f7stE+ef2LmZCHse2+rneW7ruSaqmn4EkUoAPwXw\nt6r66ykeXwHgIVWd0Jt9w+Gw9vcnb/DZcvc4+o5vdDaOxt7OuAZMxT4gpBvH9mjHxbThZId1pscS\nx0u839jbmdVOmzheqvnv0zr0Hd/obET27VR1etXvNd2lx/Y4ZznZrOdU0wCQcb2kWneNvZ24d3xV\nUpB6zdueT2IHIJv2SrzvnsZEti37/tJje1LW3djbicJovxNEPfetx8pd+7FP6zDwdCht79ReH6ne\nJZO4DhP1Hx3D6ZqGlO3jNd9M27o9X6/n2dslAM9tON08vOabaVnt8dw5kWne9rbeMfS457pwt6k9\nfbs9Mu1zwOQ/TSwiJ1Q14y8VZQx3a2JlAA4GKdyBy6dO9sY9kfDyks34XuNkc2DJdv4TrTvosj14\nTVUu1tt0r/uJHFAn8vypzDvd+EB2HaFsnjfT2/VE59d/dCyrzkMmmbb3fVo37eGeq2vuN4vI6yJy\nRER+LUfTnLDG3s64HpZ9Hc8eluoavT1O4nNTPd9rWvu0LuU4XvfTDXdfavJ6XqbH0j1nIs/Lpo5s\nanKv42yel2l+icvRf3Qsblg29drj79M65/lu9il4ulPxxDoe7biY1Xy9ppsphPqPjk340sCjHRez\nWp+p2qaxtzPpkpQ9frptKd38Es+MMrWZe7/Mdn6J9aVqW69tMVxb6Lnfey13qrrsYLfXbeL8ZuIA\nl4ue+7UAfqmqPxWR2wE8paqf9ZjOZgCbAWDRokVf/NGPfjSF0omIrjwz1nNX1Q9V9afW7cMAZotI\nyrdbqOpuVQ2rari4uHiqsyYiIg9TDncRKRERsW7/pjXN/zfV6RIR0eRl/IFsEdkPYAWA+SIyDOAx\nALMBQFXbAPwhgPtE5GMAPwewTrO51kNERNMmY7ir6voMj38HwHdyVhEREU2ZsZ9QJSIibwx3IqI8\nxHAnIspDDHciojzEcCciykNZfUJ1WmYsMgpgsh9RnQ8g/Tf75x8u85WBy3xlmMoy36CqGT8F6lu4\nT4WI9Gfz8dt8wmW+MnCZrwwzscy8LENElIcY7kREecjUcN/tdwE+4DJfGbjMV4ZpX2Yjr7kTEVF6\npvbciYgoDePCXURuFZHTIvK2iDT5Xc9kichCEekRkbdE5E0R+ao1fJ6I/JOI/MD6P9caLiKyw1ru\nN0TkC65pbbLG/4GIbPJrmbIlIp8QkX8XkYPW/cUi8qq1bB0icpU1/JPW/betx8tc03jEGn5aRGr9\nWZLsiMgcEfkHETklIlERuTnf21lEvmZt1ydFZL+IFORbO4vIcyJyQUROuoblrF1F5IsiMmg9Z4f9\n1epZU1Vj/gB8AsAZAJ8BcBWA1wF8zu+6Jrks1wH4gnW7EMB/APgcgL8E0GQNbwLwuHX7dgBHAAiA\nmwC8ag2fB+CH1v+51u25fi9fhmX/OoC/Q+zXvQDgBcS+KhoA2gDcZ92+H0CbdXsdgA7r9uestv8k\ngMXWNvEJv5crzfLuBXCvdfsqAHPyuZ0BLAAwBOBqV/s25Fs7A6gE8AUAJ13DctauAP7VGles5942\nofr8XkETXJk3Azjquv8IgEf8ritHy/ZdAL8L4DSA66xh1wE4bd1+GsB61/inrcfXA3jaNTxuvKD9\nASgF0AWgGsBBa8N9D8CsxDYGcBTAzdbtWdZ4ktju7vGC9gegyAo6SRiet+1shfs7VmDNstq5Nh/b\nGUBZQrjnpF2tx065hseNl82faZdl7I3GNmwNM5p1Gvp5AK8C+LSq/th6aATAp63bXstu2jp5EsD/\nBPBL6/5/B/C+qn5s3XfX7yyb9fgH1vgmLfNiAKMA/sa6FPWMiPwK8ridVfVdAN8GcA7AjxFrtxPI\n73a25apdF1i3E4dnzbRwzzsi8ikABwA8qKofuh/T2CE7b97OJCKrAVxQ1RN+1zKDZiF26r5LVT8P\n4GeIna478rCd5wJYg9iB7XoAvwLgVl+L8oHf7WpauL8LYKHrfqk1zEgiMhuxYN+nqi9ag/9TRK6z\nHr8OwAVruNeym7ROfhvA74vIWQDPI3Zp5ikAc0TE/lUwd/3OslmPFyH2+7wmLfMwgGFVfdW6/w+I\nhX0+t/PvABhS1VFV/QWAFxFr+3xuZ1uu2vVd63bi8KyZFu6vAfis9ar7VYi9+PI9n2uaFOuV72cB\nRFX1CddD3wNgv2K+CbFr8fbwu6xX3W8C8IF1+ncUQI2IzLV6TDXWsMBR1UdUtVRVyxBru25V3QCg\nB7Hf4gWSl9leF39oja/W8HXWuywWA/gsYi8+BY6qjgB4R0SWWoNWAXgLedzOiF2OuUlErrG2c3uZ\n87adXXLSrtZjH4rITdY6vMs1rez4/YLEJF7AuB2xd5acAfDnftczheW4BbFTtjcADFh/tyN2rbEL\nwA8A/DOAedb4AqDVWu5BAGHXtP4YwNvW391+L1uWy78Cl98t8xnEdtq3Afw9gE9awwus+29bj3/G\n9fw/t9bFaUzwXQQ+LOtyAP1WW3ci9q6IvG5nAP8bwCkAJwG0I/aOl7xqZwD7EXtN4ReInaHdk8t2\nBRC21t/dYzFyAAAAQklEQVQZxH6nWiZSHz+hSkSUh0y7LENERFlguBMR5SGGOxFRHmK4ExHlIYY7\nEVEeYrgTEeUhhjsRUR5iuBMR5aH/D2Luvnr6+/xzAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10918a8d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot(beta_samples,',')\n",
"figure()\n",
"plot(b_samples,',')\n",
"burn = 500\n",
"b_samples_burnt = b_samples[burn:]\n",
"beta_samples_burnt = beta_samples[burn:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Okay, that worked. So lets histogram our results.\n",
"\n",
"The maximum likelihood for b is always going to be biased low (because it can't be be too high)."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x10b543790>"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a986610>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nalhRgBwAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a872350>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hist(b_samples_burnt.flatten(), bins=100, normed=True)\n",
"xlabel(\"b posterior\")\n",
"figure()\n",
"_=hist(beta_samples_burnt.flatten(), bins=100, normed=True)\n",
"xlabel(\"beta posterior\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a 2D histogram. The b parameter is much better constrained than when beta>0. This makes sense as you have more samples near the upper limit in this case."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x10b291390>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1098cb390>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"figure(figsize=(12,8))\n",
"_=hist2d(b_samples_burnt.flatten(), beta_samples_burnt.flatten(), bins=50, range=[(1.48,1.52),(-0.5,-0.2)], normed=True)\n",
"colorbar()\n",
"xlabel(\"b\")\n",
"ylabel(\"beta\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment