{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Statistical Data Modeling\n", "\n", "Some or most of you have probably taken some undergraduate- or graduate-level statistics courses. Unfortunately, the curricula for most introductory statisics courses are mostly focused on conducting **statistical hypothesis tests** as the primary means for interest: t-tests, chi-squared tests, analysis of variance, etc. Such tests seek to esimate whether groups or effects are \"statistically significant\", a concept that is poorly understood, and hence often misused, by most practioners. Even when interpreted correctly, statistical significance is a questionable goal for statistical inference, as it is of limited utility.\n", "\n", "A far more powerful approach to statistical analysis involves building flexible **models** with the overarching aim of *estimating* quantities of interest. This section of the tutorial illustrates how to use Python to build statistical models of low to moderate difficulty from scratch, and use them to extract estimates and associated measures of uncertainty." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "# Set some Pandas options\n", "pd.set_option('display.notebook_repr_html', False)\n", "pd.set_option('display.max_columns', 20)\n", "pd.set_option('display.max_rows', 25)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Estimation\n", "==========\n", "\n", "An recurring statistical problem is finding estimates of the relevant parameters that correspond to the distribution that best represents our data.\n", "\n", "In **parametric** inference, we specify *a priori* a suitable distribution, then choose the parameters that best fit the data.\n", "\n", "* e.g. $\\mu$ and $\\sigma^2$ in the case of the normal distribution" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.array([ 1.00201077, 1.58251956, 0.94515919, 6.48778002, 1.47764604,\n", " 5.18847071, 4.21988095, 2.85971522, 3.40044437, 3.74907745,\n", " 1.18065796, 3.74748775, 3.27328568, 3.19374927, 8.0726155 ,\n", " 0.90326139, 2.34460034, 2.14199217, 3.27446744, 3.58872357,\n", " 1.20611533, 2.16594393, 5.56610242, 4.66479977, 2.3573932 ])\n", "_ = plt.hist(x, bins=8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fitting data to probability distributions\n", "\n", "We start with the problem of finding values for the parameters that provide the best fit between the model and the data, called point estimates. First, we need to define what we mean by ‘best fit’. There are two commonly used criteria:\n", "\n", "* **Method of moments** chooses the parameters so that the sample moments (typically the sample mean and variance) match the theoretical moments of our chosen distribution.\n", "* **Maximum likelihood** chooses the parameters to maximize the likelihood, which measures how likely it is to observe our given sample." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Discrete Random Variables\n", "\n", "$$X = \\{0,1\\}$$\n", "\n", "$$Y = \\{\\ldots,-2,-1,0,1,2,\\ldots\\}$$\n", "\n", "**Probability Mass Function**: \n", "\n", "For discrete $X$,\n", "\n", "$$Pr(X=x) = f(x|\\theta)$$\n", "\n", "![Discrete variable](http://upload.wikimedia.org/wikipedia/commons/1/16/Poisson_pmf.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***e.g. Poisson distribution***\n", "\n", "The Poisson distribution models unbounded counts:\n", "\n", "
\n", "$$Pr(X=x)=\\frac{e^{-\\lambda}\\lambda^x}{x!}$$\n", "
\n", "\n", "* $X=\\{0,1,2,\\ldots\\}$\n", "* $\\lambda > 0$\n", "\n", "$$E(X) = \\text{Var}(X) = \\lambda$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Continuous Random Variables\n", "\n", "$$X \\in [0,1]$$\n", "\n", "$$Y \\in (-\\infty, \\infty)$$\n", "\n", "**Probability Density Function**: \n", "\n", "For continuous $X$,\n", "\n", "$$Pr(x \\le X \\le x + dx) = f(x|\\theta)dx \\, \\text{ as } \\, dx \\rightarrow 0$$\n", "\n", "![Continuous variable](http://upload.wikimedia.org/wikipedia/commons/e/ec/Exponential_pdf.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***e.g. normal distribution***\n", "\n", "
\n", "$$f(x) = \\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\exp\\left[-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right]$$\n", "
\n", "\n", "* $X \\in \\mathbf{R}$\n", "* $\\mu \\in \\mathbf{R}$\n", "* $\\sigma>0$\n", "\n", "$$\\begin{align}E(X) &= \\mu \\cr\n", "\\text{Var}(X) &= \\sigma^2 \\end{align}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example: Nashville Precipitation\n", "\n", "The dataset `nashville_precip.txt` contains [NOAA precipitation data for Nashville measured since 1871](http://bit.ly/nasvhville_precip_data). The gamma distribution is often a good fit to aggregated rainfall data, and will be our candidate distribution in this case." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ " Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\n", "Year \n", "1871 2.76 4.58 5.01 4.13 3.30 2.98 1.58 2.36 0.95 1.31 2.13 1.65\n", "1872 2.32 2.11 3.14 5.91 3.09 5.17 6.10 1.65 4.50 1.58 2.25 2.38\n", "1873 2.96 7.14 4.11 3.59 6.31 4.20 4.63 2.36 1.81 4.28 4.36 5.94\n", "1874 5.22 9.23 5.36 11.84 1.49 2.87 2.65 3.52 3.12 2.63 6.12 4.19\n", "1875 6.15 3.06 8.14 4.22 1.73 5.63 8.12 1.60 3.79 1.25 5.46 4.30" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precip = pd.read_table(\"data/nashville_precip.txt\", index_col=0, na_values='NA', delim_whitespace=True)\n", "precip.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAagAAAEaCAYAAABEsMO+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4XFWZ7/Hv75DEEEICGjAMgYiAig2IbaMiQqBREFRA\n", "b6tRBgG5fdsrDo2C0K3nRG4joCDt0Nf7KCg4IENjFCcMmkODIlMHEsAgIIEwhJlACElI8t4/1j5J\n", "pVLDrnmfc36f56knVXvvVbVO1Zu99l7vWnsrIjAzMyuavl5XwMzMrBI3UGZmVkhuoMzMrJDcQJmZ\n", "WSG5gTIzs0JyA2VmZoXkBsrMzArJDVROkgYlPS1pXK/rYsXi2LBKJC2StFzSc5KekfQHSf8oSb2u\n", "23DhBioHSdOBvYHHgfc2+R5j2lglK4h2xIaNWAG8OyImATsAZwGnAhf0tFbDiBuofI4BrgF+ABw7\n", "tFDS9yV9W9Jvs6OkQUk7lKxfK+njku4B7u5+ta0LqsXGoKQTSl5/VNJ1Ja/fKeluSc9K+paka0u3\n", "t5ElIp6PiKuADwLHStpN0sskfVXSA5KWSPq/ksYPlZF0uKTbJC2VdK+kg3v3F/SGG6h8jgEuBS4D\n", "Dpa0Vcm6DwNfAqYAtwE/Kit7OPB3wG5dqKd1X7XYiOyxEUlTgMtJR9MvJx28vLXa9jZyRMTNwEPA\n", "fqQzqp2BPbN/twO+CCBpb+Ai4OSImJxtv6gHVe4pN1B1SNqXFDg/j4h7gLuAj5Rs8ouIuD4iVgH/\n", "ArxV0nYl678cEc9GxMru1dq6IUdsVHMocEdEzI6ItRHxdWBJB6tqxfII6cDkROCfs/3DMuDLwIey\n", "bU4ALoiI3wFExCMRMep6YdxA1Xcs8NuIeD57fTklXTmkoyEAIuIF4Glg25L1izteQ+uVerFRzbaU\n", "xE2m/LWNXNsBY4AJwK3ZAIpngF+TemIAtgfu61H9CsOJ+xokbQp8AOiT9Gi2+GXAZEl7ZK+nlWw/\n", "kXRk9EjJ27jbZgTKERsvAJuVFJla8vwR4D0l7yXSDslGOEl/R2qgZpO6eHeLiEcrbLqY1O03qvkM\n", "qrYjgNXA60j9xHtmz68n5R4COFTS27IhxmcAN0TEwz2qr3VPvdi4DXifpE0l7UzqshnyK2D3LAk+\n", "BvjfbNiA2cghAEmTJL0buAT4QUTMB74DnD+Ut5S0naR3ZuUuAI6TdKCkvmzda3rxB/SSG6jajgEu\n", "jIiHIuLx7PEY8E1SrmEM8GOgH3gK2As4qqS8z55Grlqx8WHga8Aq4DHge8APyeIhIp4E/gE4B3iS\n", "1LDdAjhPOfJcJek54EHgNOBc4Lhs3anAvcCfJC0F5gC7wrrBFMeR4uhZYC5pqPqoojw3LJS0Cek/\n", "0EMR8R5JA8DHgCeyTU6LiN90rJYFJel7pO/kC72uiw1fkvpIXTofjohre10fs6LIm4P6FGmE0ubZ\n", "6wDOi4jzOlKr4cMzwq0pWVfOTcCLwOeyxX/qXY3MiqduF5+k7UnDYr/L+h2y8M4Zasx1MavjraTu\n", "nSeAw4AjPBXBbEN1u/gkXQ6cCUwCPpt18fWT+keXkrr+To6IZztdWTMzGz1qdvFlo04eB+YDC1nf\n", "xXcJsC+wI3AA8A3g6ArlfXYxAkVEW86eHR8jk+PDamkkPup18e1DugDm46R5GlMkXUwaIDEnInYl\n", "u8RLjco09Ojv73eZApdpt6L+nS7j+HCZ3sdHzQYqIk4n9ZXPIw2RfDIijgGOJF0nCmA5aYKimZlZ\n", "2+QZxfc10iij/UqW7QDMyU7B78cDBczMrM1y5aAiYp6kycDN2arlEbFHyXZPt6tCM2bMcJkCl+m1\n", "In83LtN7Rf5uXKZxNUfxSTqTNPhhK2CT7HEXqWH7BenKu88Au5CGyf6mrHz09/evez1jxoxhGfSj\n", "2eDgIIODg+tez5o1i2hjEtzxMbw5PqyWVuMj75UkJpDuafQ50tV27yM1Wr8BxgFbRMTnK5SLdiRO\n", "690huRPJWatMUlt3QP7tRhbHh9XSaHzkupJERCzPGgmRzqK+Sbq22GmkARQfaLyqjaoWqJ4vbGbr\n", "1TugBR/UDhe5LhabXSvs30kDJeZGxA3AxaRbCrwSOFfSFh2rpZlZQ6LGw4aLeoMkxgPXkoaRjyNd\n", "Hn4/Se8hTdAdulrz06Sr9J5Q/h4DAwPrnrsPefgp70Nut2bjo9ZRso+Ou6eo8WHF0Gp85LnU0YSs\n", "i28M6V43C0g30vp1RJwj6VRgOrBvROxeVraNOajmu/i8w2qfouQYqseE/Hv3UBHio/b+AhwjvdOJ\n", "HNSE7GZ8q7Lt9wK2Jt10DdKE3duB3zVY1zaqHYxmZjb85MlBbUu6RfXzpAm6l5KuyXeKpPnA1cCW\n", "wGc6VUkbvSRVfJjZyJfnDOoZ4EbSLal3ZP1dHf8KHEi6XUAf6cxqo5sWug95eCtGjqFyV571XjHi\n", "w4qqGzmoqcDUiLhN0hnAPwLLgP8EHiVd2XxuRLy2Qtku5aDc39wt3c4x1Mo1OQdVPMMlB5WH46j9\n", "2pqDkjQFWJE1TpsC+wN/AR4G9gSWAMcCs5uvsplZPk888QQrV7bjvo71Gh+foRdBvS6+bYCLsnlQ\n", "faTLG30EmAkMAmcBK4DZkrYI37TQzDroiCNmcuutt7HJJuMrrn/ppee7XCPrpJoNVEQskHQ4aVLu\n", "VNJAiB9GxGJJ7wK+RcpLvY0qNy10H/Lw5hyD1dLt+Fi5Elau/AlwUJUSXyVdkc2KoFs5qO2BfyMN\n", "JT8BOIJ0y/cns7lQZwHHR8TWZWWdgxphnIOyWjodH29600Hceuvnqd9A1ctBtd7F5zhrXCfmQT0G\n", "nAPclTVG+wDbkW5auG+2jW9aaGYjjOdX9lqeBuptwFHAfEl3km6tcTFtvmmh57aYmVmpPA3U8aS5\n", "TmNJAyI+ALwhe70m2+bbbHjH3XUayzH4iuVF4xyU1dLt+LDhpRs5qLeTGqbfA1+IiPMl9QMfB/aM\n", "iCWStqHCXKhGclDN55mcg+qm4ZCDqsZx0HkjKwfl/Uq7dSIHdT1wBbAyIs4vWX4XaQ7U2XgulLXg\n", "lltu4Sc/uZz2/X/3lSfMRoK8OagjgZWS5mXL7gBeDfyrpNOBW4H3daaKNtItWLCAr3/9Gl56qfy+\n", "l9f2pD5mVgx1G6iIuF7STsBVEbEXgKStSXkpgDOAbTxJ11oxbtwevPTSqWVL+4Bf96I6ZnXVG9jl\n", "LsDW1W2gJF0IvId0BfMhq4HfkibpLgFeUa18EZLgvrld87qRBJ83bx6rVj1AujjJjI59VrU4cAw0\n", "b3QPkvAw9Hq6NUhic+DKiBifLfsW8EA2L+oqYKeIeH2FsoUYJFGrrHdOjelEEvx73/seJ530X7zw\n", "wvfKtvgKcAqND5LwxN5eGU2DJDyIonGdGCTxcdJtNcZJWgz0k+ZFPSzpI6R7RY2r9QZ33HEHs2cX\n", "cwyFz67MzIopTw5qpqTppBzU7gCSzo2I3bLnAp6u9R7z58/njDMu4aWXjqzyGWc2WO128twrM7Mi\n", "ynMGVZWkRcBzwOaSboqIvcu3GRgYYMGCBUT0EXEQlXIMfX1ns3bt6laqYh0yknJQ1n6jOwdl9bQc\n", "HxFR9wFMBxaUvF5Iurr5/cDrgIVVykVExI9+9KOYOHFmQFR89PWNCaDq+ubXtVI21d02lH0vueKm\n", "3mPoO77wwgtjs80+WuE3OKfGb9S+5dY+nYiPUn/7t38fMKfG/9uvtLhPaMd+xXFVTaPx0ewZ1M9J\n", "k3Mh3RuqmAkmsxwavQ5k+n9mZp3WV28DSZcAfwReI2mxpONINyp8B+mq5p8GDpZ0Ykdr2gOSaj5s\n", "pIgKj1rLzawbcg2SqLLqIEkzSaP6JgOzJC2MiOtKNxrKQa1c+Rfy5RjybNOuMvWU75BKPydfAzU4\n", "ONhw33mRyhQvB5Vnm0plOqeVkaBF+q2bKVO8HNR9TXzKIN3IfRbpd+tWma7koCo9gE2Ae0n5qbHA\n", "o8DZZdtERKM5qP4m8kiVytQr25/jfSuVaayPub+/v+F+2iKXoQM5hsZyUP01fp9av1s7c1mVHpVi\n", "t36MFPm3Lkp8lKqfg3pHnf/XlX7bSvuP9uegivy7FTU+WhnF93bg/ohYJGkzYCUwpYX3G3Y8h2q0\n", "Kv9t3d1rG6u0f5g1a9a65/X2EUPlS8uUG+n7mVYaqN2AN0q6LXufG0l31q1ozZonSKmsjUWsbaEa\n", "vVQtOKrvsPLkrvr7+5usz/C1Zs3jbBwfi3pQk/by5ZU64U5gQpV1RbokaPlvPJA9APLmsftLypSr\n", "XT5vnrzIsVj3UkdVC0rvBw6JiBOz10cBb46Ik0q2Ke5fbk2LNl7Kph3vY8Xi+LBaGomPVs6gHgam\n", "lbyeBjzUbEVs9HF8WC2OD6s7zLyGW4BdJE2XNA74IGl+lJmZWcuaPoOKiNWSPgFcTRrRd0FE/Llt\n", "NTMzs1Gt6RyUmZlZJ7XSxWdmZtYxbqDMzKyQ3ECZmVkhuYEyM7NCcgNlZmaF5AbKzMwKyQ2UmZkV\n", "khsoMzMrJDdQZmZWSG6gzMyskNxAtZmkj0q6rv6WZmaVSfq+pDN6XY9ecwNVh6RFkpZLej57PCdp\n", "aq/rZcUiaVDSCb2uhxVbA3GS3VZ+dGvlflCjRQDvjojf97oiVmjeoVgejcTJqL8fls+gmiBpsqQL\n", "JD0i6SFJZ0jq23ATfUPSs5L+LOnAnlXWukrSFpJ+IelxSU9LukrSdiXrByV9SdL12dn41ZJe0cs6\n", "W9epUipA0lpJO/WqUkXkBiqf8iOZ7wOrgFcDewHvBD5Wsv7NwL3AK4B+4EpJW3a+mlYAfcAFwA7Z\n", "40Xgm2XbzAQ+CmwNjAM+28X6WTH4bDsHN1D1CZgt6Zns8SvgXcBnIuLFiHgCOB/4UEmZxyPi3yNi\n", "TURcBtwNHNb9qlu3RcTTEfHTiFgREcuAM4H9SzcBvhcR90bECuAy4A29qKtZ0TkHVV8Ahw/loCT9\n", "HXAw8Ki07sSqD3iwpMzDZe/xALBth+tpBSBpU9IBy8HA0FnzREmK9XcHXVJS5EVgYheraDZsuIFq\n", "3EPASuAVEbG2yjbblb3eEfhZR2tlRSBSd92uwN4R8bikNwD/na1zt44NeQGYMPTCI4MrcxdfgyLi\n", "UeC3wHmSNpfUJ+nVkvYr2WxrSZ+UNFbSPwCvAX7Vkwpbt00knRUtlfRyUg6y3KgfnTXKBXA78HpJ\n", "e0oaDwyUbeMYwQ1Us44hJbfvAp4GLgeGjoAC+BOwC/AEcAbwPyLimR7U07prLal7b1PgSeCPwK/Z\n", "+Mwpyp77zGp0iYi4B/gScA0pR30djouNaH23eI2NpE2AW4CHIuI9kgZIo9aeyDY5LSJ+07FamhWc\n", "pFuBWRHx817XxYrLcdKYvDmoT5HOFjbPXgdwXkSc15FamQ0jkl4PvA6Y1+u6WHE5ThpXt4tP0vbA\n", "ocB3Wd8vKtxHaoaks4GrgVMiYnGv62PF5DhpTt0uPkmXk+ZyTAI+m3Xx9QPHAUtJXX8nR8Szna6s\n", "mZmNHjXPoCS9mzTpdB4bnjH9X+BVpAmGjwLndqyGZmY2KtXLQe0DvFfSocD2pGtIXQx8mjTUekfS\n", "pMOK1xKTNOpHoYxEEdGW7l3Hx8jk+LBaGomPmmdQEXF6REwDvgEMAk9GxDGkodNzImJXUjdfrfdo\n", "6NHf3+8yBS7TbkX9O13G8eEyvY+PRgZJ/LJk8VHARyXdTjoLG9fwJ5uZmdWQZ5j514DPkQZJ3Jwt\n", "WxsRu0Hq8yNNVjUzM2ubmg1UNkjiKeDbpDzTKyV9OVs3wPrJuptLOiQqTNYdGBhY93zGjBnMmDGj\n", "ZoXqrXeZ7pYZHBxkcHCw4ffOq53xUXLx3o3MmjVr3fM8XQ1F+g2KXGY4xYfLdL9Mq/FRc5i5pDOB\n", "o4E1wMtIZ1HLs8dlpBF8lwBzI+K1FcpHJ/qlrXckEW1MgrczPlIDVe/91JFciSVFjg/rvUbjI9el\n", "jrI33h84FdgKmA9MI008GwtsERGfr1DGATbCFHkH5Aaq94ocH9Z7HWmgstuZ302a+3QecBYpH7UD\n", "sAKYDZwUZZN1HWAjT5F3QG6geq/I8WG912h81MtBjQeuJXXvvQR8HdiPdOXdxaSuv0WkuVDnAieU\n", "v0cjfci1cgiQL3dg7VW0HIMVi+PDauloDgpA0oSIWC5pDHA9sADYGfh1RJwj6VRgOrBvROxeVrah\n", "I6DaR8A+8i2CIh8h+wyq94ocH9Z7bT2DykyQNA5YlW2/F7A162/AdxHp5lu/a7CuDfMZlpnZ6JHn\n", "hoXbAo8Az5NyTpeSbrtxiqT5pIESWwKf6VQl14saDxvJJNV9mNnIkucM6hngRtIdY3ckNVIAfwUO\n", "JM2D6iOdWbU8D8qKpVg5hvrdd9ZdxYoPK5pu5KCmAlMj4jZJZwD/CCwD/pM2z4Oql4OqvYNybqEb\n", "epVjyJtfcg6qt5yDslraOsxc0hRgdUQ8K2lTUndeH/AwqVuvrfOg3EAVnxsoq6XIDVStbmDHRHe0\n", "e5DENsBF2TyoPuAXwEeAmaSrm59FNg9K0hbl86DMzIqlUkPkruGiqtlARcQCSYcDF5NyUJ8BfhgR\n", "iyW9C/gWKS/1NtItOY4uf49u9iH7CKn9nGOwWhwfVku3clDbA/9GGkp+AnAE6ZbvT2Zzoc4Cjo+I\n", "rcvKdrWLz3OoOs9dfFZLt+OjkYPS6jHkmOiWTsyDegw4B7gra4z2AbYDjgT2zbZZTrrahJlZl7nb\n", "bqTK00C9jXSDwvmS7gR2IXX57QDMyW7LfD+ejGTDRN45Uz6qNuutug1URFwP9EmaSLou3wciYrak\n", "5RGxx9B2knzTQhsm8jQ8PgIf7jx5e/ir20BJuhA4DJgAfCFrnAaAiZIWAKtJXYCPVyrvJOfw5iS4\n", "1VLs+Cg/EKneYFVrzHwW3ZpuDJJ4O3AK8NaImJIt6wf2B66OiLMlfZ4Kc6FKk5x/+MMfuP/++2t+\n", "1tFHH40HSRTbSBgk0c4zKMfVhnozSKJaDqpSA5V327Tcv297tf1+UJL2Bf4LWAkszBbfQbo/1AxS\n", "LmoRqeuv6v2g3ve+o/nVr+5j7NidKn7OsmU/yp65gSqy0dVAeURgo9xAWS1tH8UXEddL2gm4KiL2\n", "yj6kH/gYsJR0b6iT603SXbsWVq78J1au3GiqVFbxS4hYm7feNkK84x3vp94+YPz47tTFzIolbw7q\n", "PaQrmA+5hDTEfEfgAKpM0oX1fcgLF95Ouku8DSedzjFcc80dwJ7Zq9cDf7PRNtIHOvb51ppi56Cs\n", "17qVg9ocuDIixmfLzqHOJN1su3Wn6EcccTQ/+9k7qdKOIW2SnUG5i6/I2t2FM2bM51i9+pya2/X1\n", "jWXt2tW4i6/4RloXXzX+3ZvTiS6+67I8VClP0jWzUaByw+VRf92Rp4vvEtJ9n8ZJWgz040m6Zjaq\n", "+eoV3ZDnDGqmpOmkQRK7A0g6NyL2kLQI2Ik0J+qmiNi7vLxzUMNbp3MMa9b8ARjIXs3IHjZcdCMH\n", "deONN/HAA4+w1VZT2WqrqevWjclzHRzrqY7noAAqNFALSXuSG4BDgZ/Wu2Fhr3NQ9dS5L1bTZUca\n", "56A23GY0/fZ5dCIHdcghH+Dqq6cAGx7/jh//r6xY8TCdzUF5WHo7deJisZX8HDg2ez4TmN3k+3RR\n", "vcat2fI+rTfrvBnAhqM5x407N2ugbKTKm4PaH5iS5aC+SLpR4WWkq5p/GrhP0n0R8Z1OVraTfN0u\n", "M2tVI/sRn23VlysHVWXVQZJmkgZNTAZmSVoYEdeVbtR4DmqQxvMQgw1uX+lz8pxhlZfJ8SmDgw3P\n", "3ShSmeLloAZzbNOOMvm088Am7w5rNMXHwMAA9957J+n/59Z0Jj6aUe1zanUJlpbJFzdF+q2bKdNy\n", "fEREUw9gE+BeYDowFngUOLtsmxhy+OFHBVwcEBUfUl8AAf1VtqFq2VSm1vpK6/pzvnfp+kp1o+6j\n", "Uf39/YUtk/09TcdN6QOIMWM+V+e7j+jrG1PnN6j3OzbyWzeyXfk2zcbuuu+1Y7/bcI2PiIiDD/6H\n", "gEs3+u4mTfqbGr9Bpe+82u/QzPJq+4Ja77NhHHbqNyhymUbjo5VxMG8H7o+IRZI2I12rb0oL7zeM\n", "RY117jq07qp2Vjdr1qyNlqV9hlkxtdJA7Qa8UdJt2fvcSJq0W8OLwPMV14zk/ygeBVhdxCqqxcT6\n", "bUbv99O88u9sgPVdqUOG08HTxvuOiDW9qYp1Ta5h5hULSu8HDomIE7PXRwFvjoiTSrbxnmUEijYO\n", "I27H+1ixOD6slkbio5UzqIfZcNTDNOChZitio4/jw2pxfFhfC2VvAXaRNF3SOOCDpPlRZmZmLWv6\n", "DCoiVkv6BHA1aUTfBRHx57bVzMzMRrWmc1BmZmad1EoXn5mZWce4gTIzs0JyA2VmZoXkBsrMzArJ\n", "DZSZmRWSGygzMyskN1BmZlZIbqDMzKyQ3ECZmVkhuYEyM7NCcgNlZmaF5AbKzMwKyQ1UTpIGJZ3Q\n", "63pYcUhaJGmlpFeULZ8naa2kHXpVN+stx0Z7uIHKL9j4Pto2ugXwV2Dm0AJJuwOb0kSsSGrlBqJW\n", "LG2NjdHKDVRjJOmjkq4rW7hW0k7Z8+9L+pakX0h6TtKfhtbZiPRD4JiS18cCFwMCkHRYdtS8VNKD\n", "kvqHNsxu9rlW0vGSHgCu6WrNrdNaiY1fZvfbo2TZfEmHd6PiReEGqnF5jn4+CAwAWwL3Av/WyQpZ\n", "T/0JmCTptZI2If32PyxZvww4KiImA4cB/1RhJ7Mf8Frg4G5U2Lqmldj4PnDU0IaS9gS2BX7ZjYoX\n", "hRuo9gvgyoi4JSLWAD8C3tDjOlln/YB0pPwO4C7g4aEVEXFtRNyZPV8A/ATYv6z8QES8GBEru1Rf\n", "655mY+MqYFdJr85eHw38JCJWd6viReA+7854rOT5i8DEXlXEOi5IO6HrgFdR0oUDIOnNwFnA64Fx\n", "wMuAy8reY3FXamrd1nRsRMQKSZcBR0uaBXwIeH9Xa18APoNq3AvAhKEXkqb2sC5WABHxICkh/i7g\n", "ypJVAn4MzAa2j4gtgG+z8f87J81HqBZj4yLgI8BBwPKIuLErlS4QN1CNCeB24PWS9pQ0npRrKqWN\n", "StlocAJwYES8WLZ8IvBMRKyStDfwYdwgjTZNxUZE3JC9/irp7GvUcQPVmIiIe4AvkUZc3U06fS/d\n", "4VQaju4d0ggXEX+NiP8uXZQ9Pg58SdJzwBeAS8uLdqmK1iMtxAakhml3NhxcMWooov7/j2wEyi3A\n", "QxHxHkkDwMeAJ7JNTouI33SslgUg6VZgVkT8vNd1MbPRQdLRwIkRsV+v69ILeQdJfIo0AmXz7HUA\n", "50XEeR2pVcFIej3wOmBer+tiZqODpAnA/wa+2eu69ErdLj5J2wOHAt9lfX5FjJJci6SzgauBUyLC\n", "o63MrOMkHQw8DjxKGkwxKtXt4pN0OXAmMAn4bNbF1w8cBywldf2dHBHPdrqyZmY2etTs4pP0blIr\n", "Ph9YyPouvkuAfYEdgQOAb5AmkpWXdwJ4BIqItpw9Oz5GJseH1dJIfNTr4tsHeC+pkdoemCLpYtIA\n", "iTkRsStpYlnVS7REREOP/v5+lylwmXYr6t/pMo4Pl+l9fNRsoCLidOCtpMEBpwFPRsQxwJGkSWQA\n", "y0kzoM3MzNomzyi+rwGfI13QcsgOwJzsFPx+PJfDzApEaqyXcWBgoDMVsZbkyUE9RboExyuAzSR9\n", "mXTWdCWpq28tMFHSIVFhLlTpDz9jxgxmzJhRs0L11rtMd8sMDg4yODjY8Hvn5fgY3mWKHR95j5sb\n", "T5kV6TcocplW46PmKD5JZ5IGP6whdeNNIjVOy0m5p0dJAybmRsRrK5SPTvRLW+9IItqYBHd8jCxF\n", "iY90BtX+Bsrx2ppG4yPXlSSyN94fOBXYijSqbxppftBYYIuI+HyFMt4BjTBF2QFZMRUlPhpvoPJs\n", "KzdQLepIAyWpj3TduVcB55EuEX8zKRe1gnRF3pOibC6Ud0AjT1F2QFZMRYkPN1DF1Gh81MtBjQeu\n", "JXXvvQR8nTRY4jrSPWzWAIuAJcC5pKv2bqDRPmQrlqLlGKxYHB9WS0dzUJCuBxURyyWNAa4HFgA7\n", "A7+OiHMknQpMB/aNiN3LytY9Amp0tE05H9F0V1GOkK2YihIfPoMqpraeQWUmSBoHrMq23wvYGvhV\n", "tv4i0j2SftdgXUtU+9HrBc6ouBygmdmolOd+UNsCjwDPk3JOl5IueXSKpPmkgRJbAp/pVCXN8pDU\n", "0sPMiiXPGdQzwI3AVNK193bIlv8VOJB0T6g+0plVy/OgrFiGX46h3hl3rbN1a9Twiw/rpm7koKYC\n", "UyPiNklnAP8ILAP+kzbMg6rdV1y/i899wt1VlBxDlfejlQbKsdS6osSHc1DF1NZh5pKmAKsj4llJ\n", "m5K68/qAh0ndei3Pg3IDNbwUZQdU5f1wA9VbRYkPN1DF1O5BEtsAF2XzoPqAXwAfAWYCg6T5UCuA\n", "2ZK2KJ8HZWZm1qxGriQxkdQo/Z+ImC1pa1L+CeAMYJuIOKGsjM+gRpiiHCFXeT98BtVbnYyP66+/\n", "nsMOO5K1a+uXXbbsSXwGVTxtH2YuaRrwA+BNrB/JB7Aa+C1p4MQS0sVkN+Ik5/DmJLjV0s34mDx5\n", "MrAry5bNrlPqMWD3OttYN3RrkMR3gHuBLwC3AkcAnwAeyCbrXgXsFBGvLyvb8TOoenzE0169PoOq\n", "PxzcZ1C91Mn4mDt3Lkce+SWWLp1bp+SjpNkxPoMqmk5M1N0ZOIx0gdjrgFeSGqijgIclfYQ0T2pc\n", "49VtB0/kHX08VNx6I+98OTdk7VG3gYqI68km9EqaTro23zeBUyJit2y5gKc7Vkszs0LId6Zl7ZEn\n", "B3Uh6QzqSdKIvU8BJwOTJc3LNjuNKr+ccwzDm3NQVkv3c1A2nHQjB/V2UsP0e+ALEXG+pH7g48Ce\n", "EbFE0jZUmKzbnRyUR/l1UzFyUJ2IF+cz22Gk56Ccq2pNo/GR51p81wOfB1ZGxPkly+8Cjs2eH0u6\n", "J5TZMBY1HmbWbXkaqLcBRwKbSZqXdevtDLwa+FdJS4F3kibtmpmZtUWeUXzHA08Bm0fEXgCSdmX9\n", "xWPHAA+KOw/HAAAVBUlEQVRXu4pEr3MMtUbd+DS8PuegrBbnoKyWbuWgNgeujIjx2bJzgCezOVBn\n", "AcdHxNYVyvY8B+V5L+01snNQzme2yjmotJ1jpbK2z4OKiOsk7Vu2+EhgaNly0i3hK3/AmB5NjzIz\n", "s2Gtbg5K0iWkW2uMk7RY0vGkyx3NkXQ78EZqHFaMH/8B1qxZVvExceJ+7fo7zHrGN0M064w8Z1Az\n", "swm6V0XE7gCSzo2IPSQtAnYCJkq6KSL2Li+/atUC4Mzs1YzsMSTPGI3Oqbfj8Gm6c1D5jc4rmjgH\n", "ZbV0PAcF664gUdpALSS1NDcAhwI/rXbDws02O4YXXrio4vtOnvxOli6dQ69yUL7OX+M6mWN45JFH\n", "OPXUL7J6deXt+/rgxz++gKLloPJdRb26kRRHzkGl7UbSb9pOnbgWXyU/Z/0cqJmM2DlQo/OouFee\n", "ffZZrrjil6xYcUbF9ePH/0eXa9ROvn7gaOJr9rVHnksdXQLsD0yRtBj4ImnO02XAdsCngfsk3RcR\n", "3+lkZW3kGzt2S1as+FjFdePG/ZoVK+ZVXGdWLL5mXzvkykFVWXWQpJlAPzAZmCVpYURcV7rRqlW3\n", "AQPZqxlsmIOyoutmjmH69Okd+5x28GCHjTkHZbW0HB8R0dQD2IR0j6jpwFhSx+/ZZdvEZpsdExAV\n", "H5MnvyO7jkzp8rklz8vXlT+oUKbS+kbXVVu/Yd3ymDt3bq7thkuZ7O9uOm5KH+Xf4Z133hmbb/66\n", "qr/JpEnva/I3nVtnfaV15TGVp2xzcdiN320kxMfvf//7mDx5Rp3/t3MDHsnx/7uRfUGl7ar91nni\n", "MP9vX+Tfuhvx0cowurcD90fEItK9oFYCU1p4v8xgl8o0o/HPaeboochlhqfBApdp4lMcHzUMFvhz\n", "Ni5Tb3rCAQcc0PCZ+0iKj1YaqN2AN0q6DbgxeyxvS61GuHpBOWvWrF5X0cy6Iuo8+oF8c+1GYhd0\n", "s6P4AB4jXf7oRABJRwFvLt9o5cor2Gyzayu+wQsvLGnh43svb0BUbnCi1js3VZ+R4IUX7mGzzaZX\n", "XLd8+ePdrUyXNLNjGYqp1Gsyerzwwg1V4wNg1apnGTv2uywfcYfKeX7n9u836sVm6b6tE7GYax5U\n", "xYLSW4CBiDgke30asDYizi7ZZnT97xkloo3zXNrxPlYsjg+rpZH4aKWBGgPcDfw98AhwEzAzIv7c\n", "1BuamZmVaLqLLyJWS/oEcDVpRN8FbpzMzKxdmj6DMjMz66TeXq3VzMysCjdQZmZWSG6gzMyskNxA\n", "mZlZIbmBMjOzQnIDZWZmheQGyszMCskNlJmZFZIbKDMzKyQ3UGZmVkhuoMzMrJDcQJmZWSG5gapC\n", "0iJJj0maULLsY5Lm9rJeVkySPippgaQXJD0q6T8kTc5Rbq2knbpRR+s+SftK+qOkZyU9Jel6SW/q\n", "db2GCzdQtfUBn+p1JazYJJ0MnAWcDEwC3gLsCMyRNDbPW3SwetYjkiYBvwD+HdgS2A6YBazsZb2G\n", "EzdQ1QXwVeCzlY6EJe0j6ebsyOgmSW/Nln9Q0s1l235G0s+6U23rpmwnNAB8IiJ+GxFrIuIB4APA\n", "dOAoSX2STpd0r6TnsrjZXtJ/ZW9zu6TnJf1Db/4K65BdgYiISyNZERFzImIBgKTjJd0l6WlJv5G0\n", "w1DB7Mz6JEn3SXpC0jmqd//1EcgNVG23AIPAZ0sXStoS+CVwPvBy4Dzgl9nyq4DXSNq5pMiHgR91\n", "o8LWdfsA44ErSxdGxAvAr4B3kM6sPgS8KyImAScAyyNiv2zzPSJi84i4vHvVti64G1gj6fuSDsn2\n", "DwBIOhw4DTgSmAJcB1xSVv4I4G+BNwKHA8d3pdYF4gaqtgC+CJwkaUrJ8sOAv0TEjyJibUT8BFgI\n", "vDcilgM/A2YCSNoFeA3w8+5W3bpkCvBkRKytsO7RbP0JwL9ExD0AETE/Ip7uYh2tByLieWBf0n7k\n", "O8Djkn4maWvgfwFfjoi7s9j5MvAGSdNK3uLsiHg2IhaTDoZndvlP6Dk3UHVExJ2kfuTPkwINYFvg\n", "gbJNH8iWA/yY9cH0YeCnEbGiw1W13ngSmCKp0v+lbbP104D7ulorK4SIWBgRx0XENOBvSDFxPrAD\n", "8O+SnpH0DPBUVmS7kuKLS54/yPr9y6jhBiqffuBE1gfPI6QkeKkdgYez59cAW0nak9S18+NuVNJ6\n", "4gZS0vv9pQslTQQOAX5H2tHsvHFRG00i4m7gIlJD9SDwPyNiy5LHZhHxp5IiO5Q9f5hRxg1UDhFx\n", "H3ApaURfkHILu0qaKWmMpA8CryWdaRERLwGXkwZZbAnM6UnFreMiYilpZNY3JB0saayk6cBlpIbp\n", "B8B3gTMk7axkD0kvz97iMeDVPai6dZik10j6Z0nbZa+nkXpWbgD+H3C6pN2ydZMrDJL5rKQtsnKf\n", "JO2DRhU3UPl9CZgAkOUP3k1Kfj9JGkTx7rK8wo+Bvwcur5KfsBEiIr4CnE46IFkK/InU5fv3EbGK\n", "NIjmMuC32frvkAZWQBoBeFHW1fM/ulx166zngTcDN0paRmqY5gMnR8Rs4GzgJ5KWAguAg8vK/wy4\n", "FZhHOvi9sFsVLwpFRP2NpE1II9oeioj3SBoAPgY8kW1yWkT8pmO1NDMbRSStBXaOiL/2ui69NCbn\n", "dp8C7gI2z14HcF5EnNeRWpmZ2ahXt4tP0vbAoaR+9KGJYsKz383MOqV+19YokCcH9TXgc0BpHiVI\n", "c4Nul3SBpC06Ujszs1EoIjYZ7d17UKeLT9K7gcdJib2FrO/iu4Q0AW1H4ADgG8DRFcr7KGAEioi2\n", "nD07PkYmx4fV0kh81DuD2gd4L6mR2p40IfFi0gCJORGxK2l0Uvnok9LKNPTo7+93mQKXabei/p0u\n", "4/hwmd7HR80GKiJOB95KGuZ4GumSLseQrh91UbbZcuBlDX+ymZlZDXlG8Q3loPYrWbYD6VYCAdyP\n", "E3pmZtZmeXJQTwHfBl4BbCbpy6SzpitJXX1rgYmSDokKc6EGBgbWPZ8xYwYzZsyoWaF6612mu2UG\n", "BwcZHBxs+L3zcnwM7zKOD5eppdX4qDlRV9KZpMEPa0jdeJNIjdNyUu7pUdKAibkR8doK5aMT/dLW\n", "O5KINibBHR8ji+PDamk0PnJdSSJ74/2BU4GtSKP6pgFXA2OBLSLi8xXKOMBGGO+ArBbHh9XSkQYq\n", "u5XA3cCrSNcVOwu4mZSLWgHMBk6KiGfLyjnARhjvgKwWx4fV0mh81MtBjQeuJXXvvQR8nTRY4jrS\n", "lZrXAIuAJcC5pBuzbaDRPmQrlqLlGKxYehkf9e6A7sat9zqagwKQNCEilksaA1xPuuruzsCvI+Ic\n", "SacC04F9I2L3srI+AhphfIRstXQzPlIDVW293EAVUFvPoDITJI0DVmXb7wVsTbonEqT5ULeTbsxm\n", "ZmbWFnmuxbct6Q6yz5NyTpeSLnl0iqT5pIESWwKf6VQlzcxs9Kl7BhUR80lnUZNJjdEt2fJjhraR\n", "9HREPNaxWtqoVy3f4G4cs5GrbgOV3W74YlK33hTSvaEek/RV4EPAM6QGrC0Tda1Yup0EP+CAA2ps\n", "Xd4Y+Y4vvTZcB9F4gEV3dHqi7hTg5aRbnd8NzCFdwfxqUnffb4BxeB7UqNHpJHj1xHel5U6EF81w\n", "GSThARa90e5BEtuQBkH0ZY8fAG8Dfgl8lXQB2XnAB5qqrZmZWRW5ryQBIGk6aV7U64GTgeOApaS8\n", "1MmeqDvy+QzKavEZlNXS9mHmJTmoqaT5Tj+MiGWSct200Dmo4a3bOQYbXoZrDsq6oxsTdaeSblb4\n", "b6S5TicAR5DOnp7MJuueBRwfEVuXlW3qDKpeArOcj3a6p2hnUNU4JnqjSGdQ9fkMqts6MVH3MeAc\n", "4K6sMdoH2I5008J9s206cNPC1ndSNhpUixOzWo2MY2Q4yNNAvQ04Cpgv6U5gF1KXX1tuWtjo2ZKZ\n", "jR4nn3xqr6tgPZSngToeeIJ0W40VpBF7b8her8m2+TYb3nF3nXx9yD4rKirnoKyWTsfHeecNki5c\n", "A7AT8Ors+X917DOtfbqRg3o7qWH6PfCFiDhfUj/wcWDPiFgiaRsq3LQwTw6qcj+yR3IVVbtzDFOn\n", "7rLBsiVL7qGx7t3K2zomeqPd8ZFmsbyhwtpzgc9SOwdVr4vPOahu60QO6nrgCmBlRJxfsvwu4Fjg\n", "7Ozf2dXeYPny5dx///1569QwXwZn+Fqy5BclrxYBB/eoJmZWNHlzUEcCKyXNy5bdQTrX/ldJpwO3\n", "Au+r9ga33347++13IBMm7LTB8hdffLCpSm8sX6K8Vr7LjVmv7Fry3F27ZrZe3hzUU8DmEbEXgKRd\n", "SfOidsze4+HySbpDBgYGWLx4MZts8gqee+5bwIx16yZNOoKXXvpZa39BwzzqqxGdzjHAQMnznTv4\n", "OdYJnY+Pb5N2NZD2HTM6+Fnr+Vp97dGtHNTmwJURMT5bdg515kBl20VEcMMNN/Cud/0zS5fesMH6\n", "SZOO4LnnfkarOai8eYhac2wccPm0P8dQ+r3fQzqjcg5quBopOah6ZR1fzWl7DioirpO0b9niDs+B\n", "MmtN3ukL3tGYFVeeSx1dAhwIjJO0GOinTXOgOs1zrEazPGdbjg+zIstzBjUzu0jsVRGxO4CkcyNi\n", "D0mLSJMTJkq6KSL2Li8/lINasWIxMEi3+pAT75Ba5RyU1TJSc1D1eMBVPh3PQcG6q5iXNlALSZFy\n", "A3Ao8NPyOVDZdj3NQTln0X7DJQeV9wzKv3t7jZYclOdQNafR+Ohr8nN+Tpr7BDCTGnOgzMzMmlG3\n", "gcpyUH8EXiNpsaTjgLOAd5AuGvtp4GBJJ3a0pmZmNqrkykFVWXWQpG0i4lFJW5EGTSyMiOvaW8Xu\n", "8NUozMyKJc9E3Vr2lDQX2IQ0mm9vYIMGqvFBEoNNVCPP+9YrUzmXUanhaqTRGhwcbPgiqEUqU7xB\n", "EoM091tX1shIz3q/e5F+t26VKd4gicEc2/SmTCu/QSMTh0dUfEREUw9gInAf6S67k4FlwAll20RE\n", "xB//+MeYPPktAbHBY9KkwwMoW95fYdnQo9JysjJ5ty39nFrbVlqe6taI/v7+hrYvepns7286bkof\n", "G3+/f8nxWzT/u+WLkWoxRdVHt3+DIpdpf3zMq/IbfbXK79cftX/bevuCvGUr7XPW/f1t+z6HytSu\n", "ExXLNPM5nS7TaHy0cgb1TmAr0gCJMaSLym7VwvsNG+4OHK0q/b6eumDWKa00UH3ApRFxIoCko4A3\n", "V9t4xYqFTJr0ng2WrVp1cwsf30veUbVLaUysXbuMZct6WJkmlR6wzJo1C/DBSrtMnPhJ+vomb7R8\n", "1ar7WLGiBxXKoVZ33FB8VOO42VCueVAVC0rvBw4pb6Ai4qSSbfxtj0DR1nkuNtI4PqyWRuKjlTOo\n", "h4FpJa+nAQ81WxEbfRwfVovjw5qdqAtwC7CLpOmSxgEfJE3gNTMza1nTZ1ARsVrSJ4CrScPML4iI\n", "P7etZmZmNqo1nYMyMzPrpFa6+KqSdIikhZLukXRqju2nSZor6U5Jd0j6ZAOftYmkeZKuyrn9FpKu\n", "kPRnSXdJekuOMqdldVsg6ceSNrr/laQLJT0maUHJspdLmiPpL5J+K2mLnOW+ktXvdklXSppca/uS\n", "dSdLWivp5fU+I1t+UvY5d0g6O2fd9pZ0U/ad3yzp72p/extrND6yMk3FiONjg/dyfGxcrhDxkW3X\n", "cIw0Gh/VypSsa1uMtCU+Gpk0ledB6u67lzSBdyxwG/C6OmWmAm/Ink8E7q5XpqTsPwM/An6ec/uL\n", "SHcAhtTFObnO9tOBvwIvy15fChxbYbu3A3sBC0qWnQOckj0/FTgrZ7l3AH3Z87NKy1XaPls+DfgN\n", "6YoeL8/xGQcAc4Cx2eutctZtEDg4e/4uYG6n46OVGHF8OD6GQ3w0GyONxkc3Y6Qd8dGJM6i9gXsj\n", "YlFEvAT8BDi8VoGIWBIRt2XPlwF/Brat90GStifd7uO75JiIlB1JvD0iLsw+a3VELK1T7DngJWCC\n", "pDHABNIIxvK/4TrgmbLF7yUFNNm/R+QpFxFzImJt9vJGYPs6nwNwHnBKpT+gSpl/Ar6c/UZExBM5\n", "yz1KunIIwBZU+C7qaDg+sro0HCOOjw04PsoUKT6y92s4RhqNjxqfA22OkXbERycaqO2AxSWvH8qW\n", "5aJ076m9SF9sPV8DPgesrbdh5lXAE5K+J+m/JX1H0oRaBSLiadLNZx4EHgGejYhrcn7eKyPisez5\n", "Y8Arc5YrdTzwq1obSDoceCgi5jfwvrsA+0n6k6RBSW/KWe7zwLmSHgS+ApzWwGdCi/EBDcWI4wPH\n", "Rw1Fjw9oPUbqxgd0NUYaio9ONFBNj7qQNBG4AvhUdhRUa9t3A49HxDzyX8ZhDPBG4D8i4o3AC6Qv\n", "rNbnvJp0S5HppCOyiZI+kvPz1ol0TtvQdyPpX4BVEfHjGttMAE4H+ksX53j7McCWEfEW0n/Sy3JW\n", "6wLgkxGxA/AZ4MKc5Ya0NConb4w4PtZt4/iovN2wig9oPEbyxEe2XTdjpKH46EQDVXcCbyWSxgL/\n", "CfwwIvLcAHEf4L2S7gcuAQ6UdHGdMg+RjhKGrrF0BSngankT8MeIeCoiVgNXZp+dx2OSpgJI2gZ4\n", "PGc5JH2U1P1QL5hfTQr+27PvYnvgVklb1yn3EOlvIfs+1kp6RY6q7R0RP82eX0HqkmlEU/EBDceI\n", "4yNxfFQ2HOIDmoyRBuIDuhsjDcVHJxqohifwShKpZb0rIs7P8yERcXpETIuIVwEfAn4fEcfUKbME\n", "WCxp12zRQcCddT5qIfAWSZtm9TwIuCtPHdnwzsPHkvPOw5IOIR2RHB4RNa84FhELIuKVEfGq7Lt4\n", "CHhjRNQL5NnAgdnn7QqMi4inclTvXkn7Z88PBP6So0yppiZ4Nxojjo/E8VHZMIkPaCJGGokP6HqM\n", "NBYf0cAIm7wP0uiMu0mjcU7Lsf2+pH7g24B52eOQBj5vf/KPwtkTuBm4ndT61xyFk5U5hRSIC0iJ\n", "yrEVtrmE1Me8itSHfhzwcuCa7Ef4LbBFjnLHA/cAD5R8F/9RYfuVQ59T9n5/ZeMROBuVIY2Q+kH2\n", "N90KzMj5N72J1Ld/G3ADsFen46PVGHF8OD6KHh/Nxkij8dHNGGlHfHiirpmZFVJHJuqamZm1yg2U\n", "mZkVkhsoMzMrJDdQZmZWSG6gzMyskNxAmZlZIbmBMjOzQvr/zyd1f8tHlTEAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_ = precip.hist(sharex=True, sharey=True, grid=False)\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first step is recognixing what sort of distribution to fit our data to. A couple of observations:\n", "\n", "1. The data are skewed, with a longer tail to the right than to the left\n", "2. The data are positive-valued, since they are measuring rainfall\n", "3. The data are continuous\n", "\n", "There are a few possible choices, but one suitable alternative is the **gamma distribution**:\n", "\n", "
\n", "$$x \\sim \\text{Gamma}(\\alpha, \\beta) = \\frac{\\beta^{\\alpha}x^{\\alpha-1}e^{-\\beta x}}{\\Gamma(\\alpha)}$$\n", "
\n", "\n", "![gamma](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Gamma_distribution_pdf.svg/500px-Gamma_distribution_pdf.svg.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The ***method of moments*** simply assigns the empirical mean and variance to their theoretical counterparts, so that we can solve for the parameters.\n", "\n", "So, for the gamma distribution, the mean and variance are:\n", "\n", "
\n", "$$ \\hat{\\mu} = \\bar{X} = \\alpha \\beta $$\n", "$$ \\hat{\\sigma}^2 = S^2 = \\alpha \\beta^2 $$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, if we solve for these parameters, we can use a gamma distribution to describe our data:\n", "\n", "
\n", "$$ \\alpha = \\frac{\\bar{X}^2}{S^2}, \\, \\beta = \\frac{S^2}{\\bar{X}} $$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's deal with the missing value in the October data. Given what we are trying to do, it is most sensible to fill in the missing value with the average of the available values." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ " Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov \\\n", "Year \n", "1871 2.76 4.58 5.01 4.13 3.30 2.98 1.58 2.36 0.95 1.31 2.13 \n", "1872 2.32 2.11 3.14 5.91 3.09 5.17 6.10 1.65 4.50 1.58 2.25 \n", "1873 2.96 7.14 4.11 3.59 6.31 4.20 4.63 2.36 1.81 4.28 4.36 \n", "1874 5.22 9.23 5.36 11.84 1.49 2.87 2.65 3.52 3.12 2.63 6.12 \n", "1875 6.15 3.06 8.14 4.22 1.73 5.63 8.12 1.60 3.79 1.25 5.46 \n", "1876 6.41 2.22 5.28 3.62 3.40 5.65 7.15 5.77 2.52 2.68 1.26 \n", "1877 4.05 1.06 4.98 9.47 1.25 6.02 3.25 4.16 5.40 2.61 4.93 \n", "1878 3.34 2.10 3.48 6.88 2.33 3.28 9.43 5.02 1.28 2.17 3.20 \n", "1879 6.32 3.13 3.81 2.88 2.88 2.50 8.47 4.62 5.18 2.90 5.85 \n", "1880 3.74 12.37 8.16 5.26 4.13 3.97 5.69 2.22 5.39 7.24 5.77 \n", "1881 3.54 5.48 2.79 5.12 3.67 3.70 0.86 1.81 6.57 4.80 4.89 \n", "1882 14.51 8.61 9.38 3.59 7.38 2.54 4.06 5.54 1.61 1.11 3.60 \n", "... ... ... ... ... ... ... ... ... ... ... ... \n", "2000 3.52 3.75 3.34 6.23 7.66 1.74 2.25 1.95 1.90 0.26 6.39 \n", "2001 3.21 8.54 2.73 2.42 5.54 4.47 2.77 4.07 1.79 4.61 5.09 \n", "2002 4.93 1.99 9.40 4.31 3.98 3.76 5.64 3.13 6.29 4.48 2.91 \n", "2003 1.59 8.47 2.30 4.69 10.73 7.08 2.87 3.88 8.70 1.80 4.17 \n", "2004 3.60 5.77 4.81 6.69 6.90 3.39 3.19 4.24 4.55 4.90 5.21 \n", "2005 4.42 3.84 3.90 6.93 1.03 2.70 2.39 6.89 1.44 0.02 3.29 \n", "2006 6.57 2.69 2.90 4.14 4.95 2.19 2.64 5.20 4.00 2.98 4.05 \n", "2007 3.32 1.84 2.26 2.75 3.30 2.37 1.47 1.38 1.99 4.95 6.20 \n", "2008 4.76 2.53 5.56 7.20 5.54 2.21 4.32 1.67 0.88 5.03 1.75 \n", "2009 4.59 2.85 2.92 4.13 8.45 4.53 6.03 2.14 11.08 6.49 0.67 \n", "2010 4.13 2.77 3.52 3.48 16.43 4.96 5.86 6.99 1.17 2.49 5.41 \n", "2011 2.31 5.54 4.59 7.51 4.38 5.04 3.46 1.78 6.20 0.93 6.15 \n", "\n", " Dec \n", "Year \n", "1871 1.65 \n", "1872 2.38 \n", "1873 5.94 \n", "1874 4.19 \n", "1875 4.30 \n", "1876 0.95 \n", "1877 2.49 \n", "1878 6.04 \n", "1879 9.15 \n", "1880 3.32 \n", "1881 4.85 \n", "1882 1.52 \n", "... ... \n", "2000 3.44 \n", "2001 3.32 \n", "2002 5.81 \n", "2003 3.19 \n", "2004 5.93 \n", "2005 2.46 \n", "2006 3.41 \n", "2007 3.83 \n", "2008 6.72 \n", "2009 3.99 \n", "2010 1.87 \n", "2011 4.25 \n", "\n", "[141 rows x 12 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precip.fillna(value={'Oct': precip.Oct.mean()}, inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's calculate the sample moments of interest, the means and variances by month:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Jan 4.523688\n", "Feb 4.097801\n", "Mar 4.977589\n", "Apr 4.204468\n", "May 4.325674\n", "Jun 3.873475\n", "Jul 3.895461\n", "Aug 3.367305\n", "Sep 3.377660\n", "Oct 2.610500\n", "Nov 3.685887\n", "Dec 4.176241\n", "dtype: float64" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precip_mean = precip.mean()\n", "precip_mean" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Jan 6.928862\n", "Feb 5.516660\n", "Mar 5.365444\n", "Apr 4.117096\n", "May 5.306409\n", "Jun 5.033206\n", "Jul 3.777012\n", "Aug 3.779876\n", "Sep 4.940099\n", "Oct 2.741659\n", "Nov 3.679274\n", "Dec 5.418022\n", "dtype: float64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precip_var = precip.var()\n", "precip_var" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We then use these moments to estimate $\\alpha$ and $\\beta$ for each month:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "alpha_mom = precip_mean ** 2 / precip_var\n", "beta_mom = precip_var / precip_mean" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(Jan 2.953407\n", " Feb 3.043866\n", " Mar 4.617770\n", " Apr 4.293694\n", " May 3.526199\n", " Jun 2.980965\n", " Jul 4.017624\n", " Aug 2.999766\n", " Sep 2.309383\n", " Oct 2.485616\n", " Nov 3.692511\n", " Dec 3.219070\n", " dtype: float64, Jan 1.531684\n", " Feb 1.346249\n", " Mar 1.077920\n", " Apr 0.979219\n", " May 1.226724\n", " Jun 1.299403\n", " Jul 0.969593\n", " Aug 1.122522\n", " Sep 1.462581\n", " Oct 1.050243\n", " Nov 0.998206\n", " Dec 1.297344\n", " dtype: float64)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha_mom, beta_mom" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the `gamma.pdf` function in `scipy.stats.distributions` to plot the ditribtuions implied by the calculated alphas and betas. For example, here is January:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.stats.distributions import gamma\n", "\n", "precip.Jan.hist(normed=True, bins=20)\n", "plt.plot(np.linspace(0, 10), gamma.pdf(np.linspace(0, 10), alpha_mom[0], beta_mom[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looping over all months, we can create a grid of plots for the distribution of rainfall, using the gamma distribution:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "axs = precip.hist(normed=True, figsize=(12, 8), sharex=True, sharey=True, bins=15, grid=False)\n", "\n", "for ax in axs.ravel():\n", " \n", " # Get month\n", " m = ax.get_title()\n", " \n", " # Plot fitted distribution\n", " x = np.linspace(*ax.get_xlim())\n", " ax.plot(x, gamma.pdf(x, alpha_mom[m], beta_mom[m]))\n", " \n", " # Annotate with parameter estimates\n", " label = 'alpha = {0:.2f}\\nbeta = {1:.2f}'.format(alpha_mom[m], beta_mom[m])\n", " ax.annotate(label, xy=(10, 0.2))\n", " \n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Maximum Likelihood\n", "==================\n", "\n", "**Maximum likelihood** (ML) fitting is usually more work than the method of moments, but it is preferred as the resulting estimator is known to have good theoretical properties. \n", "\n", "There is a ton of theory regarding ML. We will restrict ourselves to the mechanics here.\n", "\n", "Say we have some data $y = y_1,y_2,\\ldots,y_n$ that is distributed according to some distribution:\n", "\n", "
\n", "$$Pr(Y_i=y_i | \\theta)$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, for example, is a **Poisson distribution** that describes the distribution of some discrete variables, typically *counts*: " ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y = np.random.poisson(5, size=100)\n", "plt.hist(y, bins=12, normed=True)\n", "plt.xlabel('y'); plt.ylabel('Pr(y)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The product $\\prod_{i=1}^n Pr(y_i | \\theta)$ gives us a measure of how **likely** it is to observe values $y_1,\\ldots,y_n$ given the parameters $\\theta$. Maximum likelihood fitting consists of choosing the appropriate function $l= Pr(Y|\\theta)$ to maximize for a given set of observations. We call this function the *likelihood function*, because it is a measure of how likely the observations are if the model is true.\n", "\n", "> Given these data, how likely is this model?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the above model, the data were drawn from a Poisson distribution with parameter $\\lambda =5$.\n", "\n", "$$L(y|\\lambda=5) = \\frac{e^{-5} 5^y}{y!}$$\n", "\n", "So, for any given value of $y$, we can calculate its likelihood:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.041303093412337726" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "poisson_like = lambda x, lam: np.exp(-lam) * (lam**x) / (np.arange(x)+1).prod()\n", "\n", "lam = 6\n", "value = 10\n", "poisson_like(value, lam)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "11.338402687045475" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sum(poisson_like(yi, lam) for yi in y)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "7.6625623857972949" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lam = 8\n", "np.sum(poisson_like(yi, lam) for yi in y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the likelihood function for any value of the parameter(s):" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "KrYAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lambdas = np.linspace(0,15)\n", "x = 5\n", "plt.plot(lambdas, [poisson_like(x, l) for l in lambdas])\n", "plt.xlabel('$\\lambda$')\n", "plt.ylabel('L($\\lambda$|x={0})'.format(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How is the likelihood function different than the probability distribution function (PDF)? The likelihood is a function of the parameter(s) *given the data*, whereas the PDF returns the probability of data given a particular parameter value. Here is the PDF of the Poisson for $\\lambda=5$." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "IiIq+//a9cozRz9JawAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lam = 5\n", "xvals = np.arange(15)\n", "plt.bar(xvals, [poisson_like(x, lam) for x in xvals])\n", "plt.xlabel('x')\n", "plt.ylabel('Pr(X|$\\lambda$=5)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Why are we interested in the likelihood function? \n", "\n", "A reasonable estimate of the true, unknown value for the parameter is one which **maximizes the likelihood function**. So, inference is reduced to an optimization problem." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Going back to the rainfall data, if we are using a gamma distribution we need to maximize:\n", "\n", "$$\\begin{align}l(\\alpha,\\beta) &= \\sum_{i=1}^n \\log[\\beta^{\\alpha} x^{\\alpha-1} e^{-x/\\beta}\\Gamma(\\alpha)^{-1}] \\cr \n", "&= n[(\\alpha-1)\\overline{\\log(x)} - \\bar{x}\\beta + \\alpha\\log(\\beta) - \\log\\Gamma(\\alpha)]\\end{align}$$\n", "\n", "(*Its usually easier to work in the log scale*)\n", "\n", "where $n = 2012 − 1871 = 141$ and the bar indicates an average over all *i*. We choose $\\alpha$ and $\\beta$ to maximize $l(\\alpha,\\beta)$.\n", "\n", "Notice $l$ is infinite if any $x$ is zero. We do not have any zeros, but we do have an NA value for one of the October data, which we dealt with above." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding the MLE\n", "\n", "To find the maximum of any function, we typically take the *derivative* with respect to the variable to be maximized, set it to zero and solve for that variable. \n", "\n", "$$\\frac{\\partial l(\\alpha,\\beta)}{\\partial \\beta} = n\\left(\\frac{\\alpha}{\\beta} - \\bar{x}\\right) = 0$$\n", "\n", "Which can be solved as $\\beta = \\alpha/\\bar{x}$. However, plugging this into the derivative with respect to $\\alpha$ yields:\n", "\n", "$$\\frac{\\partial l(\\alpha,\\beta)}{\\partial \\alpha} = \\log(\\alpha) + \\overline{\\log(x)} - \\log(\\bar{x}) - \\frac{\\Gamma(\\alpha)'}{\\Gamma(\\alpha)} = 0$$\n", "\n", "This has no closed form solution. We must use ***numerical optimization***!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Numerical optimization alogarithms take an initial \"guess\" at the solution, and iteratively improve the guess until it gets \"close enough\" to the answer.\n", "\n", "Here, we will use Newton-Raphson algorithm:\n", "\n", "
\n", "$$x_{n+1} = x_n - \\frac{f(x_n)}{f'(x_n)}$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which is available to us via SciPy:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy.optimize import newton" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is a graphical example of how Newtone-Raphson converges on a solution, using an arbitrary function:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# some function\n", "func = lambda x: 3./(1 + 400*np.exp(-2*x)) - 1\n", "xvals = np.linspace(0, 6)\n", "plt.plot(xvals, func(xvals))\n", "plt.text(5.3, 2.1, '$f(x)$', fontsize=16)\n", "# zero line\n", "plt.plot([0,6], [0,0], 'k-')\n", "# value at step n\n", "plt.plot([4,4], [0,func(4)], 'k:')\n", "plt.text(4, -.2, '$x_n$', fontsize=16)\n", "# tangent line\n", "tanline = lambda x: -0.858 + 0.626*x\n", "plt.plot(xvals, tanline(xvals), 'r--')\n", "# point at step n+1\n", "xprime = 0.858/0.626\n", "plt.plot([xprime, xprime], [tanline(xprime), func(xprime)], 'k:')\n", "plt.text(xprime+.1, -.2, '$x_{n+1}$', fontsize=16)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To apply the Newton-Raphson algorithm, we need a function that returns a vector containing the **first and second derivatives** of the function with respect to the variable of interest. In our case, this is:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy.special import psi, polygamma\n", "\n", "dlgamma = lambda m, log_mean, mean_log: np.log(m) - psi(m) - log_mean + mean_log\n", "dl2gamma = lambda m, *args: 1./m - polygamma(1, m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where `log_mean` and `mean_log` are $\\log{\\bar{x}}$ and $\\overline{\\log(x)}$, respectively. `psi` and `polygamma` are complex functions of the Gamma function that result when you take first and second derivatives of that function." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Calculate statistics\n", "log_mean = precip.mean().apply(np.log)\n", "mean_log = precip.apply(np.log).mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Time to optimize!" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.5189679152399647" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alpha MLE for December\n", "alpha_mle = newton(dlgamma, 2, dl2gamma, args=(log_mean[-1], mean_log[-1]))\n", "alpha_mle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now plug this back into the solution for beta:\n", "\n", "
\n", "$$ \\beta = \\frac{\\alpha}{\\bar{X}} $$\n", "
" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.84261607548413797" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "beta_mle = alpha_mle/precip.mean()[-1]\n", "beta_mle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can compare the fit of the estimates derived from MLE to those from the method of moments:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dec = precip.Dec\n", "dec.hist(normed=True, bins=10, grid=False)\n", "x = np.linspace(0, dec.max())\n", "plt.plot(x, gamma.pdf(x, alpha_mom[-1], beta_mom[-1]), 'm-')\n", "plt.plot(x, gamma.pdf(x, alpha_mle, beta_mle), 'r--')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For some common distributions, SciPy includes methods for fitting via MLE:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(2.2427517753152308, 0.65494604470188622, 1.570073932063466)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import gamma\n", "\n", "gamma.fit(precip.Dec)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This fit is not directly comparable to our estimates, however, because SciPy's `gamma.fit` method fits an odd 3-parameter version of the gamma distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example: truncated distribution\n", "\n", "Suppose that we observe $Y$ truncated below at $a$ (where $a$ is known). If $X$ is the distribution of our observation, then:\n", "\n", "$$ P(X \\le x) = P(Y \\le x|Y \\gt a) = \\frac{P(a \\lt Y \\le x)}{P(Y \\gt a)}$$\n", "\n", "(so, $Y$ is the original variable and $X$ is the truncated variable) \n", "\n", "Then X has the density:\n", "\n", "$$f_X(x) = \\frac{f_Y (x)}{1−F_Y (a)} \\, \\text{for} \\, x \\gt a$$ \n", "\n", "Suppose $Y \\sim N(\\mu, \\sigma^2)$ and $x_1,\\ldots,x_n$ are independent observations of $X$. We can use maximum likelihood to find $\\mu$ and $\\sigma$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we can simulate a truncated distribution using a `while` statement to eliminate samples that are outside the support of the truncated distribution." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.random.normal(size=10000)\n", "a = -1\n", "x_small = x < a\n", "while x_small.sum():\n", " x[x_small] = np.random.normal(size=x_small.sum())\n", " x_small = x < a\n", " \n", "_ = plt.hist(x, bins=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can construct a log likelihood for this function using the conditional form:\n", "\n", "$$f_X(x) = \\frac{f_Y (x)}{1−F_Y (a)} \\, \\text{for} \\, x \\gt a$$ " ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy.stats.distributions import norm\n", "\n", "trunc_norm = lambda theta, a, x: -(np.log(norm.pdf(x, theta[0], theta[1])) - \n", " np.log(1 - norm.cdf(a, theta[0], theta[1]))).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this example, we will use another optimization algorithm, the **Nelder-Mead simplex algorithm**. It has a couple of advantages: \n", "\n", "- it does not require derivatives\n", "- it can optimize (minimize) a vector of parameters\n", "\n", "SciPy implements this algorithm in its `fmin` function:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 11077.807912\n", " Iterations: 44\n", " Function evaluations: 82\n" ] }, { "data": { "text/plain": [ "array([ 0.02244612, 0.99710875])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.optimize import fmin\n", "\n", "fmin(trunc_norm, np.array([1,2]), args=(-1, x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In general, simulating data is a terrific way of testing your model before using it with real data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Kernel density estimates\n", "\n", "In some instances, we may not be interested in the parameters of a particular distribution of data, but just a smoothed representation of the data at hand. In this case, we can estimate the disribution *non-parametrically* (i.e. making no assumptions about the form of the underlying distribution) using kernel density estimation." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.62402604, 1.06204307, 7.27542973, 5.91978919, 9.95408103,\n", " 9.51695422, 9.54608936, 4.3288413 , 4.15275767, 2.47654605,\n", " 3.74949496, 4.9779126 , 0.68937206, 8.82221055, 2.87731832])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Some random data\n", "y = np.random.random(15) * 10\n", "y" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 10, 100)\n", "# Smoothing parameter\n", "s = 0.4\n", "# Calculate the kernels\n", "kernels = np.transpose([norm.pdf(x, yi, s) for yi in y])\n", "plt.plot(x, kernels, 'k:')\n", "plt.plot(x, kernels.sum(1))\n", "plt.plot(y, np.zeros(len(y)), 'ro', ms=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "SciPy implements a Gaussian KDE that automatically chooses an appropriate bandwidth. Let's create a bi-modal distribution of data that is not easily summarized by a parametric distribution:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Create a bi-modal distribution with a mixture of Normals.\n", "x1 = np.random.normal(0, 3, 50)\n", "x2 = np.random.normal(4, 1, 50)\n", "\n", "# Append by row\n", "x = np.r_[x1, x2]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([ 0.00557232, 0.02228927, 0.04457855, 0.08358477, 0.0612955 ,\n", " 0.10030173, 0.1838865 , 0.05572318]),\n", " array([-7.66367033, -5.86908508, -4.07449983, -2.27991459, -0.48532934,\n", " 1.30925591, 3.10384116, 4.89842641, 6.69301165]),\n", " )" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(x, bins=8, normed=True)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "QmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.stats import kde\n", "\n", "density = kde.gaussian_kde(x)\n", "xgrid = np.linspace(x.min(), x.max(), 100)\n", "plt.hist(x, bins=8, normed=True)\n", "plt.plot(xgrid, density(xgrid), 'r-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise: Cervical dystonia analysis\n", "\n", "Recall the cervical dystonia database, which is a clinical trial of botulinum toxin type B (BotB) for patients with cervical dystonia from nine U.S. sites. The response variable is measurements on the Toronto Western Spasmodic Torticollis Rating Scale (TWSTRS), measuring severity, pain, and disability of cervical dystonia (high scores mean more impairment). One way to check the efficacy of the treatment is to compare the distribution of TWSTRS for control and treatment patients at the end of the study.\n", "\n", "Use the method of moments or MLE to calculate the mean and variance of TWSTRS at week 16 for one of the treatments and the control group. Assume that the distribution of the `twstrs` variable is normal:\n", "\n", "$$f(x \\mid \\mu, \\sigma^2) = \\sqrt{\\frac{1}{2\\pi\\sigma^2}} \\exp\\left\\{ -\\frac{1}{2} \\frac{(x-\\mu)^2}{\\sigma^2} \\right\\}$$" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ],\n", " [,\n", " ]], dtype=object)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAl0AAAE5CAYAAACqD5X6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+YbFV95/v3h3PAwzn8ijKiKAR0RqNoFOIwxB+xiSSD\n", "RjE6mVyZGB3myszNNQFMNIbcSTg880yMTpzEmYyTiQqDRDETEJEbo4DSBK5PVOCgBw7IBAUPQZCA\n", "/JYInO/9o3ZDWXZ3VXX33l1d/X49Tz2nau+q/V27fqzz7bXWXitVhSRJktq122oXQJIkaT0w6ZIk\n", "SeqASZckSVIHTLokSZI6YNIlSZLUAZMuSZKkDph0SZIkdcCka4ol+dUkVyZ5OMmZA/teleSGJA8m\n", "+UKSgwf2vzfJ3ze33x/Yd0iSS5vXXp/kVQP7/1WSW5I8kOT8JD/St+/meZ7/r5NcvnJnLkmjSzKb\n", "5HtJ7m9u1/fta6WuTLI1ydnzlGVXkme1cZ5afSZd0+3vgP8AnNG/Mcn+wHnA/wP8CHAl8Od9+/8d\n", "8Hrgx5vb65ptc84BrgKe3Bzj3OaYJDkM+BPgl4ADgIeAD/a9tpqbJE2KAt5eVXs3t+dBa3XlU/pi\n", "ap0x6ZpiVXV+VV0A3DWw643AtVV1XlV9H9gKvCjJc5r9bwX+oKpuq6rbgD8A/jVA85zDgdOq6h+q\n", "6pPA14B/0bz2l4BPV9UVVfUg8DvAG5Nsae1EJWn5Ms+2NurKX1gknqacSdf6MPjjPgz46tyDqnoI\n", "+NtmO8Dz+/fTqygO63vtN5qEas5XB/b3H/sbwD8Az0GSJtd7ktyZ5Iokr2y2tVlXah0y6VofBpux\n", "twD3DWy7D9i7ub8XcO/Avr0W2Adwf9/+LfPs7z+2JE2adwOHAgcCfwpc2IyraqOutC5cx0y61ofB\n", "lq4HgH0Gtu1Lr0KYb/++zbZRX7vvIvsfBXYf2L878MjCxZek9lTVl6vqwap6pKo+Cvx/wGtop66c\n", "S+J+qC5MMvfY+nBKmXStD4MtXdcBL5p70Iy3enazfW7/i/ue/yLg2r59z0qy18D+/tf2H/vZwB7A\n", "jc2mb9H7i7LfocDNI5+NJHWjzbryFuCQgXiH0kvG/m4Fyq4JZNI1xZJsSLIJ2AhsSPKkJBuA84EX\n", "JHljs/804JqqmkuMPgr8epIDkzwD+HXgfwI0z7kGOC3JpiRvBF5A7wofgI/Ru4Ln5U0F9R+A8/rG\n", "Nfw5cEqS56bnJcAJwCdafTMkaR5J9k3yz5v6bGOSXwJeAXyWduvKzwI/luTNSXZP8mTg94Bzq2pX\n", "Jyev7lWVtym90bvSZtfA7Xebfa8Crqc3pcMXgIMHXvteelc93gX8/sC+HwUubV57PfDTA/uPp/dX\n", "3AP0Kq39+vaF3viJG+mNd7gOOGG13ytv3rytzxuwP/Blet1+3wW+CLyqb3+bdeVPApcDd9Nr3fpT\n", "YN/Vfk+8tXdL88EvKMmpwJub/7C3N/9B/sPiqZwkTa8kJwNvo/dHxIeq6gOrXCRJa8Ci3YtJDgFO\n", "BI6oqhcCG4A3tV8sSZpMSV5AL+H6p/TG6Ly2GbsoSYsaNqbrPnpXUWxOshHYjAP8JK1vPwZ8qaoe\n", "rqrHgMvoTaIpSYtaNOmqqruB99O74uw24J6quqSLgknShLoWeEWSJyfZDPwc8MxVLpOkNWBY9+Kz\n", "gVPoXdZ6ILBXc2WHJK1LVXUDvcHTFwF/BWyjN+ZVkha1ccj+lwBfrKq7AJJ8EngpvWkBaLa5aKe0\n", "TlSV68UBVXUGzULySX6PXm/A46wXpfVh3Dpx2JiuG4CjkuyZJMAxwI55gnZ2O+2004y3zuI137Il\n", "3E5bwmuW/n1eC+/lcm56QpKnNv8eDLwB+Pjgc7r8bCbtu7KWyjNJZekvT/MtavE22nd0Ut+fSbgt\n", "xaItXVX11SQfBa6k13x+Nb15RCRpPTs3yVPoXWj0f1fV4Pp8kvRDhnUvUlXvA97XQVkkaU2oqp9a\n", "7TJIWnvW3DJAMzMzxjPeqNE6jDXt76XWskn7rkxSeSapLGB5hpm08oxr6Iz0Qw+Q1HKPIS2mN5yw\n", "q+9YltxXP+2SUA6kH4n1opar/XrPum65llInrrmWLkmSpLXIpEuSxpTk1CTXJdme5ONJnrTaZZI0\n", "+Uy6JGkMrkkraamGJl1JnptkW9/t3iQndVE4SZpArkkraUlGmTLi68DhAEl2o1e5nN9yuSRpIlXV\n", "3Unm1qT9HvC5ck1aSSMYt3vxGOCmqtrZRmEkadK5Jq2kpRra0jXgTcyz3IUkrSND16QF2Lp16+P3\n", "Z2Zm1vz8QtJ6Nzs7y+zs7LKOMfI8XUn2oNe1+PyqurNve5122mmPP8/KZfX05nWZVs7T1bXBCub0\n", "0093ni4gyYvoJVj/FHgY+J/Al6vqv/U9x3m6tCzO0zX5ljJP1zhJ1+uBX6mqYwe2W7lMiK4nEZ3W\n", "WH6f5+fkqE9I8pvAW3liTdq3VdUjffutF7UsJl2Tr+2k6xPAX1XVWQPbrVwmhEnXysTy+zw/k67R\n", "WS9quUy6Jl9rSVeSLcAtwKFVdf/APiuXCWHStTKx/D7Pz6RrdNaLWi6Trsm3lDpxpIH0VfUgsP+S\n", "SiVJkiRnpJckSeqCSZckjcFVOiQt1cgD6Rc8gGMXJoZjulYmlt/n+Tmm64f1rdJxZP+k0daLWi7H\n", "dE2+pdSJtnRJ0tK5SoekkY2y4PV+Sc5Ncn2SHUmO6qJgkrQGuEqHpJEN7V5MchZwWVWdkWQjsKWq\n", "7u3bbzP6hLB7cWVi+X2en92LP2ihVTqafdaLWha7Fyffik8ZkWRf4BVV9VaAqnoUuHex10jSOvFq\n", "4KrBhGuOay9Or+leck0LaX3txSQvBv4HsAN4EXAVcHJVPdT3HP+imxC2dK1MLL/P87Ol6wcttEpH\n", "s896cYp1U9fa0jXp2hhIvxE4AvhgVR0BPAj81hLLJ0lToVml4xjgk6tdFklrx7AZ6W8Fbq2qrzSP\n", "z2WepMtmdGn6rERT+rRylQ5JSzHKQPq/Bt5WVTcm2QrsWVXv7ttvM/qEsHtxZWL5fZ6f3Yujs16c\n", "bnYvCtpbe/HXgI81V+rcBJywlMJJkiStZ85IP0Vs6VqZWH6f52dL1+isF6ebLV0CZ6SXpE44abSk\n", "pRile1GS9IM+AHymqn5hbtLo1S6QpMln9+IUsXtxZWL5fZ6f3Ys9zaTR26rqWYs8x3pxitm9KLB7\n", "UZK6cChwZ5Izk1yd5ENJNq92oSRNPpMuSRqPk0ZLWpKRxnQluRm4D3gMeKSqjmyzUJI0wZw0ehlc\n", "t1BrVetrLz7+pOSbwE9U1d3z7HPswoRwTNfKxPL7PD/HdD3BSaOXrv16ahrGW3URw7puudqaHPXx\n", "449ZHkmaVk4aLWlso7Z0fQO4l1734v+oqg/17fMvuglhS9fKxPL7PD9bukZnvbgwW7omJYZ13XK1\n", "2dL1sqr6dpJ/BFyc5Iaqunxup2MXpOnjgteStLLGnqcryWnAA1X1/uaxf9FNCFu6ViaW3+f52dI1\n", "OuvFhdnSNSkxrOuWq5V5upJsTrJ3c38L8LPA9qUVUZIkaX0apXvxAOD85jLfjcDHquqiVkslSRPM\n", "aXQkLYXLAE0RuxdXJpbf5/nZvfiExabRafZbLy7A7sVJiWFdt1wuAyRJ3TEBlTQWky5JGl8BlyS5\n", "MsmJq10YSWvDOJOjSpJ6Fp1GR5LmY9IlSWOqqm83/96Z5HzgSOAHki7nL5SmS5drL24ArqS3yOvr\n", "BvY5YHRCOJB+ZWL5fZ6fA+l7kmwGNlTV/c00OhcBp/df1W29uDAH0k9KDOu65WpzRvqTgR3A3mOX\n", "SpKmi9PoSFqSoUlXkmcCrwH+I/DrrZdIkiZYVX0TePFql0PS2jPK1Yt/CLwL2NVyWSRJkqbWoklX\n", "ktcC36mqbTgnjSRJ0pIN6158KXBcktcAm4B9kny0qt7S/ySv0tE0acbqdGKSB7KuxJU6kqQnjLwM\n", "UJJXAu/06sXJ5dWLay/WWvrtePXiD/Kq7qXx6sVJibG26p9J1MUyQH5CktQzd1W39aKkkYycdFXV\n", "ZVV1XJuFkaS1oO+q7g/jeFdJI3LtRUkan1d1SxqbSZckjcGruiUtlWsvStJ4vKpbWoc6W3tx0QN4\n", "lc7E8OrFtRdrLf12vHrxh3lV9/i8enFSYqyt+mcSdXH1oiTpB/k/l6SRDG3pSrIJuAx4ErAHcEFV\n", "ndq337/oJoQtXWsv1lr67djSNTrrxYXZ0jUpMdZW/TOJllInDh3TVVUPJzm6qh5KshG4IsnLq+qK\n", "JZdUkiRpnRmpe7GqHmru7gFsAO5urUSSJElTaKSrF5PsBlwNPBv471W1Y6UKcM8993DTTTet1OGG\n", "2rRpE4cddlhn8SRJkmDEpKuqdgEvTrIv8LkkM1U1O7d/OZdGX3bZZfziL76FPff8xyO/Zqkee+x7\n", "PPWpG7jppu2tx4JuF06WVpoLXs9v2DhXSVrI2FNGJPkd4HtV9QfN42UNGL3gggt4y1vO4L77Lljy\n", "MUa3nYMP/lfcckuXSVeXAxWnd8D5tMZaSwNZHUj/hCSb+8e50ps24oq+/Q6kX4AD6SclxtqqfyZR\n", "K1NGJNk/yX7N/T2BnwG2La2IkrT2Oc5V0lKM0r34dOCsZlzXbsDZVfX5doslSZOrzXGukqbXKFNG\n", "bAeO6KAskrQmDBvnKknzce1FSVqiqro3yV8CLwFm+/e59qImXRcXe03TuLGpWHvRgfQrGrHDeMZa\n", "iVhrqUJyIH1Pkv2BR6vqnmac6+eA0/uHXTiQfmEOpJ+UGN2cwzT/DlqZkV6S9AMc5yppSUy6JGkM\n", "jnOVtFSjTBlxUJJLk1yX5NokJ3VRMEmSpGkySkvXI8A7quqaJHsBVyW5uKqub7lskiRJU2NoS1dV\n", "3V5V1zT3HwCuBw5su2CSJEnTZGjS1S/JIcDhwJfaKIwkTTqHXEhaqpEH0jddi+cCJzctXpK0Hjnk\n", "QtKSjJR0JdkdOA/4s6r61OD+tTQJ4Le+dW0nE8JJo+jyuzjufDkrMRHgNKqq24Hbm/sPJJkbcmHS\n", "JWlRQydHTe9/hbOAu6rqHfPsX1OTo8KPM50TbXYdz1hrLdYKTITs5KgDmiEXlwGH9fcAODnqwpwc\n", "dVJiODnqcrU1OerLgDcDX0uyrdl2alV9dtwCStK06HrIxatf/QYefPDRVmMcd9yreOc7T2k1hrSe\n", "jbLg9RWMOeBekqbZsCEXsPLDLi6++DM89tg5wO7LOs7CLuGpT72mpWNLa99KDLlwRnpJGkMz5OIj\n", "wI6q+qOFntefdK2cnwOe1MJxAe5iYM1uSX0G/3g6/fTTxz6GLViSNJ65IRdHJ9nW3I5d7UJJmny2\n", "dEnSGBxyIWmprDgkSZI6YNIlSZLUgaFJV5IzktyRZHsXBZIkSZpGo7R0nQk4SFSSGv4xKmkphiZd\n", "VXU58N0OyiJJa4V/jEoam2O6JGlM/jEqaSlWZMqItbTgtaTRuOC1JK2sFU+6JE2HlZh9WZL0BCdH\n", "laQWrMUegPPOO4vkrNUuhqZIb9Ws9lRVq8fv18nai0nOAV4JPCXJTuB3q+rMZUWVpCm3dnsA2v5P\n", "rN3/hDVp2vw+dftdWonW/6FJV1UdP/ZRJWmK+ceopKWwe1GSxuQfo5KWwikjJEmSOmDSJUmS1AGT\n", "LkmSpA6MsuD1sUluSPK/k7y7i0JJ0iSzXpS0FIsmXUk2AH9Mb42x5wPHJ3leFwVb2KzxjDeBsdZD\n", "PMGk1ovDzK52AQbMrnYB+syudgEGzK52AQbMrnYBBsyudgGWZVhL15HA31bVzVX1CPAJ4PXtF2sx\n", "s8Yz3gTGWg/x1JjAenGY2dUuwIDZ1S5An9nVLsCA2dUuwIDZ1S7AgNnVLsCyDEu6ngHs7Ht8a7NN\n", "ktYr60VJSzJsnq5O5tf//vf/hn32ed1Iz3344a+zadNVS4qza9d9PPDAkl4qSXO6W3ekTwL77PMG\n", "YMPYrx2l3nzkkZ1873tLLJykkWSxdYuSHAVsrapjm8enAruq6r19z1mVCkhS96pq3a/hYr0oac64\n", "deKwpGsj8HXgVcBtwJeB46vq+uUUUpLWKutFSUu1aPdiVT2a5FeBz9Fr0/6IFYuk9cx6UdJSLdrS\n", "JUmSpJUx1oz0SQ5KcmmS65Jcm+SkZvvWJLcm2dbcjl2JwiXZlORLSa5JsiPJe5rtT05ycZIbk1yU\n", "ZL+W47Vyfs2xNzTHvLB53Mq5LRKvzXO7OcnXmuN+udnW2vktEK/N89svyblJrm++L/+s5fMbjHdU\n", "G+eX5Ll9x9uW5N4kJ7X93VyrkpyR5I4k2/u2rcp7tUgdvVrl6bQOH6Ncnda7Q8rSaT05pCyd1mlD\n", "yjJx9VCSU5vf1vYkH0/ypHHLM+4yQI8A76iqw4CjgLenNylgAf+5qg5vbp9d2in9oKp6GDi6ql4M\n", "/DhwdJKXA78FXFxVzwE+3zxuM14r59c4GdjBE1dEtXJui8Rr89wKmGmOe2Szrc3zmy9em+f3AeAz\n", "VfU8et+XG2j3/AbjXU8L51dVX587HvATwEPA+bT/3VyrzqQ3UWq/1XqvFqqjV6U8XdfhY+i63l1M\n", "1/XkYrqu0xY0afVQkkOAE4EjquqF9IYWvGns8lTVkm/Ap4BjgNOA31jOsUaItRn4CnAYvS/CAc32\n", "pwE3tByvlfMDnglcAhwNXNhsa+3cFoi3ta3PDvgm8JSBbW2e33zx2vrs9gW+Mc/2Vs5vkXit/vaA\n", "nwUub/uzW+s34BBge9vfgyWUa66OXvXydF2HL1KOTuvdEcrTaT25SDk6rdPGLNuq10PAk+ldQPMj\n", "9MbDXwj8zLjlWfKC103WdzjwN82mX0vy1SQfWeEuld2SXAPcAVxaVdfRO8E7mqfcARzQcjxo5/z+\n", "EHgXsKtvW2vntkC8oqXPrjn2JUmuTHJis63N85svHrRzfocCdyY5M8nVST6UZAvtnd988TY3+9r6\n", "/KD3l9w5zf02P7tps+rvVV8d/aXVLE/XdfgIuq53h+m6nlxI13XaOFa9Hqqqu4H3A9+id9XyPVV1\n", "8bjlWVLSlWQv4Fzg5Kp6APjv9D6wFwPfbgq2IqpqV/Wapp8J/FSSowf2Fys4WeE88WZo4fySvBb4\n", "TlVtA+ad52Mlz22ReK19dsDLqtc0/Gp63Ryv6N+50p/dAvHaOr+NwBHAB6vqCOBBBpqVV/j8For3\n", "QVr6/JLsAbwO+IvBfS18dlNrNd6rpo4+j14dff9qlqfrOnwxXde7I+q6nlxI13XaSCalHkrybOAU\n", "eq3aBwJ7JXnzuOUZO+lKsju9H/OfVdWnmkDfqQbwYXprk62oqroX+Et6fbt3JHlaU56nA99pMd5L\n", "Wjq/lwLHJfkmvQz+p5OcTXvnNl+8j7b52VXVt5t/76TXF38kLX5288Vr8fxuBW6tqq80j8+lV2Hd\n", "3tL5zRuvqu5s8bf3auCq5v2EDn53U2TV3qu+OvrsuTp6Ncszp+s6fAFd17tDdV1PLqLrOm1Uk1IP\n", "vQT4YlXdVVWPAp8EfpIx359xr14M8BFgR1X9Ud/2p/c97Q3A9sHXLkWS/ee6S5LsSa//dBvwaeCt\n", "zdPeSm/cQmvx5t7QxoqcX1X9dlUdVFWH0ms6/UJV/TItndsC8d7S4me3Ocnezf0t9Prkt9PeZzdv\n", "vDY+O4Cquh3YmeQ5zaZjgOvo9fO38fnNG6+t82sczxNN+tDSZzelVuW9WqiOXsXydFqHD9N1vTtM\n", "1/XkYrqu08YwKfXQDcBRSfZsfmfH0LsYY7z3p8YbSPZyev3g19D74Wyjl4V+FPga8NUm4AHjHHeR\n", "eC8Erm7ifQ14Vz0xoO0S4EbgImC/luO1cn59cV8JfLrNcxuIN9MX7+yWPrtDm/fxGuBa4NSWP7uF\n", "4rX22QEvojcw+Kv0/urZt83Pb554+7X429sC/D2wd9+21r+ba/FG7z+E24Dv01sI+4TVeq8WqKOP\n", "XcXydFqHj1m2TuvdBcrQaT05Qnk6rdNGKM9E1UPAb9JLRLcDZwG7j1seJ0eVJEnqwJKvXpQkSdLo\n", "TLokSZI6YNIlSZLUAZMuSZKkDph0SZIkdcCkS5IkqQMmXZIkSR0w6ZIkSeqASZckSVIHTLokSZI6\n", "YNIlSZLUAZMuSZKkDph0SZIkdcCkS5IkqQMmXZIkSR0w6ZIkSeqASZckSVIHTLokSZI6YNIlSZLU\n", "AZMuSZKkDph0SZIkdcCkS5IkqQMmXZIkSR0w6ZIkSeqASZckSVIHTLokSZI6YNK1DiWZTfJ/thxj\n", "V5JntRlDkqS1xKRriiW5OclDSe5PcnuSM5NsAaq5SZKkjph0TbcCXltVewNHAC8B/n2zL6tWKkmS\n", "1iGTrnWiqm4D/gp4Qf/2JM9O8oUkf5/kziR/lmTfvv0HJflkku80z/mvffv+TZIdSe5O8tkkBw+E\n", "/bkkNzXHfV+SNK9Lkn/ftMTdkeSsJPu0ePqSJK06k67pN5foHAS8Bri62d7fvfgfgacDzwMOArY2\n", "r9kA/L/AN4EfBZ4BfKLZ93rgVOANwP7A5cA5A7F/HvgJeq1srwf+TbP9BOCtwAzwLGAv4I+XfaaS\n", "JE2wVDm0Z1oluRl4CvAocC+9BOqd9Fq8zq6qM+Z5zc8Dv1tVRyT5SeAC4GlVtWvgeX8F/MXcMZLs\n", "BtwP/FhV7UyyCzi2qi5q9v8K8C+q6pgkn29e+yfNvucA1wKbBuNIkjQtNq52AdSqAl5fVV/o39j0\n", "8s3dPwD4APByYG96rZ93N7sPAm5ZIBH6UeADSd4/sP0ZwM7m/s6+7d8CDmzuPx24ZWDfRuAA4Nuj\n", "nJgkSWuN3Yv6PeAx4AVVtS/wyzzxvdgJHNx0Mw76FvBvq+pH+m5bqupv+p5z8MD9v2vu3wYcMrDv\n", "UeCOZZ+NJEkTyqRLewEPAvcleQbwrr59X6bX8vT7STYn2ZTkpc2+PwF+O8nzAZLsm+RfDhz7nUn2\n", "a8aTnQT8ebP9HOAdSQ5Jshe9xO8Tdi1KkqaZSZdOpzfQ/V7gQuA8mkH2VfUY8DrgH9Nr2doJ/GKz\n", "71PAe4FPJLkX2A7884FjXwBcBWyjN55sbgzZGcDZwF8D3wAeAn6tlbOTJGlCDB1In+RU4M3ALnr/\n", "sZ5QVf/QQdkkSZKmxqItXUkOAU4EjqiqFwIbgDe1XyxJkqTpMuzqxfuAR4DNSR4DNvPEYGhJkiSN\n", "aNGWrqq6G3g/vfE8twH3VNUlXRRMkiRpmgzrXnw2cAq9y/sPBPZK8ksdlEuSJGmqDOtefAnwxaq6\n", "CyDJJ4GXAh+be0ISp7SX1omqcqF0SVqiYVNG3AAclWTPZrHiY4Adg0+qqlW7nXbaacZehVvzybd4\n", "W/h7tZ7f99WML0lanmFjur4KfBS4Evhas/lP2y6UJEnStBm69mJVvQ94XwdlkSRJmlprfkb6mZkZ\n", "Y68z6/l9X+34kqSlGzoj/dADJOV4j/WnN8Svzc89jiOaMEkoB9JL0pKt+ZYuSZKktcCkS5IkqQMm\n", "XZIkSR0YmnQleW6SbX23e5Oc1EXhJEmSpsVYA+mT7EZvwesjq2pns82B9OuQA+nXHwfSS9LyjNu9\n", "eAxw01zCJUmSpNGMm3S9Cfh4GwWRJEmaZkNnpJ+TZA/gdcC7B/dt3br18fszMzNO4LjKel1/0vLM\n", "zs4yOzu72sWQpKkx8piuJK8HfqWqjh3Y7piuCdP+eCsAx3StN47pkqTlGad78XjgnLYKIkmSNM1G\n", "aulKsgW4BTi0qu4f2GdL14SxpUttsKVLkpbHtRenkEmX2mDSJUnL44z0kiRJHTDpkiRJ6oBJlyRJ\n", "UgdMuiRJkjowyoLX+yU5N8n1SXYkOaqLgkmSJE2TUWak/wDwmar6hSQbgS0tl0mSJGnqLDplRJJ9\n", "gW1V9axFnuOUERPGKSPUBqeMkKTlGda9eChwZ5Izk1yd5ENJNndRMEmSpGkyLOnaCBwBfLCqjgAe\n", "BH6r9VJJkiRNmWFjum4Fbq2qrzSPz2WepGvr1q2P35+ZmWFmZmaFiqf1rNdNunat9e7R2dlZZmdn\n", "V7sYkjQ1hi4DlOSvgbdV1Y1JtgJ7VtW7+/Y7pmvCTMuYrrV+/Gn7XTimS5KWZ5Sk60XAh4E9gJuA\n", "E6rq3r79Jl0TxqRrMo4/bb8Lky5JWh4XvJ5CJl2Tcfxp+12YdEnS8jgjvSRJUgdMuiRJkjpg0iVJ\n", "ktQBky5JkqQOmHRJkiR1YJQFr0lyM3Af8BjwSFUd2WahJEmSps1ISRe9a+tnquruNgsjSZI0rcbp\n", "XnR+HkmSpCUaNekq4JIkVyY5sc0CSZIkTaNRuxdfVlXfTvKPgIuT3FBVl8/tdMFrafq44LUkrayx\n", "lwFKchrwQFW9v3nsMkATxmWAJuP40/a7cBkgSVqeod2LSTYn2bu5vwX4WWB72wWTJEmaJqN0Lx4A\n", "nN9rPWEj8LGquqjVUkmSJE2ZsbsXf+gAdi9OHLsXJ+P40/a7sHtRkpbHGeklSZI6YNIlSZLUAZMu\n", "SZKkDph0SZIkdWCkpCvJhiTbklzYdoEkSZKm0agtXScDO2j/kjhJkqSpNMrkqM8EXgN8GBe9liRJ\n", "WpJRWrr+EHgXsKvlskiSJE2tRZOuJK8FvlNV27CVS5IkacmGLQP0UuC4JK8BNgH7JPloVb2l/0lb\n", "t259/P7MzAwzMzMrXExJXZudnWV2dna1iyFJU2PkZYCSvBJ4Z1W9bmC7ywBNGJcBmozjT9vvwmWA\n", "JGl5xp2na7r+F5EkSeqIC15PIVu6JuP40/a7sKVLkpbHGeklSZI6YNIlSZLUAZMuSZKkDph0SZIk\n", "dcCkS5IkqQOjrL24KcmXklyTZEeS93RRMEmSpGkybEZ6qurhJEdX1UNJNgJXJHl5VV3RQfkkSZKm\n", "wkjdi1X1UHN3D2ADcHdrJZIkSZpCIyVdSXZLcg1wB3BpVe1ot1iSJEnTZWj3IkBV7QJenGRf4HNJ\n", "Zqpqdm6/C16PpzdjvDTZXPBaklbW2MsAJfkd4HtV9QfNY5cBGlP7y/S4DNAkHH/afhcuAyRJyzPK\n", "1Yv7J9mvub8n8DPAtrYLJkmSNE1G6V58OnBWkt3oJWlnV9Xn2y2WJEnSdBm7e/GHDmD34tjsXlwf\n", "x5+234UFrm3wAAAHMElEQVTdi5K0PM5IL0mS1AGTLkmSpA6YdEmSJHXApEuSJKkDo0wZcVCSS5Nc\n", "l+TaJCd1UTBJkqRpMvTqxSRPA55WVdck2Qu4Cvj5qrq+2e/Vi2Py6sX1cfxp+1149aIkLc/Qlq6q\n", "ur2qrmnuPwBcDxzYdsEkSZKmyVhjupIcAhwOfKmNwkiSJE2rkRa8Bmi6Fs8FTm5avFbF2972dm68\n", "8VutHT+B3/iNEznuuONaiyFJktafkZKuJLsD5wF/VlWfGty/devWx+/PzMwwMzOzQsX7YRdddBk7\n", "d/5fwI+2cvyNG/+UN77xm60cW1pLZmdnmZ2dXe1iSNLUGGUgfYCzgLuq6h3z7O90IP3BB7+AnTs/\n", "AbyglePvscfJvO99z+Lkk09u5fjgQPr1cnwH0kuS+o0yputlwJuBo5Nsa27HtlwuSZKkqTK0e7Gq\n", "rsBJVCVJkpbFZEqSJKkDJl2SJEkdMOmSJEnqgEmXJElSB0y6JEmSOjA06UpyRpI7kmzvokCSJEnT\n", "aJSWrjMB5+WSJElahqFJV1VdDny3g7JIkiRNLcd0SZIkdWCkBa+H6XLB6y6ccsopnHLKKatdDK1x\n", "vTU229Xm+o4ueC1JK2vogtcASQ4BLqyqF86zb+oWvP7+9/8La32xZRe8nvbj92J0+dtzwWtJWh67\n", "FyVJkjowypQR5wBfBJ6TZGeSE9ovliRJ0nQZOqarqo7voiCSJEnTzO5FSZKkDph0SZIkdcCkS5Ik\n", "qQMmXZIkSR0Y5erFY5PckOR/J3l3F4WSJEmaNosmXUk2AH9Mb8Hr5wPHJ3leFwUb3ayx153ZdRp7\n", "EuJLkpZqWEvXkcDfVtXNVfUI8Ang9e0Xaxyzxl53Ztdp7EmIL0laqmFJ1zOAnX2Pb222SZIkaQzD\n", "JkftbmG3EW3YAHvt9XZ2220fAB5++Ots2nTVih3/+9+/dsWOJUmSNGfRBa+THAVsrapjm8enAruq\n", "6r19z5m4xExSO1zwWpKWbljStRH4OvAq4Dbgy8DxVXV9N8WTJEmaDot2L1bVo0l+FfgcsAH4iAmX\n", "JEnS+BZt6ZIkSdLKWNaM9F1OnJrkjCR3JNnet+3JSS5OcmOSi5Ls11Lsg5JcmuS6JNcmOanj+JuS\n", "fCnJNUl2JHlPl/GbWBuSbEtyYZexk9yc5GtN7C93GbuJtV+Sc5Nc37z3/6yL+Eme25zz3O3eJCd1\n", "+L6f2nzftyf5eJIndfm+S9I0WnLStQoTp57ZxOr3W8DFVfUc4PPN4zY8Aryjqg4DjgLe3pxrJ/Gr\n", "6mHg6Kp6MfDjwNFJXt5V/MbJwA6euKK1q9gFzFTV4VV1ZMexAT4AfKaqnkfvvb+hi/hV9fXmnA8H\n", "fgJ4CDi/i9hJDgFOBI6oqhfSG1rwpi5iS9I0W05LV6cTp1bV5cB3BzYfB5zV3D8L+PmWYt9eVdc0\n", "9x8Arqc3X1kn8Zu4DzV396D3n+B3u4qf5JnAa4APA3NXr3V27n0x53R13vsCr6iqM6A3xrGq7u0q\n", "fp9j6P3WdnYU+z56f2hsbi6m2UzvQpquz1uSpspykq5JmDj1gKq6o7l/B3BA2wGbVoDDgS91GT/J\n", "bkmuaeJcWlXXdRj/D4F3Abv6tnUVu4BLklyZ5MSOYx8K3JnkzCRXJ/lQki0dxp/zJuCc5n7rsavq\n", "buD9wLfoJVv3VNXFXcSWpGm2nKRrokbgV++KgFbLlGQv4Dzg5Kq6v8v4VbWr6V58JvBTSY7uIn6S\n", "1wLfqapt/HCLU6uxGy9rutheTa9b9xUdxt4IHAF8sKqOAB5koEut7c89yR7A64C/GNzX4mf+bOAU\n", "4BDgQGCvJG/uIrYkTbPlJF1/BxzU9/ggeq1dXbojydMAkjwd+E5bgZLsTi/hOruqPtV1/DlN99Zf\n", "0hvn00X8lwLHJfkmvdaWn05ydkexqapvN//eSW9M05Fdxab3fb61qr7SPD6XXhJ2e4ef+6uBq5rz\n", "h27O/SXAF6vqrqp6FPgk8JN0e96SNHWWk3RdCfyTJIc0f43/H8CnV6ZYI/s08Nbm/luBTy3y3CVL\n", "EuAjwI6q+qNViL//3JViSfYEfgbY1kX8qvrtqjqoqg6l1831har65S5iJ9mcZO/m/hbgZ4HtXcSG\n", "3lg+YGeS5zSbjgGuAy7sIn7jeJ7oWoRuzv0G4Kgkezbf/WPoXUTR5XlL0tRZ1jxdSV4N/BFPTJz6\n", "npUq2DyxzgFeCexPbzzJ7wIXAP8LOBi4GfjFqrqnhdgvB/4a+BpPdKmcSm+G/i7iv5DewOXdmtvZ\n", "VfWfkjy5i/h95Xgl8BtVdVwXsZMcSq91C3pdfR+rqvd0ed5JXkTvAoI9gJuAE+h937v43LcAtwCH\n", "znVnd3XuSX6TXmK1C7gaeBuwdxexJWlaOTmqJElSB5Y1OaokSZJGY9IlSZLUAZMuSZKkDph0SZIk\n", "dcCkS5IkqQMmXZIkSR0w6ZIkSeqASZckSVIH/n/yeDpKz7ic5wAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cdystonia = pd.read_csv(\"data/cdystonia.csv\")\n", "cdystonia[cdystonia.obs==6].hist(column='twstrs', by=cdystonia.treat, bins=8)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Write your answer here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression models\n", "\n", "A general, primary goal of many statistical data analysis tasks is to relate the influence of one variable on another. For example, we may wish to know how different medical interventions influence the incidence or duration of disease, or perhaps a how baseball player's performance varies as a function of age." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "WaMAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.array([2.2, 4.3, 5.1, 5.8, 6.4, 8.0])\n", "y = np.array([0.4, 10.1, 14.0, 10.9, 15.4, 18.5])\n", "plt.plot(x,y,'ro')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can build a model to characterize the relationship between $X$ and $Y$, recognizing that additional factors other than $X$ (the ones we have measured or are interested in) may influence the response variable $Y$.\n", "\n", "
\n", "$y_i = f(x_i) + \\epsilon_i$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where $f$ is some function, for example a linear function:\n", "\n", "
\n", "$y_i = \\beta_0 + \\beta_1 x_i + \\epsilon_i$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and $\\epsilon_i$ accounts for the difference between the observed response $y_i$ and its prediction from the model $\\hat{y_i} = \\beta_0 + \\beta_1 x_i$. This is sometimes referred to as **process uncertainty**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We would like to select $\\beta_0, \\beta_1$ so that the difference between the predictions and the observations is zero, but this is not usually possible. Instead, we choose a reasonable criterion: ***the smallest sum of the squared differences between $\\hat{y}$ and $y$***.\n", "\n", "
\n", "$$R^2 = \\sum_i (y_i - [\\beta_0 + \\beta_1 x_i])^2 = \\sum_i \\epsilon_i^2 $$ \n", "
\n", "\n", "Squaring serves two purposes: (1) to prevent positive and negative values from cancelling each other out and (2) to strongly penalize large deviations. Whether the latter is a good thing or not depends on the goals of the analysis.\n", "\n", "In other words, we will select the parameters that minimize the squared error of the model." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [], "source": [ "ss = lambda theta, x, y: np.sum((y - theta[0] - theta[1]*x) ** 2)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "333.35000000000002" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ss([0,1],x,y)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 21.375000\n", " Iterations: 79\n", " Function evaluations: 153\n" ] }, { "data": { "text/plain": [ "(-4.3500136038870876, 3.0000002915386412)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b0,b1 = fmin(ss, [0,1], args=(x,y))\n", "b0,b1" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "gg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, y, 'ro')\n", "plt.plot([0,10], [b0, b0+b1*10])" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0, 20)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "BS3luM3sU5Kq7r4yvH+tpF+7+40Nj2GjEgBoQSLXnDSzbkn/KumPJP2XpJ9Kutjdn29lkQCA5rU0\n", "KnH3Q2b2FUkPS+qSdAtFGwA6I7FT3gEAyYj9zEkze7+ZPWpmz5nZs2Y2EPd7JMnMes3scTObMLPd\n", "ZrYl7TVFZWZdZvakmT2Q9lpaYWZ7zOzp8L/hp2mvJwoze6+Z3WVmz4d/fj6V9pqaZWa/F/6ez3z9\n", "Kod/f68Na88zZvZdM+tZ+lnZYWaD4dqfNbPBwz4u7o7bzI6TdJy7T5jZUZKekPTZPI1SzOxId38z\n", "nOU/Jukv3f2xtNfVLDNbJ+kTkt7j7hekvZ6ozOxFSZ9w9wNpryUqM9sh6cfuvi388/Nud/9V2uuK\n", "ysyOkPRzSae5+8tLPT4LzOwkSY9I+oi7T5nZ9yT9k7vvSHVhTTKzZZLukPRJSW9JekjSle5en//Y\n", "2Dtud9/n7hPh7TckPS/pd+J+nyS5+5vhzXcqmOHnpoCY2YmS/ljSP0ha9JPpjMvd2s3sNyR92t23\n", "ScFnQXks2qFzJNXzUrRDrykoeEeGPzSPVPDDJy8+LOlxd59092lJP5b0pws9MNFNpsKfgKdIejzJ\n", "94mbmR1hZhOS9kt61N13p72mCLZK2iDp12kvpA0u6YdmtsvMvpz2YiL4kKRfmtl2M/uZmf29mR2Z\n", "9qJadJGk76a9iCjCf6F9U9J/Kki7veruP0x3VZE8K+nTZnZ0+OdmlaQTF3pgYoU7HJPcJWkw7Lxz\n", "w91/7e4nK/hNO8PMKikvqSlmdp6kX7j7k8phx9rgdHc/RdJnJP2FmX067QU1qVvSxyX9nbt/XNL/\n", "Srom3SVFZ2bvlHS+pH9Mey1RmFmfpLWSTlLwr/yjzGxNqouKwN1fkHSjpDFJD0p6UodpwBIp3Gb2\n", "Dkl3Sxpx9/uSeI9OCP+ZOyrp1LTX0qQ/lHRBOCO+Q9LZZnZrymuKzN33hr/+UtK9CvbGyYNXJL3i\n", "7v8S3r9LQSHPm89IeiL8/c+TUyX9s7v/j7sfknSPgr8TueHu29z9VHc/U9KrCs6XeZskUiUm6RZJ\n", "u939W3G/ftLM7Bgze294+12SzlXwky/z3P06d3+/u39IwT91H3H3S9NeVxRmdqSZvSe8/W5JyyU9\n", "k+6qmuPu+yS9bGa/Gx46R9JzKS6pVRcr+MGfNy9I+pSZvSusQ+dIytOYU2b2vvDXD0j6nA4zrkri\n", "CjinS7pE0tNmNlPwrnX3hxJ4ryQcL2lH+Kn6EZJuc/cfpbymVuUxpH+spHuDv3fqlnS7u4+lu6RI\n", "+iXdHo4b6pK+lPJ6Igl/WJ4jKU+fLUiS3P2p8F+YuxSMGH4m6Tvpriqyu8zstxR8yPrn7v7aQg/i\n", "BBwAyBmu8g4AOUPhBoCcoXADQM5QuAEgZyjcAJAzFG4AyBkKNwDkDIUbAHLm/wAnLzXSf3Y/gQAA\n", "AABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, y, 'ro')\n", "plt.plot([0,10], [b0, b0+b1*10])\n", "for xi, yi in zip(x,y):\n", " plt.plot([xi]*2, [yi, b0+b1*xi], 'k:')\n", "plt.xlim(2, 9); plt.ylim(0, 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Minimizing the sum of squares is not the only criterion we can use; it is just a very popular (and successful) one. For example, we can try to minimize the sum of absolute differences:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 10.162463\n", " Iterations: 39\n", " Function evaluations: 77\n", "0.00157170444494 2.31231743181\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "rkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sabs = lambda theta, x, y: np.sum(np.abs(y - theta[0] - theta[1]*x))\n", "b0,b1 = fmin(sabs, [0,1], args=(x,y))\n", "print b0,b1\n", "plt.plot(x, y, 'ro')\n", "plt.plot([0,10], [b0, b0+b1*10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are not restricted to a straight-line regression model; we can represent a curved relationship between our variables by introducing **polynomial** terms. For example, a cubic model:\n", "\n", "
\n", "$y_i = \\beta_0 + \\beta_1 x_i + \\beta_2 x_i^2 + \\epsilon_i$\n", "
" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 14.001110\n", " Iterations: 198\n", " Function evaluations: 372\n", "-11.0748186039 6.0576975948 -0.302681057088\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "AAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ss2 = lambda theta, x, y: np.sum((y - theta[0] - theta[1]*x - theta[2]*(x**2)) ** 2)\n", "b0,b1,b2 = fmin(ss2, [1,1,-1], args=(x,y))\n", "print b0,b1,b2\n", "plt.plot(x, y, 'ro')\n", "xvals = np.linspace(0, 10, 100)\n", "plt.plot(xvals, b0 + b1*xvals + b2*(xvals**2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although polynomial model characterizes a nonlinear relationship, it is a linear problem in terms of estimation. That is, the regression model $f(y | x)$ is linear in the parameters.\n", "\n", "For some data, it may be reasonable to consider polynomials of order>2. For example, consider the relationship between the number of home runs a baseball player hits and the number of runs batted in (RBI) they accumulate; clearly, the relationship is positive, but we may not expect a linear relationship." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 4274.128398\n", " Iterations: 230\n", " Function evaluations: 407\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "Ex6LK076p9AAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ss3 = lambda theta, x, y: np.sum((y - theta[0] - theta[1]*x - theta[2]*(x**2) \n", " - theta[3]*(x**3)) ** 2)\n", "\n", "bb = pd.read_csv(\"data/baseball.csv\", index_col=0)\n", "plt.plot(bb.hr, bb.rbi, 'r.')\n", "b0,b1,b2,b3 = fmin(ss3, [0,1,-1,0], args=(bb.hr, bb.rbi))\n", "xvals = np.arange(40)\n", "plt.plot(xvals, b0 + b1*xvals + b2*(xvals**2) + b3*(xvals**3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, we need not fit least squares models by hand. The `statsmodels` package implements least squares models that allow for model fitting in a single line:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python2.7/site-packages/statsmodels/stats/stattools.py:72: UserWarning: omni_normtest is not valid with less than 8 observations; 6 samples were given.\n", " \"samples were given.\" % int(n))\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: y R-squared: 0.891
Model: OLS Adj. R-squared: 0.864
Method: Least Squares F-statistic: 32.67
Date: Wed, 18 Jun 2014 Prob (F-statistic): 0.00463
Time: 20:56:03 Log-Likelihood: -12.325
No. Observations: 6 AIC: 28.65
Df Residuals: 4 BIC: 28.23
Df Model: 1
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
const -4.3500 2.937 -1.481 0.213 -12.505 3.805
x1 3.0000 0.525 5.716 0.005 1.543 4.457
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: nan Durbin-Watson: 2.387
Prob(Omnibus): nan Jarque-Bera (JB): 0.570
Skew: 0.359 Prob(JB): 0.752
Kurtosis: 1.671 Cond. No. 17.9
" ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.891\n", "Model: OLS Adj. R-squared: 0.864\n", "Method: Least Squares F-statistic: 32.67\n", "Date: Wed, 18 Jun 2014 Prob (F-statistic): 0.00463\n", "Time: 20:56:03 Log-Likelihood: -12.325\n", "No. Observations: 6 AIC: 28.65\n", "Df Residuals: 4 BIC: 28.23\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const -4.3500 2.937 -1.481 0.213 -12.505 3.805\n", "x1 3.0000 0.525 5.716 0.005 1.543 4.457\n", "==============================================================================\n", "Omnibus: nan Durbin-Watson: 2.387\n", "Prob(Omnibus): nan Jarque-Bera (JB): 0.570\n", "Skew: 0.359 Prob(JB): 0.752\n", "Kurtosis: 1.671 Cond. No. 17.9\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import statsmodels.api as sm\n", "\n", "straight_line = sm.OLS(y, sm.add_constant(x)).fit()\n", "straight_line.summary()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
OLS Regression Results
Dep. Variable: y R-squared: 0.929
Model: OLS Adj. R-squared: 0.881
Method: Least Squares F-statistic: 19.50
Date: Wed, 18 Jun 2014 Prob (F-statistic): 0.0191
Time: 20:56:03 Log-Likelihood: -11.056
No. Observations: 6 AIC: 28.11
Df Residuals: 3 BIC: 27.49
Df Model: 2
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
Intercept -11.0748 6.013 -1.842 0.163 -30.211 8.062
x 6.0577 2.482 2.441 0.092 -1.840 13.955
I(x ** 2) -0.3027 0.241 -1.257 0.298 -1.069 0.464
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Omnibus: nan Durbin-Watson: 2.711
Prob(Omnibus): nan Jarque-Bera (JB): 0.655
Skew: -0.809 Prob(JB): 0.721
Kurtosis: 2.961 Cond. No. 270.
" ], "text/plain": [ "\n", "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: y R-squared: 0.929\n", "Model: OLS Adj. R-squared: 0.881\n", "Method: Least Squares F-statistic: 19.50\n", "Date: Wed, 18 Jun 2014 Prob (F-statistic): 0.0191\n", "Time: 20:56:03 Log-Likelihood: -11.056\n", "No. Observations: 6 AIC: 28.11\n", "Df Residuals: 3 BIC: 27.49\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "Intercept -11.0748 6.013 -1.842 0.163 -30.211 8.062\n", "x 6.0577 2.482 2.441 0.092 -1.840 13.955\n", "I(x ** 2) -0.3027 0.241 -1.257 0.298 -1.069 0.464\n", "==============================================================================\n", "Omnibus: nan Durbin-Watson: 2.711\n", "Prob(Omnibus): nan Jarque-Bera (JB): 0.655\n", "Skew: -0.809 Prob(JB): 0.721\n", "Kurtosis: 2.961 Cond. No. 270.\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\"\"\"" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from statsmodels.formula.api import ols as OLS\n", "\n", "data = pd.DataFrame(dict(x=x, y=y))\n", "cubic_fit = OLS('y ~ x + I(x**2)', data).fit()\n", "\n", "cubic_fit.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise: Polynomial function\n", "\n", "Write a function that specified a polynomial of arbitrary degree." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Write your answer here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Selection\n", "\n", "How do we choose among competing models for a given dataset? More parameters are not necessarily better, from the standpoint of model fit. For example, fitting a 9-th order polynomial to the sample data from the above example certainly results in an overfit." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 7.015262\n", " Iterations: 663\n", " Function evaluations: 983\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def calc_poly(params, data):\n", " x = np.c_[[data**i for i in range(len(params))]]\n", " return np.dot(params, x)\n", " \n", "ssp = lambda theta, x, y: np.sum((y - calc_poly(theta, x)) ** 2)\n", "betas = fmin(ssp, np.zeros(10), args=(x,y), maxiter=1e6)\n", "plt.plot(x, y, 'ro')\n", "xvals = np.linspace(0, max(x), 100)\n", "plt.plot(xvals, calc_poly(betas, xvals))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One approach is to use an information-theoretic criterion to select the most appropriate model. For example **Akaike's Information Criterion (AIC)** balances the fit of the model (in terms of the likelihood) with the number of parameters required to achieve that fit. We can easily calculate AIC as:\n", "\n", "$$AIC = n \\log(\\hat{\\sigma}^2) + 2p$$\n", "\n", "where $p$ is the number of parameters in the model and $\\hat{\\sigma}^2 = RSS/(n-p-1)$.\n", "\n", "Notice that as the number of parameters increase, the residual sum of squares goes down, but the second term (a penalty) increases.\n", "\n", "To apply AIC to model selection, we choose the model that has the **lowest** AIC value." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 21.375000\n", " Iterations: 79\n", " Function evaluations: 153\n", "Optimization terminated successfully.\n", " Current function value: 14.001110\n", " Iterations: 198\n", " Function evaluations: 372\n", "15.7816583572 17.6759368019\n" ] } ], "source": [ "n = len(x)\n", "\n", "aic = lambda rss, p, n: n * np.log(rss/(n-p-1)) + 2*p\n", "\n", "RSS1 = ss(fmin(ss, [0,1], args=(x,y)), x, y)\n", "RSS2 = ss2(fmin(ss2, [1,1,-1], args=(x,y)), x, y)\n", "\n", "print aic(RSS1, 2, n), aic(RSS2, 3, n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hence, we would select the 2-parameter (linear) model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Logistic Regression\n", "\n", "Fitting a line to the relationship between two variables using the least squares approach is sensible when the variable we are trying to predict is continuous, but what about when the data are dichotomous?\n", "\n", "- male/female\n", "- pass/fail\n", "- died/survived\n", "\n", "Let's consider the problem of predicting survival in the Titanic disaster, based on our available information. For example, lets say that we want to predict survival as a function of the fare paid for the journey." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0 Allen, Miss. Elisabeth Walton\n", "1 Allison, Master. Hudson Trevor\n", "2 Allison, Miss. Helen Loraine\n", "3 Allison, Mr. Hudson Joshua Creighton\n", "4 Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\n", "5 Anderson, Mr. Harry\n", "6 Andrews, Miss. Kornelia Theodosia\n", "7 Andrews, Mr. Thomas Jr\n", "8 Appleton, Mrs. Edward Dale (Charlotte Lamson)\n", "9 Artagaveytia, Mr. Ramon\n", "...\n", "1298 Wittevrongel, Mr. Camille\n", "1299 Yasbeck, Mr. Antoni\n", "1300 Yasbeck, Mrs. Antoni (Selini Alexander)\n", "1301 Youseff, Mr. Gerious\n", "1302 Yousif, Mr. Wazli\n", "1303 Yousseff, Mr. Gerious\n", "1304 Zabour, Miss. Hileni\n", "1305 Zabour, Miss. Thamine\n", "1306 Zakarian, Mr. Mapriededer\n", "1307 Zakarian, Mr. Ortin\n", "1308 Zimmerman, Mr. Leo\n", "Name: name, Length: 1309, dtype: object" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "titanic = pd.read_excel(\"data/titanic.xls\", \"titanic\")\n", "titanic.name" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEKCAYAAADpfBXhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlwW/d97/33wQ4CBAkS4L6Koihql+VNtK3FjmwnceK4\n", "TuOkSW/9NJ3Oc6e5fTq909v2mSdp0jSd3n86vW1mMl2eG7d5EsdJbMdLankVRctaKZOWKEIkJXFf\n", "ARAgQKwHOOf5A5Qs2ZJMSqQkQ9/XjEYiBJzfD+DB5/c739/BgaLrOkIIIfKL4WZ3QAghxPKTcBdC\n", "iDwk4S6EEHlIwl0IIfKQhLsQQuQhCXchhMhDppvZuKIoch6mEEJcA13Xlav9/02fueu6/qn981d/\n", "9Vc3vQ/S/5vfj9ux/5/mvudD/xfjpoe7EEKI5SfhLoQQeUjC/Trs2rXrZnfhukj/b65Pc/8/zX2H\n", "T3//F0NZbP1mRRpXFP1mti+EEJ9GiqKg3+oLqkIIIZafhLsQQuQhCXchhMhDEu5CCJGHJNyFECIP\n", "SbgLIUQeknAXQog8JOEuhBB5SMJdCCHykIS7EELkIQl3IYTIQxLuQgiRhyTchRAiD0m4CyFEHrqp\n", "36EqhFhefr8fn28YgNbWerxe703ukbhZ5Hrut7HLBcFyh4OEzY3j9/t5/vkurNZ1AKRSvTz55FZ5\n", "zfPQYq7nLuF+m/L7/fzwhy8xMJAglUpQWJjgoYfWMTVlwOO5B7j2cDgf6KFQiP7+EB5P23Vt73qt\n", "1ABzKwxcF/dhaGiI3t5yiooqqK0tQ1WjNDVNsWPHnde8fZ/Px5tvHgdgz55ttLa2Lku/xfVZTLhL\n", "WeY2tXdvO6+/Po3F8jAzM1HS6f34/d2Ulj7Aww8XUlRURCAAPt/wVUProwEHXJg99vUlmJjQefhh\n", "KwB9fRmeffZ1vva1Ry7Zpt/v59ChboaGpqmvL6etbcvH/v/8YKEoUFzsxut10N8/xvDwNA0N5Wzf\n", "vuWy/fzobLa3t2tZBhi/388zz3QQDJYBcORIB08/veOGBvzFzy0SCfLyy0cpKnoQRRnmyJFj3H13\n", "HU1Ntmvevs/n4/vf34vN9hAAhw/v5dvf5rYK+FthAL9WEu63qWPH+kmn72F2toBUqgiT6QFCoZcp\n", "L69idHSGoqKiqz7+fCDv3z9Iff39FBa66O3toqpKIZUqJxSaYnY2wPx8Ea+//p9EowYKCtYAhTzz\n", "TActLa4LIf3qqyc5eVLHZNpEZ+cE/f0fBuX5AEuna+jsDABztLSYeP/9NzAa1+F0bqKz00df3z6e\n", "fnr3x958Pt8wVus6zOZCRkdnmJuzc/BgN48/vudjz+dyb+Ir3X7wYDfHjhnRtBIAzp0LsmbNx7d7\n", "uTbC4RDnD1jPD1aLafOjPnxuVk6dOkk6vYre3g4cjs+STnuYnX2FJ554+qq/x6t5883jJJONBIMn\n", "AHA4GnnzzeM3NNxvZriu1MTgRpFwv00ZjRn6+9tJJMzoOlgsKqtX28lkfMzNVREI2AkEDlJS4qaj\n", "o/Nj4fPDH77EgQNnCYcrKCpqp61tHV5vOT09Bzl9eha3+z4SCTOdnc9htc5jsz1MYeEwmzdv4Nix\n", "cbq6TlNX10Q4fBKLZRVudxsuVw2RSBXBoO/CEcP5AAuFErjddwJJhofbCYcbyGRUbLY0VutaRkd7\n", "efbZ19myZS1erwO/PwZAKBRiYkLj6FE/muZkbm6MI0cOEImEefTRXZcMIFbrOqLRCC+99CI7dzbS\n", "3FzD/v2jF2bGv/71L2lqsjE3l+TgwW7Gxx+mpqYWgEBgmJ6eM1ccNM6XqCyWFo4fnyWZNAFGbLYU\n", "27aV0dvbxc6dtQwMjH1swPxooJwfWN966yjxeBPZrI1IpISpqRCzs41AFqvViMGwiv7+sWsO4+np\n", "cbq747hcTwIQiTxPa2vBNW3rcq8JXD2wc0dH+wgGnQAcOXLusgP4SvH5hkmnawiFEgA4HDWfeCR7\n", "K5Fwv828+uqr/PjHb7B//z5isQLgAaCQVOoE4+Man/nMNtasSaIoPgIBI7OzrQwPfxh427dvYe/e\n", "dl599RyhkIlwOI7RuAqTSaOi4jQ1NVGgEbAxOuonGjWQTg9jNo+Rzbp57bVf4/frNDZu48wZC4cO\n", "daFpb9PQEKW2divh8DTJZB/x+Dxer+OSvsfjAWZnzxEMdnLuXAFm83bi8STJ5Fu4XDHi8a20t/cy\n", "PHyYRx7ZQ3PzXZw69R6vvtpJKLQJVVXRtBmczs384AeHOXFiiv/xP756yey+q2uQ6elqJidPU1R0\n", "grVrP4PTaaW7u4+zZxV++UsfBQVuVNVIONxLcfE6nE4XijKFoly6fnTxoNHXl+DcuTlstoNMTZUz\n", "Ph4AHFRXF3Lq1Enq66v5t397l7k5Gz09pRw4cJStW6spLrbz2mv7aWhoALhwpHPs2BzBYBlnz76B\n", "03kfHk8lMzPHMBqfQlW9mEzjlJQ0Mzw8cdn9wO/3c/Bg91XLWrpuANag62ULt6xB1yeuazZ9uXLW\n", "Y4+tuzAYny/t+XzDHDhwlLfeCjE7m7tvZWWYlpZuvvjFKx8dLadQKERnZ2BhUgGhUCf19cYb0vZy\n", "WNFwVxTlfwOfB2Z0Xd+4km2JT/bTn/6Ub33rP0kmHyWZrAVOAbXkdoM6+vvfoKpKpafnDO+/76Ok\n", "5G4cDp2uriDT09UMDh7jtde6OHOmB79/DdlsKem0RjY7xIkTx1HVUmprFe68s47BwdP09/egaauI\n", "RocIBp/DZrNhNJZhNN6Nro/j9yeJxXahqgPMzByht/ccBoMTl8tIYeFG/tt/+xlf+lIDfn83ExMK\n", "77zzAclkGclkClX1YDZbiMWyQIpIRGFuboa5uRISia08//xr/P7vV3PokJ+xMZVEIoimOVGUBLpu\n", "IJVq4ic/OcDc3Aj19auIRjeQSin4fBFCoSw2WwanM0k0uo+ZmTkGB+2kUrXMz+8hkTiDxeJH11Vm\n", "Zt6ipGQ1NTVZNmxovuT1Pj9oeDw1HDp0gMOHu0gkIiSTLWhaBdnsBOPjUVIpL8PD43i9NZw8OUM0\n", "6iYUinL27AnWr/fwxhv7uf/+h2lqamVk5F2mp6P4fEY0bQvZrMbYmA9dV6io2MLMzLuYzXFKShqI\n", "xY7S0LDmI33y8eKL+3j33TNEo024XA04nSMcPz7Ktm21l5SIKioqaWpyMTraDUBTkwuY4Dvf+Xfm\n", "5tx4PGXU1g4vaa0hV85SyWZTC/2Z49SpX1BRcRcAb799AtBIpap4880j9PY24HA0oigGRkYO09Ly\n", "3g0Ld0UBmAOSC7fMoSglN6Tt5bDSM/cfA/8E/McKtyM+gc/n47//938lHP4/gTqgCGgADgGbgRJU\n", "Ff7yL1+nvPzLJJO1xGLHOH16lnS6nkQiRiIRYXR0A5FImEAgi9GYIp2Ok80qpFKbmZ83MD4+RHFx\n", "D/3948TjA0QiA0A98CDz84OYzUns9mLOnRvEYKgmk0mi6y5gHfPzv6ao6D5qaj5DMKhhMnnYt+8A\n", "qVSCyckQs7O1GAz1KEoloGG3T5PNOlHVcRIJBzMzczgcG8hk3IyPd/Dss//M9HSAWGwjYAds6HoF\n", "kciLmM3rASM//ek0paVgMvUSj6eIxepxOLyYTLsZHDzA2bOvYLe3MT/fQiQyhtHowmZbi6LEUJRZ\n", "TKYxmptXU1paxPbtWy772o+O+ujoOEogsJtMZhJVPQHMAGZSqSDHjx+lpqacyck0Fss2IpG3UNW1\n", "qKpGV9frNDQ8zAcfGBgZOYLTCR0d7zA724ym9ZJOT6HrWaanBykre4CiojRO5zip1Cxu9wjNzQ9e\n", "sg98//t7mZ524vM1o2mttLbWE4lkGR/vYmAgRl1d04Xyx6pVxfT3v4LF8tWFx/8Sk8lKOPwYum7i\n", "6NG3cTpT2O1hvvWtby5qPzx1aoDBQQWTaTUAgcBBHI4QO3duAuDIkVNAnE2bHmVm5ueoqodMpgGr\n", "tYBE4gynTh1Ywl5/fYqL3axda2do6BgAa9dWU1x87QvUN9qKhruu6+8qitKwkm2IT+b3+/nHf3yF\n", "QEAHdMAMpIEo4AQqgAOAiXB4GzU1m6mq8tDXZ2Bw8FU0zY7VOktBwReJRmMoygi6XkQs1oeuF2Mw\n", "3E1xcRlOp5HCQjeRyPscO9bF/PxdwCZyRwjlwCYymf0oSh+ZTIpstg9FyaIoLeh6El0vJJUqZGYm\n", "jtvtJZEIMzw8DtxLOHwMm207ul5IQUGUQKCdmRkNm81FOj1POm1F142kUi8A81itn2FycoBweAAY\n", "B74AhIFjgBtVTQEmVLWJZHIYo3EOVS3EZFJwucBicZFOu3C5aqis9NDXN4bR2EQ6bUDXT2E06pjN\n", "WZqbo3zuc2W0tt71sdlra2s9R47sY+/eLoLBcjQtja4XkBtoIsB9gJVYbB9TUzHc7iHicSOZTCkG\n", "QxWKoqLrEYLBOZzODczPWzh9+n8xM6OQSs0v/C4fAuyEQsdQ1VOUlBgJh9/H7S5l/fod7N8/isfj\n", "wev18uabx7HZHsJkOoHdXkk63UQ4nFlYi4hQUXEXicQmTp58j0OHuunpGaGuroVk8iBOZwmZzHpm\n", "ZlQsFgcTEwPo+uMkEsP8y7+8g8tVRENDwyeWaWKxeYLBQgoLSwEIBg3Y7W5crhoAEokqdD2Iy1WD\n", "1erEaEwDIUwmFZstjtVqvb43wxJ4vQ46O18jmcwd/QQC+3jiiS/fsPavl9Tcl9mteOqUzzfM3Jwd\n", "s9lFNvsb4CmgDxgGtgMjQAGgEY0GiEQieL3lWK0WwuFzaJoHl6sFKAYsZDIZMpkQBoMVTXOg6xML\n", "QbeVRGKEvXuPY7d/c6FmmyJX+jkC7EDXY8TjvwEmATu6fhe6ngEGgEmSyXcYGYkRCpVSVDSM272J\n", "UCiM3e4gHj9NJlPL7Gw/6fQ5FKWEbPYcJtMDqOoQum5B10sBlVQqhdfrIBxuAIzA4EIbdQvP427g\n", "NeAEmrYZTSsF7GiajUQiRTz+OgUFAYqLq6iuXoPff45MZhpdT6MoI2SzSYqKqnA67Z/wezaiqgUk\n", "Ek4ymQi6Xge8Qi7Y1wMqsJn5+ZdxuTKkUkMYDP8HBQVlpNMJFGUj6fR7OJ0VaFqUaDSKoqwG4sDn\n", "yK1vhNB1N+n0+8zMzOL1FmMybaWraxiHY/PHFgGLisoxGs8Ri80DJhSlG7vdSH39XTgcXqLRVnp6\n", "DtDdHSAWW00qFWR+fpSiIhsOh4uJiaPo+kOYTF6y2THi8Rr+/d/PcdddBZ+46FlQUIjLZUFVDy/0\n", "pQCDYZJIJACA3R4H0kQiAaqrNzIxMYbJ1IvZ7MBonOOzn92+uJ1+GQwMjGEyVWG3VwFgNM4zMHDt\n", "C9Q32k0P9+9+97sX/r1r1y527dp10/pyvW7lU6cMhhQGQxyoAX4NHAQ+A8ySC/Z1wBngfUZGCkkk\n", "RshkDmK1lpDNFmM0uohE3sLjqWJ2NorJZMRoLCKTmSGbjZNIqCSTViKRYxQWriMeL8ZkSpBOzwOB\n", "hV70AOfQ9TUYjRkMhhpUdT25I4kAUIKipLDZfGSzDjyeZoqK6vH7feh6lljsfRQliNk8jcnkobx8\n", "I5o2ht8/haaVLTyHNNCLxTKEx9PIwIBOrmZ6B7mZew2QBSrJhWsIUIAmoBBNGwDMGAz9tLSYsVgM\n", "BINDJBIRjMZBrFaVVErBZiugpMRBPO7h0KHLL/L5fMN4PPdwxx1uTpx4F03buvA8w4ANsCz8bSWb\n", "LSGR+CqK8nOczn6qqyuxWIwMDfVRWVlBYeEU2ayPigoXwaAGuBf67QQUdL2fdHoOq7WGeFwjElnH\n", "xEQ7k5O/oK7uQeBO9uzZxuHDe8lk1hCL9aFp3WSzRozGYbzeFoaHPwDAaAyg6wpVVS20tx/FaHwC\n", "TVtLIPBjvvCFJmZnVebmzmI2D+F0TqCqpWQyLSQSrRdm/Veqi9fVedC0o6jqWgAsliFKSmL4/e/g\n", "8bjYudOCrpeQSvnYvLmGubl3mZnxk80aeOCBYr7ylS8sZbe/LkND0zidd1FdnSsZjY8XMTR04oa1\n", "f7H29nba29uX9JhbKtw/7S5eQAMW9SGgG8FoTHHq1BgWyy7i8UJyAXgK8JOrhzeRm9VuAUbRtJ/R\n", "0PBZSkoqsVo/T3//UVIpH15vlvLyduz2caan69C0dShKMXCYkpJOnnzyTzh1qob5eStnzz5PJrOL\n", "XLC+RC5MjwBJrNbtwFkMhnXoupdMxk2uTHECg+Ep7PZ5GhvXUFVVhMFwgqKiDKqaoLx8C6o6TmOj\n", "C01rYWRkElW1kEi8CzyN0ViNrn9AbrceJ5UqBs4BT5Cbsa8mt0Cmk5vJj5EL1+TC67ERRYlgtZ7m\n", "/vsL+dM//V0AfvCDf+bMGWhoeILBwWmy2XdIp+dIJgvIZOoYGpq+6uvvcLix2czMz7ej6wl03brQ\n", "dnKhL2OAi4KCVSjKFykr62DnTgsA69cbGR+fwGr9gA0bWrBau+jr6yWVKgH+ndy6STFwFk2LkEyG\n", "sNtrCYWOkkwWk0oV8vbbfTz6qJ/W1la+/W34+7//CW53CpernoKCelKpKiYmTmC1zmG1FmO3D1Jb\n", "28ypU5PU1T1IODxLJpOiouJRKiqm2bDBTzS6j4KCh4nFJlCUjaxbtwWXKzfrv1oA6jqYzSWYzWvI\n", "ZlVmZ89SWloORJma6uGppx5hzZo1+HzDnDzZz759xZSW5j5E1dvbQX9//w17P9XXl9PZOUEkkpu5\n", "ZzIT1NeX35C2P+qjE9/vfe97n/iYmx7uYuUdPz5Ia+vXgFF6e0NoWhGZjJVc8NUB08BWYA3wPA0N\n", "FXzjG3/E1FSCc+eymM2F2O2FOBwOGhrsRKMa3d1ZDIYqoArooq6uDLfbzaZNdTzzzHNYrduJRPaR\n", "C9P15MJTxWCowes1YrHcjd8fxGDQMRiK0bQ40ICqholGJ6isrKOoyEsyqbN2rQurtZl4vJWSkj04\n", "HH3s29dBOl1LIjGNxVKMwfA+qppG0xQUJYrBoJBOn6G4OMzMjEYuzB1AB7mB5CyKMkzuE9wt5BY4\n", "92IwxKioCPO3f/udCyFy9913ommrmJxUMRpNwE6SyV7GxmzMz7/Ml7702cu+7q2t9fT2djEzM4uq\n", "BlGUEgyGyoWjgzTgA3LnUJvNTqzWNCUldWzcWM7nPmdfODe+jpaWPUxOjjMy8h51dauprXVy+nSC\n", "XMmrYuH3GAfKMRp1NK2OubkxbLaNlJY+yOTk2Quz6dbWVjZuXMf4uBuj8R4KCjycOXMYo1GjoGCI\n", "yspVNDQ8QHFxgtnZt5icTGGz7cJuz5DNduP3h3jkkT9mx44o3d3HOX06STIZwu+fwe+fwWA4d9UA\n", "DIdTtLQ8iMlUy/R0AINhF5OTx9m27XGi0Qmef/4Af/mXa9ix405+9avXKSj4PAUFue3F4w/z3HPt\n", "3HfffUt8B1ybtrYt9Pd3EAz6AKipidHWtuOGtL0cVvpUyGeBnUCpoiijwHd0Xf/xSrZ5M51/MwcW\n", "qhCpVC+trVtvbqcW2Gx2zGYnpaXN6PoU4XApyeQIuXBJkKtLTwAj7NlzB6lULw5HDWfO7CUcLmXV\n", "qgY8ngxr1z7M/v3nWL16D4mElWw2TCq1lkTCSXd3AYcPD1BfX4aqwuxsEdnsl1CUAnS9GEhhsx3n\n", "/vsfZ2LChMn0G2Zn3czMlKEoJnR9LXAcu72Q0tIULtdhSkszOBz3UVpaxdtvdzA+HmF+/ijz8zY8\n", "Hi+ZjEI8XovN5icSOUE4XEZBgc6DD/5fOBxGUqlzzMwcIVfCiJEL8UJsNgdmczWqqpBMDgETGI3V\n", "mEzF1NYmLpkd5mZwETQt9xijsQ+TaT1QSjrde8XX3Ov18uSTWzl+/B+w2YrRtHqy2RTZbCO6rmIw\n", "qICZbDaEpsWJx9/DYOjl8cd/ix077qSjoxOPpxWPp4ZVqzbz3nsAhWzcWM7ExDzRqBFdD5M727gX\n", "kylNYWEciGCx3EthYZTKylpKS90MDQ1c8nwymQnS6ShgIZ2eQVV1LJZW7PZNnD79HrW1BoqKitA0\n", "E5mMEYMhi6aB02mhr+8ERUVl7NjxCA0NDbz22gvE40MA2O29rFnzxBVfk9xrGcLtbiIeNzI2NklV\n", "VTMulwdIYrE0XDjaTSRiBAIjlJZuBiAYPEYiEVv0Pn+9vF4vTz+946I1tBt7eYnrtdJny3xtJbd/\n", "qzn/Zv5wZ7g16u0f1lrLUNUZjMZRioqaSCaLF+4xRm5RdYLi4ioaG9fx5JNbOXiwG5drDKOxFqvV\n", "QK5WDS0ttYyPz1BWtoFQKEQoVMXGjQ3EYmZstofYsKGfdHqUTKaesbEB4CwmUyvg4777Wqiunsbr\n", "neav//qb/OhHz/PKKyNkMqux2TwYDHdRXNyJ3e7jL/7iD4HctWqCQYjFZslm0yhKFLP5DsrL78du\n", "N9LX9woFBXbs9nmKi2t54IEv4/U2MD5+Al23YLHULATZFHAXBsMUtbWVOJ27mZ5+Db8/g6J8Cau1\n", "FpOpk3Q6jN/vv/C7Oz+Dm5+fob9/FofDTHHxvWjaEDU1dxMOp6742nu9XhoaaigsLMRoXEciMYOq\n", "nkXTTqLr5SiKC4tlDl2PUFgY4YknvsHYWAa/33/FbVqtdgoLLWiakUQigqbZMZsV7PY0paXrsVqn\n", "CAbH8XjMrFpVSDI5eslsuq1tC11dExw6dIBstgqXq5dkMktJySpyZaoiRkYGaWzcicXiYWYmTDI5\n", "T21tIcnkPMGggZkZCz7fOzgcYzz66BcwGAoBKCj4PH5/jCutOV48G66sjDEz04PL9XkikTFUtZdV\n", "q6rJLTLDli2reeutEPPzUQA0Lc6WLauv+LqsBK/Xe0u8h6+FlGWW2a24M5yvtf7kJ6/y6qtd6Hol\n", "yWQrs7N9qKqN86dFmkyVlJfHaGgox+v14na7efDB36OvbxqzuYJodJbh4QP8wR88hsVylP7+Y+j6\n", "EDU1dWzbtoHR0RkAysoaeOqp9bz99ss4nYdIJCqwWvtZvz7FnXc24XTOsmfPblpbWwkG4wwOvs/o\n", "6AbMZi8Gg5+amhoeemjbhdfxySe38uyzr7Nq1Vo2bNiEz3eUN944i9/fSWlpE4WFUaqqhtizZxv7\n", "9s2QTkcYHz9BMvk2q1Z5GRqqJ5vdhKaNoes6NluWtWtLyWRUPJ4Szp0LE41GKCjw4fVaWbPms5es\n", "lZyfwa1Z0008fpzBwdU4nQFsthgVFaXU15de9fWvrfVgMHQtnEbatHCK3yyFhbMUFztxOHaTza5h\n", "0yaN7dt3EwiM4fMNf+xIsLR0HkgQCCgYjdOYTFM4HHWo6kEKC2dxuUowGqGiogGrtYfCQi82Wy/N\n", "zZeWE7xeL089dTdmczvT04cpLDThcDyIohiBEE1NdUAAp7OaSGSakpJ1RKOzzM//mrVrH6e0tGHh\n", "Oj1VuFyzVFY2X7TONEZuEL28S2fDdr761S/x/PMfYLHEWbWqGqt1+sLR7saNm/ja1yKcPHly4eet\n", "bNzoWsquf1uTcL9NtLa28rd/28rv/q6PH/3oBXp7VYqLd3H69ByJxBi6PoLN5mfLluZLPozjcpXS\n", "1lbF6OgwdvsMbW2NtLa28kd/5Fm4CJabvr4IqhrF4VBJJt+moOBB7PZC9uzZyt/8zRfx+2Mfu/zv\n", "/v29eDwetm/fwmc+M0pHx0nicQcFBSF27Cijre3DPni9XrZsWUthYQVFRUW0tm5hYGCITGYYm22a\n", "5uYMf/zHf0hraysPPXTxJWof5Z13iujoOEMmE8dotKJpR/B4VmMyZXE6+9mwYTeqeoCZmSiNjWvw\n", "ep2sXl1BrobNJX14/PE9rFlTwz/+42+Ymxtb+IRm+pK+Xk5xcTHl5UbMZtvCKaTVVFQ8hqJU09r6\n", "ecbGuhkZmSORMNHTM4DDoV5o8+Ijwcce2w3As8++jqJYmJqyc+bMEVTVQX39A2jaFHCGe++9j6qq\n", "pxgZGaSqKnDZq3Du3z9KVdUXqKqCQOAIMIHH0wBAKjXIzp3b2L9/lJaWciYnT2A0DrFrVyvZbClF\n", "RUULVw21U1KSZHKyd0mlyI9OgM4voIJ6ydHu+cGtufnDS0afvzyB+GRyPffbkN/v5+/+7kW6u2sY\n", "GbGjqmcxGqGw0Mef/um9/Jf/8tsX7reYL3+4+Nz+iy/adfH53x0dnXR1mYnHc8FVUGBm61aVHTvu\n", "XNR1Tj7al0DgIGvWuHG7r35FxUOHuvn+9w8zPNyK2VyE0XickpIpfvu3W/it39qF3x9jaGiQw4fH\n", "cbm2UVVVisUydtVTWJf6WYaOjk5+9aszjI9X43BUYLWasNt7UNWzFBVtIxAY5/jxw7S2fgWbzUky\n", "+Tbf/vajVzyf+qOX+vX59lJb60JRwOFoY9WqzQuv0dhlr+fe0dHJ2bMVl8y2S0p8uN3uS57T1S7n\n", "DB/uD8CKfbbjVvzcyK1AvqxDXJHP5+Ov/upZgsEm7PYqTKYp7r67kfvvt10SBsv15nr55Tf51a9y\n", "V4sECIXe48tfLlnSdUI+qS+XG4yqqhR6euy8++4A8bgTk8nAmjWD/PVf/95lrxl/vc/zSv1+5pl9\n", "C5c1biWTmWDjxtiFC2Z1d58mGq2+qG794cC3lNdisYPx5cJ9sV/qIWF7a5Av6xBX1Nrayve+9zX+\n", "9V/3YbGoVFZuWqh3tlxyv+VaQ8iN4UXkFuxy/17quP5Jfbnc5wx03UdJSZzPfvYeJiaCqKqPP/iD\n", "z39sOyu5VpKrM+9e+EKSEwtfSJI78+L85PyjYXu1uvWV+rvYBf3rOavrVlxTEpcnM/fb3I2aiXV0\n", "dNLdXUAsZgbA4VDZsiV+Yba4HP240oy0tbX+lp5t3ozvPpUZ+KeblGXELeNqAbZc4fZp/oJoCVux\n", "FBLu4pZypQC7nhrwYtsQIp9IzV3cUm5EvVZqwkLkSLiLm+5WvmyDEJ9WUpYRtwQppwixeFJzF0KI\n", "PLSYcDfcqM4IIYS4cSTchRAiD0m4CyFEHpJwF0KIPCThLoQQeUjCXQgh8pCEuxBC5CEJdyGEyEMS\n", "7kIIkYck3IUQIg9JuAshRB6ScBdCiDwk4S6EEHlIwl0IIfKQhLsQQuQhCXchhMhDEu5CCJGHJNyF\n", "ECIPSbgiS2J9AAAgAElEQVQLIUQeknAXQog8JOEuhBB5SMJdCCHykIS7EELkIQl3IYTIQxLuQgiR\n", "hyTchRAiD0m4CyFEHpJwF0KIPCThLoQQeUjCXQgh8pCEuxBC5CEJdyGEyEMS7kIIkYck3IUQIg9J\n", "uAshRB6ScBdCiDwk4S6EEHlIwl0IIfKQhLsQQuQhCXchhMhDEu5CCJGHJNyFECIPSbgLIUQeknAX\n", "Qog8ZLrSfyiKMg/oV/hvXdd118p0SQghxPW6Yrjruu4EUBTlb4AJ4P9b+K+vA1Ur3zUhhBDXStH1\n", "K03OF+6gKCd0Xd/0SbddU+OKon9S+0IIIS6lKAq6ritXu89iau4xRVG+oSiKceHP14H55emiEEKI\n", "lbCYcP8d4CvA9MKfryzcJoQQ4hb1iWWZFW1cyjJCCLFky1KWURSlRVGUtxVFObXw8yZFUf6f5eqk\n", "EEKI5beYssy/Av83kF74+STwtRXrkRBCiOu2mHAv0HX9yPkfFuoo6sp1SQghxPVaTLj7FUVZff4H\n", "RVG+DEyuXJeEEEJcr8Wc594E/AvQBoSAQeDruq4PXXfjsqAqhBBLtpgF1cWEu1HX9ayiKE7AoOt6\n", "ZBk7KOEuhBBLtFwfYhpUFOVfgHuA6LL0TAghxIpaTLi3Am8D3wKGFEX5oaIoD6xst4QQQlyPJX2I\n", "SVEUN/CPwO/oum687salLCOEEEu2XGUZFEXZpSjKj4D3ASu5SxAIIYS4RS1mQXUI6AaeA17RdX3Z\n", "LhomM3chhFi65TpbxrWcZ8h8ZNsS7kIIsUSLCferfRPTn+u6/j+BHyjKx7ah67r+x8vQRyGEECvg\n", "iuEO9C78ffyi23RA4cpfvyeEEOIWsJiyzDZd149f9U7X2riUZYQQYsmWq+beDlQAvwSe03W9Zxk7\n", "KOEuhBBLtCynQuq6vgvYDQSAf1YU5aSiKN9eni4KIYRYCUv9ENNG4M+Bp3RdN1934zJzF0KIJVuu\n", "b2JapyjKdxVF6QF+CBwEqpepj0IIIVbAYmruh8h9gOkXuq5PLGvjMnMXQoglu67z3Bc2YAIGdV3/\n", "h2XtmRBCiBV11bKMrusZoE5RFOsN6o8QQohlcNWZ+4JB4ICiKC8D8YXbdF3X/37luiWEEOJ6LCbc\n", "zy78MQBO5BOqQghxy1vSqZDL3rgsqAohxJJd94Lqwkb2XeZmXdf1B6+5Z0IIIVbUYsoyf3bRv23A\n", "k0BmZbojhBBiOVxTWUZRlGO6rt913Y1LWUYIIZZsucoyJRf9aADuBFzX2TchhBAraDFlmYsv95sh\n", "d2rkN1emO0IIIZbDYr4g+8+BzbquNwI/AWJ8eL67EEKIW9Biwv3buq5HFEW5H3gQ+H+BH61st4QQ\n", "QlyPxYR7duHvx4B/1XX9VcCycl0SQghxvRYT7uOKovwL8BTwG0VRbIt8nBBCiJtkMZf8dQCPAid0\n", "XR9QFKUS2Kjr+hvX3bicCimEEEu2LN+hupIk3IUQYumW5ZuYhBBCfPpIuAshRB6ScBdCiDwk4S6E\n", "EHlIwl0IIfKQhLsQQuQhCXchhMhDEu5CCJGHJNyFECIPSbgLIUQeknAXQog8JOEuhBB5SMJdCCHy\n", "kIS7EELkIQl3IYTIQxLuQgiRhyTchRAiD0m4CyFEHpJwF0KIPCThLoQQeUjCXQgh8pCEuxBC5CEJ\n", "dyGEyEMS7kIIkYck3IUQIg9JuAshRB6ScBdCiDwk4S6EEHlIwl0IIfKQhLsQQuQhCXchhMhDEu5C\n", "CJGHJNyFECIPSbgLIUQeknAXQog8JOEuhBB5SMJdCCHykIS7EELkIQl3IYTIQxLuQgiRhyTchRAi\n", "D0m4CyFEHpJwF0KIPGS62R0QN4/f78fnGwagtbUer9d7k3skhFguiq7rN69xRdFvZvu3M7/fz/PP\n", "d2G1rgMglerlySe3XnPAy0AhxI2jKAq6ritXvY+E++3p5Zff5OBBFZPJjK5DNqvS1mbmi1/cs+Rt\n", "LWWg8Pv9HDrUzdDQNPX15bS1bZGB4DrIoHp7Wky4S1nmNuT3+9m/f5DJyQ2MjMwQi41TUuImEplh\n", "+/alh63PN4zVug6PpwaAQCB320e34/f7eeaZfZw8qWMybaKzc4L+/g6efnqHhNI1+Oig2tvbdV1H\n", "XyK/SLjfhny+Yerr76e7u4uRkVJUtZbJyePMzjr5xS9e4Y/+6Pcvuf/1zA4vfuzQ0CBdXdOkUluo\n", "r68nm60iGPRddiBYqttxBrvYQfVKFvOa3Y6va76QcL/N+Hw+fvWr1xkbq2F0NMDkZIBMZgToJhSq\n", "5e/+bpqJiQD33LOV7du3APDMM/sIBp0AHDlyjqef3r2wrdyb3ut10NvbSyCQayOV6sXrreXll9/k\n", "Zz97l4mJUiBFPD5EUdE9KEoRp0+fo7q6GLv9+p/TYmawyxVS17odv9/PwYPdDA9P09BQfk1HSMtp\n", "sa+ZHBl8ekm430bee+89/uIvniUWczM29hZ+vwFwAxrwGdLpXsbGrPz85/MMDIzQ1xeivFzh5Ekd\n", "t3sTACdPvsdrr7UTjxdd9KbvZefOWvz+KQC83lr27x/lwIGTvPGGDViPwTBEJmNj7do4RmM309MO\n", "/P5RPv95N62tn7uu53W1Gazf7+cXv3iFn/2sA4PBS319I4WF7Tz66Gba2rZceDxcGtYfDXGAgwe7\n", "2b9/gPr6+3C5ShcddrlyVAcnTzoWylE++vr28fTTu6/Y3vnb33vvPZ57rh2Ahx/ejMtVsfAaOwiH\n", "Q/T0vE99/f0UFrpIpXppbd26qNcst+6RoahoitraemDdx2b9n/S6LsfRnBwNrBwJ9zx18cJlcbEN\n", "RdH5p3/6T/r73aRSdpLJiYV7GoFKoBZwAe8QjRrw+6vp7x/h8OEe5uZ2kEz6sdmcZDK1dHbuY+vW\n", "38NstjI6OszcXIaqqrELi7EdHZ1Yres4ffpXZDK7MRobyWSiZDJFzM/7qK3VyGQSVFeb0fUshw51\n", "U1zs/tgb/ZNC4Pz/d3efBgrweGBuzk9f3wmi0Vm8XgfPPXeU//iPALOzjwNnOHWqi7q6ezGZsvT3\n", "dwBZVLWKnp4+YrFnefjh9dTW1tLXF8HjuQeAI0dy9wsGKwmH7yeZnKKtrYrLBeLlHDrUTVdXmFSq\n", "iPr6SrLZEoLBE5cE5eVmyP39/fzJn7yE1folMhmVl176GU888QDZrIfe3hd48ME91NXdw9BQOzt3\n", "NtPWtrhZ9fk1l1DoXhKJEkZHu2hpKf/Ex138+Gud0Z9fd/nokeCVHisDwbWTcP+UWMpOfvHCZSbT\n", "TF/f+6TTpzh3Lks8Pgt0AWlgNdAAzAIhoAAoJhLpZXCwmEDgDPX1jQwMJND1MdzuUkymEzQ2mhkY\n", "OEZHRxdGYz2lpRXMzZ0CoLjYTSgUAipQ1QTJ5ADQhKYZ0PW3GR+fp7T0t4jHg0xN6YyN5Y4S1q8v\n", "4qWXXmTnzsYL5aAf/vAVBgZyZ1M1N5/gW9/6Al6vF5/PxwsvtHP06ABlZS3Y7S7OnfsplZWrGBkJ\n", "YLNVEI+Xc+DAs4RCHqLRtWhaBao6j6qOMjV1lnC4BIejjGCwn/7+06RSFYyMnOP48S7Wrj2DwdDC\n", "l76kLwT9IPH4FMlkhkgkjdFYw+nT3WQyKtHo7FV/H+eDdGamklAoy/j4i6xe3UxNzYf3+egM+dy5\n", "IM8++zr79x8lnd5DJuMkFouRzT7K22+309Lyh8Riu3nttTfZtWs39fX34Xariw6+82suiUQKsJFM\n", "VjA8fIDf+Z3fvuR+ra319PZ2XVJua23del21/kOHui85Ejx27C1U9Zfcf//dlx3cn3mmg2CwDMgN\n", "srL4vngS7p8CS50p+XzDBINO3O5NTE6miMU2E4tBPP6/gTrga+Rm7K8DU8BG4Bi5wC8klUoxOXmM\n", "UMiBx5NAUWbQtDJmZ09jt4+RSOg899xPCIXWYTCM4XB0smXLJg4eVGlpqSAQOAccQVHiqOox4DS5\n", "XU1FVQMcPPgOFksLqpoCYszMnOX48WHKy8uZnDxNX18Iuz3Kq69OAXcC0NfXSVNTO01NVXznO78h\n", "HG5hamozqtpLZWUlmUyKSGSedHoVfX0nmZkxYjZXMjBwhnA4QSYzCsSAAMGgzqlTx9D1Bnp7u8lk\n", "tjE19Sqzs0Y0LUE4PEJt7Tqef/4gmzZVc/z4cSKRMBs3/g7BYJTh4S6czj5qa9uoqrqDZ57poKXF\n", "ddmjj0OHupmbszE56SOV2oqiNBOJvEhFRSOhkJmOjk6Ghwfp65thamqKoiIHx4+fpqqqnomJA5w9\n", "O0VJyR2k00XMzfWgKCGCwSmmp6cwm5t499045eVdNDZWL2mfKix00dZWyOjoDHb7HNu3N39sf/J6\n", "vezcWcubb7YDsGfPNrxeL6+9tp833zyH0+lly5bV2O1XPSPvEkND05hMm3C5aojFYoyOlmEynaWy\n", "suLCfn1+Hz5w4Bjd3ZVUVrYCcPJkjIMHu3n88aWfrns7WtFwVxTlUeAfyCXJv+m6/j9Xsr18dS0z\n", "pbGxQXp6gszOGlCUKkymAmAOeBi4F7As3PMVoIlc6BuBg8AAmczdGAx3MjJiJ5k8wfz8QcxmE07n\n", "nbz44rtMT9eRzW5DUQzE44cZGHif+vpCpqamKChooaSkn7GxELkjAyswDYSIxYKAl0ymiFzYHmFk\n", "pAiDwcro6CiRiJtMZo5Q6F1mZ3dhtZYCkEpV8uabh3j1VSex2G4mJuaYmRkBDASDe7FYNpFKTRMK\n", "laKqFczOvoPBME88PkUm83VyJaf3AchknIyO1hIItONyNTI21sXcXAq4CzAQix1mcvIgs7NrGR8P\n", "A0HicY3BwVEaGz2cPj2M213Cww9vJxKJ8Oqr83R1TXDPPTvo7e2isNDPCy8cIZVKks1CKPQIJtN2\n", "jMazOBwOSkuriMUUZmdbGR6OsH//GYzGRkymYgYGfo7D0cy997ZRVlaGpvUwO1uHoiik052EQkF6\n", "evYTiZyhtPRuQqEyUqks4fDcoven8zNyWEdFhR23O0Fb28dr9bmjjlEKC3cBsH9/L7Ozs/z61z6m\n", "pqoxGGo4ceINHn3UxGOPLW7dpL6+nM7OCSKRKsbHp4EE5eW1TE0lmJuz89pr+4nHXVit6+jpyTA6\n", "aqGmxo7D4SAarWJ4+MSin+ftbsXCXVEUI/BD4DPAOHBMUZSXdV33rVSbIicSmaK9/Qjp9J2kUo0k\n", "EvsoKOgndykhF2AGkoANiJNbUG0EZsgtsHrQtArC4S6yWSfz80lgNzZbPSMjL6LrabJZJ1CDrhuB\n", "YUZG9qLr32JqqpShoV+QzZ4mGMwutPXFhXZeBMbIlYPsQApoRNc7yWYrSSTW0N+fJJsNoygzRKNp\n", "IFcLjkbTTE0FcLnqmZ72EwwWoWnFC9u7k2SygLGxEWCAVCqO0diEpsXQ9XmgH2gDVgFZoIJksoZE\n", "YgyXa4K5uS7gK+TC3QkkiEReoKAAFGWSLVseIx5vQlHGsNsjVFQkOHmym3PnTpBKmTGZ7sVi8dDX\n", "N00mc4aXXjqKy/V7zM9HmJt7kYoKH4qyivl5FyUlB2lqaiSTqeTQoQEmJ/1o2hYKCiYZGRlE02ox\n", "mbwcOzaE3x8HbGQye8lms2iaDXAzP19JJjNNJNKFzTZNUVEFY2OpRe8fV5qRf9TlJhXPPffv2GwP\n", "U1NTwNzcOJmMCYsltuhSSVvbFvr7OwgGfVgsk5SX+5maqmRkZJhEIojPd4iHHvpDqqtraGxcy8DA\n", "aY4fV/F4SjAa+2loqFv087zdreTM/W7gjK7rQwCKovwceByQcL/IYmrpV6p9Xskbb3xATc3vYjS6\n", "iERGmJy0EQr1AiqwFygjF3KvABFywWslV3PPAB7gISBMNPoC8DnAjarWYDI9SDL5T0A3UExuIXYY\n", "XVcJhVSGhw9x+vQoHs9DQDO5sk8xuRn8B8Dhhe0rQBFQDxwFWoAaUikjo6MfsH69A4cjgsEwDYDD\n", "EaGsrAQwEgyeQVXXAvNAFbkjAB1VdWAyjQCVZLNbyZWZ0uSOWO4CTi7c30AioWIwrOPMmVGggtxb\n", "YYrcEY2GrhejafeRSoU5c2aEkpIoHk8zk5OdvPPOALr+JJmMAU17hYqKM5SV3YGqltPe/gwGw5ex\n", "2VqIxSaBJ4hEfk0i8QbZrEIqFaW9/Te4XA9TVbUVv9/K+HgnDQ1Giot3o+tH0PU+Tp/WmZjwk8mY\n", "MRqfRFE04CWyWQWDoRGDwU02+w7xeB2Tk2McParz8stv0txcg98fu+r+dLkZucfjWVRAB4N+Pvjg\n", "KEVFG3E61xCPa+h6/BMfd57X6+Xpp3fg8w0TCrl59tlOTpwIYLOtxWbTsVi8nDlzlsbGdVRX16Bp\n", "+0gmLSQSSWy2CZqb2xbd1u1uJcO9Ghi96Ocx4J4VbO9TZ7G1dK/Xy5NPbr1oELj6mQmJRIxYLILH\n", "08CqVWvJZAqIRJ5D06zkZu77F+5pITezzgA15GatVnIByMJ9y8kdeG0km7WTyejkZv2bAD9wBijA\n", "YDACdqanB4H7sNuryIXqKuBtcrtDmlygnyF31KADfeTKQbOAF03LoqpRKivL8XjKCYcHASguLueR\n", "R1bxwgtHsVgc5AapJNAK3AFkMRh+jar2AQ9iMGxG1+fQ9RHg5+Sqg0PAIFBKNusimw1iMKxbeL4n\n", "yQ0AKnAKm20tdnsWaCQWc+N0dlBWFmLfvgPA0xgMxWhaFthDJPIbwuEvcO5cN6nUNNHoKImERiaT\n", "JZkcR9MCKIodXY9htd5NJOJH1yM0NZmxWMxAhGg0hq4fR9OGKS2NY7VmiEQMlJTsJp3WSKWCZDL3\n", "kE53YTR60PXTWCzFmM2ryGT6KSj4Km+9NcjPf97Dvfc+QmGh64r702LLfB+dVAQCB8lmXSQSJjTN\n", "wuxsOw7HGerqFnf65Xler/fCWUI//vE+DIZtWCwV2GxjFBVtYWrqCIHAVkZGBmlq2kZz8yqcTicO\n", "x0b8/hitrUtq7ra1kuG+qIvGfPe7373w7127drFr164V6s6tZym19PNviE/i9/spLq5kfv4DYjED\n", "yeRpDIYuHA6dcNgCFJKbqSbIlWliC7cFyYVlKTBBbpZdQG4X6QI2kTsI+8+F+2wmdwrlAeADFEWj\n", "urqI8XGdiYk4qlpGruwysrA9ZaE9jdyMWyF39BAit6tMAGEghtkcpabGQ3W1k2CwbOFMkfGF/sTJ\n", "ZsPkQn2K3MBQCMxgNpdhs/UzPz+FyRRA1xOoaoTckUoduUGtDFi/8LxyYQrnZ/n+hddgHoOhDIul\n", "klRKRVWH2bixgCeeuJ+OjpNks7OYTPdiMmmkUj1omko6HcDvfwev18z4+BEU5Qk0DXT9CIoyjKYp\n", "WCz3YDY7SCZPousW3O4p0ukgyWQ92ex7aJqO1XoHIyOv4HYP0dS0ilAogMWyjkwG4AhQiKbNoChj\n", "ZLMamUwfTU0b8HqrSSQGsNkeIhYzYzKlOHBglN7eY/zX//pbtF5DIn50UlFS4iYY3IPZXMTMTJBk\n", "0klzcwP19Y1L2u7Fp7B6PHcxN1eJ09lMIuEgFnuHr399Ew0NU0Sjs1RV3UFjY27yEwiMkTvKvP20\n", "t7fT3t6+pMesZLiPkztmP6+W3Oz9EheHu7h+Pt8w69Y9wTe+0c+vfvUG2WwlXu8GTp4Mk6tzB8gF\n", "o0ou0FvIzeAnyc3go+TCv4Vc6SUD7AB+QS6cC8iVbM6/oVuBYSwWO4nEMazWIAbDJGNjDnJB+cHC\n", "4/qAtQvb2whsIBfy6YW/o4ARgyF74bk8/fSOhQ8OnWP16t309kaYmyujoWEtPt8gqZST3JFAJwaD\n", "gdJSlVWraunpGQe6iMcDqOo8cP9Cn98BniBX8zeTKwn9x0LfAAYxGo1oWpZkMozZ7EDXM+h6gPXr\n", "63G73dTW1jM6OkYm8y7ZbAaYwOMppalpAq+3jSNHjuBybSGdNpHJZDEY7sBkGiKTSZDNJgiHizAY\n", "KtD1HjKZ3ZSWuhkefpF1676Ix7OR0dGDRCJVQAlOZzMWyzNMT58GzFgsEUymJqzWAdLpJhTlBGbz\n", "CPPz64hEjlBVVc7kJMzMjLJ37zmy2XWEwxV8//t7+fa3uRDwSynzXTyp6OjopKqqgEgkRUnJRqLR\n", "CVyuA3i9Djo6Oi9s+5NO0z1/tDoxMcPMTAijcYBIJIjZnGLVqgSf/exOvF4vra31PP98F4GA6xP7\n", "me8+OvH93ve+94mPWclw7wSaFUVpIDcte4rcOXhiwVJr6Uuh6wYqKh5D07xMTBxZKJt8QC5YdXLj\n", "7H3kwh5ys/H95Moo5xfnKoAwRqMNTavBYNiCru9D087PwIfJlVPSWK0mMpkmNG2QRGKYgoLjQC+5\n", "WfLmhTbfITc4FJAbaEr5cFDZDUxRUJCmsLCYWOwsAMPD01gsGyktbSAen8Fub8HhcJPJQE/PEDCA\n", "0XgXBkOakpJ+/uzPfpd/+Id2JiYmmJgYJpk0AI+QKzuZyQ1kxUAJuZm6mdxA8xvgyYXZ9os4HPfh\n", "dk8BCibTNs6cOcU3v1lPZaUZuz1NKmUEVMzmJJs21fDlLz9BT88xFOUIZnM1DkcbqpokGg1RWtpE\n", "IjFEPF6JzZahtDTLo48+iqa9xerV9bS1/f/t3WtwVHWax/Hv07ekO+ncE0JC5E4IAhISGBAFURFx\n", "2BlHnZ2xyrV2y2WnanV3y5mdclfLeTEvdqt2tmq3ai1fzI5aM6Mzs7O4rq7jDRXQKELkjkRBkJAL\n", "ISGQW6ebpJNnX5wTJiixkgA5pn0+VRSdTp8+T5LTvz79P+c8/+U0NmaRnX2eoqJimpsXMHXqALHY\n", "ac6fHyAjI4wq9PZ2Eg77EQmQnt5ESUke5eX5tLW10dnZQjQ6k87OWjo6shkYqCQrK8z8+dfS0VHG\n", "li27L4T7WIf5hgxtr/PnT6O5uY5AoI677rqO7dsbxnSa7tCn1Xi8m23b9pKZWUlGhp++vl3cd9/t\n", "F5Ydb53GcdXCXVWTIvIQzsnUfuApO1PmYldj4x16AR4/3kB/fwXJZDMZGWUEg4MkEjU4f/KMoQrc\n", "/2fjBHU7zlh6l/u4MH5/O3l5+4nFukgmg0QiVfT2fkpf32s4H5G78PmaWbhwOYHAMeLxT4lGpxEK\n", "lRIO9xOPJ3CGgE7hfHjrxRn3DuEE/Kc4QRsDEvj9hai2kpkZ5Pnn99LcnEdrazbvv3+chQsLyMxU\n", "OjsPMGXKPJqbW+jryyMSOUVWlrJ8+U0MDKSxatUCjh5VSkvhrbe2o9qIMwx0HvgfnOGgLOAlnL16\n", "H5CD399LIBCkv78UkdNkZq7B78+iu/vNCwcpZ80qYOrUPILBxQSDPs6eFYLBs/T3nyc/v4eZM6PU\n", "179HItGLaoJQaDdz584gJ2cqjY09hELC0qUrWbx4HrNnt7B6dfWwvdkwn3zSSzKZoKJiJa+/vgOf\n", "bynZ2TcSiUQ4dux3dHV9RHr6agKBOMFgDlVVN7B792ECgQiRyFQWLozT1HSMRGIG8+dfS0ZGNh0d\n", "f9w+LueKz+Hb65IlYSoqvuOG9fRxXdDU2Rlj1qxVZGaeY+bMIiKRexgY6P/COi3Qx+eqnueuqq8C\n", "r17NdUx2V3rjHXoBnj37Ke3tOwgGq2lsjOP3HyEcnkE8vhVn3Pk8sA3nYGQLTvhOAd4DZuL3dzI4\n", "+BrXXnuWtWvnsnVrDn19OaSlzeHkyXZUa0hLm0swOBPVAO3tPsLhGwkEPiUe7yUcjhMK9ZBIFKL6\n", "HnAMkQeIRq+hu3unO37fDsTw+9MYGHiDtLSbCQaz8fn2oRolLW0BCxem8f77e0kkijl58gTLlgUp\n", "Lr6G2toDiPjo6ZlOVtY1FBXlk5/fSX19PXl5VSxa5ITE/v0f09b2DM6Q0Ddx9jX+CSggGNxARsY8\n", "urpeQLWIaPQOoJ9Q6Ax+/xbgAH5/hKKiMyxf/m3q6uopLi6hqmoWgYBz+XxPzxxKS3cwe3YLGzeu\n", "JRLp5sCBnfT3nyYUSiM9PZ2SEj/z5i2kq2sPqhEKCjIv+pQ2PDTz84N88kkX/f3dNDc3EApdT2Zm\n", "IefPBwkGl5GWdpwFCwrp6oLsbB/79x8kPb2U225bSXZ2NmfOzGTOnB28+uoROjrK6OiAROIt1q27\n", "/Yo0Avv89jr0RjFawz+tdna2Egj4WL36Zrf2RndbNFeCXaGaggoLC9m06bsEg1tpaGilpeVjSkuD\n", "dHfPoK3tPPH4Xpyx6lKcoZoWnD3ZKM4wy2dEow1EowVs3FjNN75RyeBgB+fO9QKNqHYRj99Kaakz\n", "ytbUtINk8mUgQWZmNj6fkpFRjWqQnp5tZGXdgmoWPT278PuvIze3kt7etxkc7MDvnwYcIxzeQG5u\n", "lNzc85SVrWdwcDcA2dmFXH99JYcO1VJScpZ7711PYWEh1dV1PPbYZmKxAWKxNI4erWX27AC5uRG2\n", "bPmY3NxVAIRC2ThDUMU45/H7gdlEo0tIS4uRl1dLJJJDV9dpAoGPGRgYID29gfXryxgY6CEzM8iS\n", "JfcQDkeBFtatq+KDD14jELgFgPT0/RcdsBwYSGPFij8nEHACMJlso7S0hrNnj1JePg9I0N7+IXfd\n", "dXE/leGhObR3vWJFLh0dTWRmzqOlpQm/v45Fi1axevVdtLQcJhZ7i4KCLubMcYJ9yPTpM3n88YVs\n", "2eL8Dtetu52KiooLPX/G2yL4UsY6tDjSG9mZM91f6zH1q8HCPUU55xOvpa6unupqYceOek6fLuTM\n", "mdmcOhWiqamVeLwdJ9Q34AydnADySUsLMW3adwiFGujrS7JnTzMdHVMIBstJJuuoqAhw9Kgfv98Z\n", "m/f7m6iqWkhxcQvxeIRQaAo+33Ha29sJBFYicpJAIExb2yl8vr309voJhVbg95eQTO4gO7uCeDyb\n", "cDiHysr5JBKHqa4up7f3j22EZ8wIcPfd64cFYIybbrqb06e7aWtrJj09i6VLc3Am9hrAOdUSgsFC\n", "gsF8kskEzuZeQmbmYebPb2Hx4o309vYTi7XQ359LU9MH9PfHWbw4jUcffeCiseSh4CksLOTxx/lC\n", "cKdXCd8AAAliSURBVA5xrsDsIjd3HgDnzh0jIyPK3Ll3DAvVRtraWkY8pW8o6CsqphMMvsKRI/vJ\n", "z0/Q3X2W3NxraGo6QDJZR2XlFDZuvJXt2xu+cNDRWf7qnzM4nqHFS72RjXZZM3oW7ils6EW0enU1\n", "Gza0XWhZm0yu4fDhM2zb9nsGBhbiXFTkB4rw+9/mmmtKWbkygyVLNnLy5EESiSi33baYhoZWOjtL\n", "WLDAz/HjMY4cqQWgsjJAUVExBQXFRCJBenreZsWK9Rw82M2bb9ZTVnYnoVAYn+/X5OZ+RldXFb29\n", "2SQSOYRCVRQVNdLefpLc3Bh5eWHy82Ns2LAG4Etf+NFo1kWnyeXkOB/pq6sjxGLnAJgzJ4eengIG\n", "BioZHAwwOLiTZctm8sQTP6KtLca5c+c4cgRCoXJOnWqir+8EmzatpaKigoKCgkuuv6KiYsTgHH4F\n", "JsC0aTHKy+fQ3j6+v9+DD94xrG/+Mo4caaS+/sBFPeFHqvPzrtYB/MsZWrQx9avH5lD9mhlqBfzs\n", "s++ye3c/bW3VxOOKM95+hJyczTz88GMsWnQDAO+99woQZdWqGwEnRGfPbqGiYvoX+p0Pn7yjrS1G\n", "TU0tO3fmEgwuAsDnO8p1150iGl1Dbe0JDh3qJRotobCwA7+/iSVLktxww7JRHegbad5W4KL7d+3a\n", "zGefCV1dEWKxXjIzk/zgB9O5//57LnquK9lW9lK94K/kZORXsjYL1snJJsg2I3rxxS38/Ocfc+BA\n", "H2lp1XR3nwReZdOmBUybtvxCEJ058z7gv9DbfCzB9M47H7JvX4RYLAhARkY/M2Y00dys9PVNo6am\n", "js7OE5SXl1BW5v/Svt6XMlJQDb+/sDCDl18+fKFtbH5+qydtYy1UzZVk4W5GNNQru6amk5aWHgYH\n", "T7JmTSmPPHIfwIh75WOdWm6kvWunt8g5RLhkq9wryYLVpBoLd/OlJmJeTwtWY648C3djjElBowl3\n", "30QVY4wxZuJYuBtjTAqycDfGmBRk4W6MMSnIwt0YY1KQhbsxxqQgC3djjElBFu7GGJOCLNyNMSYF\n", "WbgbY0wKsnA3xpgUZOFujDEpyMLdGGNSkIW7McakIAt3Y4xJQRbul2Hbtm1el3BZrH5vTeb6J3Pt\n", "MPnrHw0L98sw2TcQq99bk7n+yVw7TP76R8PC3RhjUpCFuzHGpCDP51D1bOXGGDOJfaUnyDbGGHN1\n", "2LCMMcakIAt3Y4xJQZ6Fu4jcLiIfi8hREXnEqzrGQ0SeFpHTInLQ61rGQ0TKRGSriHwkIodE5G+9\n", "rmm0RCRdRHaKyD4ROSwi/+x1TeMhIn4R2Ssi/+d1LWMlIidE5IBb/y6v6xkrEckRkc0iUuduQyu8\n", "rmm0RKTc/b0P/esc6fXryZi7iPiBT4BbgSagFrhXVesmvJhxEJEbgR7gV6q6yOt6xkpEioFiVd0n\n", "IpnAbuDOSfT7j6hqr4gEgBrg71W1xuu6xkJEfghUAVFV/ZbX9YyFiHwGVKnqWa9rGQ8R+SWwXVWf\n", "drehDFXt9LqusRIRH05+LlfVhs9/36s99+XAp6p6QlX7gd8B3/aoljFT1XeBc17XMV6q2qKq+9zb\n", "PUAdUOJtVaOnqr3uzRDgByZVyIjINOAO4BfAl57x8BU2KesWkWzgRlV9GkBVk5Mx2F23AscuFezg\n", "XbiXAsMLanTvMxNMRGYAlcBObysZPRHxicg+4DSwVVUPe13TGP0b8GNg0OtCxkmBN0XkQxHZ5HUx\n", "YzQTaBORZ0Rkj4j8p4hEvC5qnL4P/Gakb3oV7nb+5VeAOySzGfg7dw9+UlDVQVVdAkwDVovITR6X\n", "NGoishFoVdW9TNK9X2CVqlYCG4AH3WHKySIALAWeVNWlQAz4B29LGjsRCQF/Avz3SI/xKtybgLJh\n", "X5fh7L2bCSIiQeB54FlV/V+v6xkP9+P0H4Bqr2sZg+uBb7nj1r8FbhaRX3lc05io6in3/zbgBZxh\n", "1smiEWhU1Vr36804YT/ZbAB2u3+DS/Iq3D8E5orIDPcd6HvASx7V8rUjIgI8BRxW1X/3up6xEJEC\n", "Eclxb4eBdcBeb6saPVV9VFXLVHUmzsfqt1X1fq/rGi0RiYhI1L2dAdwGTJqzxlS1BWgQkXnuXbcC\n", "H3lY0njdi7NzMKLABBVyEVVNishDwOs4B8SemixnagCIyG+BNUC+iDQAP1HVZzwuayxWAfcBB0Rk\n", "KBj/UVVf87Cm0ZoK/NI9U8AH/FpV3/K4pssx2YYopwAvOPsHBIDnVPUNb0sas78BnnN3LI8Bf+Fx\n", "PWPivqneCnzp8Q5rP2CMMSnIrlA1xpgUZOFujDEpyMLdGGNSkIW7McakIAt3Y4xJQRbuxhiTgizc\n", "TUoQkctqnyAi/yUis9zb33VbwV72+fMiMkVEXrnc5zFmrCzcTaoY9wUbIjIHp+3rcfeuB4C/VNVb\n", "Rrn8iBcDqupp4JyITMZL3M0kZuFuUoo4fiYiB90JJf7Uvd8nIk+6EzS8ISJ/EJG73cW+j9v+QkR+\n", "gnMF79Mi8i8iMl1E3hGR3e6/le7jbhKRd0XkReCQ+/w/E5FdIrJfRP5qWFkv4VwubsyE8aT9gDFX\n", "0V3AdcBioBCoFZF3gBuA6apaISJTcHrYP+Uuswp4DEBVfyoia4Efqeqeof41qnpeRObitFhd5i5X\n", "CVyrqvVumHeo6nIRSQNqROQNVT0B7AJ+OAE/uzEXWLibVHMD8Bt1+mq0ish2nDBeBfwenKESEdk6\n", "bJnpwKnPPc9QO94Q8ISIXAcMAHOHPWaXqta7t28DFonIPe7XWcAc4IT73DMu/0czZvQs3E2qUUbu\n", "ky4j3L7U10Nj+A8Dp1T1z9zpIRPDHhP73DIPqeqWEdZrTZzMhLIxd5Nq3gW+546BFwKrcWaZeg+4\n", "2x2Tn4LT1XNIPU63yUvJAlrc2/fjdDG9lNeBvx46uCoi84bN8DPVXYcxE8b23E2qUABVfcE96Lnf\n", "ve/HqtoqIs8DtwCHcaZ43AMMzZ1ZgzPhx+5LPO+TwPMicj/wGs7E6Bet0/ULnKGXPW6//FbgTvd7\n", "y4F3LvcHNGYsrOWv+doQkQxVjYlIPs7e/PVu8M8C/kNVv3mV1vsc8K/u1HrGTAjbczdfJy+7sziF\n", "gJ+qaiuAqh4XkW4Rma2qx67kCkWkCMixYDcTzfbcjTEmBdkBVWOMSUEW7sYYk4Is3I0xJgVZuBtj\n", "TAqycDfGmBRk4W6MMSno/wEqCIW8zQZzKAAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "jitter = np.random.normal(scale=0.02, size=len(titanic))\n", "plt.scatter(np.log(titanic.fare), titanic.survived + jitter, alpha=0.3)\n", "plt.yticks([0,1])\n", "plt.ylabel(\"survived\")\n", "plt.xlabel(\"log(fare)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I have added random jitter on the y-axis to help visualize the density of the points, and have plotted fare on the log scale.\n", "\n", "Clearly, fitting a line through this data makes little sense, for several reasons. First, for most values of the predictor variable, the line would predict values that are not zero or one. Second, it would seem odd to choose least squares (or similar) as a criterion for selecting the best line." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 277.621917\n", " Iterations: 55\n", " Function evaluations: 103\n" ] } ], "source": [ "x = np.log(titanic.fare[titanic.fare>0])\n", "y = titanic.survived[titanic.fare>0]\n", "betas_titanic = fmin(ss, [1,1], args=(x,y))" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "SUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "jitter = np.random.normal(scale=0.02, size=len(titanic))\n", "plt.scatter(np.log(titanic.fare), titanic.survived + jitter, alpha=0.3)\n", "plt.yticks([0,1])\n", "plt.ylabel(\"survived\")\n", "plt.xlabel(\"log(fare)\")\n", "plt.plot([0,7], [betas_titanic[0], betas_titanic[0] + betas_titanic[1]*7.])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we look at this data, we can see that for most values of `fare`, there are some individuals that survived and some that did not. However, notice that the cloud of points is denser on the \"survived\" (y=1) side for larger values of fare than on the \"died\" (y=0) side." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stochastic model\n", "\n", "Rather than model the binary outcome explicitly, it makes sense instead to model the *probability* of death or survival in a **stochastic** model. Probabilities are measured on a continuous [0,1] scale, which may be more amenable for prediction using a regression line. We need to consider a different probability model for this exerciese however; let's consider the **Bernoulli** distribution as a generative model for our data:\n", "\n", "
\n", "$$f(y|p) = p^{y} (1-p)^{1-y}$$ \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where $y = \\{0,1\\}$ and $p \\in [0,1]$. So, this model predicts whether $y$ is zero or one as a function of the probability $p$. Notice that when $y=1$, the $1-p$ term disappears, and when $y=0$, the $p$ term disappears.\n", "\n", "So, the model we want to fit should look something like this:\n", "\n", "
\n", "$$p_i = \\beta_0 + \\beta_1 x_i + \\epsilon_i$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, since $p$ is constrained to be between zero and one, it is easy to see where a linear (or polynomial) model might predict values outside of this range. We can modify this model sligtly by using a **link function** to transform the probability to have an unbounded range on a new scale. Specifically, we can use a **logit transformation** as our link function:\n", "\n", "
\n", "$$\\text{logit}(p) = \\log\\left[\\frac{p}{1-p}\\right] = x$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a plot of $p/(1-p)$" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "logit = lambda p: np.log(p/(1.-p))\n", "unit_interval = np.linspace(0,1)\n", "plt.plot(unit_interval/(1-unit_interval), unit_interval)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the logit function:" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(logit(unit_interval), unit_interval)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The inverse of the logit transformation is:\n", "\n", "
\n", "$$p = \\frac{1}{1 + \\exp(-x)}$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, now our model is:\n", "\n", "
\n", "$$\\text{logit}(p_i) = \\beta_0 + \\beta_1 x_i + \\epsilon_i$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can fit this model using maximum likelihood. Our likelihood, again based on the Bernoulli model is:\n", "\n", "
\n", "$$L(y|p) = \\prod_{i=1}^n p_i^{y_i} (1-p_i)^{1-y_i}$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "which, on the log scale is:\n", "\n", "
\n", "$$l(y|p) = \\sum_{i=1}^n y_i \\log(p_i) + (1-y_i)\\log(1-p_i)$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can easily implement this in Python, keeping in mind that `fmin` minimizes, rather than maximizes functions:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [], "source": [ "invlogit = lambda x: 1. / (1 + np.exp(-x))\n", "\n", "def logistic_like(theta, x, y):\n", " p = invlogit(theta[0] + theta[1] * x)\n", " # Return negative of log-likelihood\n", " return -np.sum(y * np.log(p) + (1-y) * np.log(1 - p))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remove null values from variables" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [], "source": [ "x, y = titanic[titanic.fare.notnull()][['fare', 'survived']].values.T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "... and fit the model." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 827.015955\n", " Iterations: 47\n", " Function evaluations: 93\n" ] }, { "data": { "text/plain": [ "(-0.88238984528338194, 0.012452067664164127)" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b0,b1 = fmin(logistic_like, [0.5,0], args=(x,y))\n", "b0, b1" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "RU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "jitter = np.random.normal(scale=0.01, size=len(x))\n", "plt.plot(x, y+jitter, 'r.', alpha=0.3)\n", "plt.yticks([0,.25,.5,.75,1])\n", "xvals = np.linspace(0, 600)\n", "plt.plot(xvals, invlogit(b0+b1*xvals))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As with our least squares model, we can easily fit logistic regression models in `statsmodels`, in this case using the `GLM` (generalized linear model) class with a binomial error distribution specified." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Generalized Linear Model Regression Results
Dep. Variable: y No. Observations: 1308
Model: GLM Df Residuals: 1306
Model Family: Binomial Df Model: 1
Link Function: logit Scale: 1.0
Method: IRLS Log-Likelihood: -827.02
Date: Wed, 18 Jun 2014 Deviance: 1654.0
Time: 20:56:06 Pearson chi2: 1.33e+03
No. Iterations: 6
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err t P>|t| [95.0% Conf. Int.]
const -0.8824 0.076 -11.684 0.000 -1.030 -0.734
x1 0.0125 0.002 7.762 0.000 0.009 0.016
" ], "text/plain": [ "\n", "\"\"\"\n", " Generalized Linear Model Regression Results \n", "==============================================================================\n", "Dep. Variable: y No. Observations: 1308\n", "Model: GLM Df Residuals: 1306\n", "Model Family: Binomial Df Model: 1\n", "Link Function: logit Scale: 1.0\n", "Method: IRLS Log-Likelihood: -827.02\n", "Date: Wed, 18 Jun 2014 Deviance: 1654.0\n", "Time: 20:56:06 Pearson chi2: 1.33e+03\n", "No. Iterations: 6 \n", "==============================================================================\n", " coef std err t P>|t| [95.0% Conf. Int.]\n", "------------------------------------------------------------------------------\n", "const -0.8824 0.076 -11.684 0.000 -1.030 -0.734\n", "x1 0.0125 0.002 7.762 0.000 0.009 0.016\n", "==============================================================================\n", "\"\"\"" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "logistic = sm.GLM(y, sm.add_constant(x), family=sm.families.Binomial()).fit()\n", "logistic.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise: multivariate logistic regression\n", "\n", "Which other variables might be relevant for predicting the probability of surviving the Titanic? Generalize the model likelihood to include 2 or 3 other covariates from the dataset." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Write your answer here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bootstrapping\n", "\n", "Parametric inference can be **non-robust**:\n", "\n", "* inaccurate if parametric assumptions are violated\n", "* if we rely on asymptotic results, we may not achieve an acceptable level of accuracy\n", "\n", "Parmetric inference can be **difficult**:\n", "\n", "* derivation of sampling distribution may not be possible\n", "\n", "An alternative is to estimate the sampling distribution of a statistic *empirically* without making assumptions about the form of the population.\n", "\n", "We have seen this already with the kernel density estimate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Non-parametric Bootstrap\n", "\n", "The bootstrap is a resampling method discovered by [Brad Efron](http://www.jstor.org/discover/10.2307/2958830?uid=3739568&uid=2&uid=4&uid=3739256&sid=21102342537691) that allows one to approximate the true sampling distribution of a dataset, and thereby obtain estimates of the mean and variance of the distribution.\n", "\n", "Bootstrap sample:\n", "\n", "
\n", "$$S_1^* = \\{x_{11}^*, x_{12}^*, \\ldots, x_{1n}^*\\}$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$S_i^*$ is a sample of size $n$, **with** replacement.\n", "\n", "In Python, we have already seen the NumPy function `permutation` that can be used in conjunction with Pandas' `take` method to generate a random sample of some data without replacement:" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([u'Meek, Mrs. Thomas (Annie Louise Rowley)',\n", " u'Thorneycroft, Mr. Percival', u'Williams, Mr. Leslie',\n", " u'Graham, Mr. George Edward', u'Petroff, Mr. Nedelio'], dtype=object)" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.permutation(titanic.name)[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly, we can use the `random.randint` method to generate a sample *with* replacement, which we can use when bootstrapping." ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "41 Brown, Mrs. James Joseph (Margaret Tobin)\n", "1061 Nilsson, Miss. Helmina Josefina\n", "937 Klasen, Miss. Gertrud Emilia\n", "426 Hale, Mr. Reginald\n", "831 Goodwin, Mr. Charles Frederick\n", "Name: name, dtype: object" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "random_ind = np.random.randint(0, len(titanic), 5)\n", "titanic.name[random_ind]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We regard S as an \"estimate\" of population P\n", "\n", "> population : sample :: sample : bootstrap sample\n", "\n", "The idea is to generate replicate bootstrap samples:\n", "\n", "
\n", "$$S^* = \\{S_1^*, S_2^*, \\ldots, S_R^*\\}$$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute statistic $t$ (estimate) for each bootstrap sample:\n", "\n", "
\n", "$$T_i^* = t(S^*)$$\n", "
" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "JDXs/wCVqXPsFDsT4gAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 10\n", "R = 1000\n", "# Original sample (n=10)\n", "x = np.random.normal(size=n)\n", "# 1000 bootstrap samples of size 10\n", "s = [x[np.random.randint(0,n,n)].mean() for i in range(R)]\n", "_ = plt.hist(s, bins=30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bootstrap Estimates\n", "\n", "From our bootstrapped samples, we can extract *estimates* of the expectation and its variance:\n", "\n", "$$\\bar{T}^* = \\hat{E}(T^*) = \\frac{\\sum_i T_i^*}{R}$$\n", "\n", "$$\\hat{\\text{Var}}(T^*) = \\frac{\\sum_i (T_i^* - \\bar{T}^*)^2}{R-1}$$\n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.087385394806476724" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boot_mean = np.sum(s)/R\n", "boot_mean" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.10590407752057245" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boot_var = ((np.array(s) - boot_mean) ** 2).sum() / (R-1)\n", "boot_var" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we have estimated the expectation of the bootstrapped statistics, we can estimate the **bias** of T:\n", "\n", "$$\\hat{B}^* = \\bar{T}^* - T$$\n" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-0.00528084680355842" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boot_mean - np.mean(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bootstrap error\n", "\n", "There are two sources of error in bootstrap estimates:\n", "\n", "1. **Sampling error** from the selection of $S$.\n", "2. **Bootstrap error** from failing to enumerate all possible bootstrap samples.\n", "\n", "For the sake of accuracy, it is prudent to choose at least R=1000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bootstrap Percentile Intervals\n", "\n", "An attractive feature of bootstrap statistics is the ease with which you can obtain an estimate of *uncertainty* for a given statistic. We simply use the empirical quantiles of the bootstrapped statistics to obtain percentiles corresponding to a confidence interval of interest.\n", "\n", "This employs the *ordered* bootstrap replicates:\n", "\n", "$$T_{(1)}^*, T_{(2)}^*, \\ldots, T_{(R)}^*$$\n", "\n", "Simply extract the $100(\\alpha/2)$ and $100(1-\\alpha/2)$ percentiles:\n", "\n", "$$T_{[(R+1)\\alpha/2]}^* \\lt \\theta \\lt T_{[(R+1)(1-\\alpha/2)]}^*$$" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([-0.82890714, -0.77634577, -0.76588512, -0.76230089, -0.75578488,\n", " -0.73850118, -0.72869116, -0.72862786, -0.72840095, -0.71831374])" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_sorted = np.sort(s)\n", "s_sorted[:10]" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.81823418, 0.86179331, 0.92314175, 0.93496722, 0.9358216 ,\n", " 1.02058937, 1.03085586, 1.03121927, 1.22699691, 1.3599996 ])" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_sorted[-10:]" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([-0.5684053 , 0.68682205])" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha = 0.05\n", "s_sorted[[(R+1)*alpha/2, (R+1)*(1-alpha/2)]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise: Cervical dystonia bootstrap estimates\n", "\n", "Use bootstrapping to estimate the mean of one of the treatment groups, and calculate percentile intervals for the mean." ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Write your answer here" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.2" } }, "nbformat": 4, "nbformat_minor": 0 }