{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# GLM: Robust Linear Regression\n",
    "\n",
    "Author: [Thomas Wiecki](https://twitter.com/twiecki)\n",
    "\n",
    "This tutorial first appeard as a post in small series on Bayesian GLMs on my blog:\n",
    "\n",
    "  1. [The Inference Button: Bayesian GLMs made easy with PyMC3](http://twiecki.github.com/blog/2013/08/12/bayesian-glms-1/)\n",
    "  2. [This world is far from Normal(ly distributed): Robust Regression in PyMC3](http://twiecki.github.io/blog/2013/08/27/bayesian-glms-2/)\n",
    "  3. [The Best Of Both Worlds: Hierarchical Linear Regression in PyMC3](http://twiecki.github.io/blog/2014/03/17/bayesian-glms-3/)\n",
    "  \n",
    "In this blog post I will write about:\n",
    "\n",
    " - How a few outliers can largely affect the fit of linear regression models.\n",
    " - How replacing the normal likelihood with Student T distribution produces robust regression.\n",
    " - How this can easily be done with `PyMC3` and its new `glm` module by passing a `family` object.\n",
    " \n",
    "This is the second part of a series on Bayesian GLMs (click [here for part I about linear regression](http://twiecki.github.io/blog/2013/08/12/bayesian-glms-1/)). In this prior post I described how minimizing the squared distance of the regression line is the same as maximizing the likelihood of a Normal distribution with the mean coming from the regression line. This latter probabilistic expression allows us to easily formulate a Bayesian linear regression model.\n",
    "\n",
    "This worked splendidly on simulated data. The problem with simulated data though is that it's, well, simulated. In the real world things tend to get more messy and assumptions like normality are easily violated by a few outliers. \n",
    "\n",
    "Lets see what happens if we add some outliers to our simulated data from the last post."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Again, import our modules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import pymc3 as pm\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "import theano"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create some toy data but also add some outliers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "size = 100\n",
    "true_intercept = 1\n",
    "true_slope = 2\n",
    "\n",
    "x = np.linspace(0, 1, size)\n",
    "# y = a + b*x\n",
    "true_regression_line = true_intercept + true_slope * x\n",
    "# add noise\n",
    "y = true_regression_line + np.random.normal(scale=.5, size=size)\n",
    "\n",
    "# Add outliers\n",
    "x_out = np.append(x, [.1, .15, .2])\n",
    "y_out = np.append(y, [8, 6, 9])\n",
    "\n",
    "data = dict(x=x_out, y=y_out)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the data together with the true regression line (the three points in the upper left corner are the outliers we added)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\npc2/qVOnOhHJDuvXr2/T8q9trnGT73nBff9PG93ke15wr22u6dD2n376aXfDDTc0/Lxnzx7nnHO7\nd+9u+N28efPcs88+65xzbvbs2e6OO+5wzjl33333uUGDBrnt27e7I0eOuIKCAldbW+veeecdB7gl\nS5Y455y7/vrr3X//9383vH758uWupqbGzZo1yx04cMA559x3vvMd9+///u/u8OHDrrCw0G3atMnV\n1dW5q666yl188cWNyv3973/fXX/99c4559asWeNyc3Pd8uXLo8p+4sQJN3v2bLdmzRrnnHNnnXWW\nq6k5dbyaWy5oTX0mgAoXR37oykxEQqGsKJ95M4Zw/0ubmTdjCGVF+R1a34QJE3jxxRe58847efXV\nV8nL867yXn75ZWbMmMGECRN46aWXWLduXcNrLr300obXjh8/nkGDBtG1a1eGDx/Oe++9B8CZZ57J\nzJkzAZg3bx5LliyJ2u7SpUtZv349M2fOZNKkSfzsZz/j3XffZePGjQwbNoyRI0diZsybN6/Jcr/y\nyisNz5WUlFBSUtLw3JNPPsmUKVOYPHky69atY/369U2uI97lwkRhluHU1iCZoryqlseWbeW2uSN4\nbNnWRp/rtho1ahQrV65kwoQJ3HXXXdxzzz0cOXKEW265haeffpo33niDG2+8MWrsU9euXQHIyclp\neFz/84kTJ4DGXcxjf3bO8fGPf5zVq1ezevVq1q9fz6OPPtqhfQF45513+N73vsdf/vIXKisrufji\ni5sctxXvcmGjMMtwyWhrEEm1+s/tA9dM5vbzR/PANZOjPtftsX37dnr06MG8efOYP38+K1eubDip\n5+fnc+DAAZ5++uk2r3fr1q28/vrrACxcuJCPfOQjUc+fffbZvPbaa2zevBnw2u42bdrEmDFj2LJl\nC1VV3hfNX/7yl02u/9xzz2XhwoUArF27lsrKSgD27dtHz549ycvLY+fOnfzhD39oeE3v3r3Zv39/\nq8uFmaazynBlRfkNf/jzZgzhsWVbeeCayR2uohFJpcrqvVGf2/rPdWX13nZ/lt944w3mz59PTk4O\nnTt35sEHH6Rv377ceOONFBcXM3DgQKZNm9bm9Y4ePZof/ehHfP7zn2fcuHHcfPPNUc8PGDCAn/70\np3zmM5/h6NGjAHzzm99k1KhRPPzww1x88cX06NGDWbNmNQRQpJtvvpnrr7+esWPHMnbsWKZOnQrA\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f510c98b320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(7, 7))\n",
    "ax = fig.add_subplot(111, xlabel='x', ylabel='y', title='Generated data and underlying model')\n",
    "ax.plot(x_out, y_out, 'x', label='sampled data')\n",
    "ax.plot(x, true_regression_line, label='true regression line', lw=2.)\n",
    "plt.legend(loc=0);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Robust Regression\n",
    "\n",
    "\n",
    "Lets see what happens if we estimate our Bayesian linear regression model using the `glm()` function as before. This function takes a [`Patsy`](http://patsy.readthedocs.org/en/latest/quickstart.html) string to describe the linear model and adds a Normal likelihood by default. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Auto-assigning NUTS sampler...\n",
      "Initializing NUTS using ADVI...\n",
      "Average Loss = 180.79:   6%|▌         | 11551/200000 [00:01<00:18, 9990.61it/s]\n",
      "Convergence archived at 11900\n",
      "Interrupted at 11,900 [5%]: Average Loss = 260.51\n",
      "100%|██████████| 2500/2500 [00:04<00:00, 576.68it/s]\n"
     ]
    }
   ],
   "source": [
    "with pm.Model() as model:\n",
    "    pm.glm.GLM.from_formula('y ~ x', data)\n",
    "    trace = pm.sample(2000, cores=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To evaluate the fit, I am plotting the posterior predictive regression lines by taking regression parameters from the posterior distribution and plotting a regression line for each (this is all done inside of `plot_posterior_predictive()`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaUAAAE/CAYAAADmL9yLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4nNWd9//3maIZjcpIGjXbkgvC3Za7bGzAYNMCDh0S\nCC0ENpB42V12vSR5kgCb5JdCHngCZAPZsJDQg5M4ZGEJCWBTDMY2xgV32eq9Te9zfn+M5kayJVtu\naIy/r+vSZc3MXc7MyPOZU+5zlNYaIYQQIh2YhrsAQgghRIqEkhBCiLQhoSSEECJtSCgJIYRIGxJK\nQggh0oaEkhBCiLQhoSREH0opn1LqtOEux1Aopc5RSjX0uf2JUuqcozjOWUqpXce1cEIcJQklMSyU\nUjVKqWBvCLQqpZ5SSmUfw/HGKqW0UspyLOXSWmdrrfcdyzGGi9Z6qtZ69eG2632dTu+z3zta64kn\ntHBCDJGEkhhOX9RaZwOzgbnAd4erIMcaZsO9vxCfFxJKYthprRuB/wWmASilRiqlXlZKdSml9iql\nbk9tq5SqUkptUEp5emtYD/Y+9Hbvvz29ta8zere/VSm1QynVrZT6q1JqTJ9jaaXUN5VSe4A9fe47\nvfd3p1Lqd0qpdqVUrVLqu0opU+9jtyil3lNKPaSU6gTuO/B5KaXuU0qtVEq9qJTyKqU+UkrN6PN4\njVLqHqXUFsCvlLL0Pvc/9J5zv1Lqrj7bZ/bWKLuVUtuBeQecr0YpdV7v72al1HeUUtW9596olCpX\nSqVep829r9OX+jYD9pZn5QHH/YVS6uE+r8kTSqlmpVSjUuqHSinz4d9lIYZGQkkMO6VUOXAxsKn3\nrheABmAkcDXw/ymllvQ+9gvgF1rrXKAC+H3v/Wf3/pvX2wT3vlLqMuA7wJVAEfAO8PwBp78cmA9M\nGaBojwBO4DRgMXAT8NU+j88H9gElwI8GeXqXAS8BBcBzwCqllLXP49cBlwB5QAL4C7AZGAUsBf5Z\nKXVh77b39j7nCuBC4OZBzglwd++xLwZygVuBgNY69TrN6H2dXjxgvxeAi5VSOZAMN+Da3rIDPAXE\ngNOBWcAFwG2HKIcQR0ZrLT/y85n/ADWAD+gBaoH/BDKBciAO5PTZ9sfAU72/vw3cDxQecLyxgAYs\nfe77X+BrfW6bgAAwpve2BpYccBxN8gPXDESAKX0e+zqwuvf3W4C6wzzH+4APDjh/M3BWn9fg1j6P\nzz/wmMC3gSd7f98HXNTnsX8AGg54Tc/r/X0XcNkg5dLA6X1un3PAcd4Fbur9/Xyguvf3EiAMZPbZ\n9jrgreH+e5Kfz8+P1JTEcLpca52ntR6jtf6G1jpIsnbUpbX29tmulmTNAeBrwARgp1JqvVJq2SGO\nPwb4hVKqRynVA3QBqs+xAOoH2bcQsPaee6ByHGrfvoxttNYJPq0BDnSMMcDIVHl7y/wdkmFA7359\nt+9btgOVA9VDKN9AniMZNgDX82ktaQzJ16S5T/keB4qP8jxCHEQ6V0W6aQIKlFI5fYJpNNAIoLXe\nA1zX27dzJbBSKeUi+e3/QPXAj7TWzx7ifINNk98BREl+EG8/sByH2bev8tQvvWUuI/kcBzpGPbBf\naz1+kGM19x7vkz7lGUw9yWa+bUMo44FeAv6vUqoMuAI4o88xwyRrqbGjOK4QhyU1JZFWtNb1wFrg\nx0opu1KqkmTt6BkApdQNSqmi3lpHT+9uCaC999++1xg9BnxbKTW1d1+nUuqaIZYjTrK/6kdKqZze\nARJ3p8pxBOYopa7sHV33zyQ/1D8YZNsPAW/vYIPM3sEK05RSqQENv+99Pvm9gfGPhzjvb4AfKKXG\nq6TK3vAGaKX/69SP1rodWA08STIkd/Te3wy8TjKwcpVSJqVUhVJq8VBeCCGGQkJJpKPrSPYRNQF/\nAu7VWv+997GLgE+UUj6Sgx6+rLUOaq0DJAcbvNfbtLRAa/0n4KfAC0opD8lawxeOoBz/CPhJ9uW8\nS7IZ67+P8Ln8GfgS0A3cCFyptY4OtGFvEC4DZgL7SdbWfkNysAUk+9Jqex97HXj6EOd9kGSIvQ54\ngCdI9tlBsq/rt72v07WD7P8ccB6fNt2l3ARkkKw9dgMrgRGHKIcQR0RpLYv8CXEiKKXuIzmg4Ibh\nLosQJwupKQkhhEgbEkpCCCHShjTfCSGESBtSUxJCCJE2JJSEEEKkjRNy8WxhYaEeO3bsiTi0EEKI\nk9DGjRs7tNZFh9vuhITS2LFj2bBhw4k4tBBCiJOQUupQ02IZpPlOCCFE2pBQEkIIkTYklIQQQqQN\nmSVcnJKi0SgNDQ2EQqHhLooQnyt2u52ysjKsVuvhNx6AhJI4JTU0NJCTk8PYsWNRSg13cYT4XNBa\n09nZSUNDA+PGjTuqY0jznTglhUIhXC6XBJIQx5FSCpfLdUwtEBJK4pQlgSTE8Xes/68klE4Sj62p\nZm11R7/71lZ38Niao13xWqSb++67j5///OeDPr5q1Sq2b98+6ONCfB5IKJ0kKsucLH9ukxFMa6s7\nWP7cJirLnIfZU3xeSCiJU4GE0kliYUUhj14/i+XPbeLB13ex/LlNPHr9LBZWFA530T73TmQt9Uc/\n+hETJkzgzDPPZNeuXQD813/9F/PmzWPGjBlcddVVBAIB1q5dy8svv8yKFSuYOXMm1dXVA24nxMlO\nQukksrCikBvmj+bhN/dyw/zREkifkRNVS924cSMvvPACH3/8Ma+++irr168H4Morr2T9+vVs3ryZ\nyZMn88QTT7Bw4UIuvfRSHnjgAT7++GMqKioG3E6Ik50MCT+JrK3u4Jl1ddy15HSeWVfHggqXBNNn\noG8t9Yb5o3lmXd1xqaW+8847XHHFFTgcDgAuvfRSALZt28Z3v/tdenp68Pl8XHjhhQPuP9TthDiZ\nSE3pJJH6dv7o9bO4+4KJxofkgc1K4sT4LGupt9xyC48++ihbt27l3nvvHXR47VC3E+JkIqF0ktjS\n4O737Tz17X1Lg3uYS3ZqOLCWejy+DJx99tmsWrWKYDCI1+vlL3/5CwBer5cRI0YQjUZ59tlnje1z\ncnLwer3G7cG2E+JkJs13J4k7FlccdN/CikJpvvsM9K2lLqwoZEGF67gMNJk9ezZf+tKXmDFjBsXF\nxcybNw+AH/zgB8yfP5+ioiLmz59vBNGXv/xlbr/9dh5++GFWrlw56HZCnMyU1vq4H3Tu3Lla1lMS\n6WzHjh1Mnjx5SNs+tqaayjJnvwBaW93Blgb3gF8WhDjVDfT/Sym1UWs993D7Sk1JiMOQWqoQnx3p\nUxJCCJE2JJSEEEKkDQklIYQQaUNCSQghRNqQUBJCCJE2JJSEOIkd7czhL7/8Mj/5yU9OQImOzurV\nq1m2bBlw+LL19PTwn//5n8btpqYmrr766hNexuFy2223HZfZ4Z966imWL18OwGOPPcbvfve7Yz7m\niSBDwoU4ia1atYply5YxZcqUIe8Ti8W49NJLjbn2hrqPxXJkHxdaa7TWmExH9t33cGVLhdI3vvEN\nAEaOHMnKlSuP6ByHczTP90QcA+A3v/nNMR/jQHfcccdxP+bxIjUlIYZBTU0NkyZN4itf+QqTJ0/m\n6quvNpaeeOONN5g1axbTp0/n1ltvJRwOA/Ctb32LKVOmUFlZyb/9278NuJxFdXU1F110EXPmzOGs\ns85i586dQHKevDvuuIP58+fz7//+7/2+NdfU1LBkyRIqKytZunQpdXV1A+7T11NPPcVll13GOeec\nw/jx47n//vuNY02cOJGbbrqJadOmUV9fz+uvv84ZZ5zB7Nmzueaaa/D5fAC89tprTJo0idmzZ/PH\nP/6x37FTZWttbeWKK65gxowZzJgxg7Vr1/Ktb32L6upqZs6cyYoVK6ipqWHatGkALFiwgE8++cQ4\n1jnnnMOGDRvw+/3ceuutVFVVMWvWLP785z8f9J6sXr2as846i0svvdQI+WeeeYaqqipmzpzJ17/+\ndeLxOABPPPEEEyZMoKqqittvv90o74Gv2WDn/eSTT4zjVlZWsmfPHvx+P5dccgkzZsxg2rRpvPji\ni/2eA8Dzzz/P9OnTmTZtGvfcc49R9uzsbP7P//k/zJgxgwULFtDa2nrIv7++C0qec8453HPPPVRV\nVTFhwgTeeecdAOLxOCtWrGDevHlUVlby+OOPA9Dc3MzZZ5/NzJkzmTZtmrH9cZP6NnM8f+bMmaOF\nSGfbt28f1vPv379fA/rdd9/VWmv91a9+VT/wwAM6GAzqsrIyvWvXLq211jfeeKN+6KGHdEdHh54w\nYYJOJBJaa627u7u11lrffPPN+qWXXjKOu2TJEr17926ttdYffPCBPvfcc43tLrnkEh2LxbTWWj/5\n5JP6m9/8ptZa62XLlumnnnpKa631E088oS+77LIB9+nrySef1KWlpbqjo0MHAgE9depUvX79er1/\n/36tlNLvv/++1lrr9vZ2fdZZZ2mfz6e11vonP/mJvv/++43nuXv3bp1IJPQ111yjL7nkkoPKdu21\n1+qHHnpIa611LBbTPT09ev/+/Xrq1Kn9XsvU7QcffFB///vf11pr3dTUpCdMmKC11vrb3/62fvrp\np43Xbvz48UaZUt566y3tcDj0vn37tNbJv5Fly5bpSCSitdb6zjvv1L/97W91Y2OjHjNmjO7s7NSR\nSESfeeaZRnkPfM0GO+/y5cv1M888o7XWOhwO60AgoFeuXKlvu+02ozw9PT1aa60XL16s169frxsb\nG3V5eblua2vT0WhUn3vuufpPf/qT1lprQL/88staa61XrFihf/CDHwz4nqXKee+99+oHHnjAOP7d\nd9+ttdb6lVde0UuXLtVaa/34448bxwmFQnrOnDl63759+uc//7n+4Q9/aLwnHo/noHMN9P8L2KCH\nkB/SfCdOefF4/LDfLI9USUkJZrP5kNuUl5ezaNEiAG644QYefvhhzj//fMaNG8eECRMAuPnmm/nl\nL3/J8uXLsdvtfO1rX2PZsmVG/0tfPp+PtWvXcs011xj3pWpZANdcc82AZXr//feNmsqNN97Yr1Y0\n2D4A559/Pi6XC0iuAfXuu+9y+eWXM2bMGBYsWADABx98wPbt243nGYlEOOOMM9i5cyfjxo1j/Pjx\nxvP/9a9/fdA53nzzTaPvw2w243Q66e7uHrA8ANdeey0XXHAB999/P7///e+NvqbXX3+dl19+2agd\nhEIh6urqDpoKp6qqinHjxgHJGuvGjRuNOQmDwSDFxcV8+OGHLF68mIKCAuM12r1794Cv2WDnPeOM\nM/jRj35EQ0MDV155JePHj2f69On867/+K/fccw/Lli3jrLPO6le29evXc84551BUVATAV77yFd5+\n+20uv/xyMjIyjL+JOXPm8Le//W3Q12ggV155pbFvTU2NUfYtW7YYTaNut5s9e/Ywb948br31VqLR\nKJdffjkzZ848onMdjoSSEMNEKXXI231ZLBY+/PBD3njjDVauXMmjjz7Km2++2W+bRCJBXl4eH3/8\n8YDHyMrKOuIyHmqfwcrfdx+tNeeffz7PP/98v20HK+OxGjVqFC6Xiy1btvDiiy/y2GOPGeX4wx/+\nwMSJEw+5/4Flv/nmm/nxj3/cb5tVq1Yd0TEGOu/kyZOZP38+r7zyChdffDGPP/44S5Ys4aOPPuLV\nV1/lu9/9LkuXLuX73//+kJ631Wo1Xn+z2UwsFhvSfik2m+2gfbXWPPLIIwOu0/X222/zyiuvcMst\nt3D33Xdz0003HdH5DkX6lMQpz2w2M3LkyOP6c7haEkBdXR3vv/8+AM899xxnnnkmEydOpKamhr17\n9wLw9NNPs3jxYnw+H263m4svvpiHHnqIzZs3A/2Xs8jNzWXcuHG89NJLQPJDJbXdoSxcuJAXXngB\ngGefffagb+iD+dvf/kZXVxfBYJBVq1YZtaG+FixYwHvvvWc8H7/fz+7du5k0aRI1NTVUVyeXlD8w\ntFKWLl3Kr371KyBZo3W73Qct4XGgL33pS/zsZz/D7XZTWVkJwIUXXsgjjzyC7p2AetOmTYd9fkuX\nLmXlypW0tbUB0NXVRW1tLfPmzWPNmjV0d3cTi8X4wx/+MOgxBjvvvn37OO2007jrrru47LLL2LJl\nC01NTTgcDm644QZWrFjBRx991O9YVVVVrFmzho6ODuLxOM8//zyLFy8+7PM4WhdeeCG/+tWviEaj\nAOzevRu/309tbS0lJSXcfvvt3HbbbQeV81hJKAkxTCZOnMgvf/lLJk+eTHd3N3feeSd2u50nn3yS\na665hunTp2Mymbjjjjvwer0sW7aMyspKzjzzTB588EEguZzFAw88wKxZs6iurubZZ5/liSeeYMaM\nGUydOnXADv0DPfLIIzz55JNUVlby9NNP84tf/GJI5a+qquKqq66isrKSq666irlzD54AuqioiKee\neorrrruOyspKo+nObrfz61//mksuuYTZs2dTXFw84Dl+8Ytf8NZbbzF9+nTmzJnD9u3bcblcLFq0\niGnTprFixYqD9rn66qt54YUXuPbaa437vve97xGNRqmsrGTq1Kl873vfO+zzmzJlCj/84Q+54IIL\nqKys5Pzzz6e5uZlRo0bxne98h6qqKhYtWsTYsWNxOp0DHmOw8/7+979n2rRpzJw5k23btnHTTTex\ndetWY/DD/fffz3e/+91+xxoxYgQ/+clPOPfcc5kxYwZz5szhsssuO+zzOFq33XYbU6ZMYfbs2Uyb\nNo2vf/3rxGIxVq9ezYwZM5g1axYvvvgi//RP/3RczytLV4hT0pEsXXEi1NTUsGzZMrZt2zZsZTgW\nTz31FBs2bODRRx8d7qIMC5/PR3Z2NrFYjCuuuIJbb72VK664YriLlTaOZekKqSkJIcQRuu+++4wh\n0ePGjePyyy8f7iJ9bkhNSZyShrumJMTnmdSUhBBCfC4MKZSUUv+ilPpEKbVNKfW8Usp+ogsmhBDi\n1HPYUFJKjQLuAuZqracBZuDLJ7pg6eCxNdWsre7od9/a6g4eW1M9TCUSQojPt6E231mATKWUBXAA\nTSeuSOmjsszJ8uc2GcG0trqD5c9torJs4OGfQgghjs1hQ0lr3Qj8HKgDmgG31vr1E12wdLCwopBH\nr5/F8uc28eDru1j+3CYevX4WCysKh7to4iR34PILp4qFCxcel+PccsstxvQ3x2tpB5EehtJ8lw9c\nBowDRgJZSqkbBtjuH5RSG5RSG9rb249/SYfJwopCbpg/moff3MsN80dLIInj4lChdKRTxBzO8The\nanbsY7V27drjcpy+fvOb3xzR0h0ivQ2l+e48YL/Wul1rHQX+CBz0dUdr/Wut9Vyt9dzUhIGfB2ur\n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\nJrebsc78f3gAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f50dcc35e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 5))\n",
    "plt.plot(x_out, y_out, 'x', label='data')\n",
    "pm.plot_posterior_predictive_glm(trace, samples=100, \n",
    "                                 label='posterior predictive regression lines')\n",
    "plt.plot(x, true_regression_line, \n",
    "         label='true regression line', lw=3., c='y')\n",
    "\n",
    "plt.legend(loc=0);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, the fit is quite skewed and we have a fair amount of uncertainty in our estimate as indicated by the wide range of different posterior predictive regression lines. Why is this? The reason is that the normal distribution does not have a lot of mass in the tails and consequently, an outlier will affect the fit strongly.\n",
    "\n",
    "A Frequentist would estimate a [Robust Regression](http://en.wikipedia.org/wiki/Robust_regression) and use a non-quadratic distance measure to evaluate the fit.\n",
    "\n",
    "But what's a Bayesian to do? Since the problem is the light tails of the Normal distribution we can instead assume that our data is not normally distributed but instead distributed according to the [Student T distribution](http://en.wikipedia.org/wiki/Student%27s_t-distribution) which has heavier tails as shown next (I read about this trick in [\"The Kruschke\"](http://www.indiana.edu/~kruschke/DoingBayesianDataAnalysis/), aka the puppy-book; but I think [Gelman](http://www.stat.columbia.edu/~gelman/book/) was the first to formulate this).\n",
    "\n",
    "Lets look at those two distributions to get a feel for them.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8lfX58PHPlZM9mAkzBMKSLSDgqqsq4qjYpWjdPqW2\nzra/oR3Wx/7a2uqvVqt9qlWqnTjb4iraOqoVlYAIMjNASFhJgJCE7HM9f9z3SU7CSc5JclbC9X69\nzus+5x7nXIHkXPd3i6pijDHGdCUh1gEYY4yJf5YsjDHGBGXJwhhjTFCWLIwxxgRlycIYY0xQliyM\nMcYEZcnCGGNMUJYsjDHGBGXJwhhjTFCJsQ4gXLKzs3XcuHGxDsMYY/qUNWvWVKhqTrDz+k2yGDdu\nHAUFBbEOwxhj+hQR+TSU86wayhhjTFCWLIwxxgRlycIYY0xQ/abNwhjT/zQ1NVFaWkp9fX2sQ+nz\nUlNTyc3NJSkpqUfXRzRZiMgi4EHAAzyuqvd2ct4XgeeA+apa4O67E7gBaAFuVdWVkYzVGBN/SktL\nycrKYty4cYhIrMPps1SVyspKSktLyc/P79F7RKwaSkQ8wCPA+cA04HIRmRbgvCzgNuADv33TgCXA\ndGAR8Cv3/Ywxx5D6+nqGDh1qiaKXRIShQ4f2qoQWyTaLBUCRqpaoaiOwHFgc4LwfAj8F/H+KxcBy\nVW1Q1e1Akft+xphjjCWK8Ojtv2Mkk8VoYJff61J3XysRmQuMUdWXu3utMfGusdnLsne3s+SxVVz/\n5GreKSyPdUjG9FjMekOJSALwc+DbvXiPpSJSICIF5eX2h2jiR2OzlxueWs09L23i/ZIDvLFlP1c9\n8SGPv1MS69BMN4kI3/5229fU/fffz9133x3VGK699lqee+65qH5mR5FMFmXAGL/Xue4+nyxgBvCW\niOwATgJWiMi8EK4FQFUfU9V5qjovJyfoaHVjouaelzbyTmEF2ZnJ/PzS47nt7EkA/M/Lm3lzy/4Y\nR2e6IyUlhRdeeIGKiooeXd/c3BzmiGIjkr2hVgOTRCQf54t+CXCF76CqVgHZvtci8hbwH6paICJ1\nwJ9E5OfAKGAS8GEEYzUmbNbuPMgf3t9Jkkf47bULmJk7EIDkxATuW7mV7//tE14ffwZpydZnoy9I\nTExk6dKlPPDAA/zoRz9qd2zHjh1cf/31VFRUkJOTw29/+1vy8vK49tprSU1N5aOPPuLUU09lwIAB\nbN++nZKSEnbu3MkDDzzA+++/z6uvvsro0aN58cUXSUpK4p577uHFF1+krq6OU045hUcffTRu2mwi\nlixUtVlEbgZW4nSdXaaqG0XkHqBAVVd0ce1GEXkG2AQ0AzepakukYjUmnH788mYAvnra+NZEAfC1\n08fz0vo9bN5zmKdW7eDGMybEKMK+adwdHZs2w2PHvRcGPeemm25i1qxZ/Nd//Ve7/bfccgvXXHMN\n11xzDcuWLePWW2/lr3/9K+B0+33vvffweDzcfffdFBcX8+abb7Jp0yZOPvlknn/+eX72s5/x+c9/\nnpdffplLLrmEm2++mbvuuguAq666ipdeeonPfe5z4f+heyCibRaq+oqqTlbVCar6I3ffXYEShaqe\n6Rtj4b7+kXvdcar6aiTjNCZcCnYcoODTgwxITeQbZ01sdyzRk8B/LzoOgGXvbqeh2e5/+ooBAwZw\n9dVX89BDD7Xbv2rVKq64wqkwueqqq3j33Xdbj335y1/G42krPZ5//vkkJSUxc+ZMWlpaWLRoEQAz\nZ85kx44dALz55puceOKJzJw5kzfeeIONGzdG+CcLnY3gNiaMnnh3OwBXnzyOzJSj/7zOmJzDlBFZ\nbNlbzYsf7+FLJ+RGO8Q+K5QSQCTdfvvtzJ07l+uuuy6k8zMyMtq9TklJASAhIYGkpKTW6qWEhASa\nm5upr6/nG9/4BgUFBYwZM4a77747rkau29xQxoTJgdpG/rF5HwkCV508NuA5IsJ1p44D4NmCXQHP\nMfFpyJAhXHrppTzxxBOt+0455RSWL18OwB//+EdOO+20Hr+/LzFkZ2dTU1MT895PHVmyMCZMVqwr\no6lFOX1yDsMHpHZ63gUzR5KalMAH2w+w68CRKEZoeuvb3/52u15Rv/zlL/ntb3/LrFmz+P3vf8+D\nDz7Y4/ceNGgQX/3qV5kxYwbnnXce8+fPD0fIYSOqGusYwmLevHlqix+ZWLrkkX+zbtchfnn5HD53\n/Kguz719+Uf8dd1u/mPhZG7+7KQoRdj3bN68malTp8Y6jH4j0L+niKxR1XnBrrWShTFhsLeqnnW7\nDpGSmMDZU4cFPf/CWU4yWblxX6RDMyYsLFkYEwavb9oLwOmTc0hPDt5v5LRJ2aQne9hQVsXuQ3WR\nDs+YXrNkYUwYvLbJKSGcN31ESOenJnk4Y7Iz68Drm6x0YeKfJQtjeqmusYUPth9ABD47JXgVlI/v\n3Le32bxmJv5ZsjCmlz7YXkljs5eZowcyJCM55OtOd0sWq4orbYCeiXuWLIzppX9tc7pSnjYpO8iZ\n7Q0fkMpxw7Ooa2phzacHIxGaMWFjycKYXnqv2Jcsuj/zsS/BvFdUGdaYTPj86Ec/Yvr06cyaNYvZ\ns2fzwQfOop6/+MUvOHKk++NkMjMzexzLk08+ye7du4/af9NNNzF79mymTZtGWloas2fPZvbs2WEd\n2GfTfRjTC1VHmti6r5pkTwKzxwzq9vUnjh/K4+9uZ/WOAxGIzvTWqlWreOmll1i7di0pKSlUVFTQ\n2NgIOMniyiuvJD09PWrxPPnkk8yYMYNRo9qP43nkkUcAZxbciy66iHXr1oX9s61kYUwvrN15EFWY\nlTuQ1KTuTzl+wtjBAKzbdYjGZm+4wzO9tGfPHrKzs1vndcrOzmbUqFE89NBD7N69m7POOouzzjoL\naF9ieO6557j22msB2L59OyeffDIzZ87ke9/7Xrv3v++++5g/fz6zZs3iBz/4AeB84U+dOpWvfvWr\nTJ8+nYULF1JXV8dzzz1HQUEBX/nKV5g9ezZ1ddHtcm0lC2N6wVcimDduSI+uH5KRzMRhmRTtr+GT\n3VXMzRsczvD6l7sHBj+nR+9b1emhhQsXcs899zB58mTOOeccLrvsMs444wxuvfVWfv7zn/Pmm2+S\nnd11W9Vtt93G17/+da6++urWEgDAa6+9RmFhIR9++CGqysUXX8y//vUv8vLyKCws5M9//jO/+c1v\nuPTSS3n++ee58sorefjhh7n//vuZNy/ogOuws5KFMb1QsMNpmF6Q3/Mv+fluoimwqqi4k5mZyZo1\na3jsscfIycnhsssu48knn+zWe/z73//m8ssvB5xpzH1ee+01XnvtNebMmcPcuXPZsmULhYWFAOTn\n5zN79mwATjjhhNYpzGPJShbG9FBDcwvrSg8BcEJez0oWAPPHDebPH+5k9Y6DLD09XNH1Q12UACLJ\n4/Fw5plncuaZZzJz5kyeeuqp1iomf/4r2nWcWjzQaneqyp133snXvva1dvt37NjRWu3l+/xoVzkF\nEtGShYgsEpGtIlIkIncEOH6jiGwQkXUi8q6ITHP3jxOROnf/OhH5dSTjNKYnNpRW0djs5bjhWQxM\nT+rx+/iXLLze/jGxZ3+xdevW1rt9gHXr1jF2rDP9fFZWFtXV1a3Hhg8fzubNm/F6vfzlL39p3X/q\n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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5109760898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "normal_dist = pm.Normal.dist(mu=0, sd=1)\n",
    "t_dist = pm.StudentT.dist(mu=0, lam=1, nu=1)\n",
    "x_eval = np.linspace(-8, 8, 300)\n",
    "plt.plot(x_eval, theano.tensor.exp(normal_dist.logp(x_eval)).eval(), label='Normal', lw=2.)\n",
    "plt.plot(x_eval, theano.tensor.exp(t_dist.logp(x_eval)).eval(), label='Student T', lw=2.)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('Probability density')\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, the probability of values far away from the mean (0 in this case) are much more likely under the `T` distribution than under the Normal distribution.\n",
    "\n",
    "To define the usage of a T distribution in `PyMC3` we can pass a family object -- `T` -- that specifies that our data is Student T-distributed (see `glm.families` for more choices). Note that this is the same syntax as `R` and `statsmodels` use."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Auto-assigning NUTS sampler...\n",
      "Initializing NUTS using ADVI...\n",
      "Average Loss = 130.42:   6%|▌         | 11719/200000 [00:01<00:21, 8618.18it/s]\n",
      "Convergence archived at 12100\n",
      "Interrupted at 12,100 [6%]: Average Loss = 174.94\n",
      "100%|█████████▉| 2496/2500 [00:06<00:00, 416.64it/s]/usr/local/lib/python3.5/dist-packages/pymc3/step_methods/hmc/nuts.py:440: UserWarning: The acceptance probability in chain 0 does not match the target. It is 0.880527316986, but should be close to 0.8. Try to increase the number of tuning steps.\n",
      "  % (self._chain_id, mean_accept, target_accept))\n",
      "100%|██████████| 2500/2500 [00:06<00:00, 391.78it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n6orX4nTw1ltvceDAgf437OHtt9/mt7/97QhENDQbN25k9er2le37i62uro7//u//9v5eUlLClVde\nOeIxjpZbbrllSK9xT+vXr2ft2rUAPP300/zlL3856TJHgiSlMSIrKYy1L+3yJqYcaxVrX9pFVlJY\nP88Up7OhJCWXy8XFF1/M3XffPajnDJbWGo/HM+jn9Rdbz6SUmJjI66+/Puj9nMhQjnckygD405/+\nxLRp04alrE633XYbN9xww7CWOVwkKY0RizKiefLa2ax9aRePfHCYtS/t4slrZ7MoI3q0QxNDkJ+f\nz5QpU/jud7/L1KlTufLKK2lqagLg448/Zvbs2cyYMYObb76ZlpYWAO6++26mTZtGVlYWP/nJT8jJ\nyeHtt99m3bp1zJo1C6vVitVq5YILLmDu3LksXbqUQ4cOAXDTTTdx2223sWDBAn760592+9acn5/P\n8uXLycrKYsWKFRQWFvb6nK7Wr1/PJZdcwjnnnMPEiRO5//77vWVNnjyZG264gczMTIqKivjggw84\n66yzmDNnDmvWrKGxsRGAf/7zn0yZMoU5c+bwt7/9rVvZnbGVl5dz2WWXMXPmTGbOnElOTg533303\nVquVWbNmsW7dOvLz88nMzARg4cKF7N+/31vWOeecw/bt23E4HNx8881kZ2cze/Zs/v73vx/3mmzc\nuJGlS5dy8cUXe5PAhg0byM7OZtasWfzgBz/A7XYD8NxzzzFp0iSys7O59dZbvfH2PGd97Xf//v3e\ncrOysjh69CgOh4NVq1Yxc+ZMMjMzefXVV7sdA8DLL7/MjBkzyMzM5K677vLGHhwczM9//nNmzpzJ\nwoULKS8vP+H1d9999/Hwww97y7/rrrvIzs5m0qRJfP755wC43W7WrVvH/PnzycrK4plnngGgtLSU\ns88+m1mzZpGZmendfthorYf9Z+7cuVqMjD+8f0in3vWO/sP7h0Y7lDHtwIEDo7r/vLw8DejNmzdr\nrbX+3ve+px966CHd3Nysk5KS9OHDh7XWWl9//fX60Ucf1VVVVXrSpEna4/ForbWura3VWmt94403\n6tdee81b7vLly/WRI0e01lpv2bJFn3vuud7tVq1apV0ul9Za6+eff17/6Ec/0lprvXr1ar1+/Xqt\ntdbPPfecvuSSS3p9TlfPP/+8jo+P11VVVbqpqUlPnz5db9u2Tefl5WmllP7yyy+11lpXVlbqpUuX\n6sbGRq211r/97W/1/fff7z3OI0eOaI/Ho9esWaNXrVp1XGxXXXWVfvTRR7XWWrtcLl1XV6fz8vL0\n9OnTu53Lzt8feeQR/atf/UprrXVJSYmeNGmS1lrrn/3sZ/qFF17wnruJEyd6Y+r06aef6sDAQJ2b\nm6u1br9GVq9erVtbW7XWWt9+++36z3/+sy4uLtapqam6urpat7a26iVLlnjj7XnO+trv2rVr9YYN\nG7TWWre0tOimpib9+uuv61tuucUbT11dndZa62XLlult27bp4uJinZycrCsqKnRbW5s+99xz9Ztv\nvqm11hrQb7/9ttZa63Xr1un/+I//6PU164zz3nvv1Q899JC3/DvvvFNrrfW7776rV6xYobXW+pln\nnvGW43Q69dy5c3Vubq5++OGH9QMPPOB9Terr64/bV2/vL2C7HkD+kCHhY0iOtYoNWwu5Y/kENmwt\nZGFGlNSUhoHb7e73m+VgxcXFYTQaT7hNcnIyixcvBuC6667j8ccfZ+XKlaSnpzNp0iQAbrzxRv74\nxz+ydu1aLBYL//Iv/8Lq1au9/S9dNTY2kpOTw5o1a7yPddayANasWdNrTF9++aW3pnL99dd3qxX1\n9RyAlStXEhUVBcDll1/O5s2bufTSS0lNTWXhwoUAbNmyhQMHDniPs7W1lbPOOotDhw6Rnp7OxIkT\nvcf/7LPPHrePTz75xNv3YTQaCQsLo7a2ttd4AK666irOO+887r//fv761796+5o++OAD3n77bW/t\nwOl0UlhYyNSpU7s9Pzs72zuU+eOPP2bHjh3Mnz8fgObmZmJjY/nqq69YtmwZkZGR3nN05MiRXs9Z\nX/s966yz+M1vfoPNZuPyyy9n4sSJzJgxg3//93/nrrvuYvXq1SxdurRbbNu2beOcc84hJqZ9TtPv\nfve7fPbZZ1x66aX4+fl5r4m5c+fy4Ycf9nmOenP55Zd7n5ufn++Nfc+ePd6mUbvdztGjR5k/fz43\n33wzbW1tXHrppcyaNWtQ++qPJKUxorMPqbPJbmFGlDThjXE9RymdaNSSyWTiq6++4uOPP+b111/n\nySef5JNPPum2jcfjITw8nK+//rrXMoKCggYd44me01f8XZ+jtWblypW8/PLL3bbtK8aTNW7cOKKi\notizZw+vvvoqTz/9tDeON954g8mTJ5/w+T1jv/HGG3nwwQe7bfPWW28Nqoze9jt16lQWLFjAu+++\n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\nTlwJ8fjzH845nff13a2fGdHsbK1Z9C0dnHZwz2ZSVkqpudjqOiUrSo7nunp9agftR3euyvh2EOnE\nqqXVSqmlJt3rlGw1UsrWSGQ+s6vtTlwO8cQ9a6bP9ne21vD0729lc5N/3vWem6mgS7edTi0dn0sh\ntUUplTu2Skr5MDuZbGn289RbFz6TTM5cG5p3vScfFXROLR2fSyG1RSmVO7aavsuX+XZAXuztIHK1\nvX8h7dZcSG1RSmXGkdN3+TJfOXYmi/n5qKBzaun4XAqpLUqp3FiSSWm+ZJLuek++KuicWDqeSiG1\nRSmVG0suKWUrmeSjPNqppeNzKaS2KKVyZ8mtKTmpHNtJsS6kkNqilMqc4++nlCk96CmllH0tuUIH\nLTlWSinns+1N/jI187ohLTlWSilnKpiREmjJsVJKOV1BJSUtOVZKKWdLKymJyF4ROSsi50Xk27kO\najG05FgppZxvwaQkIkXAD4EHgFuBr4jIrbkOLFN6WwWVCd0gVil7SmekdAdw3hhzwRgzDrwI7M9t\nWJnLxw7jqnBotaZS9pRO9V0T0DXj+WVge27CUSo/tFpTKXvKWqGDiPyRiBwTkWO9vb3Z+rFK5YxW\nayplP+kkpStAy4znzcmv3cAY84wxZpsxZlttbW224lMqZ7RaUyn7SScpfQCsE5HVIlICPAQczm1Y\nSuWWVmsqZU8LJiVjTAw4ALwCnAZ+Yoz5ONeBKZVLWq2plD0VzIasSiml7GvJbciqlFLK+TQpKaWU\nsg1NSkoppWxDk5JSSinb0KSklFLKNjQpKaWUsg1NSkoppWxDk5JSSinbyMnFsyLSC3x6kz+mBtA9\nX+amfZOa9k1q2jepad+klq2+WWmMWXBj1JwkpWwQkWPpXP27FGnfpKZ9k5r2TWraN6nlu290+k4p\npZRtaFJSSillG3ZOSs9YHYCNad+kpn2TmvZNato3qeW1b2y7pqSUUmrpsfNISSml1BJjeVISkb0i\nclZEzovIt+d43SMiLyVff19EVuU/Smuk0TffFJFTInJCRP5HRFZaEacVFuqbGe/7LRExIrJkKqvS\n6RsR+d3k787HIvJCvmO0Shp/UytE5E0ROZ78u9pnRZxWEJEfiUiPiJxM8bqIyPeTfXdCRD6Xk0CM\nMZb9A4qADmANUAJ8BNw66z1/DBxMPn4IeMnKmG3WN+2AN/n4Ce2bz7yvHDgCHAW2WR23XfoGWAcc\nByqTz5dbHbeN+uYZ4Ink41uBTqvjzmP/3A18DjiZ4vV9wMuAAHcC7+ciDqtHSncA540xF4wx48CL\nwP5Z79kPPJd8/O/AHhGRPMZolQX7xhjzpjEmknx6FGjOc4xWSef3BuBvgX8AovkMzmLp9M1jwA+N\nMQMAxpiePMdolXT6xgAVycd+4Goe47OUMeYI0D/PW/YDh0zCUSAgIg3ZjsPqpNQEdM14fjn5tTnf\nY4yJASGgOi/RWSudvpnpayTOYpaCBfsmObXQYoz5RT4Ds4F0fm/WA+tF5F0ROSoie/MWnbXS6Zu/\nBh4WkcvAfwF/mp/QHCHTY9KiFGf7B6r8E5GHgW3AbqtjsQMRcQFPAo9YHIpdFZOYwruHxOj6iIhs\nNsYMWhqVPXwF+FdjzD+KyA7geRHZZIyJWx3YUmH1SOkK0DLjeXPya3O+R0SKSQypg3mJzlrp9A0i\nci/wHeBBY8xYnmKz2kJ9Uw5sAt4SkU4S89+Hl0ixQzq/N5eBw8aYCWPMReATEkmq0KXTN18DfgJg\njPklUEpi7zeV5jHpZlmdlD4A1onIahEpIVHIcHjWew4Df5B8/NvAGya56lbgFuwbEbkdeJpEQloq\n6wKwQN8YY0LGmBpjzCpjzCoS620PGmOOWRNuXqXzN/UzEqMkRKSGxHTehXwGaZF0+uYSsAdARG4h\nkZR68xqlfR0GvpqswrsTCBljurP9n1g6fWeMiYnIAeAVEpUxPzLGfCwifwMcM8YcBv6ZxBD6PIlF\nuIesizh/0uyb7wI+4KfJ2o9LxpgHLQs6T9LsmyUpzb55BfiCiJwCJoFvGWMKfvYhzb75M+BZEfkG\niaKHR5bISTAi8mMSJys1yTW1vwLcAMaYgyTW2PYB54EI8GhO4lgi/a2UUsoBrJ6+U0oppaZpUlJK\nKWUbmpSUUkrZhiYlpZRStqFJSSmllG1oUlJKKWUbmpSUUkrZhiYlpZRStvF/GB+FYn/2MfQAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f50da6fbf98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with pm.Model() as model_robust:\n",
    "    family = pm.glm.families.StudentT()\n",
    "    pm.glm.GLM.from_formula('y ~ x', data, family=family)\n",
    "    trace_robust = pm.sample(2000, cores=2)\n",
    "\n",
    "plt.figure(figsize=(7, 5))\n",
    "plt.plot(x_out, y_out, 'x')\n",
    "pm.plot_posterior_predictive_glm(trace_robust,\n",
    "                                 label='posterior predictive regression lines')\n",
    "plt.plot(x, true_regression_line, \n",
    "         label='true regression line', lw=3., c='y')\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There, much better! The outliers are barely influencing our estimation at all because our likelihood function assumes that outliers are much more probable than under the Normal distribution."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "- `PyMC3`'s `glm()` function allows you to pass in a `family` object that contains information about the likelihood.\n",
    " - By changing the likelihood from a Normal distribution to a Student T distribution -- which has more mass in the tails -- we can perform *Robust Regression*.\n",
    "\n",
    "The next post will be about logistic regression in PyMC3 and what the posterior and oatmeal have in common.\n",
    "\n",
    "*Extensions*: \n",
    "\n",
    " - The Student-T distribution has, besides the mean and variance, a third parameter called *degrees of freedom* that describes how much mass should be put into the tails. Here it is set to 1 which gives maximum mass to the tails (setting this to infinity results in a Normal distribution!). One could easily place a prior on this rather than fixing it which I leave as an exercise for the reader ;).\n",
    " - T distributions can be used as priors as well. I will show this in a future post on hierarchical GLMs.\n",
    " - How do we test if our data is normal or violates that assumption in an important way? Check out this [great blog post](http://allendowney.blogspot.com/2013/08/are-my-data-normal.html) by Allen Downey. \n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "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"
  },
  "latex_envs": {
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 0
  },
  "nav_menu": {},
  "toc": {
   "navigate_menu": true,
   "number_sections": false,
   "sideBar": false,
   "threshold": "3",
   "toc_cell": true,
   "toc_section_display": "block",
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
