{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interactions and ANOVA" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: This script is based heavily on Jonathan Taylor's class notes http://www.stanford.edu/class/stats191/interactions.html\n", "\n", "Download and format data:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from urllib.request import urlopen\n", "import numpy as np\n", "np.set_printoptions(precision=4, suppress=True)\n", "\n", "import pandas as pd\n", "pd.set_option(\"display.width\", 100)\n", "import matplotlib.pyplot as plt\n", "from statsmodels.formula.api import ols\n", "from statsmodels.graphics.api import interaction_plot, abline_plot\n", "from statsmodels.stats.anova import anova_lm\n", "\n", "try:\n", " salary_table = pd.read_csv('salary.table')\n", "except: # recent pandas can read URL without urlopen\n", " url = 'http://stats191.stanford.edu/data/salary.table'\n", " fh = urlopen(url)\n", " salary_table = pd.read_table(fh)\n", " salary_table.to_csv('salary.table')\n", "\n", "E = salary_table.E\n", "M = salary_table.M\n", "X = salary_table.X\n", "S = salary_table.S" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take a look at the data:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6,6))\n", "symbols = ['D', '^']\n", "colors = ['r', 'g', 'blue']\n", "factor_groups = salary_table.groupby(['E','M'])\n", "for values, group in factor_groups:\n", " i,j = values\n", " plt.scatter(group['X'], group['S'], marker=symbols[j], color=colors[i-1],\n", " s=144)\n", "plt.xlabel('Experience');\n", "plt.ylabel('Salary');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit a linear model:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: S R-squared: 0.957\n", "Model: OLS Adj. R-squared: 0.953\n", "Method: Least Squares F-statistic: 226.8\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 2.23e-27\n", "Time: 23:41:17 Log-Likelihood: -381.63\n", "No. Observations: 46 AIC: 773.3\n", "Df Residuals: 41 BIC: 782.4\n", "Df Model: 4 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 8035.5976 386.689 20.781 0.000 7254.663 8816.532\n", "C(E)[T.2] 3144.0352 361.968 8.686 0.000 2413.025 3875.045\n", "C(E)[T.3] 2996.2103 411.753 7.277 0.000 2164.659 3827.762\n", "C(M)[T.1] 6883.5310 313.919 21.928 0.000 6249.559 7517.503\n", "X 546.1840 30.519 17.896 0.000 484.549 607.819\n", "==============================================================================\n", "Omnibus: 2.293 Durbin-Watson: 2.237\n", "Prob(Omnibus): 0.318 Jarque-Bera (JB): 1.362\n", "Skew: -0.077 Prob(JB): 0.506\n", "Kurtosis: 2.171 Cond. No. 33.5\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "formula = 'S ~ C(E) + C(M) + X'\n", "lm = ols(formula, salary_table).fit()\n", "print(lm.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Have a look at the created design matrix: " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0., 0., 1., 1.],\n", " [1., 0., 1., 0., 1.],\n", " [1., 0., 1., 1., 1.],\n", " [1., 1., 0., 0., 1.],\n", " [1., 0., 1., 0., 1.]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lm.model.exog[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or since we initially passed in a DataFrame, we have a DataFrame available in" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "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", " \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", "
InterceptC(E)[T.2]C(E)[T.3]C(M)[T.1]X
01.00.00.01.01.0
11.00.01.00.01.0
21.00.01.01.01.0
31.01.00.00.01.0
41.00.01.00.01.0
\n", "
" ], "text/plain": [ " Intercept C(E)[T.2] C(E)[T.3] C(M)[T.1] X\n", "0 1.0 0.0 0.0 1.0 1.0\n", "1 1.0 0.0 1.0 0.0 1.0\n", "2 1.0 0.0 1.0 1.0 1.0\n", "3 1.0 1.0 0.0 0.0 1.0\n", "4 1.0 0.0 1.0 0.0 1.0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lm.model.data.orig_exog[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We keep a reference to the original untouched data in" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "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", " \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", "
Unnamed: 0SXEM
0013876111
1111608130
2218701131
3311283120
4411767130
\n", "
" ], "text/plain": [ " Unnamed: 0 S X E M\n", "0 0 13876 1 1 1\n", "1 1 11608 1 3 0\n", "2 2 18701 1 3 1\n", "3 3 11283 1 2 0\n", "4 4 11767 1 3 0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lm.model.data.frame[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Influence statistics" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "==================================================================================================\n", " obs endog fitted Cook's student. hat diag dffits ext.stud. dffits\n", " value d residual internal residual \n", "--------------------------------------------------------------------------------------------------\n", " 0 13876.000 15465.313 0.104 -1.683 0.155 -0.722 -1.723 -0.739\n", " 1 11608.000 11577.992 0.000 0.031 0.130 0.012 0.031 0.012\n", " 2 18701.000 18461.523 0.001 0.247 0.109 0.086 0.244 0.085\n", " 3 11283.000 11725.817 0.005 -0.458 0.113 -0.163 -0.453 -0.162\n", " 4 11767.000 11577.992 0.001 0.197 0.130 0.076 0.195 0.075\n", " 5 20872.000 19155.532 0.092 1.787 0.126 0.678 1.838 0.698\n", " 6 11772.000 12272.001 0.006 -0.513 0.101 -0.172 -0.509 -0.170\n", " 7 10535.000 9127.966 0.056 1.457 0.116 0.529 1.478 0.537\n", " 8 12195.000 12124.176 0.000 0.074 0.123 0.028 0.073 0.027\n", " 9 12313.000 12818.185 0.005 -0.516 0.091 -0.163 -0.511 -0.161\n", " 10 14975.000 16557.681 0.084 -1.655 0.134 -0.650 -1.692 -0.664\n", " 11 21371.000 19701.716 0.078 1.728 0.116 0.624 1.772 0.640\n", " 12 19800.000 19553.891 0.001 0.252 0.096 0.082 0.249 0.081\n", " 13 11417.000 10220.334 0.033 1.227 0.098 0.405 1.234 0.408\n", " 14 20263.000 20100.075 0.001 0.166 0.093 0.053 0.165 0.053\n", " 15 13231.000 13216.544 0.000 0.015 0.114 0.005 0.015 0.005\n", " 16 12884.000 13364.369 0.004 -0.488 0.082 -0.146 -0.483 -0.145\n", " 17 13245.000 13910.553 0.007 -0.674 0.075 -0.192 -0.669 -0.191\n", " 18 13677.000 13762.728 0.000 -0.089 0.113 -0.032 -0.087 -0.031\n", " 19 15965.000 17650.049 0.082 -1.747 0.119 -0.642 -1.794 -0.659\n", " 20 12336.000 11312.702 0.021 1.043 0.087 0.323 1.044 0.323\n", " 21 21352.000 21192.443 0.001 0.163 0.091 0.052 0.161 0.051\n", " 22 13839.000 14456.737 0.006 -0.624 0.070 -0.171 -0.619 -0.170\n", " 23 22884.000 21340.268 0.052 1.579 0.095 0.511 1.610 0.521\n", " 24 16978.000 18742.417 0.083 -1.822 0.111 -0.644 -1.877 -0.664\n", " 25 14803.000 15549.105 0.008 -0.751 0.065 -0.199 -0.747 -0.198\n", " 26 17404.000 19288.601 0.093 -1.944 0.110 -0.684 -2.016 -0.709\n", " 27 22184.000 22284.811 0.000 -0.103 0.096 -0.034 -0.102 -0.033\n", " 28 13548.000 12405.070 0.025 1.162 0.083 0.350 1.167 0.352\n", " 29 14467.000 13497.438 0.018 0.987 0.086 0.304 0.987 0.304\n", " 30 15942.000 16641.473 0.007 -0.705 0.068 -0.190 -0.701 -0.189\n", " 31 23174.000 23377.179 0.001 -0.209 0.108 -0.073 -0.207 -0.072\n", " 32 23780.000 23525.004 0.001 0.260 0.092 0.083 0.257 0.082\n", " 33 25410.000 24071.188 0.040 1.370 0.096 0.446 1.386 0.451\n", " 34 14861.000 14043.622 0.014 0.834 0.091 0.263 0.831 0.262\n", " 35 16882.000 17733.841 0.012 -0.863 0.077 -0.249 -0.860 -0.249\n", " 36 24170.000 24469.547 0.003 -0.312 0.127 -0.119 -0.309 -0.118\n", " 37 15990.000 15135.990 0.018 0.878 0.104 0.300 0.876 0.299\n", " 38 26330.000 25163.556 0.035 1.202 0.109 0.420 1.209 0.422\n", " 39 17949.000 18826.209 0.017 -0.897 0.093 -0.288 -0.895 -0.287\n", " 40 25685.000 26108.099 0.008 -0.452 0.169 -0.204 -0.447 -0.202\n", " 41 27837.000 26802.108 0.039 1.087 0.141 0.440 1.089 0.441\n", " 42 18838.000 19918.577 0.033 -1.119 0.117 -0.407 -1.123 -0.408\n", " 43 17483.000 16774.542 0.018 0.743 0.138 0.297 0.739 0.295\n", " 44 19207.000 20464.761 0.052 -1.313 0.131 -0.511 -1.325 -0.515\n", " 45 19346.000 18959.278 0.009 0.423 0.208 0.216 0.419 0.214\n", "==================================================================================================\n" ] } ], "source": [ "infl = lm.get_influence()\n", "print(infl.summary_table())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or get a dataframe" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "df_infl = infl.summary_frame()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "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", " \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", " \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", " \n", " \n", " \n", " \n", "
dfb_Interceptdfb_C(E)[T.2]dfb_C(E)[T.3]dfb_C(M)[T.1]dfb_Xcooks_dstandard_residhat_diagdffits_internalstudent_residdffits
0-0.5051230.3761340.483977-0.3696770.3991110.104186-1.6830990.155327-0.721753-1.723037-0.738880
10.0046630.0001450.006733-0.006220-0.0044490.0000290.0313180.1302660.0121200.0309340.011972
20.0136270.0003670.0368760.030514-0.0349700.0014920.2469310.1090210.0863770.2440820.085380
3-0.083152-0.0744110.0097040.0537830.1051220.005338-0.4576300.113030-0.163364-0.453173-0.161773
40.0293820.0009170.042425-0.039198-0.0280360.0011660.1972570.1302660.0763400.1949290.075439
\n", "
" ], "text/plain": [ " dfb_Intercept dfb_C(E)[T.2] dfb_C(E)[T.3] dfb_C(M)[T.1] dfb_X cooks_d standard_resid \\\n", "0 -0.505123 0.376134 0.483977 -0.369677 0.399111 0.104186 -1.683099 \n", "1 0.004663 0.000145 0.006733 -0.006220 -0.004449 0.000029 0.031318 \n", "2 0.013627 0.000367 0.036876 0.030514 -0.034970 0.001492 0.246931 \n", "3 -0.083152 -0.074411 0.009704 0.053783 0.105122 0.005338 -0.457630 \n", "4 0.029382 0.000917 0.042425 -0.039198 -0.028036 0.001166 0.197257 \n", "\n", " hat_diag dffits_internal student_resid dffits \n", "0 0.155327 -0.721753 -1.723037 -0.738880 \n", "1 0.130266 0.012120 0.030934 0.011972 \n", "2 0.109021 0.086377 0.244082 0.085380 \n", "3 0.113030 -0.163364 -0.453173 -0.161773 \n", "4 0.130266 0.076340 0.194929 0.075439 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_infl[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now plot the residuals within the groups separately:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAFzCAYAAAD7WOTjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5RcZZnv8e/T6U7oCtFAiJJJQCBGXAQ1SA/iyUSEoMJICERioBcSLwyKMDPK8mBwjgfPyhnPDDPeReagEtoDxSUQJFFHhJAhCTOKHY1IQCSGAE0KiSDXbtKd7uf8sfdOdldXVVd1VXVd9u+z1l5V9daurrdmDf7y7P1ezN0REREpR0utOyAiIo1PYSIiImVTmIiISNkUJiIiUjaFiYiIlE1hIiIiZWutdQdq5ZBDDvEjjjii1t0QEWkoW7Zs+ZO7T89uT2yYHHHEEXR3d9e6GyIiDcXMnsjVrstcIiJSNoWJiIiUTWEiIiJlU5iIiEjZFCYiIlI2hYmIiJRNYSIiImVTmIiISNkUJiIiUjaFiYiIlE1hIiIiZVOYiIhI2RQmIgmWyWSY/ZbZPPPMM7XuijQ4hYlIgq388kp2Pr2TlV9eWeuuSINTmIgkVCaTYVXXKoY+MsSqrlWqTqQsChORhFr55ZUMvX0IZsDg2wZVnUhZFCYiCRRVJf3H9sO3oP9t/apOpCwKE5EE2leV/AZ4Fdiq6kTKozARSZhhVclWYDnwG1UnUh6FiUjCDKtK5gEzgHeg6kTKojARSZARVcn88I35qDqRsihMRBJkRFUyJXxjCqpOpCwKE5GEyFuVRFSdSBkUJiIJkbcqiag6kTIoTEQSYu3atfTf3w/djKxKIvOBbui/v58777xzHHsnjU5hIpIQPU/0cPGlFzPxXRNHViWRKTDxXRP59N9+mp4nesa1f9LYFCYiCbHvnsmJ/fsbXwa+FT6G+k/UPRMpncJEJCH23TOJVyX3E8yAvz/WNkX3TKR05u617kNNdHR0eHd3d627ITJuZr1pFk8/+fTwxlbgE8D3gb3D35p5+Exd6pIRzGyLu3dkt6syEUmInid6cPd9x777JzP23yeJv68gkVIoTEQSKPv+ie6TSLkUJiIJNOL+ie6TSJlqGiZmdp2ZPWtmD8XavmRmT5vZ1vD469h7V5jZdjN71Mw+EGs/LWzbbmYrxvt3iDSSnKO6UHUi5al1ZXI9cFqO9q+5+7zw+AmAmR0DnAvMDT/zHTObYGYTgKuB04FjgPPCc0Ukh5yjukDViZSlpmHi7huB54s8fTFws7vvcffHge3ACeGx3d13uHs/cHN4blUNDAzQ1dXFwMBAtb9KpGLyVSURVScyVrWuTPK51MweDC+DHRS2zQSeip3TE7blax/BzC4ys24z6969e/eYOzcwMMCyRYu47MILWbZokQJFGkbeqiSi6kTGqB7D5BpgNsFSdBngK2G75TjXC7SPbHS/1t073L1j+vTpY+pcFCQDmzaxc+9eBjZtUqBIQxitKomoOpGxqLswcfc/uvuguw8B3yW4jAVBxXFY7NRZwK4C7RUXD5LbenuZAtzW26tAkYYwalUSUXUiY1DzGfBmdgTwI3c/Nnw9w90z4fPPAu9y93PNbC6QJgiXvwDWA3MIKpPfAwuBp4FfAp3uvq3Q95Y6Az47SCbF3tsDnJNK0bZgAbesW0dbW1vRf1dkvOScAV+AZsBLLvlmwLfWojMRM7sJeC9wiJn1AFcC7zWzeQSXqnYCnwRw921mdivwMMHCD5e4+2D4dy4F7gImANeNFiSlKhQkAJMIKpRzwgpFgSL1SMEg1VTzyqRWiq1MRguSOFUoItLstDbXGJQSJLC/QtE9FBFJGoVJHqUGSUSBIo0kk8kw+y2zNXJLyqYwySOdTnPf+vWkSwiSyCQg3dsbfD6drkb3RCpi5ZdXsvPpnRq5JWXTPZM8xlqZgO6dSGPIZDIcdfRRvNb5Gu03tbPj0R0ceuihte6W1DndMylRW1tbEAQLFnBOKsWeIj+nIJFGsW/eyQzNK5HyKUwKKDVQFCTSKLSfiVSawmQUxQaKgkQaifYzkUpTmBRhtEBRkEgj0X4mUg0KkyLlCxQFiTQa7Wci1aAwKUF2oLyMgkQai/YzkWpRmJQoCpQJ8+czo6WFCfPnK0ikYWg/E6kWhclYmdFmBpZrOxWR+qP9TKSaFCYliiYzDm7ezJODgwxu3qxlU6QhaD8TqSbNgC9BrlnxugEvjUL7mUglaAZ8mbKDpAXoIvg/oBZ2lEbQ80QP7l70oSCRUihMipArSJYBl4WPChRpVFo1WCpFYTKKfEEyQLAN5AAKFGlcWjVYKkVhUkChILmN4D7mbShQpDFFo7uGPjKk0VtSNoVJHqMFSbQk/SQUKNKYtGqwVJLCJI/45lj5giSSK1C0OZbUM60aLJWmMMmjs7OTkxYu5Nz2dpaSP0gi8UBZCpzb3s5JCxfS2dk5Ph0WKYFWDZZK0zyTAnp7e5l7+OG8+bnn+BH5gyRuD3AGsH3aNLY9+SSpVKoCvRWpnH07LF702vAJjC9D+3e146IUpnkmJRoYGOD8JUs4tq+v6CAhPO9HwLF9fZy/ZInumUjd0arBUg0Kkzzi90xK2f8dgkDRPROpR1o1WKpFYZJHdM+ks4T93yN7gM5USvdMpO5o1WCpFoVJHqXu/x7RWl1Sr7RqsFSTwqSAUgNFQSL1LGdV8jLwrfAxoupExkCjuYqQa7XgbAoSqXc5Vw2eALQCe4HB4W9p1WDJRaO5ytDW1sYNa9bwUHs7ZxAExwDBqsED7B8O/FB7OzesWaMgkbqUvWrwrl27OCB1AHwU2ie3k8lktGqwjJnCpAjRMOFjenuZDCwhmJh4Wfi4BJgMHNPbq+HA0jC0nIpUksJkFPFLXGv6+kgDDwOvEqwa/Gr4Og2s6evTmlzSELScilRaTcPEzK4zs2fN7KFY28FmdreZPRY+HhS2m5l908y2m9mDZvbO2GeWh+c/ZmbLK9W/XIs9ng8cSzAxcUr4eGzYrkUepVFoORWptFpXJtcDp2W1rQDWu/scYH34GuB0YE54XARcA0H4AFcC7wJOAK6MAqgcWjVYmlW+IcKqTqQcNQ0Td98IPJ/VvJjg3jbh41mx9h944OfAVDObAXwAuNvdn3f3PwN3MzKgSqZVg6VZaTkVqYZaVya5vNHdMwDh4xvC9pnAU7HzesK2fO0jmNlFZtZtZt27d+8u2AmtGizNSMupSLXUY5jkYznavED7yEb3a929w907pk+fXvDLouHAD6dSvErhIIlEgfIq8HAqpWHCUne0nIpUSz2GyR/Dy1eEj8+G7T3AYbHzZgG7CrSXRasGS7PRcipSTfUYJmuBaETWcuDOWPsF4aiuE4EXw8tgdwHvN7ODwhvv7w/byjLaqsHxSYvZtGqw1KNRq5KIqhMZg5oup2JmNwHvBQ4B/kgwKuuHwK3A4cCTwFJ3f97MDPg2wc31XuBj7t4d/p2PA18I/+w/uvuq0b57tOVUCi2hEt1ovw84CbgFiF/M0tIqUo9yLqdSgJZTkVzyLaeitbkKyBUoUZAMEExU7CQIkihQFCQi0sy0NtcYZK8a/ArDhwhPYfiQ4FdQkIhIMilMRhEFyoT585nb0lJw0uLclhYmzJ+vIBGRxFGYFMuMoyk8afHo8DwRkaRRmIwium8yuHkz64aGCk5aXDc0xODmzVpGRUQSR2FSQDGbYsVNQutyiUgyKUzyKDVIIgoUEUkihUkeo01aLESTFkUkaRQmeXR2drLglFP4UEsLe0r87B7gQy0tLDjlFC30KCKJoDApxJ1HgXOg6EDZE57/aPh5EZEkUJjkkU6n2bRhA78eGqKNkYGSa22uKEjagF8PDbFpwwZd5hKRRFCY5BHtZ7I8leIHMCxQohnvl7F/Rnw8SH4ALE+ltJ+JiCSGwiSP+FIq58UCZQns2yxrJ/s3w1rC/iA5T0uqiEjCKEwKyA6U7wMPw77NsqK1uV4N27+PgkREkklhMor42lzzWlqYC8M2y4o2w5oLzNPaXCKSUAqTYoVrc91O7rW5bkdrc4lIcilMRqG1uURERqcwKUBrc4mIFEdhkofW5hIRKZ7CJA+tzSUiUjyFSR7RpMXOVGpMa3N1atKiiCSIwiSP7P3fS1qbS3NNRCRhFCYFlBooChIRSSqFySiKDRQFiYgkmcKkCKMFioJERJJOYVKkfIGiIBERUZiUJDtQXkZBIiICCpOSxQPliNZWBYmICNBa6w40oihQ0uk0nZ2dChIRSTyFyRi1tbWxfPnyWndDRKQu6DKXiIiUTWEiIiJlq9swMbOdZvZbM9tqZt1h28FmdreZPRY+HhS2m5l908y2m9mDZvbO2vZeRCRZ6jZMQie7+zx37whfrwDWu/scYH34GuB0YE54XARcM+49FRFJsHoPk2yLga7weRdwVqz9Bx74OTDVzGbUooMiIklUz2HiwM/MbIuZXRS2vdHdMwDh4xvC9pnAU7HP9oRtIiIyDuo5TOa7+zsJLmFdYmbvKXCu5WjzESeZXWRm3WbWvXv37rI6NzAwQFdXl3ZSFBGhjsPE3XeFj88CdwAnAH+MLl+Fj8+Gp/cAh8U+PgvYleNvXuvuHe7eMX369DH3LdrS97ILL9TWvCIi1GmYmNlkM5sSPQfeDzwErAWimYLLgTvD52uBC8JRXScCL0aXwyotvjf8zr17tde7iAh1GibAG4HNZvYb4AHgx+7+U+CfgPeZ2WPA+8LXAD8BdgDbge8Cn65Gp+JBcltvL1OA23p7FSgiknjmPuLWQiJ0dHR4d3d30ednB8mk2Htahl5EksLMtsSma+xTr5VJXSkUJACTUIUiIsmmMBnFaEESUaCISJIpTAooNkgiChQRSSqFSR6lBklEgSIiSaQwySOdTnPf+vWkSwiSyCQg3dsbfD6drkb3RETqisIkj87OTk5auJDOVIo9JX52D9CZSgWf7+ysRvdEROqKwiSP+F7v55QQKBomLCJJpDApoNRAUZCISFIpTEZRbKAoSKQRZTIZZr9lNs8880ytuyINTmFShNECRUEijWrll1ey8+mdrPzyylp3Raogk8kwe/Zbx+UfCwqTIuULFAWJNKpMJsOqrlUMfWSIVV2rVJ00oRUrrmTHjmdYseJLVf8uhUkJsgPlZRQk0rhWfnklQ28fghkw+LbBRFQnSdqHKJPJcOONNwEbuOGGdNX/saAwKVE8UI5obVWQSEOKqpL+E/sB6D+xv+mrk4GBARYtWsaFF17GokXLmj5QVqy4ksHBjwDHMTh4ftWrE4XJGESB8tXvfU9BIg1pX1UyJWyY0tzVSRQkmzYNsHfvTjZtGmjqQNlflXwxbPli1asThckYtbW1sXz5cgWJNJzsqiTSrNVJPEh6e28DptDbe1tTB8r+qmRG2DKj6tWJwkQkYUZUJZEmrE5GBkm0ONKkpg2UkVVJpLrVicJEJEHyVSWRZqpO8gdJpDkDZXhVshWYDDxItasThYlIguStSiJNUp2MHiSR5gqUkVXJ3wBtwIXh6+pVJ0WFiZnNN7PJ4fPzzeyrZvamivdGRKpmtKok0ujVSfFBEmmeQBlZlWwDNoSP1a1Oiq1MrgF6zewdwOXAE8APKt4bEamaUauSSANXJ6UHSaTxAyV3VfIJ4Djg41S9OnH3UQ/gV+Hj/wQ+EW9r1OP44493kSSZefhMB4o+Zh4+s9ZdLtn111/vra0HO7zk4DmOfofrw8dc77/kra0H+/XXX1/rn1KyCy74G4eLw9/xa4d2h13h610OKYffhK8v9uXLPzmm7wG6Pcf/plrwXmFmdh/wU+BjwHuA3cBWd39bBXNtXHV0dHh3d3etuyEiFVS4MhkAlgH3AScBtxDcT4jsIZU6hwUL2li37paGG/Z/4IHTePXV58NX7QTVyLdjZ1wKXAf0ATB58sG88spzJX+PmW1x947s9mIvcy0jWIbqE+7+DDAT+JeSeyEiUkVtbUEQLFjQRip1DuxbRS8KkgFgZ9ZraPQgAZg69fVZLf9Q8PXI88tTVJi4+zPu/lV33xS+ftLddc9EROrOyEB5hf3BEUxaDB6jQHml4YMEoKdnB+7O3LkdBPdKZmSdMQP4BHPn/iXuTk/Pjop+f8EwMbOXzeylHMfLZvZSRXsiIlIhUaDMnz+Blpa57A+S/ZMWo0BpaZnL/PkTGjpIIlu3bmXbtm3AF/Kc8QW2bdvGgw8+WPHvLhgm7j7F3V+X45ji7q+reG9ERCrIDOBo9gfJANAVPkaBcnR4XuM7//xoBFd2VRKZAXyczs4L87w/diVNWjSzN5jZ4dFR8d6IiFRAdCN+8+ZBhobWsT9IlgGXsf+y1ySGhtaxefNgww4JjoxelUSqU50UO2nxTDN7DHicYCjETuDfK9oTEZEKyD2iq9AN+MafYwLFVCWR6lQnxVYmK4ETgd+7+5HAQuD+ivZERKRMowdJrhvwzREojzyyjWAosBVxfJtHHnmoot9fbJgMuPtzQIuZtbj7BmBeRXsiIlKmdDrN+vX30dubJneQjLwBPzxQgs+n0+nx73yZBgd7S5q4PTjYW9HvLzZMXjCzA4GNwI1m9g1gb0V7IiJSps7OTk45ZQEtLR9i5JDgkasGZw8Rbmn5EKecsoDOzs7x7HZTKDZMFhNMm/wswUz4PwCLqtWpsTCz08zsUTPbbmYrat0fEamNYGGU3wG5hgRniwfKXNx/RxGLgkgOxU5afNXdB919r7t3ufs3w8tedcHMJgBXA6cDxwDnmdkxte2ViIy3dDrNvfduxP0dDB8SXMj+IcLu7+Deezc25GWuWit2NFd88uJrZjZYZ5MWTwC2u/sOd+8HbiaopkQkQZYuXRouE/IaEA0JjovPM4mbFJ7/GlOnvp6lS5dWva/NptjKJD558QDgQwxfQazWZgJPxV73hG0ikiCrV6/mxRdfAtaQO0iy55nETQLW8OKLL7F69eqq97XZjGmnRXf/IXBKhftSjlzzV0dc+TSzi8ys28y6d+/ePQ7dEpHx1NnZycKFJ5FKdbJ/kUcYfaFHCBZ7DD6vG/ClK/Yy15LYcY6Z/RM5/se6hnqAw2KvZwG7sk9y92vdvcPdO6ZPnz5unROR8ZF71eBi5pk0/qrBtVZsZbIodnwAeJn6uifxS2COmR1pZhOBc4G1Ne6TiNRAPFDa25cASyk8z2Qp7e1LmjJIMpkMs2e/dVy2YG4t5iR3/1i1O1IOd99rZpcCdwETgOvcfVuNuyUiNdLW1saaNTdw+OFz6et7M/Aj8s8zOYNUajtr1mxrqiABWLnyKnbufJaVK6/i6qu/WtXvKrjTopl9iwKXs9z976rRqfGgnRZFmldpe8E35yWuTCbDUUfN5bXX1tPefio7dmzj0EMPLfvvjnWnxW5gC3AA8E7gsfCYBwyW3SsRkQorLUigGdblymXlyqsYGloOHMfg4AWsXHlVVb+v2D3gNwDvd/eB8HUb8DN3P7mqvasiVSYizaf0IIlrngplf1WyjWCV4Azt7cdWpDopdw/4vyAYAhE5MGwTEakbIxd6LEVjL/QYt78qiZajn1H16qTYyuRjwJeADWHTScCX3L2raj2rMlUmIs1HlUmuqmTfOxWpTsqqTNx9FfAu4I7weHcjB4mINKfc80yK0RxBArmqkkh1q5OCYWJmbw0f30lwWeup8PiLsE1EpK6UHijNEySZTIZVq7ro7788agHeCgTzTPr7L2fVqq6qzDsZrTK5LHz8So7jXyveGxGRCig+UJonSCBXVXIV8Gz4CNWsToq6Z9KMdM9EpPkVvofSXEGSawRXsKfLeuBUYBtwKOXeOynrnomZLTWzKeHz/2Fma8zsuJJ7ISIyjvJXKM0VJJCvKgnmmcAFVLs6KXY014Pu/nYz+yvg/xBc4vqCu7+ror0ZR6pMRJJjeIWSJpXqbKogAZg16yiefvrxWMsBwA72VymzCTbMDcyceSQ9PTtK/p5y55lEs90/CFzj7ncCE0vuhYhIDcQrlNbWI5ouSAB6enbg7rg7F1/8GSZO/BTxeSYTJ36ST3/6s/vOGUuQFFJsZfIj4GmCC2/HE8TbAx7sjdmQVJmIJM/AwADpdJrOzs6mCpK4up5nAnyYYEXe09z9BeBg4L+PuTciIjXQ1tbG8uXLmzZIoE7nmUTcvZdgfNlfhU17CRZ8FBGROlHP80wAMLMrgc8DV4RNbcANFe+NiIiMWS3nmRR7mets4EzgVQB338XwhR9FRKSGclclXQTzTLqodnVSbJj0e3Cn3gHMbHJFeyEiImVplHkmnwPmAO8jmGfyceAmd/9mRXszjjSaS0SaSUPMM3H3fyXYLPl24GjgfzZykIiINJuGmGcy4kNmE4Bz3f3GivZmHKkyEZFmVJfzTMzsdWZ2hZl928zeb4FLCWqnD4+5NyIiUhX1Os/k/xFc1votcCHwM2ApsNjdF1elRyI1NjAwQFdXFwMDA7XuikhJRo7oGq6W80yOcvePuvv/Bc4DOoAz3H1rxXsiUgcGBgZYtGQRF15yIYuWLFKgSEPJX5VEajfPZN9/Se4+CDzu7i9XvBcidSAKkk2Pb2Lv3+1l0+ObFCjSMHJXJcNnwEPt5pm8w8xeCo+XgbdHz83spYr2RKSG4kHSe2YvPAK9Z/YqUKRh5K5KsmfAQ03nmTQjjeaSyIgguQN4AngTcDak1qZYcOQC1q1Z19QLBEpjGznPBIK5Jv8JzCc+xwRqt5+JSFPKGSRDwGfCxztUoUhjiM8zGT7X5LgRc0zqZp5JM1BlInmD5MNAK8Ha2LcS/JNLFYo0kFz7wVdijgmoMhEZZtQgIXz8MKpQpOGMvH9S3TkmoMqk1t2QGigqSOJUoUgDqcsZ8CLNKJ1Os37Deno/WESQwMgK5YO9rN+wnnQ6PU49FilerWbAqzKRxBkYGOCDZ32Q9f+5nqHpQ7CM/EEStxe4BVp2t7Dwvy3kxz/8sSoTqSv5q5J9Z5RdnTRMZWJmXzKzp81sa3j8dey9K8xsu5k9amYfiLWfFrZtN7MVtem5NBIzg2kUHySE5y0DpoWfF6kz9TwDvla+5u7zwuMnAGZ2DHAuMBc4DfiOmU0IVzC+GjgdOAY4LzxXJKd0Os29/3EvQx8eKj5IIq0w9OEh7v2Pe3WZS+rKaOtyRWq902I9WAzc7O573P1xYDtwQnhsd/cd7t4P3ByeK5LTWWedhWFwC8Glq1KEl7oM46yzzqpC70TGZvSqJFKd6qRew+RSM3vQzK4zs4PCtpnAU7FzesK2fO0jmNlFZtZtZt27d++uRr+lAXzuc58Lhva2EozSyg6UQWBr+BgXjepqDe67fO5zn6t+Z0WKtHbtnfT3fx2wUY/+/q9z550/rOj31yRMzOweM3sox7EYuIZgf8l5BKuUfSX6WI4/5QXaRza6X+vuHe7eMX369Ar8EmlE3/jGN5h2yLRgGVNjeKAMAquBu8LHKFCiIDFgAKYdMo1vfOMb49txkQKyZ8CPdlR6BnypV4wrwt1PLeY8M/su8KPwZQ9wWOztWcCu8Hm+dpERUqkUTz72JIfPOZzneA4mEgTFhxi+nMrtBIFydvjcgH6YtmcaTz72JKlUqka/QKT+1N1lLjOLX/A7G3gofL4WONfMJpnZkcAc4AHgl8AcMzvSzCYS3KRfO559lsYTBcq0PdOgP2z8DvvnnExi/9yS74TvK0hE8qpJZTKKq8xsHsGlqp3AJwHcfZuZ3Qo8THDR4ZJwjxXCrYTvAiYA17n7tlp0XBpLFCiHvfkwnn/ueTiE3MuppIFn4ODJB/PkdgWJSC51Fybu/pEC7/0j8I852n8C/KSa/ZLm1NbWxvHzjufuR++GTkb+F9FK0J6G448+XpMURfKou8tcIuMlWqPr/ifvzx0kkTBQ7n/yfi3yKJKHwkQSadhij2f3Dg+SXEODW6H3bK0aLJKPwkQSZ9QgyTU0GBQoIgUoTCRx9q0afGaeIInvtJgrUM7UqsEi2RQmkjidnZ0sPHkhqbWpkZMVcw0Nzpq8mFqbYuHJC+ns7BzvrovULYWJJE5bWxtrbllD+5/bg2G/exgeJLl2WlwdnpeG9j+3s+aWNRrZJRKjMJHEGRgYYMmyJfRODS9zxScr5hoaHJ+82Aq9U3tZsmyJ7pmIxChMJHGieyZ9Z/QFS6RMo7idFqcBBn1n9OmeiUgWhYkkTmdnJyefdDIt17YE6ywUmmMSiSYvOrRc28LJJ52seyYiMQoTSaR9Oy0WqkiyxSoU7bQoMpzCRBJHOy2KVJ7CRBIn59DgYmlosEhOChNJnBFDg4sNlL1oaLBIHgoTSZxhQ4PbGLl1b661uaKdFts0NFgkF4WJJM6+ocGL+4Ib6i3sD5Rca3NFQdICfBj6FmtosEg2c8+5XXrT6+jo8O7u7lp3Q2pgxEKPxv7gaCGYoPgW4Pex1xOApYBD6o4UC45cwLo163SpSxLHzLa4e0d2uyoTSZy2tjbWrVnHgiMXkLojFcw1WQI8S7CFbwtwb/jYH7YvQUEiUoDCRBIpHijta9rhduANwESCcPlM+DgxbL8d2te0K0hE8lCYSGJFo7pSL6T2VyTO8FWDnX0VSuqFlEZxieShMJHEGjaqK6pIcq0aHFYoGsUlkp/CRBIpugm/ccdG+gb7RgZJJBYofYN9bNyxUbssiuSgMJHEKTpIIgoUkVEpTCRx0uk099x7D317iwiSSDxQ9vZxz733aJ6JSIzCRBJn6dKlTJ06NZiMOJZVg/fC1KlTWbp0adX6KNJoFCaSOKtXr+bFF1+EZYxp1WCWwYsvvsjq1aur0DuRxqQwkcTRqsEilacwkcQZMQO+hFWDNQNeJDeFiSRSyYGiIBEpSGEiiVV0oChIREalMJFEGzVQFCQiRVGYSOLlDRQFiUjRahImZrbUzLaZ2ZCZdWS9d4WZbTezR83sA7H208K27Wa2ItZ+pJn9wsweM7NbzGzieP4WaQ4jAmWPgkSkFLWqTB4i2CFiY7zRzI4BzgXmAqcB3zGzCWY2AbgaOB04BjgvPBfgn4Gvufsc4M/AJ8bnJ0iziQJl/pvm0/KVFua/ab6CRKRINQkTd3/E3R/N8dZi4GZ33+PujwPbgRPCY7u773D3fiHCg3AAAA21SURBVOBmYLGZGXAKcFv4+S7grOr/AmlmZoa1GsH/e4lIMertnslM4KnY656wLV/7NOAFd9+b1Z6TmV1kZt1m1r179+6KdlwaX7QA5Oadmxn8+0E279ysBR1FilS1MDGze8zsoRzH4kIfy9HmY2jPyd2vdfcOd++YPn164R8giTJiX/hJ0Ht2L5se36RAESlCqSsTFc3dTx3Dx3qAw2KvZwG7wue52v8ETDWz1rA6iZ8vUpQRQRLbHKv37F423REEiu6fiORXb5e51gLnmtkkMzsSmAM8APwSmBOO3JpIcJN+rbs7sAE4J/z8cuDOGvRbGlTeIIm0qkIRKUathgafbWY9wLuBH5vZXQDuvg24FXgY+ClwibsPhlXHpcBdwCPAreG5AJ8HLjOz7QT3UL4/vr9GGtWoQRJRoIiMyoJ/3CdPR0eHd3d317obUiNFB0mcJjGKYGZb3L0ju73eLnOJVN2YggRUoYgUoDCRxEmn06zfsJ7eM0sIkkgr9J7Zy/oN67Vtr0iMwkQSR5tjiVSewkQSR5tjiVSewkQSSZtjiVSWwkQSS5tjiVSOwkQSLWegDAJbw0cFiUhRqracikijiAJl0ZJFbFyzkb7BPngSeATaJ7Sz4CgFichoVJmIEATKmlvWkHohBQPAZ4ABSL2QYs0taxQkIqNQmIgQTGRcsmwJfQf1QScwCeiEvoP6WLJsiSYoioxCYSKJN+qqwZrxLjIqhYkkmlYNFqkMhYkkllYNFqkchYkkUsmLPSpQRApSmEjiaNVgkcpTmEjiaNVgkcpTmEjiaNVgkcpTmEjiaNVgkcpTmEgiadVgkcpSmEhiadVgkcpRmEiijRooChKRoihMJPHyBoqCRKRoChMRcgTKHgWJSCkUJiKheKC0frNVQSJSAm2OJRITBUo6naazs1NBIlIkhYlIlra2NpYvX17rbog0FF3mEhGRsilMRESkbAoTEREpm8JERETKpjAREZGy1SRMzGypmW0zsyEz64i1H2FmfWa2NTz+Lfbe8Wb2WzPbbmbfNDML2w82s7vN7LHw8aBa/CYRkSSrVWXyELAE2JjjvT+4+7zw+FSs/RrgImBOeJwWtq8A1rv7HGB9+FpERMZRTcLE3R9x90eLPd/MZgCvc/f/cncHfgCcFb69GOgKn3fF2kVEZJzU4z2TI83s12Z2n5ktCNtmAj2xc3rCNoA3unsGIHx8Q74/bGYXmVm3mXXv3r27Gn0XEUmkqoWJmd1jZg/lOBYX+FgGONzdjwMuA9Jm9jrAcpzrpfbJ3a919w5375g+fXqpH0+sTCbDW2fP5plnnql1V0SkTlVtORV3P3UMn9kD7AmfbzGzPwBvIahEZsVOnQXsCp//0cxmuHsmvBz2bHk9l2xXrljBMzt28KUVK/i366+vdXdEpA7V1WUuM5tuZhPC50cR3GjfEV6+etnMTgxHcV0A3Bl+bC0QLaS0PNYuFZDJZLjpxhvZAKRvuEHViYjkVKuhwWebWQ/wbuDHZnZX+NZ7gAfN7DfAbcCn3P358L2Lge8B24E/AP8etv8T8D4zewx4X/haKuTKFSv4yOAgxwHnDw7ypRUaLCciI1kwOCp5Ojo6vLu7u9bdqGuZTIa3HHYYvx8cZAbBDa2jJ0zg9z09HHroobXunojUgJltcfeO7Pa6uswl9SWqSmaEr2eg6kREclNlIjllVyX72lF1IpJkqkykJNlVSUTViYjkojCREaIRXF+MXgNvBaJxXF9EI7tEZDiFiYyQXZVcRTB556rwtaoTEcmmeyYyTK4RXHMJVtA8FdgGHIrunYgkle6ZSFFyVSXLgeMIZoqqOhGRXFSZyDDTDjyQ5199dd/rA4AdsK9KmQ30xc4/ePJknnvllXHto4jUjioTKcrrp07d93wi8DEYNs/ko2F7rvNFJLkUJjLMjp4e3J1du3Yx+YAD9o3oinwROLC9nUwmg7uzo6cn158RkYRRmEhOV61cyfKhoX2Xt6KhwTOACwYHuWrlypr2T0Tqi8JERshkMnStWsXl/f3AyKHBl/f307VqleaZiMg+ChMZIbsq6SIYGtyFqhMRyU2juWSYTCbD3KOOYttrrzED+GzY/rXwuQFfJQiZY9vb2bZjh+aZiCSIRnNJUXJVJZeH712OqhMRyU1hIsPcuXYtX+/vx4AjgHMZPjR4GfAmggrl6/39/PBObWwpIgoTyaKhwSIyFgoTySl+uStOl7dEJBfdgJcRsm/Cj3gf3XwXSSrdgJeiZVcl2fuZqDoRkWwKExkme8IijJy0CJq4KCLDKUxkmFxVSfakRVB1IiLDKUxkmPjQ4Pjw4OMYPixYQ4NFJE5hIsNEQ4NzDQ/OHhasocEiElGYSF7Zl7x0aUtE8tHQYMkp3/BgDQsWSTYNDZaSaNKiiJRClYmMoEmLIpKPKhMpWr6qJKLqRESyqTKRYUarSvadh6oTkSRSZSJFGa0qiag6EZG4moSJmf2Lmf3OzB40szvMbGrsvSvMbLuZPWpmH4i1nxa2bTezFbH2I83sF2b2mJndYmYTx/v3NJPsSYuFDk1aFJFIrSqTu4Fj3f3twO+BKwDM7BiCCddzgdOA75jZBDObAFwNnA4cA5wXngvwz8DX3H0O8GfgE+P6S5pMfNJiMYcmLYoI1ChM3P1n7r43fPlzYFb4fDFws7vvcffHge3ACeGx3d13uHs/cDOw2MwMOAW4Lfx8F3DWeP0OEREJ1MM9k48D/x4+nwk8FXuvJ2zL1z4NeCEWTFG7iIiMo9Zq/WEzuwfINcznH9z9zvCcfwD2AjdGH8txvpM79LzA+fn6dBFwEcDhhx+et+8iIlKaqoWJu59a6H0zWw6cASz0/eOTe4DDYqfNAnaFz3O1/wmYamatYXUSPz9Xn64FroVgaHDxv0ZERAqp1Wiu04DPA2e6e2/srbXAuWY2ycyOBOYADwC/BOaEI7cmEtykXxuG0AbgnPDzywENLxIRGWdVq0xG8W1gEnB3cA+dn7v7p9x9m5ndCjxMcPnrEncfBDCzS4G7gAnAde6+LfxbnwduNrP/Dfwa+P74/hQREdEMeBERKZpmwIuISNUoTEREpGyJvcxlZruBJ8r8M4cQjChLgiT9VkjW703SbwX93nK9yd2nZzcmNkwqwcy6c107bEZJ+q2QrN+bpN8K+r3VostcIiJSNoWJiIiUTWFSnmtr3YFxlKTfCsn6vUn6raDfWxW6ZyIiImVTZSIiImVTmJTIzK4zs2fN7KFa92U8mNlhZrbBzB4xs21m9ve17lO1mNkBZvaAmf0m/K3/q9Z9Gg/hBnS/NrMf1bov1WZmO83st2a21cyaegkMM5tqZreFu9o+Ymbvrur36TJXaczsPcArwA/c/dha96fazGwGMMPdf2VmU4AtwFnu/nCNu1Zx4WZrk939FTNrAzYDf+/uP69x16rKzC4DOoDXufsZte5PNZnZTqDD3Zt+nomZdQGb3P174QK5KXd/oVrfp8qkRO6+EXi+1v0YL+6ecfdfhc9fBh6hSTcg88Ar4cu28Gjqf22Z2Szgg8D3at0XqRwzex3wHsKFb929v5pBAgoTKYGZHQEcB/yitj2pnvCSz1bgWeBud2/a3xr6OnA5MFTrjowTB35mZlvCzfKa1VHAbmBVeAnze2Y2uZpfqDCRopjZgcDtwGfc/aVa96da3H3Q3ecRbLR2gpk17aVMMzsDeNbdt9S6L+Novru/EzgduCS8bN2MWoF3Ate4+3HAq8CKan6hwkRGFd4/uB240d3X1Lo/4yG8JPAfwGk17ko1zQfODO8j3AycYmY31LZL1eXuu8LHZ4E7gBNq26Oq6QF6YpX1bQThUjUKEykovCn9feARd/9qrftTTWY23cymhs/bgVOB39W2V9Xj7le4+yx3P4Jg99J73f38GnerasxscjiIhPCSz/uBphyV6e7PAE+Z2dFh00KCTQerplY7LTYsM7sJeC9wiJn1AFe6ezPv7jgf+Ajw2/BeAsAX3P0nNexTtcwAusxsAsE/tG5196YfLpsgbwTuCHd3bQXS7v7T2napqv4WuDEcybUD+Fg1v0xDg0VEpGy6zCUiImVTmIiISNkUJiIiUjaFiYiIlE1hIiIiZVOYiFSJmb3RzNJmtiNcvuO/zOzsWvdLpBoUJiJVEE72/CGw0d2PcvfjCSYGzso6T3O9pCkoTESq4xSg393/LWpw9yfc/Vtm9lEzW21m6wgWHTQz+xczeyjca2MZgJm9N77HiJl928w+Gj7faWb/HO6/8oCZvXmcf5/IMPpXkUh1zAV+VeD9dwNvd/fnzexDwDzgHcAhwC/NbGMR3/GSu59gZhcQrP7b1HuRSH1TZSIyDszs6nAHx1+GTXe7e7Qvzl8BN4UrFv8RuA/4yyL+7E2xx6ruoicyGoWJSHVsI7ZKq7tfQrDY3vSw6dXYuZbnb+xl+H+jB2S973mei4w7hYlIddwLHGBmF8faUnnO3QgsCzfmmk6wQ94DwBPAMWY2ycxeTxBGcctij/9Vua6LlE73TESqwN3dzM4CvmZmlxPsevcq8HmgPev0OwguU/2GoMK4PFxCHDO7FXgQeAz4ddbnJpnZLwj+UXhetX6LSDG0arBIAwo3tOpw9z/Vui8ioMtcIiJSAapMRESkbKpMRESkbAoTEREpm8JERETKpjAREZGyKUxERKRsChMRESnb/wdU0ntnS2PoMwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "resid = lm.resid\n", "plt.figure(figsize=(6,6));\n", "for values, group in factor_groups:\n", " i,j = values\n", " group_num = i*2 + j - 1 # for plotting purposes\n", " x = [group_num] * len(group)\n", " plt.scatter(x, resid[group.index], marker=symbols[j], color=colors[i-1],\n", " s=144, edgecolors='black')\n", "plt.xlabel('Group');\n", "plt.ylabel('Residuals');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we will test some interactions using anova or f_test" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: S R-squared: 0.961\n", "Model: OLS Adj. R-squared: 0.955\n", "Method: Least Squares F-statistic: 158.6\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 8.23e-26\n", "Time: 23:41:18 Log-Likelihood: -379.47\n", "No. Observations: 46 AIC: 772.9\n", "Df Residuals: 39 BIC: 785.7\n", "Df Model: 6 \n", "Covariance Type: nonrobust \n", "===============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept 7256.2800 549.494 13.205 0.000 6144.824 8367.736\n", "C(E)[T.2] 4172.5045 674.966 6.182 0.000 2807.256 5537.753\n", "C(E)[T.3] 3946.3649 686.693 5.747 0.000 2557.396 5335.333\n", "C(M)[T.1] 7102.4539 333.442 21.300 0.000 6428.005 7776.903\n", "X 632.2878 53.185 11.888 0.000 524.710 739.865\n", "C(E)[T.2]:X -125.5147 69.863 -1.797 0.080 -266.826 15.796\n", "C(E)[T.3]:X -141.2741 89.281 -1.582 0.122 -321.861 39.313\n", "==============================================================================\n", "Omnibus: 0.432 Durbin-Watson: 2.179\n", "Prob(Omnibus): 0.806 Jarque-Bera (JB): 0.590\n", "Skew: 0.144 Prob(JB): 0.744\n", "Kurtosis: 2.526 Cond. No. 69.7\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "interX_lm = ols(\"S ~ C(E) * X + C(M)\", salary_table).fit()\n", "print(interX_lm.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do an ANOVA check" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 41.0 4.328072e+07 0.0 NaN NaN NaN\n", "1 39.0 3.941068e+07 2.0 3.870040e+06 1.914856 0.160964\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: S R-squared: 0.999\n", "Model: OLS Adj. R-squared: 0.999\n", "Method: Least Squares F-statistic: 5517.\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 1.67e-55\n", "Time: 23:41:18 Log-Likelihood: -298.74\n", "No. Observations: 46 AIC: 611.5\n", "Df Residuals: 39 BIC: 624.3\n", "Df Model: 6 \n", "Covariance Type: nonrobust \n", "=======================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "---------------------------------------------------------------------------------------\n", "Intercept 9472.6854 80.344 117.902 0.000 9310.175 9635.196\n", "C(E)[T.2] 1381.6706 77.319 17.870 0.000 1225.279 1538.063\n", "C(E)[T.3] 1730.7483 105.334 16.431 0.000 1517.690 1943.806\n", "C(M)[T.1] 3981.3769 101.175 39.351 0.000 3776.732 4186.022\n", "C(E)[T.2]:C(M)[T.1] 4902.5231 131.359 37.322 0.000 4636.825 5168.222\n", "C(E)[T.3]:C(M)[T.1] 3066.0351 149.330 20.532 0.000 2763.986 3368.084\n", "X 496.9870 5.566 89.283 0.000 485.728 508.246\n", "==============================================================================\n", "Omnibus: 74.761 Durbin-Watson: 2.244\n", "Prob(Omnibus): 0.000 Jarque-Bera (JB): 1037.873\n", "Skew: -4.103 Prob(JB): 4.25e-226\n", "Kurtosis: 24.776 Cond. No. 79.0\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 41.0 4.328072e+07 0.0 NaN NaN NaN\n", "1 39.0 1.178168e+06 2.0 4.210255e+07 696.844466 3.025504e-31\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:901: RuntimeWarning: invalid value encountered in greater\n", " return (a < x) & (x < b)\n", "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:901: RuntimeWarning: invalid value encountered in less\n", " return (a < x) & (x < b)\n", "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:1892: RuntimeWarning: invalid value encountered in less_equal\n", " cond2 = cond0 & (x <= _a)\n" ] } ], "source": [ "from statsmodels.stats.api import anova_lm\n", "\n", "table1 = anova_lm(lm, interX_lm)\n", "print(table1)\n", "\n", "interM_lm = ols(\"S ~ X + C(E)*C(M)\", data=salary_table).fit()\n", "print(interM_lm.summary())\n", "\n", "table2 = anova_lm(lm, interM_lm)\n", "print(table2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The design matrix as a DataFrame" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
InterceptC(E)[T.2]C(E)[T.3]C(M)[T.1]C(E)[T.2]:C(M)[T.1]C(E)[T.3]:C(M)[T.1]X
01.00.00.01.00.00.01.0
11.00.01.00.00.00.01.0
21.00.01.01.00.01.01.0
31.01.00.00.00.00.01.0
41.00.01.00.00.00.01.0
\n", "
" ], "text/plain": [ " Intercept C(E)[T.2] C(E)[T.3] C(M)[T.1] C(E)[T.2]:C(M)[T.1] C(E)[T.3]:C(M)[T.1] X\n", "0 1.0 0.0 0.0 1.0 0.0 0.0 1.0\n", "1 1.0 0.0 1.0 0.0 0.0 0.0 1.0\n", "2 1.0 0.0 1.0 1.0 0.0 1.0 1.0\n", "3 1.0 1.0 0.0 0.0 0.0 0.0 1.0\n", "4 1.0 0.0 1.0 0.0 0.0 0.0 1.0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interM_lm.model.data.orig_exog[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The design matrix as an ndarray" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Intercept',\n", " 'C(E)[T.2]',\n", " 'C(E)[T.3]',\n", " 'C(M)[T.1]',\n", " 'C(E)[T.2]:C(M)[T.1]',\n", " 'C(E)[T.3]:C(M)[T.1]',\n", " 'X']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interM_lm.model.exog\n", "interM_lm.model.exog_names" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "infl = interM_lm.get_influence()\n", "resid = infl.resid_studentized_internal\n", "plt.figure(figsize=(6,6))\n", "for values, group in factor_groups:\n", " i,j = values\n", " idx = group.index\n", " plt.scatter(X[idx], resid[idx], marker=symbols[j], color=colors[i-1],\n", " s=144, edgecolors='black')\n", "plt.xlabel('X');\n", "plt.ylabel('standardized resids');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like one observation is an outlier." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "32\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: S R-squared: 0.955\n", "Model: OLS Adj. R-squared: 0.950\n", "Method: Least Squares F-statistic: 211.7\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 2.45e-26\n", "Time: 23:41:18 Log-Likelihood: -373.79\n", "No. Observations: 45 AIC: 757.6\n", "Df Residuals: 40 BIC: 766.6\n", "Df Model: 4 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 8044.7518 392.781 20.482 0.000 7250.911 8838.592\n", "C(E)[T.2] 3129.5286 370.470 8.447 0.000 2380.780 3878.277\n", "C(E)[T.3] 2999.4451 416.712 7.198 0.000 2157.238 3841.652\n", "C(M)[T.1] 6866.9856 323.991 21.195 0.000 6212.175 7521.796\n", "X 545.7855 30.912 17.656 0.000 483.311 608.260\n", "==============================================================================\n", "Omnibus: 2.511 Durbin-Watson: 2.265\n", "Prob(Omnibus): 0.285 Jarque-Bera (JB): 1.400\n", "Skew: -0.044 Prob(JB): 0.496\n", "Kurtosis: 2.140 Cond. No. 33.1\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\n", "\n", " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: S R-squared: 0.959\n", "Model: OLS Adj. R-squared: 0.952\n", "Method: Least Squares F-statistic: 147.7\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 8.97e-25\n", "Time: 23:41:18 Log-Likelihood: -371.70\n", "No. Observations: 45 AIC: 757.4\n", "Df Residuals: 38 BIC: 770.0\n", "Df Model: 6 \n", "Covariance Type: nonrobust \n", "===============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept 7266.0887 558.872 13.001 0.000 6134.711 8397.466\n", "C(E)[T.2] 4162.0846 685.728 6.070 0.000 2773.900 5550.269\n", "C(E)[T.3] 3940.4359 696.067 5.661 0.000 2531.322 5349.549\n", "C(M)[T.1] 7088.6387 345.587 20.512 0.000 6389.035 7788.243\n", "X 631.6892 53.950 11.709 0.000 522.473 740.905\n", "C(E)[T.2]:X -125.5009 70.744 -1.774 0.084 -268.714 17.712\n", "C(E)[T.3]:X -139.8410 90.728 -1.541 0.132 -323.511 43.829\n", "==============================================================================\n", "Omnibus: 0.617 Durbin-Watson: 2.194\n", "Prob(Omnibus): 0.734 Jarque-Bera (JB): 0.728\n", "Skew: 0.162 Prob(JB): 0.695\n", "Kurtosis: 2.468 Cond. No. 68.7\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "\n", "\n", " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 40.0 4.320910e+07 0.0 NaN NaN NaN\n", "1 38.0 3.937424e+07 2.0 3.834859e+06 1.850508 0.171042\n", "\n", "\n", " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 40.0 4.320910e+07 0.0 NaN NaN NaN\n", "1 38.0 1.711881e+05 2.0 4.303791e+07 4776.734853 2.291239e-46\n", "\n", "\n" ] } ], "source": [ "drop_idx = abs(resid).argmax()\n", "print(drop_idx) # zero-based index\n", "idx = salary_table.index.drop(drop_idx)\n", "\n", "lm32 = ols('S ~ C(E) + X + C(M)', data=salary_table, subset=idx).fit()\n", "\n", "print(lm32.summary())\n", "print('\\n')\n", "\n", "interX_lm32 = ols('S ~ C(E) * X + C(M)', data=salary_table, subset=idx).fit()\n", "\n", "print(interX_lm32.summary())\n", "print('\\n')\n", "\n", "\n", "table3 = anova_lm(lm32, interX_lm32)\n", "print(table3)\n", "print('\\n')\n", "\n", "\n", "interM_lm32 = ols('S ~ X + C(E) * C(M)', data=salary_table, subset=idx).fit()\n", "\n", "table4 = anova_lm(lm32, interM_lm32)\n", "print(table4)\n", "print('\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Replot the residuals" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "resid = interM_lm32.get_influence().summary_frame()['standard_resid']\n", "\n", "plt.figure(figsize=(6,6))\n", "resid = resid.reindex(X.index)\n", "for values, group in factor_groups:\n", " i,j = values\n", " idx = group.index\n", " plt.scatter(X.loc[idx], resid.loc[idx], marker=symbols[j], color=colors[i-1],\n", " s=144, edgecolors='black')\n", "plt.xlabel('X[~[32]]');\n", "plt.ylabel('standardized resids');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Plot the fitted values" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "lm_final = ols('S ~ X + C(E)*C(M)', data = salary_table.drop([drop_idx])).fit()\n", "mf = lm_final.model.data.orig_exog\n", "lstyle = ['-','--']\n", "\n", "plt.figure(figsize=(6,6))\n", "for values, group in factor_groups:\n", " i,j = values\n", " idx = group.index\n", " plt.scatter(X[idx], S[idx], marker=symbols[j], color=colors[i-1],\n", " s=144, edgecolors='black')\n", " # drop NA because there is no idx 32 in the final model\n", " fv = lm_final.fittedvalues.reindex(idx).dropna()\n", " x = mf.X.reindex(idx).dropna()\n", " plt.plot(x, fv, ls=lstyle[j], color=colors[i-1])\n", "plt.xlabel('Experience');\n", "plt.ylabel('Salary');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From our first look at the data, the difference between Master's and PhD in the management group is different than in the non-management group. This is an interaction between the two qualitative variables management,M and education,E. We can visualize this by first removing the effect of experience, then plotting the means within each of the 6 groups using interaction.plot." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAFzCAYAAAD/rTTeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXhU5fn/8ffNJosgCqhIREDRKhYVI7hUREVBimhbrVgXXFpad6u2Sq21lWqx9avVulR+Cu6AtS4ooqKySBUwCEXEWqmgBFJ23JAl4f798ZxpQpiEyZCZk8l8Xtc1VybPnJncM8Z8eM6zHHN3RERE0tEg7gJERCR3KURERCRtChEREUmbQkRERNKmEBERkbQpREREJG2N4i4g29q2beudOnWKuwwRkZwye/bsVe7ernJ73oVIp06dKCoqirsMEZGcYmafJmvX6SwREUmbQkRERNKmEBERkbTl3ZiIiEgcNm/eTHFxMRs2bIi7lGo1bdqUgoICGjdunNLxChERkSwoLi6mZcuWdOrUCTOLu5yk3J3Vq1dTXFxM586dU3qOTmeJiGTBhg0baNOmTZ0NEAAzo02bNjXqLSlERESypC4HSEJNa1SIiIjkEDPjvPPO+9/3paWltGvXjoEDB8ZSj0JERCSHtGjRgvnz5/PNN98AMGnSJDp06BBbPQoREZEcc8oppzBhwgQAxowZw9lnnx1bLQoREZEcM3jwYMaOHcuGDRuYN28evXr1iq0WhYiISI7p3r07ixcvZsyYMQwYMCDWWrROREQkBw0aNIjrrruOKVOmsHr16tjqUIiIiOSgiy66iF122YVvf/vbTJkyJbY6dDpLRCQHFRQUcNVVV8VdhnoiIiK55KuvvtqmrU+fPvTp0yf7xaCeiIiI7ACFiIiIpE0hIlIHTJ4MnTqFryK5RCEiErPJk2HgQPj00/BVQSK5RCEiEqNEgKxfH75fv15BIrlFISISk8oBkqAgkf8pKYHjjoP//jfuSqqkEBGJQVUBkqAgEQCGD4fp08PXWvLKK69wwAEHsN9++zFixIgdfj2FiEiWbS9AEhQkea6kBEaPhi1bwtda6I2UlZVx2WWXMXHiRBYsWMCYMWNYsGDBDr2mQkQki1INkAQFSR4bPjwECEBZWa30RmbNmsV+++1Hly5daNKkCYMHD+aFF17YodfUinWRLLrwwtQDJGH9ejj3XCguhhy4uqqk4uqrYe7cqh/fuBFmzSoPkU2b4K9/hTlzoEmT5M859FD485+r/bFLly5l7733/t/3BQUFzJw5s6bVb0U9EZEsGj0amjev+fOWLYP27eGHP4T77oP33y//+yL10KefgvvWbe6hfQd45ddkx6/7rp6ISBYdfzy89FLqp7SaN4f77w//MJ02DaZOhb/9LTy2225w7LFh8k7v3nDIIdBI/0fnhup6DCUl0KVL8hBZuxbGjoU990zrxxYUFLBkyZL/fV9cXMxee+2V1msl6FdOJMuOPx6uugr+8Ifqj2vePATO8ceH74cODX9HFi8uD5Rp0yBxSrtlS/jOd0KgHHccHH541Wc+pA6rOBZSWWJs5L770nrpI444go8//phFixbRoUMHxo4dy1NPPbUDxSpERLLuxRfhj3+Eww6Djz5K3iOpHCAJZtC5c7gNGRLali7dOlQmTix/jaOOKg+VXr2gadPMvjfZQYkZWZs2JX9806bw+E03pdUbadSoEffeey/9+vWjrKyMiy66iG7duu1QyZbsHFl9VlhY6EVFRXGXIXlqyhTo3z+cenr9dSgq2vbUVlUBkqoVK+Ctt8qDZd680INp0iQESSJUjjoKdt65Vt6WpODDDz/kwAMPrP6gSy+Fhx+uOkQg/If88Y/T7o2kIlmtZjbb3QsrH6uBdZEsKSqCQYNg333h5ZfD6afEGElisH1HAwRg993hBz+Au+8OE4BWr4bx4+HKK2HDBhgxAk4+GVq3DqHyy1+Gn7luXe28T9kB77xTfYBAePztt7NTTwrUExHJgg8/DIPgLVuGBcgdOmz9+OTJYfrv6NE7FiCp+PLL8Ddo2rRwmzkTNm8Op8oOOaR8oL53b2jbNrO15JOUeiJ1RE16IhoTEcmwTz8N//Jv1AgmTdo2QCAEx+LF2amnZUvo1y/cAL75JgRJYkxl5MjQiwE46KCtQ2UHJ/JIPaQQEcmg5cvhpJPgq6/CH+n99ou7om01awZ9+oQbhLMlRUXlofL44/DAA+Gx/fYrH1Pp3TtcA0UyJ5s91HQpREQyZN26MIi+dGnogXTvHndFqWnSBI4+OtyGDYPS0jC2khiof+45GDUqHNux49ah0rWrVtXXlopb5AwcuONjZZmSsYF1MxtlZivMbH6FtkPNbIaZzTWzIjPrGbWbmd1jZgvNbJ6Z9ajwnCFm9nF0G1Kh/XAzez96zj22o8suRWrR+vVw6qnwwQfw7LPhD3KuatQICgvhmmvCmpRVq+Cf/4S//AV69oTXXoOf/AQOOCCc7jrrrDBxaP58rapPV05dZ8bdM3IDegM9gPkV2l4DTonuDwCmVLg/ETDgSGBm1L4b8En0ddfo/q7RY7OAo6LnTEy87vZuhx9+uItk0saN7qec4m7m/vTTcVeTeVu2uH/4ofuDD7qfc457QYF7mFTs3qaN++mnu995p/vs2e6lpXFXG58FCxakdNybb7o3b17+GVa8NW8eHk/XhRde6O3atfNu3brVuFagyJP8Tc1YT8TdpwFrKjcDraL7uwDLovunAY9Ftc4AWptZe6AfMMnd17j7WmAS0D96rJW7vxO9uceA0zP1XkRSVVYWFgFOnAgPPghnnhl3RZlnBt/6VlhR/8QT8Nln8Mkn4Tz+oEFhnco114QV9LvtBt/9Ltx+O8yYEWaFSblMX2fmggsu4JVXXkm/wCSyPSZyNfCqmd1BOJWW6OR3AJZUOK44aquuvThJu0hs3OHyy8PWRrffHk7x5KOKq+ovuCC0FReXTymeOjWsk4GwLuboo8tnf+XzqvqaXmcmnTGS3r17s7iWpwFmO0QuAX7u7n83sx8CDwN9CaekKvM02pMys6HAUICOHTvWtGaRlPz612G37htuCAv4pFxBAfzoR+EG5avqEzPAbr5561X1iYH6o4+GFi3irT0TKu8Ev3ZtzcaQ1q+Hvn3h4INh111DWwo7wWdEtlesDwGeje7/DegZ3S8G9q5wXAHhVFd17QVJ2pNy95HuXujuhe3atduhNyCSzB13wG23hVM6t90WdzV1X2JV/T33hD+mq1aFVfVXXBFW1f/hD+Wr6o88Eq6/HiZMgM8/j7vyzPjoo5pPQtiyJTwvbtnuiSwDjgOmACcAH0ft44HLzWws0Av43N1LzOxV4DYzi7KWk4Fh7r7GzL40syOBmcD5wF+y+D5E/ufhh+EXvwjX+rj/fk1xTcduu4XZbKeeGr6vuKp+6lS4666waaVZ+Bd3Ylrxscfm5qr6yj2Gml7xEmpni5zakLEQMbMxQB+grZkVAzcDPwHuNrNGwAaiU0zAy4QZWguB9cCFAFFYDAfejY67xd0Tg/WXAI8AzQizsyZm6r2IVOWZZ0Lvo3//sCivYcO4K6ofkq2qnzGjPFQefLB8VX23bluvVWnfPr6605XOdWbqQoAAmZviW1dvmuIrteW119wbN3Y/5hj3r7+Ou5r8smGD+/Tp7rfd5t6vn/vOO5dPg+3a1f3ii90fe8x98eK4Ky2XyhTf6qb31sY038GDB/uee+7pjRo18g4dOvhDDz2Ucq1UMcVXGzCKpOGdd8LAZteuYXv31q3jrii/JVbVJwbq33orDFZDWFWf6KUcd1zYuiWOU46pbsBY3amtbPVAtAGjSAa9/z4MGBBWZ7/6qgKkLkisqi8shGuvDYPO8+eXh8qrr4bTjRBOdyWmFB93HBx4IDSoQxfFqOrUVp06hVWBQkSkBv7znzBrqEWLsB/WHnvEXZEk06BB2Kuse/cw48s9zGRKjKlMnQrjxoVj27QpD5XEterjHtuqHCR1NUBAISKSsmXLwo68mzfDG29oB9tcklhVn1hZ7w6LFm19WeHnngvHtmoVrlWfOAV2+OHQuHH2a04EiXbxFakH1qwJPZCVK+HNN8N1NiR3mUGXLuGWWFW/ZMnWCyArr6pPhErPnumvqnd3arJXbDavM5NQ03FyhYjIdnz1VRgDWbgw7Il1xBFxVySZsPfeW6+qX75862vV/+Y3oQez007bXqs+lVX1TZs2ZfXq1bRp06ZGQZJN7s7q1atpWoOU1OwskWps3Bg2DJwyBf7+dzjttLgrkrisWRMubZwIlffeCwP4iUH9RKgccwzsssu2z9+8eTPFxcVs2LAh+8XXQNOmTSkoKKBxpXN4Vc3OUoiIVKG0NFwb49ln4dFH4fzz465I6pLEqvrE6a9Zs8J4WYMG5avqe/fOzKr6OK54qBCJKEQkFe5w8cXhf9I//xmuuiruiqSuW79+62vVv/NO2AcMwqr6iteq35FV9RXXkWRz1pZCJKIQke1xh+uugzvvDLvL/va3cVckuWjjxq2vVf+Pf4TxNQiLVCuGyj77pPaayRYiZitIFCIRhYhsz623hm3dr7gi7M9UR8dAJceUlsKcOeVjKm+9BevWhcf22Wfr/b+SraqPeyW7QiSiEJHq3H8/XHYZnHcePPJI3VrJLPXLli1h94OKa1VWrgyPJVbVJ0Jl+fKww3F1mzNmOkgUIhGFiFTlqafg3HPD/6zPPBPPAjPJX+7wr39tfQXIpUtr9hqZDJKqQkT/zhIhXPBoyJDwL79x4xQgkn1mYR+vn/4UnnwyLH584olwtcdU7eg12NOhEJG8N20anHFGmJb5wgv5e41vqVvM4MYbYdOmmj1v/fow/TdbFCKS1957L5y+6tQprEZv1SruikTKjR4dTlHVRPPm4XnZohCRvPXRR+GKhK1bhx15c/Eyq1K/JTZhTDVI4tjtVyEieemzz8KOvGYhQAoK4q5IJLlUgySu7eIVIpJ3VqwIAfLFF+FiRfvvH3dFItXbXpDEeb0RhYjklc8/D6ewliwJ/9MdemjcFYmkpqogifuCVQoRyRvffAODBoUFXn//e7jwkEguqRwkcQcIKEQkT2zeDGeeGbaaePxxOOWUuCsSSU8iSPbZJ/4AAV2USvLAli3h6nUTJsADD8DgwXFXJLJj4rjiYVXUE5F6zR2uvDJsaXLbbfCzn8VdkUj9ohCReu3mm+G+++AXv4Abboi7GpH6RyEi9dZdd8Hw4eHiUrffri3dRTJBISL10ujRcM01YU+sBx9UgIhkikJE6p3nnoMf/xhOPjnsgtqwYdwVidRfChGpV954I8y+6tULnn0Wdtop7opE6jeFiNQbM2fCaafBAQeE6bwtWsRdkUj9pxCRemH+/LCAcI89wn5Yu+4ad0Ui+UEhIjlv0aIw/tG0Kbz+erg+tYhkh1asS04rKYG+fWHjxnCFws6d465IJL8oRCRnrVkD/frB8uVhQL1bt7grEsk/ChHJSV9/Dd/9brg64YQJYTaWiGSfQkRyzsaN8L3vwaxZ8Le/hdNZIhIPhYjklLIyOPfccEnbUaPg+9+PuyKR/KbZWZIz3MMuvM88A3feCRdeGHdFIqIQkZzgDtdfDw89BL/+Nfz853FXJCKgEJEccfvt8Kc/wWWXwS23xF2NiCQoRKTOe/BBGDYMfvQjuOce7cgrUpcoRKROGzcOLrkkTOd95BFooN9YkTpF/0tKnTVxYpiJdeyxYSpv48ZxVyQilWUsRMxslJmtMLP5ldqvMLOPzOwDM/tjhfZhZrYweqxfhfb+UdtCM7uhQntnM5tpZh+b2Tgza5Kp9yLZN306/OAH0L07jB8PzZrFXZGIJJPJnsgjQP+KDWZ2PHAa0N3duwF3RO0HAYOBbtFz7jezhmbWELgPOAU4CDg7OhbgduAud+8KrAUuzuB7kSyaOxcGDoSOHeGVV2CXXeKuSESqkrEQcfdpwJpKzZcAI9x9Y3TMiqj9NGCsu29090XAQqBndFvo7p+4+yZgLHCamRlwAvBM9PxHgdMz9V4kez7+OOyH1aoVvPYatGsXd0UiUp1sj4nsDxwbnYaaamZHRO0dgCUVjiuO2qpqbwOsc/fSSu2Sw4qLwxYmW7aEFekdO8ZdkYhsT7a3PWkE7AocCRwBPG1mXYBkkzad5CHn1RyflJkNBYYCdNRfpjpp1So46SRYtw4mTw5XJxSRui/bPZFi4FkPZgFbgLZR+94VjisAllXTvgpobWaNKrUn5e4j3b3Q3Qvb6fxInfPFF+GqhIsXw4svQo8ecVckIqnKdog8TxjLwMz2B5oQAmE8MNjMdjKzzkBXYBbwLtA1monVhDD4Pt7dHZgMnBG97hDghay+E6kVGzaE66LPnRv2xOrdO+6KRKQmMnY6y8zGAH2AtmZWDNwMjAJGRdN+NwFDokD4wMyeBhYApcBl7l4Wvc7lwKtAQ2CUu38Q/YjrgbFm9ntgDvBwpt6LZMbmzXDWWTB1KjzxRFhQKCK5xcLf8PxRWFjoRUVFcZeR97ZsgQsugMcfh3vvDXtiiUjdZWaz3b2wcrtWrEvWucPVV4cAGT5cASKSyxQiknW33AJ/+Qtccw3ceGPc1YjIjlCISFbdfTf89rfhglJ33KEdeUVynUJEsuaxx8JprO99D0aOVICI1AcKEcmKF16Aiy6CE0+Ep56CRtle5ioiGaEQkYybPDlM5S0shOefh6ZN465IRGqLQkQy6t13YdAg2G8/mDABdt457opEpDYpRCRjFiwI25m0bRt25G3TJu6KRKS2KUQkIxYvhpNPDlcjfP112GuvuCsSkUzQ8KbUuuXLw468X38N06bBvvvGXZGIZIpCRGrVunXholLLloUeyLe/HXdFIpJJChGpNV9/HTZRXLAAXnoJjjoq7opEJNMUIlIrNm2CM86AGTNg3LgwHiIi9Z9CRHZYWRmcfz688go89FAIExHJD5qdJTvEHS69NPQ+/vQnuPjiuCsSkWxSiMgO+dWvwj5Yw4bBddfFXY2IZJtCRNL2xz/CiBHws5/BrbfGXY2IxEEhImn5f/8Prr8eBg8OVybUjrwi+UkhIjX2t7/BT38atjR59FFo2DDuikQkLgoRqZFXX4VzzoGjj4ZnnoEmTeKuSETipBCRlL39Nnz/+9CtW1hM2Lx53BWJSNwUIpKSefPCavQOHcJ6kNat465IROoChYhs18KFYQV6ixYwaRLssUfcFYlIXaEV61KtpUvDjrylpeEKhfvsE3dFIlKXKESkSqtXhx7I6tXw5ptw4IFxVyQidY1CRJL68ksYMAD+858wBlJYGHdFIlIXKURkGxs2wOmnw+zZ8Oyz0KdP3BWJSF2lEJGtlJbC2WeH01ePPQaDBsVdkYjUZZqdJf+zZQv85Cfw/PNw991w3nlxVyQidZ1CRICwpfu118Ijj8BvfwtXXhl3RSKSC7YbIhaca2a/ib7vaGY9M1+aZNPvfw9//jNcdRX85jdxVyMiuSKVnsj9wFHA2dH3XwL3Zawiybp77w3Bcf75cOed2pFXRFKXysB6L3fvYWZzANx9rZlp27164skn4YorwgD6ww9DA53gFJEaSOVPxmYzawg4gJm1A7ZktCrJihdfhCFD4Pjjw+VtG2munojUUCohcg/wHLC7md0KTAduy2hVknFTp8IPfwg9esALL0DTpnFXJCK5aLv/9nT3J81sNnAiYMDp7v5hxiuTjJk9G049FTp3hpdfhpYt465IRHJVqicwPga+SBxvZh3d/bOMVSUZ869/Qf/+sNtu8Npr0LZt3BWJSC7bboiY2RXAzcByoIzQG3Gge2ZLk9r22WdhR96GDcOW7gUFcVckIrkulZ7IVcAB7r4608VI5qxYEQLkyy/DeEjXrnFXJCL1QSohsgT4PNOFSOZ8/jn06wdLloQeyCGHxF2RiNQXqYTIJ8AUM5sAbEw0uvudGatKas369WEQ/YMPYPx4OOaYuCsSkfoklRD5LLo1iW6SIzZvhjPPhOnTYcyYMKAuIlKbUpni+zsAM2sZvvWvMl6V7LCysrCQ8OWX4cEH4ayz4q5IROqjVDZgPDja8mQ+8IGZzTazbik8b5SZrTCz+Ukeu87M3MzaRt+bmd1jZgvNbJ6Z9ahw7BAz+zi6DanQfriZvR895x4z7fiU4B62MhkzBkaMgKFD465IROqrVFasjwSucfd93H0f4Frg/6XwvEeAbU6gmNnewEmEU2QJpwBdo9tQ4IHo2N0I04t7AT2Bm81s1+g5D0THJp6nkzWRm26CBx6AX/4Srr8+7mpEpD5LJURauPvkxDfuPgVosb0nufs0YE2Sh+4Cfkm0F1fkNOAxD2YArc2sPdAPmOTua9x9LTAJ6B891srd33F3Bx4DTk/hvdR7//d/cOut4eJSI0bEXY2I1Hcpzc4ys5uAx6PvzwUWpfPDzGwQsNTd/1np7FMHwlTihOKorbr24iTteW3UKLjuujCY/sAD2tJdRDIvlZ7IRUA74FnCRoztgAtr+oPMrDlwI5DskkfJ/tx5Gu1V/eyhZlZkZkUrV65Mpdyc8/e/h97HySfDE0+EVekiIpmWyuystUBtXCx1X6AzkOiFFADvRVdJLAb2rnBsAbAsau9TqX1K1F6Q5Pik3H0kYWyHwsLCKsMmV02aBD/6EfTqBc8+C000EVtEsqTKEDGz0VT9r3t394tr8oPc/X1g9wqvvxgodPdVZjYeuNzMxhIG0T939xIzexW4rcJg+snAMHdfY2ZfmtmRwEzgfOAvNamnvpgxA773PfjWt2DCBGix3dEqEZHaU11P5KUkbR2Bq4HtniwxszGEXkRbMysGbnb3h6s4/GVgALAQWE90uiwKi+HAu9Fxt7h7YrD+EsIMsGbAxOiWV+bPhwEDYM894dVXYdddt/8cEZHaZGFy03YOMusC/AroTZhd9bC7b8pwbRlRWFjoRUVFcZexwz75BL7znTB4Pn16uDaIiEimmNlsdy+s3F7tmIiZHUgYDD8M+BPwM3cvzUyJkqply6BvX9i4EaZNU4CISHyqGxP5G1AI3AH8nHAtkVaJqbkVTitJFq1ZE3bkXbkS3ngDum137wARkcypridyBGFg/TrCKnUon1rrQJcM1iVJfPUVfPe78O9/w8SJ0LNn3BWJSL6rMkTcvVMW65Dt2LgRvv99mDUrrAk54YS4KxIRSf0a6xKj0tKwDmTSJBg9Gk7XBi8iUkeksmJdYuQOP/1pWER4111wwQVxVyQiUq7KEDEzzfmJmTv84hdhT6ybboKrr467IhGRrVXXE3kGwMzeyFItUskf/hB25b38cvjd7+KuRkRkW9WNiTQws5uB/c3smsoP6hrrmfXAA3DjjXDOOXD33dqRV0Tqpup6IoOBDYSgaZnkJhkyZgxcdhkMHBgG0hto5EpE6qjqpvh+BNxuZvPcPe/2pYrLyy/D+edD797w9NPQuHHcFYmIVC2Vf+O+bWZ3Jq7HYWb/Z2a7ZLyyPPTWW/CDH0D37jB+PDRrFndFIiLVSyVERgFfAj+Mbl8AozNZVD6aMyecvtpnH3jlFWjVKu6KRES2L5XFhvu6+w8qfP87M5ubqYLy0b//HfbD2mWXsKCwXbu4KxIRSU0qPZFvzOw7iW/M7Bjgm8yVlF+WLIGTTgr3X38d9t67+uNFROqSVHoiPwMeqzAOshYYkrmS8sfKlSFA1q2DKVNg//3jrkhEpGZSucb6P4FDzKxV9P0XGa8qD3zxBfTvD59+Cq+9BocdFndFIiI1l/IGjAqP2vPNNzBoEMybB88/D8ceG3dFIiLp0S6+WbZ5M5x1Vrgi4ZNPhuuDiIjkKq2FzqDJk6FTp/AVYMsWuOgiePFFuO8+OPvsWMsTEdlhKfVEzOxooFPF4939sQzVVC9MnhzWfaxfH76++CI89xw88QTceitcckncFYqI7LjthoiZPQ7sC8wlXGcdwuVxFSJVqBggEL727x9OZV17LQwbFm99IiK1JZWeSCFwkLt7poupDyoHSMLmzdCwIQwYoB15RaT+SGVMZD6wZ6YLqQ+qCpCEsjI49dTyMRIRkVyXSk+kLbDAzGYBGxON7j4oY1XloO0FSEJijOSll+D447NTm4hIpqQSIr/NdBG5LtUASVCQiEh9kcqK9anZKCSXXXhh6gGSsH59eN7ixRkpSUQkK7Y7JmJmR5rZu2b2lZltMrMyM9Pq9QpGj4bmzWv2nObNw/NERHJZKgPr9wJnAx8DzYAfR20SOf74cGoq1SBp3lynskSkfkhpxbq7LwQaunuZu48G+mS0qhyUapAoQESkPkklRNabWRNgrpn90cx+DrTIcF05aXtBogARkfomlRA5LzrucuBrYG/gB9U+I49VFSQKEBGpj7YbIu7+KWBAe3f/nbtfE53ekipUDhIFiIjUV6nMzjqVsG/WK9H3h5rZ+EwXlusSQbLPPgoQEam/Ul1s2BOYAuDuc82sU8YqqkeOP17rQESkfktlTKTU3T/PeCUiIpJzUumJzDezHwENzawrcCXwdmbLEhGRXJBKT+QKoBth88UxwBfA1ZksSkREckMqe2etB26MbiIiIv+TypUNC4Ffse3lcbtnriwREckFqYyJPAn8Angf2JLZckREJJekEiIr3V3rQkREZBuphMjNZvYQ8AZbX9nw2YxVJSIiOSGV2VkXAocC/YFTo9vA7T3JzEaZ2Qozm1+h7U9m9i8zm2dmz5lZ6wqPDTOzhWb2kZn1q9DeP2pbaGY3VGjvbGYzzexjMxsXbRIpIiJZlEqIHOLuhe4+xN0vjG4XpfC8RwjBU9Ek4OBoUP7fwDAAMzsIGEyYStwfuN/MGppZQ+A+4BTgIODs6FiA24G73L0rsBa4OIWaRESkFqUSIjMq/OFOmbtPA9ZUanvN3UsTrwsURPdPA8a6+0Z3XwQsJGy10hNY6O6fuPsmYCxwmpkZcALwTPT8R4HTa1qjiIjsmFTGRL4DDDGzRYQxEQO8Fqb4XgSMi+53IIRKQnHUBrCkUnsvoA2wrkIgVTxeRESyJJUQqXxKaoeZ2Y1AKWH6MIRgqsxJ3lPyao6v6ucNBYYCdOzYsUa1iohI1VJZsf5pbf5AMxtCGJg/0d0Tf/iLCRe7SigAlrGVMn0AABHXSURBVEX3k7WvAlqbWaOoN1Lx+G24+0hgJEBhYWGVYSMiIjWT0jXWa4uZ9QeuBwZF26kkjAcGm9lOZtYZ6ArMAt4FukYzsZoQBt/HR+EzGTgjev4Q4IVsvQ8REQkyFiJmNgZ4BzjAzIrN7GLgXqAlMMnM5prZXwHc/QPgaWAB4eJXl7l7WdTLuBx4FfgQeDo6FkIYXWNmCwljJA9n6r2IiEhyVn5GKT8UFhZ6UVFR3GWIiOQUM5vt7oWV27N6OktEROoXhYiIiKRNISIiImlTiIiISNoUIiIikjaFiIiIpE0hIiIiaVOIiIhI2hQiIiKSNoWIiIikTSEiIiJpU4iIiEjaFCIiIpI2hYiIiKRNISIiImlTiIiISNoUIiIikjaFiIiIpE0hIiIiaVOIiIhI2hQiIiK5pqQEjjsO/vvfuCtRiIiI5Jzhw2H69PA1ZgoREZFcUlICo0fDli3ha8y9EYWIiEguueUWKCsL98vKYu+NNIr1p4uISNXc4bPP4N13oagonML6xz/KH9+0KfRGbroJ9twzlhIVIiIidUVJSQiLRGgUFcHKleGxxo2hdWto0CCcykpI9Ebuuy+WkhUiIiJxWL26PCgSobF0aXisQQPo1g0GDoQjjgi3tm3hwAO3DhCIvTeiEBERybQvvoD33isPi3ffhUWLyh/ff3/o0wcKC0NgHHootGix9Wtceum2AZIQY2/E3D3rPzROhYWFXlRUFHcZIlJfrV8Pc+du3cP46KMwvgHQqVMIisLCcDv8cNhll+pfs6QEunSBDRuqPqZZM/jkk4z1RsxstrsXVm5XT0REJF2bNsH772/dw/jgg/LZU+3bh8A455zy0GjbtuY/Z/jwqnshCTH1RhQiIiKpKC2FDz/cuofxz3+GIAFo0yaExKBB5ael9tqrdn72O++U/5yqbNoEb79dOz+vBhQiIiKVbdkCCxdu3cOYMyecqgJo1SqchrrqqvJTU506gVlm6pkzJzOvWwsUIiKS39zh00+37mHMng2ffx4eb9YMDjsMfvKT8h5G165hBpUoREQkz1Rei/Huu7BqVXiscWM45BA4++zyHsZBB0Ej/amsij4ZEam/UlmLUXEM49vfhp12irfmHKMQEZH6YXtrMQ44IKzFSPQwDjsMmjePrdz6QiEiIrkn1bUYP/tZ+Nqjx/bXYkhaFCIiUrdlay2GpEUhIiJ1R5xrMSQtChERiUddW4shaVGIiEjmaS1GvaUQEZHap7UYeUP/1URkx2gtRl7LWIiY2ShgILDC3Q+O2nYDxgGdgMXAD919rZkZcDcwAFgPXODu70XPGQL8OnrZ37v7o1H74cAjQDPgZeAqz7d97UWyTWsxpJJM9kQeAe4FHqvQdgPwhruPMLMbou+vB04Buka3XsADQK8odG4GCgEHZpvZeHdfGx0zFJhBCJH+wMQMvh+R/KK1GJKCjIWIu08zs06Vmk8D+kT3HwWmEELkNOCxqCcxw8xam1n76NhJ7r4GwMwmAf3NbArQyt3fidofA05HISKSHq3FkDRle0xkD3cvAXD3EjPbPWrvACypcFxx1FZde3GSdhHZHq3FkFpUVwbWk0389jTak7+42VDCqS86duyYTn0iuUlrMSTDsh0iy82sfdQLaQ+siNqLgb0rHFcALIva+1RqnxK1FyQ5Pil3HwmMhHCN9R17CyIZUFICgwfDuHHpXyNbazEkBtkOkfHAEGBE9PWFCu2Xm9lYwsD651HQvArcZma7RsedDAxz9zVm9qWZHQnMBM4H/pLNNyJSq4YPh+nTa3aNbK3FkDrAMjUr1szGEHoRbYHlhFlWzwNPAx2Bz4Azo0Awwkyu/oQpvhe6e1H0OhcBv4pe9lZ3Hx21F1I+xXcicEUqU3wLCwu9qKiolt6lSC0oKYEuXWDDhtBb+OSTbXsjqazFSISF1mJIBpjZbHcv3KY935ZWKESkzrn0Unj44TCw3aQJnHcenHtu9WsxEmGhtRiSJQqRiEJE6pSKvZBkEmsxEqGhtRgSk6pCRCdIRbLNHebPh/Hj4Z57tg2Qhg2hf3945BGtxZA6TyEikg2bN8O0aSE4xo+HxYtDe7KptGVl8OabYT2HSB2nuX0imbJ2LTz1VJgh1a4d9O0LI0fCwQeHr+efH2ZRJVNWFmZqidRxGhMRqU3/+Q+8+GLobUybFsJg993h1FPDCvC+fcMg+PbGQqDqmVoiMdCYiEgmlJXBrFnlp6kWLAjtBx8Mv/xlCI6ePbdd0Dd8eFhNvr3Xrsm6EZEYKEREaurrr2HSpNDjeOklWLEiLOLr3RuGDg29ji5dqn+Nd94p36uqKps2wdtv117dIhmgEBFJxbJlITDGj4fXX4eNG8NU2wEDQm+jf39o3Tr115szJ3O1imSRQkQkGXeYNy+ExosvhgV/AJ07h+tnDBoExx5b9cC4SJ5QiIgkbNoEU6eWj2989lmYgturF9x2WwiOgw7SDrciFShEJL+tWQMvvxxC45VX4Msvw6yok06C3/wGvvtdzY4SqYZCRPLPxx+XT8OdPj3Mgtpzz7AV+6BBcOKJIUhEZLsUIlL/lZXBjBnlp6n+9a/Q3r07DBsWZlMVFuq6GiJpUIhI/fTVV/Daa+XTcFetCtNw+/QJu+aeemrY3FBEdohCROqP4uLyabhvvBEGylu3DuMagwZBv37aAVeklilEJHe5w9y55aep3nsvtO+7L1x2WQiOY47RNFyRDFKISG7ZuBGmTCkPjuLiMOX2qKNgxIgQHN/6lqbhimSJQkTqvlWryqfhvvpqGO9o3jycnrrllnC6avfd465SJC8pRKRu+uij8mm4//hH2Kxwr73gnHNCb+OEE6Bp07irFMl7ChGpG0pLw6aEidNU//53aD/0UPj1r8Nsqh49NA1XpI5RiEh8vvwynJ4aPz6crlq9OgyCn3ACXHllCI6OHeOuUkSqoRCR7FqypPw01eTJYRrubruVT8M9+WRo1SruKkUkRQoRySz3MPU2cZpq7tzQ3rVreW/j6KPDQkARyTn6P1dq34YN8Oabocfx4ouwdGkYyzj6aPjjH0OP44AD4q5SRGqBQkRqx8qVMGFC6G289lq4+l+LFuFiTYMGhYs3tW0bd5UiUssUIpIe97CRYeKiTW+/HdoKCuD880Nw9Omjabgi9ZxCRFJXWhrWbCTGNxYuDO09esDNN4fgOPRQrRYXySMKEaneF1+EizUlpuGuXQtNmoRrblx7LQwcGHofIpKXFCKyrU8/LZ+GO2UKbN4MbdqEnsagQeGqfy1bxl2liNQBChEJW4rMnl1+mmrevND+rW/Bz38eguPII6Fhw3jrFJE6RyGSr775JlxzY/z4cA2OkpIwDfc734E77gjrN/bfP+4qRaSOU4jkk+XLt56G+8034bRUYhruKaeE01YiIilSiNRn7rBgQflpqpkzQ1vHjnDxxaG3cdxxsNNOcVcqIjlKIVLfbN4M06eXB8cnn4T2wkL43e9Cj6N7d03DFZFaoRCpD9atK5+GO3Fi+H6nnaBvX7j++jANd6+94q5SROohhUiuWrSofLX41KlhIWC7dvC975VPw23RIu4qRaSeU4jkii1b4N13y09TzZ8f2g86CK67LgRHz56ahisiWaUQqcvWr4fXXy+fhrt8eQiJY4+FO+8MA+P77Rd3lSKSxxQidc1//xsCY/x4mDQpbKveqlWYfpuYhrvrrnFXKSICKEQyq6QEBg+GceNgzz2TH+MeTk0lTlPNmhXaO3WCoUNDcBx7bNivSkSkjlGIZNLw4WG67fDhcN995e2bNsFbb5UHx+LFob1nT/j970NwHHywpuGKSJ1n7h53DVlVWFjoRUVFmf9BJSXQpUs4HdWsWbhEbOIysRMnht1xmzYNs6gGDQrXGG/fPvN1iYikwcxmu3th5Xb1RDJl+HAoKwv3N2yAAw8M9/fYA848MwRH377QvHl8NYqI7KAGcfxQM/u5mX1gZvPNbIyZNTWzzmY208w+NrNxZtYkOnan6PuF0eOdKrzOsKj9IzPrF8d7SaqkBEaNCqvHIYx7NGoU9q1atgweeiiEiAJERHJc1kPEzDoAVwKF7n4w0BAYDNwO3OXuXYG1wMXRUy4G1rr7fsBd0XGY2UHR87oB/YH7zaxuLJIYPjwER0UNGoQQaRBLbouIZERcf9EaAc3MrBHQHCgBTgCeiR5/FDg9un9a9D3R4yeamUXtY919o7svAhYCPbNUf9VKSmD06DB4XtGmTaH9v/+Npy4RkQzIeoi4+1LgDuAzQnh8DswG1rl7aXRYMdAhut8BWBI9tzQ6vk3F9iTPic/w4WF1eTJlZeFxEZF6Io7TWbsSehGdgb2AFsApSQ5NnA9KNs/Vq2lP9jOHmlmRmRWtXLmy5kWnqqpeSIJ6IyJSz8RxOqsvsMjdV7r7ZuBZ4GigdXR6C6AAWBbdLwb2Boge3wVYU7E9yXO24u4j3b3Q3QvbtWtX2++nXHW9kAT1RkSkHokjRD4DjjSz5tHYxonAAmAycEZ0zBDghej++Oh7osff9LC4ZTwwOJq91RnoCszK0ntI7p13qu6FJGzaBG+/nZ16REQyLOvrRNx9ppk9A7wHlAJzgJHABGCsmf0+ans4esrDwONmtpDQAxkcvc4HZvY0IYBKgcvcvSyrb6ayOXNi/fEiItmmFesiIrJdVa1Y16IFERFJm0JERETSphAREZG0KURERCRtChEREUmbQkRERNKmEBERkbQpREREJG0KERERSZtCRERE0qYQERGRtClEREQkbQoRERFJm0JERETSphAREZG0KURERCRtChEREUmbQkRERNKmEBERkbTl3TXWzWwl8GkWf2RbYFUWf14u0GeSnD6X5PS5JJftz2Ufd29XuTHvQiTbzKwo2cXt85k+k+T0uSSnzyW5uvK56HSWiIikTSEiIiJpU4hk3si4C6iD9Jkkp88lOX0uydWJz0VjIiIikjb1REREJG0KkVpgZqPMbIWZza/icTOze8xsoZnNM7Me2a4x21L4TPqY2edmNje6/SbbNcbBzPY2s8lm9qGZfWBmVyU5Jh9/X1L5XPLqd8bMmprZLDP7Z/SZ/C7JMTuZ2bjod2WmmXXKeqHurtsO3oDeQA9gfhWPDwAmAgYcCcyMu+Y68Jn0AV6Ku84YPpf2QI/ofkvg38BB+n1J6XPJq9+Z6L//ztH9xsBM4MhKx1wK/DW6PxgYl+061ROpBe4+DVhTzSGnAY95MANobWbts1NdPFL4TPKSu5e4+3vR/S+BD4EOlQ7Lx9+XVD6XvBL99/8q+rZxdKs8iH0a8Gh0/xngRDOzLJUI6HRWtnQAllT4vpg8/x8kclTUVZ9oZt3iLibbolMPhxH+hVlRXv++VPO5QJ79zphZQzObC6wAJrl7lb8r7l4KfA60yWaNCpHsSPYvg3yfFvceYRuFQ4C/AM/HXE9WmdnOwN+Bq939i8oPJ3lKXvy+bOdzybvfGXcvc/dDgQKgp5kdXOmQ2H9XFCLZUQzsXeH7AmBZTLXUCe7+RaKr7u4vA43NrG3MZWWFmTUm/KF80t2fTXJIXv6+bO9zyeffGXdfB0wB+ld66H+/K2bWCNiFLJ9GVohkx3jg/GjWzZHA5+5eEndRcTKzPRPnbs2sJ+F3cXW8VWVe9J4fBj509zurOCzvfl9S+Vzy7XfGzNqZWevofjOgL/CvSoeNB4ZE988A3vRolD1bGmXzh9VXZjaGMHOkrZkVAzcTBsFw978CLxNm3CwE1gMXxlNp9qTwmZwBXGJmpcA3wOBs//LH5BjgPOD96Fw3wK+AjpC/vy+k9rnk2+9Me+BRM2tICMyn3f0lM7sFKHL38YTgfdzMFhJ6IIOzXaRWrIuISNp0OktERNKmEBERkbQpREREJG0KERERSZtCRERE0qYpviIxM7My4P0KTWPdfURc9YjUhKb4isTMzL5y953jrkMkHTqdJSIiaVOIiMSvWYULLc01s7PiLkgkVTqdJRIznc6SXKaeiIiIpE0hIiIiadPpLJGYJZni+4q73xBXPSI1oRAREZG06XSWiIikTSEiIiJpU4iIiEjaFCIiIpI2hYiIiKRNISIiImlTiIiISNoUIiIikrb/D3FMxUvIhd+iAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "U = S - X * interX_lm32.params['X']\n", "\n", "plt.figure(figsize=(6,6))\n", "interaction_plot(E, M, U, colors=['red','blue'], markers=['^','D'],\n", " markersize=10, ax=plt.gca())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Minority Employment Data" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "try:\n", " jobtest_table = pd.read_table('jobtest.table')\n", "except: # do not have data already\n", " url = 'http://stats191.stanford.edu/data/jobtest.table'\n", " jobtest_table = pd.read_table(url)\n", "\n", "factor_group = jobtest_table.groupby(['MINORITY'])\n", "\n", "fig, ax = plt.subplots(figsize=(6,6))\n", "colors = ['purple', 'green']\n", "markers = ['o', 'v']\n", "for factor, group in factor_group:\n", " ax.scatter(group['TEST'], group['JPERF'], color=colors[factor],\n", " marker=markers[factor], s=12**2)\n", "ax.set_xlabel('TEST');\n", "ax.set_ylabel('JPERF');" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: JPERF R-squared: 0.517\n", "Model: OLS Adj. R-squared: 0.490\n", "Method: Least Squares F-statistic: 19.25\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 0.000356\n", "Time: 23:41:20 Log-Likelihood: -36.614\n", "No. Observations: 20 AIC: 77.23\n", "Df Residuals: 18 BIC: 79.22\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 1.0350 0.868 1.192 0.249 -0.789 2.859\n", "TEST 2.3605 0.538 4.387 0.000 1.230 3.491\n", "==============================================================================\n", "Omnibus: 0.324 Durbin-Watson: 2.896\n", "Prob(Omnibus): 0.850 Jarque-Bera (JB): 0.483\n", "Skew: -0.186 Prob(JB): 0.785\n", "Kurtosis: 2.336 Cond. No. 5.26\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "min_lm = ols('JPERF ~ TEST', data=jobtest_table).fit()\n", "print(min_lm.summary())" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6,6));\n", "for factor, group in factor_group:\n", " ax.scatter(group['TEST'], group['JPERF'], color=colors[factor],\n", " marker=markers[factor], s=12**2)\n", "\n", "ax.set_xlabel('TEST')\n", "ax.set_ylabel('JPERF')\n", "fig = abline_plot(model_results = min_lm, ax=ax)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: JPERF R-squared: 0.632\n", "Model: OLS Adj. R-squared: 0.589\n", "Method: Least Squares F-statistic: 14.59\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 0.000204\n", "Time: 23:41:20 Log-Likelihood: -33.891\n", "No. Observations: 20 AIC: 73.78\n", "Df Residuals: 17 BIC: 76.77\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "=================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "Intercept 1.1211 0.780 1.437 0.169 -0.525 2.768\n", "TEST 1.8276 0.536 3.412 0.003 0.698 2.958\n", "TEST:MINORITY 0.9161 0.397 2.306 0.034 0.078 1.754\n", "==============================================================================\n", "Omnibus: 0.388 Durbin-Watson: 3.008\n", "Prob(Omnibus): 0.823 Jarque-Bera (JB): 0.514\n", "Skew: 0.050 Prob(JB): 0.773\n", "Kurtosis: 2.221 Cond. No. 5.96\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "min_lm2 = ols('JPERF ~ TEST + TEST:MINORITY',\n", " data=jobtest_table).fit()\n", "\n", "print(min_lm2.summary())" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6,6));\n", "for factor, group in factor_group:\n", " ax.scatter(group['TEST'], group['JPERF'], color=colors[factor],\n", " marker=markers[factor], s=12**2)\n", "\n", "fig = abline_plot(intercept = min_lm2.params['Intercept'],\n", " slope = min_lm2.params['TEST'], ax=ax, color='purple');\n", "fig = abline_plot(intercept = min_lm2.params['Intercept'],\n", " slope = min_lm2.params['TEST'] + min_lm2.params['TEST:MINORITY'],\n", " ax=ax, color='green');" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: JPERF R-squared: 0.572\n", "Model: OLS Adj. R-squared: 0.522\n", "Method: Least Squares F-statistic: 11.38\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 0.000731\n", "Time: 23:41:21 Log-Likelihood: -35.390\n", "No. Observations: 20 AIC: 76.78\n", "Df Residuals: 17 BIC: 79.77\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "Intercept 0.6120 0.887 0.690 0.500 -1.260 2.483\n", "TEST 2.2988 0.522 4.400 0.000 1.197 3.401\n", "MINORITY 1.0276 0.691 1.487 0.155 -0.430 2.485\n", "==============================================================================\n", "Omnibus: 0.251 Durbin-Watson: 3.028\n", "Prob(Omnibus): 0.882 Jarque-Bera (JB): 0.437\n", "Skew: -0.059 Prob(JB): 0.804\n", "Kurtosis: 2.286 Cond. No. 5.72\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "min_lm3 = ols('JPERF ~ TEST + MINORITY', data = jobtest_table).fit()\n", "print(min_lm3.summary())" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6,6));\n", "for factor, group in factor_group:\n", " ax.scatter(group['TEST'], group['JPERF'], color=colors[factor],\n", " marker=markers[factor], s=12**2)\n", "\n", "fig = abline_plot(intercept = min_lm3.params['Intercept'],\n", " slope = min_lm3.params['TEST'], ax=ax, color='purple');\n", "fig = abline_plot(intercept = min_lm3.params['Intercept'] + min_lm3.params['MINORITY'],\n", " slope = min_lm3.params['TEST'], ax=ax, color='green');" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: JPERF R-squared: 0.664\n", "Model: OLS Adj. R-squared: 0.601\n", "Method: Least Squares F-statistic: 10.55\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 0.000451\n", "Time: 23:41:21 Log-Likelihood: -32.971\n", "No. Observations: 20 AIC: 73.94\n", "Df Residuals: 16 BIC: 77.92\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "=================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "Intercept 2.0103 1.050 1.914 0.074 -0.216 4.236\n", "TEST 1.3134 0.670 1.959 0.068 -0.108 2.735\n", "MINORITY -1.9132 1.540 -1.242 0.232 -5.179 1.352\n", "TEST:MINORITY 1.9975 0.954 2.093 0.053 -0.026 4.021\n", "==============================================================================\n", "Omnibus: 3.377 Durbin-Watson: 3.015\n", "Prob(Omnibus): 0.185 Jarque-Bera (JB): 1.330\n", "Skew: 0.120 Prob(JB): 0.514\n", "Kurtosis: 1.760 Cond. No. 13.8\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "min_lm4 = ols('JPERF ~ TEST * MINORITY', data = jobtest_table).fit()\n", "print(min_lm4.summary())" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8,6));\n", "for factor, group in factor_group:\n", " ax.scatter(group['TEST'], group['JPERF'], color=colors[factor],\n", " marker=markers[factor], s=12**2)\n", "\n", "fig = abline_plot(intercept = min_lm4.params['Intercept'],\n", " slope = min_lm4.params['TEST'], ax=ax, color='purple');\n", "fig = abline_plot(intercept = min_lm4.params['Intercept'] + min_lm4.params['MINORITY'],\n", " slope = min_lm4.params['TEST'] + min_lm4.params['TEST:MINORITY'],\n", " ax=ax, color='green');" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 18.0 45.568297 0.0 NaN NaN NaN\n", "1 16.0 31.655473 2.0 13.912824 3.516061 0.054236\n" ] } ], "source": [ "# is there any effect of MINORITY on slope or intercept?\n", "table5 = anova_lm(min_lm, min_lm4)\n", "print(table5)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 18.0 45.568297 0.0 NaN NaN NaN\n", "1 17.0 40.321546 1.0 5.246751 2.212087 0.155246\n" ] } ], "source": [ "# is there any effect of MINORITY on intercept\n", "table6 = anova_lm(min_lm, min_lm3)\n", "print(table6)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 18.0 45.568297 0.0 NaN NaN NaN\n", "1 17.0 34.707653 1.0 10.860644 5.319603 0.033949\n" ] } ], "source": [ "# is there any effect of MINORITY on slope\n", "table7 = anova_lm(min_lm, min_lm2)\n", "print(table7)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 17.0 34.707653 0.0 NaN NaN NaN\n", "1 16.0 31.655473 1.0 3.05218 1.542699 0.232115\n" ] } ], "source": [ "# is it just the slope or both?\n", "table8 = anova_lm(min_lm2, min_lm4)\n", "print(table8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## One-way ANOVA" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "try:\n", " rehab_table = pd.read_csv('rehab.table')\n", "except:\n", " url = 'http://stats191.stanford.edu/data/rehab.csv'\n", " rehab_table = pd.read_table(url, delimiter=\",\")\n", " rehab_table.to_csv('rehab.table')\n", "\n", "fig, ax = plt.subplots(figsize=(8,6))\n", "fig = rehab_table.boxplot('Time', 'Fitness', ax=ax, grid=False)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df sum_sq mean_sq F PR(>F)\n", "C(Fitness) 2.0 672.0 336.000000 16.961538 0.000041\n", "Residual 21.0 416.0 19.809524 NaN NaN\n", " Intercept C(Fitness)[T.2] C(Fitness)[T.3]\n", "0 1.0 0.0 0.0\n", "1 1.0 0.0 0.0\n", "2 1.0 0.0 0.0\n", "3 1.0 0.0 0.0\n", "4 1.0 0.0 0.0\n", "5 1.0 0.0 0.0\n", "6 1.0 0.0 0.0\n", "7 1.0 0.0 0.0\n", "8 1.0 1.0 0.0\n", "9 1.0 1.0 0.0\n", "10 1.0 1.0 0.0\n", "11 1.0 1.0 0.0\n", "12 1.0 1.0 0.0\n", "13 1.0 1.0 0.0\n", "14 1.0 1.0 0.0\n", "15 1.0 1.0 0.0\n", "16 1.0 1.0 0.0\n", "17 1.0 1.0 0.0\n", "18 1.0 0.0 1.0\n", "19 1.0 0.0 1.0\n", "20 1.0 0.0 1.0\n", "21 1.0 0.0 1.0\n", "22 1.0 0.0 1.0\n", "23 1.0 0.0 1.0\n" ] } ], "source": [ "rehab_lm = ols('Time ~ C(Fitness)', data=rehab_table).fit()\n", "table9 = anova_lm(rehab_lm)\n", "print(table9)\n", "\n", "print(rehab_lm.model.data.orig_exog)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Time R-squared: 0.618\n", "Model: OLS Adj. R-squared: 0.581\n", "Method: Least Squares F-statistic: 16.96\n", "Date: Tue, 17 Dec 2019 Prob (F-statistic): 4.13e-05\n", "Time: 23:41:22 Log-Likelihood: -68.286\n", "No. Observations: 24 AIC: 142.6\n", "Df Residuals: 21 BIC: 146.1\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "===================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-----------------------------------------------------------------------------------\n", "Intercept 38.0000 1.574 24.149 0.000 34.728 41.272\n", "C(Fitness)[T.2] -6.0000 2.111 -2.842 0.010 -10.390 -1.610\n", "C(Fitness)[T.3] -14.0000 2.404 -5.824 0.000 -18.999 -9.001\n", "==============================================================================\n", "Omnibus: 0.163 Durbin-Watson: 2.209\n", "Prob(Omnibus): 0.922 Jarque-Bera (JB): 0.211\n", "Skew: -0.163 Prob(JB): 0.900\n", "Kurtosis: 2.675 Cond. No. 3.80\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "print(rehab_lm.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two-way ANOVA" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "try:\n", " kidney_table = pd.read_table('./kidney.table')\n", "except:\n", " url = 'http://stats191.stanford.edu/data/kidney.table'\n", " kidney_table = pd.read_csv(url, delim_whitespace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Explore the dataset" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "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", " \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", " \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", "
DaysDurationWeightID
00.0111
12.0112
21.0113
33.0114
40.0115
52.0116
60.0117
75.0118
86.0119
98.01110
\n", "
" ], "text/plain": [ " Days Duration Weight ID\n", "0 0.0 1 1 1\n", "1 2.0 1 1 2\n", "2 1.0 1 1 3\n", "3 3.0 1 1 4\n", "4 0.0 1 1 5\n", "5 2.0 1 1 6\n", "6 0.0 1 1 7\n", "7 5.0 1 1 8\n", "8 6.0 1 1 9\n", "9 8.0 1 1 10" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kidney_table.head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Balanced panel" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kt = kidney_table\n", "plt.figure(figsize=(8,6))\n", "fig = interaction_plot(kt['Weight'], kt['Duration'], np.log(kt['Days']+1),\n", " colors=['red', 'blue'], markers=['D','^'], ms=10, ax=plt.gca())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You have things available in the calling namespace available in the formula evaluation namespace" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 56.0 29.624856 0.0 NaN NaN NaN\n", "1 54.0 28.989198 2.0 0.635658 0.59204 0.556748\n", " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 58.0 46.596147 0.0 NaN NaN NaN\n", "1 56.0 29.624856 2.0 16.971291 16.040454 0.000003\n", " df_resid ssr df_diff ss_diff F Pr(>F)\n", "0 57.0 31.964549 0.0 NaN NaN NaN\n", "1 56.0 29.624856 1.0 2.339693 4.422732 0.03997\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:901: RuntimeWarning: invalid value encountered in greater\n", " return (a < x) & (x < b)\n", "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:901: RuntimeWarning: invalid value encountered in less\n", " return (a < x) & (x < b)\n", "/home/travis/miniconda/envs/statsmodels-test/lib/python3.7/site-packages/scipy/stats/_distn_infrastructure.py:1892: RuntimeWarning: invalid value encountered in less_equal\n", " cond2 = cond0 & (x <= _a)\n" ] } ], "source": [ "kidney_lm = ols('np.log(Days+1) ~ C(Duration) * C(Weight)', data=kt).fit()\n", "\n", "table10 = anova_lm(kidney_lm)\n", "\n", "print(anova_lm(ols('np.log(Days+1) ~ C(Duration) + C(Weight)',\n", " data=kt).fit(), kidney_lm))\n", "print(anova_lm(ols('np.log(Days+1) ~ C(Duration)', data=kt).fit(),\n", " ols('np.log(Days+1) ~ C(Duration) + C(Weight, Sum)',\n", " data=kt).fit()))\n", "print(anova_lm(ols('np.log(Days+1) ~ C(Weight)', data=kt).fit(),\n", " ols('np.log(Days+1) ~ C(Duration) + C(Weight, Sum)',\n", " data=kt).fit()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sum of squares\n", "\n", " Illustrates the use of different types of sums of squares (I,II,II)\n", " and how the Sum contrast can be used to produce the same output between\n", " the 3.\n", "\n", " Types I and II are equivalent under a balanced design.\n", "\n", " Do not use Type III with non-orthogonal contrast - ie., Treatment" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df sum_sq mean_sq F PR(>F)\n", "C(Duration, Sum) 1.0 2.339693 2.339693 4.358293 0.041562\n", "C(Weight, Sum) 2.0 16.971291 8.485645 15.806745 0.000004\n", "C(Duration, Sum):C(Weight, Sum) 2.0 0.635658 0.317829 0.592040 0.556748\n", "Residual 54.0 28.989198 0.536837 NaN NaN\n", " sum_sq df F PR(>F)\n", "C(Duration, Sum) 2.339693 1.0 4.358293 0.041562\n", "C(Weight, Sum) 16.971291 2.0 15.806745 0.000004\n", "C(Duration, Sum):C(Weight, Sum) 0.635658 2.0 0.592040 0.556748\n", "Residual 28.989198 54.0 NaN NaN\n", " sum_sq df F PR(>F)\n", "Intercept 156.301830 1.0 291.153237 2.077589e-23\n", "C(Duration, Sum) 2.339693 1.0 4.358293 4.156170e-02\n", "C(Weight, Sum) 16.971291 2.0 15.806745 3.944502e-06\n", "C(Duration, Sum):C(Weight, Sum) 0.635658 2.0 0.592040 5.567479e-01\n", "Residual 28.989198 54.0 NaN NaN\n" ] } ], "source": [ "sum_lm = ols('np.log(Days+1) ~ C(Duration, Sum) * C(Weight, Sum)',\n", " data=kt).fit()\n", "\n", "print(anova_lm(sum_lm))\n", "print(anova_lm(sum_lm, typ=2))\n", "print(anova_lm(sum_lm, typ=3))" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " df sum_sq mean_sq F PR(>F)\n", "C(Duration, Treatment) 1.0 2.339693 2.339693 4.358293 0.041562\n", "C(Weight, Treatment) 2.0 16.971291 8.485645 15.806745 0.000004\n", "C(Duration, Treatment):C(Weight, Treatment) 2.0 0.635658 0.317829 0.592040 0.556748\n", "Residual 54.0 28.989198 0.536837 NaN NaN" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " sum_sq df F PR(>F)\n", "C(Duration, Treatment) 2.339693 1.0 4.358293 0.041562\n", "C(Weight, Treatment) 16.971291 2.0 15.806745 0.000004\n", "C(Duration, Treatment):C(Weight, Treatment) 0.635658 2.0 0.592040 0.556748\n", "Residual 28.989198 54.0 NaN NaN\n", " sum_sq df F PR(>F)\n", "Intercept 10.427596 1.0 19.424139 0.000050\n", "C(Duration, Treatment) 0.054293 1.0 0.101134 0.751699\n", "C(Weight, Treatment) 11.703387 2.0 10.900317 0.000106\n", "C(Duration, Treatment):C(Weight, Treatment) 0.635658 2.0 0.592040 0.556748\n", "Residual 28.989198 54.0 NaN NaN\n" ] } ], "source": [ "nosum_lm = ols('np.log(Days+1) ~ C(Duration, Treatment) * C(Weight, Treatment)',\n", " data=kt).fit()\n", "print(anova_lm(nosum_lm))\n", "print(anova_lm(nosum_lm, typ=2))\n", "print(anova_lm(nosum_lm, typ=3))" ] } ], "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.7.5" } }, "nbformat": 4, "nbformat_minor": 1 }