Interactions and ANOVA
======================


.. _interactions_anova_notebook:

`Link to Notebook GitHub <https://github.com/statsmodels/statsmodels/blob/master/examples/notebooks/interactions_anova.ipynb>`_

.. raw:: html

   
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Note: This script is based heavily on Jonathan Taylor&#39;s class notes <a href="http://www.stanford.edu/class/stats191/interactions.html">http://www.stanford.edu/class/stats191/interactions.html</a></p>
   <p>Download and format data:</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[1]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
   <span class="kn">from</span> <span class="nn">statsmodels.compat</span> <span class="kn">import</span> <span class="n">urlopen</span>
   <span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
   <span class="n">np</span><span class="o">.</span><span class="n">set_printoptions</span><span class="p">(</span><span class="n">precision</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">suppress</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
   <span class="kn">import</span> <span class="nn">statsmodels.api</span> <span class="kn">as</span> <span class="nn">sm</span>
   <span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
   <span class="n">pd</span><span class="o">.</span><span class="n">set_option</span><span class="p">(</span><span class="s2">&quot;display.width&quot;</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
   <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
   <span class="kn">from</span> <span class="nn">statsmodels.formula.api</span> <span class="kn">import</span> <span class="n">ols</span>
   <span class="kn">from</span> <span class="nn">statsmodels.graphics.api</span> <span class="kn">import</span> <span class="n">interaction_plot</span><span class="p">,</span> <span class="n">abline_plot</span>
   <span class="kn">from</span> <span class="nn">statsmodels.stats.anova</span> <span class="kn">import</span> <span class="n">anova_lm</span>
   
   <span class="k">try</span><span class="p">:</span>
       <span class="n">salary_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;salary.table&#39;</span><span class="p">)</span>
   <span class="k">except</span><span class="p">:</span>  <span class="c1"># recent pandas can read URL without urlopen</span>
       <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://stats191.stanford.edu/data/salary.table&#39;</span>
       <span class="n">fh</span> <span class="o">=</span> <span class="n">urlopen</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
       <span class="n">salary_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="n">fh</span><span class="p">)</span>
       <span class="n">salary_table</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="s1">&#39;salary.table&#39;</span><span class="p">)</span>
   
   <span class="n">E</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">E</span>
   <span class="n">M</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">M</span>
   <span class="n">X</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">X</span>
   <span class="n">S</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">S</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Take a look at the data:</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[2]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="n">symbols</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;D&#39;</span><span class="p">,</span> <span class="s1">&#39;^&#39;</span><span class="p">]</span>
   <span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;r&#39;</span><span class="p">,</span> <span class="s1">&#39;g&#39;</span><span class="p">,</span> <span class="s1">&#39;blue&#39;</span><span class="p">]</span>
   <span class="n">factor_groups</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">groupby</span><span class="p">([</span><span class="s1">&#39;E&#39;</span><span class="p">,</span><span class="s1">&#39;M&#39;</span><span class="p">])</span>
   <span class="k">for</span> <span class="n">values</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_groups</span><span class="p">:</span>
       <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">=</span> <span class="n">values</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;X&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;S&#39;</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="n">symbols</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
                  <span class="n">s</span><span class="o">=</span><span class="mi">144</span><span class="p">)</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Experience&#39;</span><span class="p">);</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Salary&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Fit a linear model:</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[3]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">formula</span> <span class="o">=</span> <span class="s1">&#39;S ~ C(E) + C(M) + X&#39;</span>
   <span class="n">lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="n">formula</span><span class="p">,</span> <span class="n">salary_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">lm</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                      S   R-squared:                       0.957
   Model:                            OLS   Adj. R-squared:                  0.953
   Method:                 Least Squares   F-statistic:                     226.8
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           2.23e-27
   Time:                        22:54:53   Log-Likelihood:                -381.63
   No. Observations:                  46   AIC:                             773.3
   Df Residuals:                      41   BIC:                             782.4
   Df Model:                           4                                         
   Covariance Type:            nonrobust                                         
   ==============================================================================
                    coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   ------------------------------------------------------------------------------
   Intercept   8035.5976    386.689     20.781      0.000      7254.663  8816.532
   C(E)[T.2]   3144.0352    361.968      8.686      0.000      2413.025  3875.045
   C(E)[T.3]   2996.2103    411.753      7.277      0.000      2164.659  3827.762
   C(M)[T.1]   6883.5310    313.919     21.928      0.000      6249.559  7517.503
   X            546.1840     30.519     17.896      0.000       484.549   607.819
   ==============================================================================
   Omnibus:                        2.293   Durbin-Watson:                   2.237
   Prob(Omnibus):                  0.318   Jarque-Bera (JB):                1.362
   Skew:                          -0.077   Prob(JB):                        0.506
   Kurtosis:                       2.171   Cond. No.                         33.5
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Have a look at the created design matrix: </p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[4]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">exog</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[4]:</div>
   
   
   <div class="output_text output_subarea output_pyout">
   <pre>
   array([[ 1.,  0.,  0.,  1.,  1.],
          [ 1.,  0.,  1.,  0.,  1.],
          [ 1.,  0.,  1.,  1.,  1.],
          [ 1.,  1.,  0.,  0.,  1.],
          [ 1.,  0.,  1.,  0.,  1.]])
   </pre>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Or since we initially passed in a DataFrame, we have a DataFrame available in</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[5]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">orig_exog</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[5]:</div>
   
   <div class="output_html rendered_html output_subarea output_pyout">
   <div style="max-height:1000px;max-width:1500px;overflow:auto;">
   <table border="1" class="dataframe">
     <thead>
       <tr style="text-align: right;">
         <th></th>
         <th>Intercept</th>
         <th>C(E)[T.2]</th>
         <th>C(E)[T.3]</th>
         <th>C(M)[T.1]</th>
         <th>X</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <th>0</th>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>1</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>2</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 1</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>3</th>
         <td> 1</td>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>4</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
     </tbody>
   </table>
   </div>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>We keep a reference to the original untouched data in</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[6]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">frame</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[6]:</div>
   
   <div class="output_html rendered_html output_subarea output_pyout">
   <div style="max-height:1000px;max-width:1500px;overflow:auto;">
   <table border="1" class="dataframe">
     <thead>
       <tr style="text-align: right;">
         <th></th>
         <th>S</th>
         <th>X</th>
         <th>E</th>
         <th>M</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <th>0</th>
         <td> 13876</td>
         <td> 1</td>
         <td> 1</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>1</th>
         <td> 11608</td>
         <td> 1</td>
         <td> 3</td>
         <td> 0</td>
       </tr>
       <tr>
         <th>2</th>
         <td> 18701</td>
         <td> 1</td>
         <td> 3</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>3</th>
         <td> 11283</td>
         <td> 1</td>
         <td> 2</td>
         <td> 0</td>
       </tr>
       <tr>
         <th>4</th>
         <td> 11767</td>
         <td> 1</td>
         <td> 3</td>
         <td> 0</td>
       </tr>
     </tbody>
   </table>
   </div>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Influence statistics</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[7]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">infl</span> <span class="o">=</span> <span class="n">lm</span><span class="o">.</span><span class="n">get_influence</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">infl</span><span class="o">.</span><span class="n">summary_table</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
   ==================================================================================================
          obs      endog     fitted     Cook&apos;s   student.   hat diag    dffits   ext.stud.     dffits
                              value          d   residual              internal   residual           
   --------------------------------------------------------------------------------------------------
            0  13876.000  15465.313      0.104     -1.683      0.155     -0.722     -1.723     -0.739
            1  11608.000  11577.992      0.000      0.031      0.130      0.012      0.031      0.012
            2  18701.000  18461.523      0.001      0.247      0.109      0.086      0.244      0.085
            3  11283.000  11725.817      0.005     -0.458      0.113     -0.163     -0.453     -0.162
            4  11767.000  11577.992      0.001      0.197      0.130      0.076      0.195      0.075
            5  20872.000  19155.532      0.092      1.787      0.126      0.678      1.838      0.698
            6  11772.000  12272.001      0.006     -0.513      0.101     -0.172     -0.509     -0.170
            7  10535.000   9127.966      0.056      1.457      0.116      0.529      1.478      0.537
            8  12195.000  12124.176      0.000      0.074      0.123      0.028      0.073      0.027
            9  12313.000  12818.185      0.005     -0.516      0.091     -0.163     -0.511     -0.161
           10  14975.000  16557.681      0.084     -1.655      0.134     -0.650     -1.692     -0.664
           11  21371.000  19701.716      0.078      1.728      0.116      0.624      1.772      0.640
           12  19800.000  19553.891      0.001      0.252      0.096      0.082      0.249      0.081
           13  11417.000  10220.334      0.033      1.227      0.098      0.405      1.234      0.408
           14  20263.000  20100.075      0.001      0.166      0.093      0.053      0.165      0.053
           15  13231.000  13216.544      0.000      0.015      0.114      0.005      0.015      0.005
           16  12884.000  13364.369      0.004     -0.488      0.082     -0.146     -0.483     -0.145
           17  13245.000  13910.553      0.007     -0.674      0.075     -0.192     -0.669     -0.191
           18  13677.000  13762.728      0.000     -0.089      0.113     -0.032     -0.087     -0.031
           19  15965.000  17650.049      0.082     -1.747      0.119     -0.642     -1.794     -0.659
           20  12336.000  11312.702      0.021      1.043      0.087      0.323      1.044      0.323
           21  21352.000  21192.443      0.001      0.163      0.091      0.052      0.161      0.051
           22  13839.000  14456.737      0.006     -0.624      0.070     -0.171     -0.619     -0.170
           23  22884.000  21340.268      0.052      1.579      0.095      0.511      1.610      0.521
           24  16978.000  18742.417      0.083     -1.822      0.111     -0.644     -1.877     -0.664
           25  14803.000  15549.105      0.008     -0.751      0.065     -0.199     -0.747     -0.198
           26  17404.000  19288.601      0.093     -1.944      0.110     -0.684     -2.016     -0.709
           27  22184.000  22284.811      0.000     -0.103      0.096     -0.034     -0.102     -0.033
           28  13548.000  12405.070      0.025      1.162      0.083      0.350      1.167      0.352
           29  14467.000  13497.438      0.018      0.987      0.086      0.304      0.987      0.304
           30  15942.000  16641.473      0.007     -0.705      0.068     -0.190     -0.701     -0.189
           31  23174.000  23377.179      0.001     -0.209      0.108     -0.073     -0.207     -0.072
           32  23780.000  23525.004      0.001      0.260      0.092      0.083      0.257      0.082
           33  25410.000  24071.188      0.040      1.370      0.096      0.446      1.386      0.451
           34  14861.000  14043.622      0.014      0.834      0.091      0.263      0.831      0.262
           35  16882.000  17733.841      0.012     -0.863      0.077     -0.249     -0.860     -0.249
           36  24170.000  24469.547      0.003     -0.312      0.127     -0.119     -0.309     -0.118
           37  15990.000  15135.990      0.018      0.878      0.104      0.300      0.876      0.299
           38  26330.000  25163.556      0.035      1.202      0.109      0.420      1.209      0.422
           39  17949.000  18826.209      0.017     -0.897      0.093     -0.288     -0.895     -0.287
           40  25685.000  26108.099      0.008     -0.452      0.169     -0.204     -0.447     -0.202
           41  27837.000  26802.108      0.039      1.087      0.141      0.440      1.089      0.441
           42  18838.000  19918.577      0.033     -1.119      0.117     -0.407     -1.123     -0.408
           43  17483.000  16774.542      0.018      0.743      0.138      0.297      0.739      0.295
           44  19207.000  20464.761      0.052     -1.313      0.131     -0.511     -1.325     -0.515
           45  19346.000  18959.278      0.009      0.423      0.208      0.216      0.419      0.214
   ==================================================================================================
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>or get a dataframe</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[8]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">df_infl</span> <span class="o">=</span> <span class="n">infl</span><span class="o">.</span><span class="n">summary_frame</span><span class="p">()</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[9]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">df_infl</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[9]:</div>
   
   <div class="output_html rendered_html output_subarea output_pyout">
   <div style="max-height:1000px;max-width:1500px;overflow:auto;">
   <table border="1" class="dataframe">
     <thead>
       <tr style="text-align: right;">
         <th></th>
         <th>dfb_Intercept</th>
         <th>dfb_C(E)[T.2]</th>
         <th>dfb_C(E)[T.3]</th>
         <th>dfb_C(M)[T.1]</th>
         <th>dfb_X</th>
         <th>cooks_d</th>
         <th>dffits</th>
         <th>dffits_internal</th>
         <th>hat_diag</th>
         <th>standard_resid</th>
         <th>student_resid</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <th>0</th>
         <td>-0.505123</td>
         <td> 0.376134</td>
         <td> 0.483977</td>
         <td>-0.369677</td>
         <td> 0.399111</td>
         <td> 0.104186</td>
         <td>-0.738880</td>
         <td>-0.721753</td>
         <td> 0.155327</td>
         <td>-1.683099</td>
         <td>-1.723037</td>
       </tr>
       <tr>
         <th>1</th>
         <td> 0.004663</td>
         <td> 0.000145</td>
         <td> 0.006733</td>
         <td>-0.006220</td>
         <td>-0.004449</td>
         <td> 0.000029</td>
         <td> 0.011972</td>
         <td> 0.012120</td>
         <td> 0.130266</td>
         <td> 0.031318</td>
         <td> 0.030934</td>
       </tr>
       <tr>
         <th>2</th>
         <td> 0.013627</td>
         <td> 0.000367</td>
         <td> 0.036876</td>
         <td> 0.030514</td>
         <td>-0.034970</td>
         <td> 0.001492</td>
         <td> 0.085380</td>
         <td> 0.086377</td>
         <td> 0.109021</td>
         <td> 0.246931</td>
         <td> 0.244082</td>
       </tr>
       <tr>
         <th>3</th>
         <td>-0.083152</td>
         <td>-0.074411</td>
         <td> 0.009704</td>
         <td> 0.053783</td>
         <td> 0.105122</td>
         <td> 0.005338</td>
         <td>-0.161773</td>
         <td>-0.163364</td>
         <td> 0.113030</td>
         <td>-0.457630</td>
         <td>-0.453173</td>
       </tr>
       <tr>
         <th>4</th>
         <td> 0.029382</td>
         <td> 0.000917</td>
         <td> 0.042425</td>
         <td>-0.039198</td>
         <td>-0.028036</td>
         <td> 0.001166</td>
         <td> 0.075439</td>
         <td> 0.076340</td>
         <td> 0.130266</td>
         <td> 0.197257</td>
         <td> 0.194929</td>
       </tr>
     </tbody>
   </table>
   </div>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Now plot the reiduals within the groups separately:</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[10]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">resid</span> <span class="o">=</span> <span class="n">lm</span><span class="o">.</span><span class="n">resid</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">));</span>
   <span class="k">for</span> <span class="n">values</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_groups</span><span class="p">:</span>
       <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">=</span> <span class="n">values</span>
       <span class="n">group_num</span> <span class="o">=</span> <span class="n">i</span><span class="o">*</span><span class="mi">2</span> <span class="o">+</span> <span class="n">j</span> <span class="o">-</span> <span class="mi">1</span>  <span class="c1"># for plotting purposes</span>
       <span class="n">x</span> <span class="o">=</span> <span class="p">[</span><span class="n">group_num</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">resid</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">index</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="n">symbols</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
               <span class="n">s</span><span class="o">=</span><span class="mi">144</span><span class="p">,</span> <span class="n">edgecolors</span><span class="o">=</span><span class="s1">&#39;black&#39;</span><span class="p">)</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Group&#39;</span><span class="p">);</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Residuals&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   KaUAAAAASUVORK5CYII=
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Now we will test some interactions using anova or f_test</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[11]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">interX_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s2">&quot;S ~ C(E) * X + C(M)&quot;</span><span class="p">,</span> <span class="n">salary_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">interX_lm</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                      S   R-squared:                       0.961
   Model:                            OLS   Adj. R-squared:                  0.955
   Method:                 Least Squares   F-statistic:                     158.6
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           8.23e-26
   Time:                        22:54:56   Log-Likelihood:                -379.47
   No. Observations:                  46   AIC:                             772.9
   Df Residuals:                      39   BIC:                             785.7
   Df Model:                           6                                         
   Covariance Type:            nonrobust                                         
   ===============================================================================
                     coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   -------------------------------------------------------------------------------
   Intercept    7256.2800    549.494     13.205      0.000      6144.824  8367.736
   C(E)[T.2]    4172.5045    674.966      6.182      0.000      2807.256  5537.753
   C(E)[T.3]    3946.3649    686.693      5.747      0.000      2557.396  5335.333
   C(M)[T.1]    7102.4539    333.442     21.300      0.000      6428.005  7776.903
   X             632.2878     53.185     11.888      0.000       524.710   739.865
   C(E)[T.2]:X  -125.5147     69.863     -1.797      0.080      -266.826    15.796
   C(E)[T.3]:X  -141.2741     89.281     -1.582      0.122      -321.861    39.313
   ==============================================================================
   Omnibus:                        0.432   Durbin-Watson:                   2.179
   Prob(Omnibus):                  0.806   Jarque-Bera (JB):                0.590
   Skew:                           0.144   Prob(JB):                        0.744
   Kurtosis:                       2.526   Cond. No.                         69.7
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Do an ANOVA check</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[12]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="kn">from</span> <span class="nn">statsmodels.stats.api</span> <span class="kn">import</span> <span class="n">anova_lm</span>
   
   <span class="n">table1</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">lm</span><span class="p">,</span> <span class="n">interX_lm</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table1</span><span class="p">)</span>
   
   <span class="n">interM_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s2">&quot;S ~ X + C(E)*C(M)&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">salary_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">interM_lm</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   
   <span class="n">table2</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">lm</span><span class="p">,</span> <span class="n">interM_lm</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table2</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
      df_resid              ssr  df_diff         ss_diff         F    Pr(&gt;F)
   0        41  43280719.492876        0             NaN       NaN       NaN
   1        39  39410679.807560        2  3870039.685316  1.914856  0.160964
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                      S   R-squared:                       0.999
   Model:                            OLS   Adj. R-squared:                  0.999
   Method:                 Least Squares   F-statistic:                     5517.
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           1.67e-55
   Time:                        22:54:57   Log-Likelihood:                -298.74
   No. Observations:                  46   AIC:                             611.5
   Df Residuals:                      39   BIC:                             624.3
   Df Model:                           6                                         
   Covariance Type:            nonrobust                                         
   =======================================================================================
                             coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   ---------------------------------------------------------------------------------------
   Intercept            9472.6854     80.344    117.902      0.000      9310.175  9635.196
   C(E)[T.2]            1381.6706     77.319     17.870      0.000      1225.279  1538.063
   C(E)[T.3]            1730.7483    105.334     16.431      0.000      1517.690  1943.806
   C(M)[T.1]            3981.3769    101.175     39.351      0.000      3776.732  4186.022
   C(E)[T.2]:C(M)[T.1]  4902.5231    131.359     37.322      0.000      4636.825  5168.222
   C(E)[T.3]:C(M)[T.1]  3066.0351    149.330     20.532      0.000      2763.986  3368.084
   X                     496.9870      5.566     89.283      0.000       485.728   508.246
   ==============================================================================
   Omnibus:                       74.761   Durbin-Watson:                   2.244
   Prob(Omnibus):                  0.000   Jarque-Bera (JB):             1037.873
   Skew:                          -4.103   Prob(JB):                    4.25e-226
   Kurtosis:                      24.776   Cond. No.                         79.0
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
      df_resid              ssr  df_diff          ss_diff           F        Pr(&gt;F)
   0        41  43280719.492876        0              NaN         NaN           NaN
   1        39   1178167.864864        2  42102551.628012  696.844466  3.025504e-31
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>The design matrix as a DataFrame</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[13]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">interM_lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">orig_exog</span><span class="p">[:</span><span class="mi">5</span><span class="p">]</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[13]:</div>
   
   <div class="output_html rendered_html output_subarea output_pyout">
   <div style="max-height:1000px;max-width:1500px;overflow:auto;">
   <table border="1" class="dataframe">
     <thead>
       <tr style="text-align: right;">
         <th></th>
         <th>Intercept</th>
         <th>C(E)[T.2]</th>
         <th>C(E)[T.3]</th>
         <th>C(M)[T.1]</th>
         <th>C(E)[T.2]:C(M)[T.1]</th>
         <th>C(E)[T.3]:C(M)[T.1]</th>
         <th>X</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <th>0</th>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>1</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>2</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>3</th>
         <td> 1</td>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
       <tr>
         <th>4</th>
         <td> 1</td>
         <td> 0</td>
         <td> 1</td>
         <td> 0</td>
         <td> 0</td>
         <td> 0</td>
         <td> 1</td>
       </tr>
     </tbody>
   </table>
   </div>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>The design matrix as an ndarray</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[14]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">interM_lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">exog</span>
   <span class="n">interM_lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">exog_names</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[14]:</div>
   
   
   <div class="output_text output_subarea output_pyout">
   <pre>
   [&apos;Intercept&apos;,
    &apos;C(E)[T.2]&apos;,
    &apos;C(E)[T.3]&apos;,
    &apos;C(M)[T.1]&apos;,
    &apos;C(E)[T.2]:C(M)[T.1]&apos;,
    &apos;C(E)[T.3]:C(M)[T.1]&apos;,
    &apos;X&apos;]
   </pre>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[15]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">infl</span> <span class="o">=</span> <span class="n">interM_lm</span><span class="o">.</span><span class="n">get_influence</span><span class="p">()</span>
   <span class="n">resid</span> <span class="o">=</span> <span class="n">infl</span><span class="o">.</span><span class="n">resid_studentized_internal</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="k">for</span> <span class="n">values</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_groups</span><span class="p">:</span>
       <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">=</span> <span class="n">values</span>
       <span class="n">idx</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">index</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">resid</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="n">symbols</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
               <span class="n">s</span><span class="o">=</span><span class="mi">144</span><span class="p">,</span> <span class="n">edgecolors</span><span class="o">=</span><span class="s1">&#39;black&#39;</span><span class="p">)</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;X&#39;</span><span class="p">);</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;standardized resids&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAF/CAYAAACmKtU3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
   AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2YXGV9//H3dzNZMhMQSEDAhJAHBSpCgSrykwQ2LjFI
   CUiKIqs19deIJpaHWEtrxYtoelnFiuKvaJUgidKorQUhKipGVpCCIhLBBxAJCYYsYBAlZLPZ3ez3
   98fMnMxu5uGcmTlzZmY/r+uaK7uzZ8/cJ7NzPud+OPdt7o6IiAhAR9IFEBGR5qFQEBGRgEJBREQC
   CgUREQkoFEREJKBQEBGRQKKhYGbTzewHZvYrM3vYzC5NsjwiIuOdJXmfgpkdDhzu7hvNbH/gAeA8
   d38ksUKJiIxjidYU3P1pd9+Y+/pF4NfAtCTLJCIynjVNn4KZzQROBH6cbElERMavpgiFXNPR14HL
   cjUGERFJQCrpAphZimwgfNndby2xjSZoEhGpgrtblO2boabwReBX7n5tuY3cvW0fV111VeJl0PHp
   2HR87feoRtJDUk8D3ga83sweNLOfmdlZSZZJRGQ8S7T5yN3vASYkWQYREdmrGZqPxr2urq6kixCr
   dj6+dj420PGNR4nevBaWmXkrlFNEpJmYGd6CHc0iItIkFAoiIhJQKIiISEChICIiAYWCiIgEFAoi
   IhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChINIgfX19
   zDl6Dk8//XTSRREpSaEg0iCrPrqKzU9tZtVHVyVdFJGStPKaSAP09fUx+5jZDPQMkP5Kmk2PbuLw
   ww9PuljS5rTymkiTWvXRVYycMAJHwJ7j96i2IE1LNQWRmAW1hIsH4ABgB6SvV21B4qeagkgTCmoJ
   B+SeOEC1BWleqimIxGifWkKeagvSAKopiDSZfWoJeaotSJNSTUEkJiVrCXmqLUjMVFOQltZuN3eV
   rCXkqbYgTUihIE2jnW7u6uvr48a1NzJ46mDZ7QZPHeTGtTe2TRBK60s8FMzsBjN7xsweSroskpz8
   SXTkr0fa4iRZsZaQp9qCNJnE+xTMbC7wIvAldz+hxDbqU2hzyy9Zzg0P3sDggkE67+hk6clLue4z
   1yVdrKpNP2o6Tz35VOjtp82YxtYtW2MsUbz6+vqYe8Zc7rnrHvWPNJGW7FNw9x8BzyddDknO2KaW
   dmhS2bplK+4e+tGoQBgaGmLt2rUMDQ3Vdb/t1PQ33iUeChKPKJ22SXfw6uauxhgaGmLR4kUsfe9S
   Fi1eVLdgaLemv/FOodCmoly5JXmVV6pDth1qC80kHwh3P3E3w5cOc/cTd9ctGDSvU3tJvE8BwMyO
   AtaX61O46qqrgu+7urro6upqUOlaT5QZOZOevbOwL2GsduhbaAaFgdB/fj+kgGHI3JJh3qx5rL95
   PRMnTqxq35rXqbn09vbS29sbfP/hD384cp9Cs4TCTLKhcHyJn6ujOYIonbZJdvDq5q76KNfJWzQQ
   8uoQDMVCXWHePFqyo9nM1gH/CxxtZk+a2TuTLlMri9Jpm3QHb6vf3BVXp21UpZr/ygYCQAr6z++v
   uilJTX/tKfFQcPced3+Zu+/n7jPc/caky9TKonTaJtnB2+o3d8XVaRtVqU7eioGQV0MwaF6n9pR4
   KEj9RLlyS/oqr+gJZQdwbSr7b14TnmDi7LSNqlgnb+hAyKsiGCqFerOGuVTWFH0KlahPIZwonbZJ
   d/AWv7mrE0gDu4DR5WqWm7vi7LSNqmgn7xfSvPa1r+UnfT8JFwiFIhxHub+fPPUtJK+aPgWFQpuI
   0mnr7k3XwdvX18fs2ccxMLCBdPpMNm36Zd1ee2hoiHXr1tHT01PTCTvuTtuoip2YJ3xnAiMPjuDv
   c9ivip3uhtRnUqy+bjVLliwpuknFv7U8DRRIXEt2NEt9ROm0bcYO3lWrrmZkZAlwEnv2vINVq66u
   y36Hhoa4cNEi3rd0KRcuqr6JJ+5O26hKNd/sOW0PhpH+nzQMR9zpMGRuy9A9v5uenp6Sm2lep/am
   mkIbiHLlNunzkwAYeHfzXOXtrSX8EjgC6COdflXNtYV8IAzdfTfr+vvpyWSYOG8eX1sf7Uo+Uht9
   g2oMlZr/Dnv6MJ6b9Fz4JqQI5R5v8zq1MtUUxqkoV26DBw4yeNxgU13l7a0lHJF75oiaawuFgfD1
   /n4OAL7e38/Q3XdHqjE0otM2qjCdvNuf3c4pR5xC5pZM5RpDxCBr1nmdpD5UU2gDka7cJgB7wu87
   7qu8fWsJwU+qri2MDYTCpvXdwAUhawyRA6FQjDWGsJ287zzxnWzesrl8+RPqJJfGUE1hnIp05TYc
   /gqvEVd5+9YS8qqrLZQLBMj2vYatMaxbt44Nd26g/9yIgQDZGsO5/Wy4cwPr1q2L+MulRbm/40tf
   /hLXf/Z65s2aV7zGoECQIhQKLSTKHbTNcrdtOX19fdx441oGB68o+vPBwSu48ca1oce6VwqEvLDB
   0NPTQ/f8bjK3hWiCGStkp21UUTt5P/aJj7H+5vX7BoMCQUpQ81GLGBoaYtGiC9mw4Yd0d5/B+vVf
   K/lBzp8cf7hhA2d0d0fuWG2U5ctXcMMNMDj4qZLbdHauYOlS47rrrim7r7CBUChMU1JVTUgxnnCr
   7eQddRzn9pO5TYEwHug+hTaVD4S77x6iv38dmUwP8+ZNLBoM9RpxE7fSfQn7bFmxb6GaQMirezDU
   KRDqdW/F2H0uWryIDXduoHt+twJhHKgmFCK1Lyf1yBZzfBocHPSFC8/3TOYchwEHdxjwTOYcX7jw
   fB8cHBy17fkLF/o5mYwPZDf0AfBzMhk/f+HCUdsmbdmyy72z8/Lc8ZR/dHZe7suXryi5rzVr1viU
   VMpfCLOzIo8XwKekUr5mzZqSrzE4OOgLz1nomeMyzpU4K4s8rsQzx2V84Tm1/V/nXys1OVXzvort
   e82aNXX/W4hrv1Kb3Lkz2vk26i8k8RivoVA8ELxoMBQLhPyjGYNh2rRZDoR+TJs2q+S+yh17pUeU
   /5uywVDnQMgcl3E+EG6fSZ+Q8///U1Kppvobk+pCQc1HTWp0k9HXKT5nwW4ymQuYO3cCae9nzz33
   lGw+iTIUsxXF1adQ7HXimvuomn0n3X/UKs2V45Waj9pE+RrC2MeAT+g40w/t2N93VHlVvG3bNp89
   +xjv6+tL8KhrF6XGUEvtqZqr+Uj7DFkLKTzeFxKoDbZSc+V4hZqPWl+0QNgbDGnm+0LSPljFyXDZ
   ssu9o+Pgsu32eTt37vSlS5f6zp074/6vqEqYYKjHiaue7f7V9FckfUJutebK8aqaUFDzURMJ12RU
   ym4yvJF53Md6dlGu4l7YbPLpL3yBY445MdTspP39/cyYeSzP/f6PTD30IJ7c/AiZTCZCGRujXnc0
   h3mdWkcIVTOyae7MuaQHvWhzYSOaCcM01bV7c2Wr0JDUFrd27VqWLn0fw8ObqXx3UjE7SDGN1exg
   ScUtYWYqxZ/PO5N77jmWwcFPlb0nIAiE7a8A/wbYm5h6yGOJBUNfXx/z586l95591yWG4ieuZjtR
   VXsPxISvdDBlK2zaPcL+RTaJ8zhLBcIQsA7ogeCCpNn+v8cjTXPR4np6eujuPoNMpofsRyqK3WQ4
   j26GqXT/7G6gJ5PhtXPncu+9Pw7uKC51B/HoQPg2cAD4t3lu+yuYMfNY+vv7I5a1dlevWsWzmzdz
   9ariE/ZNnDgxeyKaN48LMhl20FwnqKrnVUrBnotGePGIES5IZU/GY0WZyiNqmUsFwqIULO3M/pt/
   tbjKIfFSKDSRiROzN6TNmzeRTOYCwgfDbtJVNB3NOOaEirOT7hsI+VPBfokFQ19fH2tvvJENIyOs
   vbH0ko+FwTAzlap7INQylUit8yrtugg2dGSvzoup9wm5UiDcPR2G/z77r4KhxUXthEjiwTjqaHZv
   zOijLVu2+KRJBztsG7PZNk+np3hfX5/v3LnTpx56pGOvL1OOAcde71MPPbJhnc+XL1vml3d2uoNf
   3tnpK5Yvr/j/We9x/LWOzQ/VuVzqcSWemYkvTFHVwIJqFLtBcJBsGTIz2XsMJcoW5gZBqT/U0dw+
   4r5P4bLLrig571Bn5wqWLBnm5m/cWqSGUMxusLOL9jFUavuPqq+vj+Nmz+aXAwO55XjgVek0v9zU
   uCUfE1m8J28YMjfBvK2wfpiytcK8fP/RNatLL7EZpqyFNYUO9tYQ+t/OvkuTFpRxhOZquhtP1NHc
   ZsoHQzYQ8nMgAaFH3Gzfvr3CvEN9wMuBk4ANY163D5gP9AKFJ+HiwbBi+XLWfv7z/M173sM119W+
   gPuK5cvhhhv41ODeqaNXdHZiS5fWZf+V1LsDO+roo/RNcHqEQKj3aKsLFy1i9113MTS0i3uKBUJB
   WTM3wWlbYeLENPudfroCIQEKhTZUPBhGB0L+gxb2hBVmdlL4O7Ir8lw75vkVwFrgb4Cxo5RGB8Of
   /vQnjps9mw0DA5xZh6v5sbWE4HkaU1uIa6hrqGAIMeporDhG//T39zNrzgy2p59j5G1UDLGO/4RD
   dk3licefbMrhy+1Oo4/a0L6dzzuKBkJ+20ojbiqtYbDXB4GbgMJO3D6ygbAh9+/YDt79wL/Bc7//
   I5dddhlXr1rFkpERTgLesWdPyZFCeZU6bvP723c5nnD7r0U9F+8Za+LEicXXPMjL3Z/QfeyZvO70
   bi7KZCoOQYgjEIaGhlh84WJenLqrciCQ/fnI2+DFqbtYfOFidTK3iqidEEk8GGcdzcXkO59TqSn7
   zI5abNvzFizwyR0dft6CBaO2jTI7KVzmsKLg+8tzj/zXK8Zsv7fT+be//a0fPGmSb8v9cBv4lHS6
   5FQale4Q3rZt26j9jX1U2n8tEpk+48rwdzLH1blcsWxROsbrMBWIREcVHc2qKbSIfI1h9epryi6w
   k7fLMgzYS9hlo6vst912K4ODnwYsxONa4Jbcb+ZrCfkaxhWMri2Mbjr6909+ctRVfbmr+cLmk+FL
   h4suel+qlpAXV20h6kR7da0x7N53MryxtcGxNYa4bhhrxqVJJR7qU2gzYRfkKdZhG/yss5Ohd7yD
   r9763YLRR/+U+2lhP8QKsuHxr0X7En45MMAh7L3TdTv7tv2HmRl0+/btRfsSxqp330Lci/eUe91K
   i+E0+o7tqm+2Ay39mSDNkjrOhV2QJ2xTzOOPP569T4HTHIrf0wBTHE4bdZ9C/j6CQfCFpD3FAcFk
   fYX3FYSdGfSSiy8O7kuo9Ahz30JYjVi8p9x7WeneikbPklpVE5KajhJFK96nYGZnAZ8m2+l9g7t/
   vMg2nnQ5m12U4atXXHZZyVpCXn6Y57984hNMmXokuwcuAv69yJZ/x36TvsofnsuOLsmPENo4MMDF
   pLmbU+nnVjKcxzzu4wvs4qR0mo2PPsq7lr+r4oibzC0ZfMsedr0YftqPWdOmsWnr1tDbl5JUTaGa
   MjZqPYUkliaV6rXckFQz6wB+A3QD24D7gbe6+yNjtlMolBHlRrdTThlh470b+NXu3aGaYn5w772c
   eur8svc0FK6hvGL5cvasXs1vhlK5QLidYBhtbiqOOakhvjXjCH6ffq4hJ5ZaZjNt1OI9tYhjPedK
   rxdmCK0CIXmtGAqnAle5+xtz3/8T2erOx8dsp1AoIdp027tJpc5l2p57eMx3Vrz5aUVnJz94xat4
   5LHTy97TkJ9d9cor/4FXzprFibs7+MmoQNj7+hneyH7cx/Mzd0GpG5/GquEEU4/F6qMEw3iZGbRs
   MCgQmkYr3qcwDfhdwfdbc89JCNHXX9iP4eHb2OKn0Em64tijTw8O8vAvf13xnob87KpXXnEFBw6m
   SgRC9vX7uZ3n7VToSGdfJIwU9J/fX3RUUjlhRjWFUWnET167BUJfXx9z5hxbdMLBkvdWKBBaXtKh
   UOy0ULRKsHLlyuDR29sbb6laQPUL8uwH3E4m083Cheezc+dOFp6zkNTkFAvPWcjg4GDQ4bRs2eVM
   7Hw3xZuNCh3Bnj1/zdp1t7LFTykRCAWv77fD706FdWnYE7LYEYc17nMlu191wZKX1FDQJK1adTWb
   Nz87atbcQmGG0Epj9fb2jjpXVqMZmo9WuvtZue/VfBRSXRbkSc3k2ONexqbhTfSf20/mttEf6OnT
   Z/PUU0+E3qPZS3B/lnABtRsmvhFm3Ac9u7IzapQT4Qo0zqaNVli8px76+vpy82NVXpGvHk10Eo9W
   bD66H3i5mR1lZp3AW4HbEi5TS6h5QZ5MDwcePJnHhx4veSW9deumfYarDQ4OsmbNmqBGMTg4yMKF
   55PJnBMhEMhuN3Q7PBmixlCvQICqm6Lymn3xnnpZterq3FobJ+2zxsZY+RrD6utWKxDaQLMMSb2W
   vUNSP1ZkG9UUiqiuCSk7Cik9+ef0H7qdXYt3hb6SLjb8cd26dTXXWOiYBufugBOL/LiegVDlfku9
   ViOHgjbS3lpCfsTZ6BFm0jpasaaAu3/H3Y9x91cUCwQpLfpKbRUCAUpeSRc2m2weHg6mcXjzm99c
   U40FexPMHIbji/y4XoGwA7g2lf23wnGGla8xXLN6dVsFAhTWEkqvyCftK/FQkPCKjQYJHwwhAiFv
   zAmzv79/VDv6Aeyd3+ftixdz8803VbWEaCZzAVMPeYz0JPYdXlDPGsIPO+GPk7P/ljnOqMGwfft2
   PvKRf+W5556L9HthlBv5E6dSs+iWWr9b2o9CoYWUGg1SORgiBEJewQlz1pwZ7L7rrlFj9Asnfose
   DHvvsH5y8yOcPvv0moY1lp2sbQewsQP8Ttg4YXRtIX+cVU7WVml0Ti3i3Hel1x1dS8hTbWG8SLxP
   IQz1KYQbDVJuQZ5IgVAot1BK9+/gW0VW+yoceXPTzTezePHbQ91ZXThJ36gr/SKjoCopW1P4Zic8
   +Lew57MwYTmcdAOcUzC9R5V9C1FG50QV577DvW64u9dbXaPvBE9CS/YpSDgf/vDH2L27BziJgYGL
   WLly3+6XUgvyzJnzLH/cuY1d50UMBMgulPJWuLMjO9vpWNFqDMVXjCsc7576TCryCbrkjVT5WsKe
   D2W/3/Oh0bWFGjqbo4zOiSrOfYd73dITlLdLbSHfR/a+pUsjT3He9qLOoJfEg3E+S+qWLVu8o2Ny
   wSyl27yjY39/8skni24/ODjob3jDeT5hwkH+hjec5zt37qxtgZSZ+MIUPhhycZmdO3eGmq21WLkr
   zQxaTn4Wz/Qr09njfHWnM2HZ6KJOWJZ9/ko8/cp0VbN3btu2zSdNOnjU+5FOT6m4wE+Y46t237Xa
   93VLPRpTnjg1enbZJKFFdtrP0NAQc0/vZmTkHRSOBhkZ+WtOm/f6klc4nurHJ7yAp/orL/dYSm7x
   9XkhFoovX2MovYRooYkTJ7JkyZKqq/L543zpwCFMWMvoWkJerrYwYS28dOCQqoajVjM6J+yVaVIj
   fyrXEvJau7Yw9ubDwkETqjHkRE2RJB6M05rC4OCgd53Z5Vi6+FoGlvauM7tGXeGMmvP+A/su5Ri6
   xhCyhlBuDYEoS4jWy7Zt2/yg/fbzI6zTYVmJYi7zl1mnHzxpUuQr3tJX1KWvoMNemVaz73qZNm2W
   kx0DFuoxbdqs2MoSl3JLmcaxhGkzoIqaQuIn/FCFHIehkD+BTzh48r5NIPnHhGU+4eDJ5U/6Rdb4
   rRgMV+Ids/AFEQOh2Aer1iahqC5ftszfNXGiT2JSmaaQbZ4m7e+aODHygjzl1rju7Lzcly9fMWr7
   YieiUiegqPuW8JJa2zppCoU2EbSNH512UuVPbqTSnj467QvOXuBv+Ms3VFzFrGIw5LZ96eFT/ex0
   uuJC9ZU+UI0OhVnTpjmUqyXkH8scOn3WtGmh91253X30FX2UK9Oo+5bwwgRCuwaDQqENjDph/0WR
   jtKxjwnLnJM7veOgDu+Y01H26r9iMBRss3Pnzpo/SPnXSE1ONWw5xjg7TMtdyY+9oo96Zfrud18a
   et+trpEXClECoR2DQaHQ4kadqC+jQi1h78kNSzuzCddPUCoYPrDvWrq1VLkr7TsuYU7c1Zxko4bN
   G7u6Qgfqmen0mNFl9QuyZtPIC4VqAqHdgkGh0OLWrFnjqckp5wMlhlOWfCzL1irKBUKFYCj1Ia2m
   cy5M30Zc4uowjRI2HfZeP2rC5NAnoovpdKvY3BU9yJpNoy8U1qxZ41NSKX8hYiDkH4WDJlpVNaGg
   O5qbyKg7c58chh2DlX8p74BO+PuQ24+5aQsoe2dnlDUE2nWZxqhrS7yMTp4i3PsxPcK2ANOmzWLr
   1k2ht28GRf8uYv57qGZ97bx2WSNDdzS3uFH3E8xIwQeAOWmYOB8YYPRF7gAwH2al4UOEDwTYZ76f
   SvcHhF1DIO61DJJUbG2JsY81a9YwJZXiBYh0kt/KIA68AExJpVizZk3Z12mLQIDY/x7CLqM6VrsE
   QrUUCk0mHwynHXUaHZ/ZH7acml2Mpsh6x3A7bD4V/jPCspaQvUK7LUP3/G56enpClyv/AZuZSkUP
   hLwyJ4KhoSHWrl3bUmFRqKenhzO6u+mJcALK2w30ZDLZ3w/5nrSCpC8UogbDeA8EUCg0LRvOwK5T
   YTjEesdPRAiGGqrspdYQiLS4DRQ9EbTDXDS6Mh2tHhcK9RD2fWnX9yEq9Sk0mWpXU8POhln3wtvK
   rHccQxtu5EAoUp65M+eSHnT23HMP6/r76WnxD2aUtux2PRFV9XeRYB9Du74P1fQpKBSaSHWBkFch
   GGL6wK1du5al713K8KXD0YqbtxvsU8YJIxP58eBg2U7sVhImGNrhOIupx4VCI4OhXd8HUEdzy1u3
   bh0bNvyQ/v51RD/D7gf+Ddg0ETaO+VGMH7Senh6653eTuS3CRHsF5ZrwXx0c4saPcoEAoyfXa9em
   pHY+EZVd9KiSGhY9CiPsoInxTKHQRHp6empa7ziT6WHqoQeSfjxd9SpmUdUyA+uEr3QwZSts2j3C
   /mN+3M7B0M6BALVfKEQdBBFVpUET451CoYkULpJjnE2U9Y6Ns/dd3nJ3Y+4LiBwMFQIhrx2DYTxc
   mdY0VXuD7mMpNWhC1KfQlKL1LZRe3nLDnRvont/dsBvFQrUlhwyEQu1wZZ1vy/7hhg2c0d3dsscR
   RaS+hRa+sbGZqaO5jYQLhuLLW+Z/P4n1Zyvd0Rw1EPLaJRjafU3gscJeKCgQ4qFQaDPlg6F0ICSt
   1JQGnf/dycimQZ4ZgilV7HcHMDOV4prVq1myZEmdSy1xadepT1qBQqENFQ+G5g2EvFEngnP7ydw2
   +n6E8ToXzXiVxNxHolBoW6ODYR2ZTE9TB0Jesb4NIPIkZQqE9lDsQkGBEC+FQhvLB8OGDT+ku/uM
   pg+EvGLt6Lrjd/xKahDEeKVQaHPt1FE5nu/4He/a6e+42bVUKJjZBcBK4M+A17j7z8psq1BoQ+Nx
   LhqRRmq1aS4eBs4HfphgGSRB4/WOX5FmllgouPuj7v4YECnFpL2Mxzt+RZqZprmQxGkuGpHmEXUO
   w0jM7A7gsMKnyK4l+UF3Xx/na0tryQeDOiBFkhVrKLj7gnrta+XKlcHXXV1ddHV11WvX0iTya0WL
   SHV6e3vp7e2taR+JD0k1szuB97v7A2W20egjEZGIWmr0kZm9ycx+B5wKfNPMbk+qLCIikpV4TSEM
   1RRERKJrqZqCiIg0H4WCiIgEFAoiIhJQKIiISKBiKJjZm83sgNzXV5rZzWZ2cvxFExGRRgtTU/iQ
   u+8ws7nAmcANwOfiLZaIiCQhTCjsyf37l8AX3P1bQGd8RRIRkaSECYWnzOzzwFuAb5vZfiF/T0RE
   WkzFm9fMLAOcBTzs7o+Z2RHA8e7+vUYUMFcG3bwmIhJRXVdeM7Mp5X7R3f8Q5YVqoVAQEYmumlAo
   N0vqA2SnuTZgBvB87uuDgCeBWVWWU0REmlTJvgF3n+Xus4HvA4vc/RB3nwqcAzSs6UhERBonTJ/C
   w+5+fKXn4qTmIxGR6OrdfJS3zcyuBG4i25z0dmBbFeUTEZEmF2Zo6UXAocAtwDeAl+aeExGRNqP1
   FERE2lRdm4/M7NPufrmZrSfbbDSKu59bRRlFRKSJletT+HLu339rREFERCR5kZqPzOxg4Eh3fyi+
   IhV9XTUfiYhEFMtynGbWa2Yvyd3h/DPgejO7ptpCiohI8woz+uhAd38BWAx8yd1fS3YKbRERaTNh
   QiGVmwTvLcA3Yy6PiIgkKEwofAT4LvC4u99vZrOBx+ItloiIJEH3KYiItKm4OpqPNrMNZvaL3Pcn
   5Ka9EBGRNhOm+eh64APAEEBuOOpb4yyUiIgkI0woZNz9J2OeG46jMCIikqwwobDdzOaQm+rCzC4A
   +mItlYiIJCLMegqzgS8AryO7+toTwNvcfUtNL2x2NbAI2A08Drwzdz9EsW3V0SwiElHdO5rNrAN4
   tbufSXb67GPdfW6tgZDzPeA4dz+R7BDXD9RhnyIiUoOyoeDuI8AVua93uvuOer2wu38/t3+A+4Dp
   9dq3iIhUJ0yfwvfN7P1mdqSZTck/6lyO/wvcXud9iohIRGH6FJ4o8rS7++yKOze7Azis8CmyHdYf
   dPf1uW0+CJzs7n9VZj/qUxARiSiWNZrdfVa1BXL3BeV+bmZLgLOB11fa18qVK4Ovu7q66OrqqrZY
   IiJtqbe3l97e3pr2kdg0F2Z2FvBJ4HR3f67CtqopiIhEVE1NIclQeAzoBPKBcJ+7Ly+xrUJBRCSi
   lgqFKBQKIiLR1bVPwcxOLveL7v6zKC8kIiLNr2RNwczuzH05CXg18HOyo4dOAH7q7v+nISVENQUR
   kWrU9Y5md5/v7vPJznN0sru/2t3/AjgJeKq2ooqISDMKc/PaMe7+cP4bd/8F8GfxFUlERJJS8T4F
   4CEzWw3cRPbGs7cDD8VaKhERSUSYO5onAcuA03NP3QV8zt0HYi5bYRnUpyAiElFsQ1LNLA3McPdH
   qy1cLRQKIiLRxbVG87nARuA7ue9PNLPbqiuiiIg0szAdzVcBpwB/BHD3jcDMGMskIiIJCRMKw+7+
   p9hLIiLrlp19AAAOiUlEQVQiiQsz+ugXZtYDTDCzVwCXAv8bb7FERCQJYWoKlwDHkV1LeR3wJ+Dy
   OAslIiLJCDMkdR7wv+6+p+C5kxs595FGH4mIRBfL6CPgu8APzKxwBbXVkUomIiItIUwoPAp8Aug1
   s9flnouUPCIi0hrCdDS7u3/TzB4FvmZmXyQ73YWIiLSZMDUFA3D3x4B5ZKe7OCHOQomISDKqWnnN
   zGa4+5MxlKfU66mjWUQkonqvvHaFu19tZp8pscmlkUonIiJNr1yfwq9z/z7QiIKIiEjyqmo+ajQ1
   H4mIRFfv5qP1lBll5O7nRnkhERFpfuWaj/4t9+9i4HCyK68BXAQ8E2ehREQkGWGmufipu7+60nNx
   UvORiEh0cU1zMdnMZhe8yCxgctTCiYhI8wtzR/MKslNcbMp9PxO4OLYSiYhIYsqGgpl1AC8ArwCO
   zT39iLvvjrtgIiLSeGH6FB5095MaVJ5SZVCfgohIRHH1KWwws78ys7rOjGpmHzGzn5vZg2b2HTM7
   vJ77FxGR6MLUFHaQ7VgeBgbITpDn7v6Sml7YbH93fzH39SXAK919WYltVVMQEYmorjev5bn7AdUX
   qex+Xyz4djIwEsfriIhIeGFGH2FmB5PtbJ6Uf87d76r1xc3sX4B3AH8E5te6PxERqU2Y5qOlwGXA
   dGAjcCpwr7u/vuLOze4ACpfxNLJTZ3zQ3dcXbPePQNrdV5bYj5qPREQiiqX5iGwgvAa4z93nm9mx
   wEfD7NzdF4Qsx1eAbwErS22wcuXeH3V1ddHV1RVy1yIi40Nvby+9vb017SNMTeF+d3+NmW0EXuvu
   u83sl+5+XE0vbPZyd/9t7utLgHnu/pYS26qmICISUVw1ha1mdhDwDeAOM3se2FJNAcf4mJkdTbaD
   eQvwnjrsU0REahBpPQUzOwM4EPiOuw/GVqp9X1c1BRGRiKqpKZQMBTObUu4X3f0PUV6oFgoFEZHo
   6t189ADZkUIGzACez319EPAkMKvKcoqISJMqOc2Fu89y99nA94FF7n6Iu08FzgG+16gCiohI44QZ
   ffSwux9f6bk4qflIRCS6uEYfbTOzK8kux+nA24FtVZRPRESaXJhZUi8CDgVuITss9aW550REpM1E
   GpKaFDUfiYhEF0vzUe4Gs/eTXYYz2D7M3EciItJawnQ0/xz4D7JDVPfkn3f3B+It2qgyqKYgIhJR
   XB3Nw+7+uSrLJCIiLSRMR/N6M1tuZkeY2ZT8I/aSiYhIw4VpPnqiyNOeu7GtIdR8JCISXV3nPmom
   CgURkeji6lPAzF4FvJLRy3F+KVrxRESk2YUZknoV0EU2FL4NvBH4EaBQEBFpM2E6mi8AuoGn3f2d
   wJ+TXVNBRETaTJhQ2OXuI8Cwmb0EeBY4Mt5iiYhIEsL0Kfw0txzn9WRvYHsRuDfWUomISCKiLsc5
   E3iJuz8UV4FKvK5GH4mIRFTN6KOKzUdmtiH/tbtvdveHCp8TEZH2UbL5yMwmARngEDM7mOxSnAAv
   AV7WgLKJiEiDletTeDdwOdkAeIC9ofACcF3M5RIRkQSEmebiEnf/fw0qT6kyqE9BRCSiWPoUgKfN
   7IDcC1xpZjeb2clVlVBERJpamFD4kLvvMLO5wJnADYCm0hYRaUNhQiG/sM5fAl9w928BnfEVSURE
   khImFJ4ys88DbwG+bWb7hfw9ERFpMWE6mjPAWcDD7v6YmR0BHO/u32tEAXNlUEeziEhELbmegpm9
   H7gaOMTd/1BiG4WCiEhEcY0+io2ZTSfbeb0lyXKIiEhW0n0DnwL+IeEyiIhITmKhYGaLgN+5+8NJ
   lUFEREYLtRxntczsDuCwwqcAB64E/hlYMOZnIiKSoFhDwd0XFHs+t+bzTODnZmbAdOABMzvF3Z8t
   9jsrV64Mvu7q6qKrq6vexRURaWm9vb309vbWtI/ERx8BmNkTwMnu/nyJn2v0kYhIRC03+qiAo+Yj
   EZHENUVNoRLVFEREomvlmoKIiDQBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhI
   QKEgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIi
   ElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiKBxELB
   zK4ys61m9rPc46ykyiIiIlmphF//Gne/JuEyiIhITtLNR5bw64uISIGkQ+G9ZrbRzFab2YEJl0VE
   ZNyLtfnIzO4ADit8CnDgg8BngY+4u5vZvwDXAH9bal8rV64Mvu7q6qKrqyuGEouItK7e3l56e3tr
   2oe5e31KU0shzI4C1rv7CSV+7s1QThGRVmJmuHukZvokRx8dXvDtYuAXSZVFRESykhx9dLWZnQiM
   AJuBdydYFhERoUmajypR85GISHQt1XwkIiLNR6EgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKI
   iAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhIQKEgIiIBhYKIiAQUCiIiElAoiIhIQKEg
   IiIBhYJIlfr6+phz9ByefvrppIsiUjcKBZEqrfroKjY/tZlVH12VdFFE6sbcPekyVGRm3grllPGj
   r6+P2cfMZqBngPRX0mx6dBOHH3540sUSGcXMcHeL8juqKYhUYdVHVzFywggcAXuO36PagrQN1RRE
   IgpqCRcPwAHADkhfr9qCNB/VFEQaIKglHJB74gDVFqR9qKYgEsE+tYQ81RakCammIBKzfWoJeaot
   SJtQTUEkpJK1hDzVFqTJqKYgEqOStYQ81RakDSRaUzCzS4D3AkPAt9z9n0psp5qCJKpiLSFPtQVp
   Ii1VUzCzLmAR8Cp3Px74t6TKIlJJxVpCnmoL0uISqymY2deAz7v7D0Jsq5qCJGr6UdN56smnQm8/
   bcY0tm7ZGmOJRCqrpqaQZCg8CNwKnAXsAv7B3X9aYluFgohIRNWEQiquwgCY2R3AYYVPAQ5cmXvt
   g9z9VDN7DfBfwOw4yyMiIuXFGgruvqDUz8zsPcDNue3uN7MRM5vq7s8V237lypXB111dXXR1ddW3
   sCIiLa63t5fe3t6a9pFk89HFwDR3v8rMjgbucPejSmyr5iMRkYiarvmoghuBL5rZw8Bu4B0JlkVE
   RNAdzSIibaul7lMQEZHmo1AQEZGAQkFERAIKBRERCSgUREQkoFAQEZGAQkFERAIKBRERCSgUREQk
   oFAQEZGAQkFERAIKBRERCSgUREQkoFAQEZGAQkFERAIKBRERCSgUREQkoFAQEZGAQkFERAIKBRER
   CSgUREQkoFAQEZGAQkFERAIKBRERCSgUREQkoFAQEZGAQkFERAIKBRERCaSSemEz+ypwdO7bg4Hn
   3f3kpMojIiIJ1hTc/a3ufnIuCP4HuDmpsiStt7c36SLEqp2Pr52PDXR841GzNB+9BfhK0oVISrv/
   Ybbz8bXzsYGObzxKPBTMbB7wtLs/nnRZRETGu1j7FMzsDuCwwqcABz7o7utzz13EOK4liIg0E3P3
   5F7cbALwFHCyu28rs11yhRQRaWHublG2T2z0Uc4C4NflAgGiH5SIiFQn6T6FC1HTkYhI00i0+UhE
   RJpL0jWF0MzsKjPbamY/yz3OSrpMtTKzs8zsETP7jZn9Y9LlqTcz22xmPzezB83sJ0mXp1ZmdoOZ
   PWNmDxU8d7CZfc/MHjWz75rZgUmWsRYljq8tPndmNt3MfmBmvzKzh83s0tzzbfH+FTm+S3LPR37/
   WqamYGZXATvc/Zqky1IPZtYB/AboBrYB9wNvdfdHEi1YHZnZJuAv3P35pMtSD2Y2F3gR+JK7n5B7
   7uPAc+5+dS7YD3b3f0qynNUqcXxt8bkzs8OBw919o5ntDzwAnAe8kzZ4/8oc34VEfP9apqaQ004d
   zqcAj7n7FncfAr5K9k1sJ0br/Y2V5O4/AsYG3HnA2tzXa4E3NbRQdVTi+KANPnfu/rS7b8x9/SLw
   a2A6bfL+lTi+abkfR3r/Wu0D+14z22hmq1u1mldgGvC7gu+3svdNbBcOfNfM7jezdyVdmJi81N2f
   gewHEzg04fLEoZ0+d5jZTOBE4D7gsHZ7/wqO78e5pyK9f00VCmZ2h5k9VPB4OPfvIuCzwBx3PxF4
   Gmjp6izF07s12vLCe527vxo4m+wf5tykCySRtdXnLte08nXgstwVdVt95oocX+T3L+n7FEZx9wUh
   N70eWF9xq+a2FZhR8P10sn0LbSN35YW7/97MbiHbZPajZEtVd8+Y2WHu/kyuXffZpAtUT+7++4Jv
   W/pzZ2YpsifML7v7rbmn2+b9K3Z81bx/TVVTKCf3huUtBn6RVFnq5H7g5WZ2lJl1Am8Fbku4THVj
   ZpncVQtmNhl4A63/nkG2hldYy7sN+Jvc10uAW8f+QosZdXxt9rn7IvArd7+24Ll2ev/2Ob5q3r9W
   Gn30JbLtZCPAZuDd+bbAVpUbHnYt2XC+wd0/lnCR6sbMZgG3kK2ep4D/bPXjM7N1QBcwFXgGuAr4
   BvDfwJHAk8Cb3f2PSZWxFiWObz5t8Lkzs9OAu4CHyf5NOvDPwE+A/6LF378yx9dDxPevZUJBRETi
   1zLNRyIiEj+FgoiIBBQKIiISUCiIiEhAoSAiIgGFgoiIBBQKIhHlpineZGYH5b4/OPf9kUmXTaRW
   CgWRiNx9K9k5ZT6ee+pjwH+4++9K/5ZIa9DNayJVyM0z81PgRmApcJK7DydbKpHaNdWEeCKtwt2H
   zewK4DvAmQoEaRdqPhKp3tlkZ7Y9PumCiNSLQkGkCmZ2ItmlVE8F3mdmhyVcJJG6UCiIVOezZBcy
   2QpcDXwy4fKI1IVCQSSi3NKiW9z9B7mnPgccY2bzEiyWSF1o9JGIiARUUxARkYBCQUREAgoFEREJ
   KBRERCSgUBARkYBCQUREAgoFEREJKBRERCTw/wGQ5QUGXU0ExAAAAABJRU5ErkJggg==
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Looks like one observation is an outlier.</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[16]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">drop_idx</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">resid</span><span class="p">)</span><span class="o">.</span><span class="n">argmax</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">drop_idx</span><span class="p">)</span>  <span class="c1"># zero-based index</span>
   <span class="n">idx</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">drop_idx</span><span class="p">)</span>
   
   <span class="n">lm32</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;S ~ C(E) + X + C(M)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">salary_table</span><span class="p">,</span> <span class="n">subset</span><span class="o">=</span><span class="n">idx</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">lm32</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   <span class="k">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
   
   <span class="n">interX_lm32</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;S ~ C(E) * X + C(M)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">salary_table</span><span class="p">,</span> <span class="n">subset</span><span class="o">=</span><span class="n">idx</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">interX_lm32</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   <span class="k">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
   
   
   <span class="n">table3</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">lm32</span><span class="p">,</span> <span class="n">interX_lm32</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table3</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
   
   
   <span class="n">interM_lm32</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;S ~ X + C(E) * C(M)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">salary_table</span><span class="p">,</span> <span class="n">subset</span><span class="o">=</span><span class="n">idx</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="n">table4</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">lm32</span><span class="p">,</span> <span class="n">interM_lm32</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table4</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
   32
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                      S   R-squared:                       0.955
   Model:                            OLS   Adj. R-squared:                  0.950
   Method:                 Least Squares   F-statistic:                     211.7
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           2.45e-26
   Time:                        22:54:59   Log-Likelihood:                -373.79
   No. Observations:                  45   AIC:                             757.6
   Df Residuals:                      40   BIC:                             766.6
   Df Model:                           4                                         
   Covariance Type:            nonrobust                                         
   ==============================================================================
                    coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   ------------------------------------------------------------------------------
   Intercept   8044.7518    392.781     20.482      0.000      7250.911  8838.592
   C(E)[T.2]   3129.5286    370.470      8.447      0.000      2380.780  3878.277
   C(E)[T.3]   2999.4451    416.712      7.198      0.000      2157.238  3841.652
   C(M)[T.1]   6866.9856    323.991     21.195      0.000      6212.175  7521.796
   X            545.7855     30.912     17.656      0.000       483.311   608.260
   ==============================================================================
   Omnibus:                        2.511   Durbin-Watson:                   2.265
   Prob(Omnibus):                  0.285   Jarque-Bera (JB):                1.400
   Skew:                          -0.044   Prob(JB):                        0.496
   Kurtosis:                       2.140   Cond. No.                         33.1
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
   
   
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                      S   R-squared:                       0.959
   Model:                            OLS   Adj. R-squared:                  0.952
   Method:                 Least Squares   F-statistic:                     147.7
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           8.97e-25
   Time:                        22:54:59   Log-Likelihood:                -371.70
   No. Observations:                  45   AIC:                             757.4
   Df Residuals:                      38   BIC:                             770.0
   Df Model:                           6                                         
   Covariance Type:            nonrobust                                         
   ===============================================================================
                     coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   -------------------------------------------------------------------------------
   Intercept    7266.0887    558.872     13.001      0.000      6134.711  8397.466
   C(E)[T.2]    4162.0846    685.728      6.070      0.000      2773.900  5550.269
   C(E)[T.3]    3940.4359    696.067      5.661      0.000      2531.322  5349.549
   C(M)[T.1]    7088.6387    345.587     20.512      0.000      6389.035  7788.243
   X             631.6892     53.950     11.709      0.000       522.473   740.905
   C(E)[T.2]:X  -125.5009     70.744     -1.774      0.084      -268.714    17.712
   C(E)[T.3]:X  -139.8410     90.728     -1.541      0.132      -323.511    43.829
   ==============================================================================
   Omnibus:                        0.617   Durbin-Watson:                   2.194
   Prob(Omnibus):                  0.734   Jarque-Bera (JB):                0.728
   Skew:                           0.162   Prob(JB):                        0.695
   Kurtosis:                       2.468   Cond. No.                         68.7
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
   
   
      df_resid              ssr  df_diff         ss_diff         F    Pr(&gt;F)
   0        40  43209096.482552        0             NaN       NaN       NaN
   1        38  39374237.269069        2  3834859.213482  1.850508  0.171042
   
   
      df_resid              ssr  df_diff          ss_diff            F        Pr(&gt;F)
   0        40  43209096.482552        0              NaN          NaN           NaN
   1        38    171188.119937        2  43037908.362615  4776.734853  2.291239e-46
   
   
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p> Replot the residuals</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[17]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="k">try</span><span class="p">:</span>
       <span class="n">resid</span> <span class="o">=</span> <span class="n">interM_lm32</span><span class="o">.</span><span class="n">get_influence</span><span class="p">()</span><span class="o">.</span><span class="n">summary_frame</span><span class="p">()[</span><span class="s1">&#39;standard_resid&#39;</span><span class="p">]</span>
   <span class="k">except</span><span class="p">:</span>
       <span class="n">resid</span> <span class="o">=</span> <span class="n">interM_lm32</span><span class="o">.</span><span class="n">get_influence</span><span class="p">()</span><span class="o">.</span><span class="n">summary_frame</span><span class="p">()[</span><span class="s1">&#39;standard_resid&#39;</span><span class="p">]</span>
   
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="k">for</span> <span class="n">values</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_groups</span><span class="p">:</span>
       <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">=</span> <span class="n">values</span>
       <span class="n">idx</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">index</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">resid</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="n">symbols</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
               <span class="n">s</span><span class="o">=</span><span class="mi">144</span><span class="p">,</span> <span class="n">edgecolors</span><span class="o">=</span><span class="s1">&#39;black&#39;</span><span class="p">)</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;X[~[32]]&#39;</span><span class="p">);</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;standardized resids&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYUAAAF/CAYAAACmKtU3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
   AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2cnHV97//XB3YTdjT1htaGJgSysUDLjYKK/I4sbFwq
   aFksmErdY4lttxXCEYHzO56eo6fAWR8eTE/R0pO2ajic5eAoNYWaKCg4sGGlWi2VQvGOmoSwYRBB
   qdEh2dns5/wxM1dmd2d2bnauua5r5v18POaRnZlrdr6TSeY9n+t7Z+6OiIgIwBFRN0BEROJDoSAi
   IgGFgoiIBBQKIiISUCiIiEhAoSAiIoGeKJ/czJYDDwLLim3Z5u43RNkmEZFuZlHPUzCzlLvnzOxI
   4CHgKnf/RqSNEhHpUpGfPnL3XPHH5RSqBc2mExGJSOShYGZHmNm3gGeA+9z9m1G3SUSkW0UeCu4+
   6+6nA6uBN5rZr0fdJhGRbhVpR3M5d/+pmU0AFwDfLr/PzHRKSUSkCe5ujRwfaaVgZr9oZi8r/twH
   nAd8t9Kx7t6xl+uuuy7yNuj16bXp9XXepRlRVwrHAONmdgSFgLrD3e+OuE0iIl0r0lBw98eAM6Js
   g4iIHBZ5R7PA4OBg1E0IVSe/vk5+baDX140in7xWDzPzJLRTRCROzAxPUkeziIjEi0JBREQCCgUR
   EQkoFEREJKBQEBGRgEJBREQCCgUREQkoFEREJKBQEBGRgEJBREQCCgUREQkoFEREJKBQEBGRgEJB
   REQCCgUREQkoFEREJKBQEBGRgEJBREQCCgUREQkoFEREJKBQEBGRgEJBREQCCgUREQkoFEREJKBQ
   EBGRgEJBREQCCgUREQkoFEREJKBQEBGRgEJBREQCCgUREQkoFEREJKBQEBGRgEJBREQCCgUREQko
   FEREJKBQEBGRgEJBREQCCgUREQkoFES6SD6fZ3x8nHw+H3VTJKYUCiJdIp/PM3zJMKNXjjJ8ybCC
   QSpSKIh0gVIgTO6eZOaqGSZ3TyoYpCKFgkiHKw+E3MU5WA65i3MKBqlIoSDSwRYEQk/xjh4Fg1Sm
   UBDpUFUDoUTBIBVEGgpmttrM7jezb5vZY2Z2VZTtEekUNQOhRMEg85i7R/fkZiuBle7+iJm9FHgY
   eLu7f3fecR5lO0WSpO5AKDcDqbtSDKwdYMedO+jt7Q29nRI+M8PdrZHHRFopuPsz7v5I8eefAd8B
   VkXZJpEkayoQQBWDBGLTp2BmxwOvBf4h2pZIVLLZLOvWncQzzzwTdVMSK51Ok3kgQ+6iBgKhpAdy
   F+XIPJAhnU6H0j6Jv1iEQvHU0Tbg/cWKQbrQ2Nhm9ux5lrGxzVE3JbFGRkYYWj9EansKZhp88Ayk
   tqcYWj/EyMhIKO2T+Iu0TwHAzHqALwD3uPufVznGr7vuuuD64OAgg4OD7WmgtEU2m6W//2QOHMjQ
   13ceu3Y9zsqVK6NuViKpT6F7TUxMMDExEVy/4YYbGu5TiEMo3AY85+7XLnKMOpo73KZN13DLLTA9
   /TGWLbuG0VFjy5abom5WYjUUDAqEjtVMR3PUo4/eBDwIPAZ48fJf3f1L845TKHSww1XC48AxQJa+
   vlNiXy3k83nS6TQjIyOx/CCtKxgUCB0tiaOPHnL3I939te5+urufMT8QpPONjW1mdnYjhUAAOIZD
   hy6Ldd9CEhaX6+3tZcedOxhYO0Dqrgp9DAoEqSDy00f1UKXQuRZWCcE9sa0W5nwDvyhHanu8P1gr
   VgwKhK6QuEpBZGGVUBLPaiGJi8stqBgOKhCkOlUKEpnqVUJwRKyqhUXP0Sfgm3ep/ZkHMgytH4pt
   O6V1VClIolSvEkriUy10wuJypYph65atCgSpSpWCRKJ2lRAcGXm1oOGdklSqFCQxalcJJdFWCw1P
   BEtAxSCyGFUKEonVq/vZt2933cevWrWWqaldIbZooaYXlwNVDBILqhQkMaamduHudV/aHQigxeWk
   OykUpOPl83nGx8cbPpWjxeWkGykUpKPl83kuHR7m2tFRLh1u7Bx/zRnB1ejUkSSYQkE6VikQ8pOT
   7JmZIT85GX4wKBAk4RQK0pHKA2FbLscKYFsuF24wKBCkAygUpOPMD4TlxduXE2IwKBCkQygUpKNU
   C4SSUIJBgSAdRKEgHaNWIJS0NBi0uJx0GE1ek45QbyCUOwhsSKXoHRjgjh2NfaBrcTlJgsTtvFYv
   hYIspplAKFlqMMR55zURhYJ0pfHxca4dHWXPzAwrmnj8fuD4nh5u2rqVjRs3trp5IpFRKEhXiqpS
   EIk7rX0kXam3t7fwgT4wwIZUioN1Pk6BILKQQkE6QqPBoEAQqUyhIB2j3mBQIIhUp1CQjlIrGBQI
   IotTKEjHqRYMCgSR2hQK0pHmB8N+FAgi9VAodKhmN5bpJOXBcHxPjwJBpA6ap9CBSuP2d2YynDs0
   1PUfhJp5LN1Kk9dkzkSudC7HiE6ZiHQtTV7rcq3cWEZEupNCoUOEsbGMiHQfhUIHCHNjGRHpLgqF
   hGvHxjIi0j0UCgnW6OqgCgYRqUWhkFDNLhetYBCRxSgUEqR8Qlo6nWZnJkO6wf0DoBAM6Vyu8Ph0
   OoymikhCaZ5CQuTzeYaHLyWT2cnQ0LnceeftvPuSS7SxjIhUpXkKHaoUCJOTeWZm9jA5meeSS97N
   7XfeqY1lRKSlFAoxVx4Iudw2YAW53LamgkGBICK1KBRibGEgHJ6S1mgwKBBEpB4KhZiqHggl9QeD
   AkFE6qVQiKHagVBSOxgUCCLSCIVCzNQfCCXVg0Eby4hIoxQKMdJ4IJRUDgZtLCMijVIoxEg6nSaT
   2Ukul6b+QChZTi5XePznPvc57tixg5u2bq0rELLZLOvWncQzzzzTdNtFpDNo8lqMNF8pABwkldrA
   wEAvO3bc0VBlsGnTNXziE+Ncfvl72LLlpobbLSLxpJ3XOkBzwdB8IGSzWfr7T+bAgQx9feexa9fj
   rFy5sun2i0h8aEZzB+jtLXywDwz0kkptgDqmpDUbCABjY5uZnd0InM6hQ5cxNra52aaLSAeIvFIw
   s1uAC4EfuvtpVY7pmkqhpL6KYWmBcLhKeBw4BsjS13eKqoUYKC16ODIyokEC0rSkVgq3AudH3Yi4
   qV0xLC0QoLxKOKZ4yzGqFmIgn88zfMkwo1eOMnyJljeX9oq8UgAws+OAHaoUFqpcMSw9EBZWCcE9
   qhYiVAqEyd2T5C7KkdqeYmDtADvu1LBiaVxSKwVZxMKKYf+SAwEqVQklqhaiMicQLs7BcshdnGNy
   96QqBmkbVQoJMX8/haUEQvUqIThC1UKbLQiEnrI7ZyB1lyoGaVwzlUJP7UPi4frrrw9+HhwcZHBw
   MLK2RKFUMbSi87F6lVByuFrQvIXwLRoIAD3FiuGuQsUwPxjUKS0lExMTTExMLOl3xKVSOJ5CpXBq
   lfu7vlJoldpVQnCkqoU2qBkI5SpUDKW9undmMpw7NBTZkiYKpnhKZJ+CmaWBvwdOMLO9ZvZ7Ubep
   k9WuEkrUtxC2hgIBDlcMxT6GXC7HpcPD5Ccn2TMzQ35ysnC9zX0PpWC6dnQ0kueX1opFpVCLKoXW
   Wb26n337dtd9/KpVa5ma2hVii7pTw4FQrlgxvPT5Pl7/bznufPHF4pi09q+KWwqE/OQk6VyOEa3K
   GyuJrBSkvaamduHudV8UCOFIp9NkHsiQu6jBQIBCxXBRjh/95HkuLgYCFAYrb8vl2lYxlAfCtlyO
   FW1+fgmHQkEaks/nGR8f13/4JRoZGWFo/RCp7SmYafDBM3DEZ+G8Q7Bx3l3tCob5gRBVMEnrKRSk
   bppp2zq9vb3suHMHA2sHSN3VQDDMwBGfhqGn4IszUOkETdgfzNUCoV3PL+FSKEhdys+Bz1w1owlV
   Tchms6w7YV2wb0XDwVBHIJSE9cFcKxDCfn4JX81QMLPfNrMVxZ8/ZGZ3mtkZ4TdN4kIzbVtj7CNj
   7Nm3h7GPjAW31R0MDQRCSas/mOsNhLCeX9qj5ugjM3vU3U8zs7OBDwN/CvyJu7+xHQ0stkGjjyKi
   mbatkc1m6T+xnwMjB+j7TB+7vrdrzvyPWn/PfBrOewrurjMQyu0Hju/p4aatW9m4cX4vRH0aDYRy
   UYyKkoKwRh8dKv75m8An3f2LwLJGGyfJU/dM2wgqhmw2y0nr1iVmC9Gxj4wxe9osHAOHTj00p1qA
   RSqGYvC+6sWjWdbbx2yDz3sQGEmlOHdoiJGRkabbn06n2ZnJkG4wEKBQMaRzucLj0+mm2yDtUU8o
   7DOzTwDvBO42s+V1Pk4SrGogHAIe4fBXhYiCYfPYGM/u2cPmsbHaB0csm81y6/itTJ81DcD0WdPc
   On7rgkBbEAwHD1diu3+wl+XnnMOGVKrmtkslrfyGPjIyUgiWBp6/vB2tCCZpj3o+3N8JfBm4wN1f
   AF4J/KdQWyWRWjQQ0n2wfUXhz4iCIZvNMn7rrWRmZxm/deGHa9wEVcKK4g0rKlcLMDcYem7uCU7N
   pVKpwgf7wEBdwdDqUza9vb0NPX9Y7ZDwVe1TMLNXLvZAd/9xKC2q3Bb1KbRJzUDYexbkPw+9b4c1
   X4eRF+HI4jFt6mO4ZtMmuOUWPjY9zTXLlmGjo9y0ZUsoz7VUQV/CHx04HAoA+6HvUwv7FkqqrSVU
   z7n9MD+IG+lbUCBEr5k+hcVCYTfggAFrgJ8Uf345sNfd1y6tuQ00UqHQNuPj44xeOcrMVTOHdwCd
   Ewj3UNroh963LgyGg9Bzcw9btzTfqbmYbDbLyf39PH7gQHEDUTilr4/Hd1X+cI3apvdt4pZv3cL0
   b0wvuG/ZfcsYPWOULTc3FmiLfTC344M46mCS+rW0o9nd17p7P/AVYNjdf9Hdj6awn/K9S2uqxNWC
   mbYVA4HCn/l7CreXTiXNQGp7iqH14Z073jw2xsbZ2bINROGyQ4di2bcwvy9hvmp9C7VUO5XTrg/i
   WqeSFAjJVs+Q1MfmL2ld6bYwqVJor9IppAd3PciLB4Cn5gdCuWLFcOzX6TsKzuk/J7RTR/OrhOB2
   4lktLFYllDRbLUD0i9FVqhgUCPHS0tNHZb/0y8AkcDuF00nvBs5x9/ObbWijFArtl8vlWHP8STz/
   3K+C303lQCg5CPY2jv7FJ9i757ukUqlQ2lTel7Dgvpj1LVTtS5ivRt9CLVHvpxB1MMniwpqn8C7g
   l4C7gL8DXlW8TTpUPp/nkkvezYs/f00dgUDhfr+bF3/+Gi655N2hjD4qjTj6QIVAAPjA9HSsRiIt
   GHFUzSIjkepROpVz09atkXwQl59KOr6nR4HQAbSfgpDNZll/9tlMPPQQRx99NMPDlzI5mSeX20bt
   QCh3kFRqAwMDvUvaQ7qSxaqE4JgYVQurj1vNvr376j5+1ZpVTD05FWKLwqWd1+Kp1aOPPu7uV5vZ
   DgqnjeZw94uaa2bjFArhumbTJsY/8Qnec/nlvObMMxkdvZaZmT3U/ppbyX56eo5n69abWjb6qFpf
   woLjiGffgkhUWh0Kr3P3h83s3Er3u/vOJtrYFIVCeEofuJkDBzivr49Hvvc9/vAP3x+rSqGeKiE4
   NkbVgkjUQulonvcErwCOdfdHG23cUigUwlNpIthHP/7xJk4hhXfqqH/1anbvq/9UzNpVq9g1ldxT
   MSKtEtboowngIgpzWx8GngUecvdrm2xnwxQK4VhsIlj1voUssB6YAEqnaMILBBFpXlijj17m7j8F
   LgFuKy6ZfV4zDZR4WWwiWG9v4QN+YKCXVGoDBFOUNlP4XrC5eF2BINJJ6gmFHjM7hsLCeF8IuT3S
   JtWGeJYP7VwYDHuAcSBT/PPJmoGQtCWuG6H9qqUT1RMK/53CKqk/cPdvmlk/8ES4zZKwza8SSuYv
   G1EeDEceeT5wGXA68LsceeRbalYISVriuhGlSVvXjo5qVzHpKJqn0IVqDfGsNLRz7969rF3768zO
   PgHFHogjjjiBPXu+zbHHHrvo85RGNnXKUFHN4pWkCKVPwcxOMLOMmf1L8fppZvahZhsp0atWJZRU
   WmTuxhs/Rk/PaPHewlE9PX/AjTd+rObznF7h9yXV/PV+VqB9iEGn0jqKuy96AXYCZwLfKrvtX2o9
   rpWXQjOlFZ5++ml/xVFH+dPgvsjlafBX9vV5Npv1p59+2o866hUOT8877Gnv63ulZ7PZms9T/vuS
   anp62i8+/3y/MJXyA/P+vg6AX5hK+cXnn+/T09NRN7Wtpqen/fwLz/eel/T4+Rd23+uPs+JnZ0Of
   t/X0KaTc/RvzbpupeKTEXq0qoaS8Whgb28zs7Eao0ANx6NBljI1tXvD4JC1xXY9aewgspzsrhvJN
   mWaumolkv25prXrmKdwD/Afgc+5+hpltAP7A3d/ajgYW2+C12in1aXQi2LErV/KjFw5y4MDjLAwF
   gCx9faewa9fjQX9B0pa4rkW7jVVWcZe+Nu2+J/UJa57ClcAngJPMbB9wNXB5E+2TGNg1NdVQKXnh
   xb9TpUooWVgt1DuyKQkaCQTonoqh6ratbd6vW1pv0UrBzI4ANrj735jZS4Aj3H1/21p3uB2qFCKQ
   zWbp7z95kSohODKoFty94ZFNcdVoIJTr5IqhaiCUU8UQCy2vFNx9FvhA8eefRxEIEp3qfQnzHa4W
   mhnZFFfpdJqdmQzpBgMBChVDOpcrPD6dDqN5kagrEEAVQ4LV06dwI/AccAfw89Lt7v7jcJs2pw2q
   FCKwenU/+/btrvv4lSvXcPCFZztmiWtVCnPVHQjlVDFEKqwF8Sp9Kri79zfyREuhUEiGTlziuplg
   UCDMo2CITOhLZ0dFoZAMnbrEtUYfwfj4OKNXjjJz1UxjW2yUHISem3vYumVryzZfktoUCpJo2WyW
   s889m4cefCh2p5XqCYZODQRQpZBUYQ1JFWmLsY+MsWffnqY3sQ9T+Qb1G1KpYCHxkk4OBCgujHjn
   DgbWDpC6K1X/9FUFQuKoUpBYyGaz9J/Yz4GRA/R9po9d34tnJ3SliqHTA6FcQxWDAiFyLa0UzOyM
   xS5Lb67IYWMfGWP2tFk4Bg6deiiW1QIsrBj20z2BAA1UDAqExKpaKZjZA8UfjwJeD/wzYMBpwD+6
   +//XlhaiSqHTBVXCHx2AFcB+6PtkH7u+H89qAQ5XDDszGc4dGuqKQCi3aMWgQIiNllYK7r7e3ddT
   GFZ+hru/3t1fR2GHlfqHmIjUcMOHb+Dgrx0sBALACjjwawe4/sPXR9iqxZUqhpu2bu26QIBFKgYF
   QuLVM0/hcXc/udZtYVKl0Ln27t3L2hPWMvsfZg+HAsB+OOJ/HcGeJ/ZU3cRHojenYrgoR2q7AiFO
   wpq89hkKM5lvBxx4N/BSd39Xsw1tlEKhM+XzedadtI6njn4KfrPCAV+EY398LD/4zg/0ARNjpWDI
   PJBhaP2QAiFGwgqFo4ArgHOKNz0I/JW7H2iqlU1QKHSefD7PW972FiZ2TsBVzK0SSvYDfwGD5wxy
   79336oMmxvL5POl0mpGREb1PMRLa5DUz6wPWuPv3mm3cUigUOkvpm+VX/uErHOo/BIvtzHEPHLnr
   SM5743n6BirSoLD2aL4IeAT4UvH6a81se3NNlHaJ6565pUB48PsPcmj/ITi7xgPOhkM/O8SD339Q
   q22KtEE9M5qvo7BH8wsA7v4IcHyIbZIlyufzDA9fyujotQwPXxqbD9LyTskXX/4ivJbKp43KrQBe
   Ay++4kUtwyzSBnUtfuvu/2bWUAUiESkFwuRknpmZPUxOjjA8fCk7dtwR+amXdDpN5oFMYVG1v6Lw
   NePrdT745ZC7Ikfm5sL+BFpUTSQc9XQ03wJkgD8G3kGhW7DX3VuyJaeZXQB8nELVcou7f7TCMepT
   qEN5IORy26C4CEMqtYGBgd7Ig0GLqom0V1gL4r0POJnCEi9p4N8o7NO8ZMXtPv8XcH7xOd5lZie1
   4nd3m8qBALCcXG4bk5P5yE8laVE1kfirJxReB/yJu7+hePkQ8Ostev4zgSfc/Ul3zwOfBd7eot/d
   NaoHQkmCg0GBINJW9YTCl4H7zeyXy27b2qLnXwU8VXZ9qnib1Kl2IJRUD4ZsNsu6E9bxzDPPtKXN
   WlRNJL7qOav7PeBPgQkz+wN3/3sKC+O1QqXfU7Hz4Prrrw9+HhwcZHBwsEVNSK76A6GkFAwb5nQ+
   l+9jsOXm9myPWQqG4UuGmbxLi6qJtMLExAQTExNL+h31dDT/k7ufYWa/CtwB/G/g9919yctnm9lZ
   wPXufkHx+h9T2P/5o/OOU0fzPI0HQrnDnc+f/OTHOfGUEyPbx6Bi57MCQaQlwupoNgB3fwIYoLDc
   xWmNN6+ibwKvNrPjzGwZ8DuAJsbVIZ1Ok8nsJJdL0/imucvJ5QqPf8/vvyfSfQwWnEo6qEAQiVJT
   O6+Z2Rp339uSBhSGpP45h4ek3ljhGFUK87SiUjjzzFm+9o8ZDr734OF9DD4Vza5nWlRNpPVauvaR
   mX3A3Teb2c2V7nf3q5poY1MUCpU1FwyHTx0d1/9L/J9H/w/TvzEd3LvsvmWMnjHatr6FclpUTaS1
   Wh0Kw+6+w8wqTh119/Em2tgUhUJ1jQVDhb6E0m5nJS2uFvRBLxKd0FZJjZpCYXGlYHjwwWlefPFv
   qRwMB+nrewfnnLOMHTvu4P3Xvp9bvnXLnCqhpFXVQqldmcxOhobOjXxGtUi3aXWlsIMqw0MB3P2i
   xprXPIVCbfl8nnWvPoWnplbD7N3MDYaDcMTbOHb1Pn7wr4/x3HPPzd0Teb4WVAtzK5g0qdRILJba
   EOkmrR599D+BPwN2Ay8Cnypefgb8oNlGSjiee+45nv3xk7Dma9D7VgqrklD4s/etsOZr/OgnT/L8
   888z9pGxwoijaiuUrljaSKSFp7RWxGZGtYgsrp55Cv/o7q+vdVuYVCnUtul9mwqng948Dek+2HsW
   5D8PvW+HNV+HkRdZdv8y3nXiu7jjc3dUrxJKmqwWFu/jiM/ifCLdIKx5Ci8xs/6yJ1kLvKTRxkl4
   stkst47fyvRZ03AkMPJiIQiOWBUEAkfC9FnT3P6Z2xevEkqaqBaStAaTiFRWT6VwAfBJYFfxpuOB
   P3L3e8Nt2pw2qFJYRFAllHcaHwIeA06lEBQlH6VwMrBOq9asYurJqZrHNTsKShWDSHhaPvqouLT1
   WcDDQGlJ6++6+8GqDwqBQmFxq49bzb69++o+vt4P+notdb6EgiH5stksZ597Ng89+FDbJz5KdS0/
   feTus8AWdz/o7v9cvLQ1EKS2qSencPe6L/MDYSn7OTc/s1qnkjpJ+aKKkmz19ClkzOwdpv04O1Jp
   eYnRK0eb2v+4VWswpdPpBh8rcVHq05r93VluHb+1bUuwSzjqCYX3Ap8DDprZT81sv5n9NOR2SRuU
   r1A6c9UMk7snGw6GkZERhobOJZUa4fAw2HodJJUqPH5kZKTBx9ZvKZWQ1BYMcY5oUUVpLc1o7lKt
   XLI6zn0KWmgvXNlsdu5EyAgXVZSFwhqSipm9wszONLNzSpfmmihxUDEQAHogd3Gu4Yqht7fwwT4w
   0EsqtYHaFUN7A2EplZAsbsFEyCVOfJTo1TMkdRR4P7AaeITCaKSvufubw29e0AZVCi1SNRDKhVox
   tD8QtHlPOBZUCSWqFmIjrErh/cAbgCfdfT1wOvBCE+2TiNUVCBBixRBhIEDTr0sqq7pciqqFRKun
   Uvimu7/BzB4B3ujuB83scXc/uT1NVKXQCnUHQrmWVgwRB0I5VQxLVrVKKFG1EAthVQpTZvZy4O+A
   +8zs88CTzTRQotFUIEALK4b98QkEUMXQAmEvqijRqRkK7n6xu7/g7tcD/w24BfitsBsmrZNOp8k8
   kCF3UQOBUNIDuYtyZB7INDSXoDwYenqOj08glHRQMGSzWdadsK5t8wPmrLW1iOmzpjVvIYGqhoKZ
   vXL+hcJqOl8FXtq2FsqSjYyMMLR+iNT2FMw0+OAZSG1PMbR+iJGRkYbG/JeCYevWm+IVCCUdEgxh
   zSbOZrOsW3fSgg/1mlVCiaqFRFpsk53dFDbZMWAN8JPizy8H9rr72rY1Un0KS9aKPgWAS4eH2ZnJ
   cO7QEHfsiMf5+PHxcUavHGXmqpnGJ1UDHISem3vYumUrGzdW3H02toJz+yMH6PtMa8/hb9p0DZ/4
   xDiXX/4etmy5Kbg96rW2pH4t7VNw97Xu3g98BRh2919096OBC4G2rZAqrdHb28uOO3cwsHaA1F11
   VAxVAiE/OcmemRnyk5OF6zH4dt3KSihpwppNnM1mufXWcWZnM9x66/icamGpa21JvNXT0XyWu99d
   uuLu9wD/LrwmSVjqDoZFAmFbLscKYFsuF5tgaDjwShI+Cmn+uf1WnsMfG9vM7OxG4HQOHbqMsbHN
   S/6dkgz1hMLTZvYhMzvezI4zsw8CT4fdMAlHzQ/QGoFQOjuznIQHQ8IDAcKbTVyqEqanPwDA9PQH
   FlQL0rnqCYV3Ab8E3EVhWOqrirdJQlX9AK0zEEoSGwwdEAjVRgC1olo4XCUcU7zlGFULXUQL4iVI
   Npvl7LPX89BDEy3pTJzT+XxRjtT2+gOh3EFgQypF78BALDqf8/k8b/nNtzDxrxPw75nbqT4DfBoG
   Xz3IvV+8N/K2NqvibntFy+5bxugZo2y5eUvDvzebzdLffzIHDjzO4VAAyNLXdwq7dj2uyWgJEsrk
   NTM7wcw+aWb3mtn9pUvzzZRmjY1tZs+eZ1v2ja38m3XPzT1NBQLEs2I4de0JHLfPSN3O3Erodjhu
   n3Fa/4mJDYRa8wSWUi0srBJKVC10i3qWufhn4K8pbMl5qHS7uz8cbtPmtKHrK4XD3+Ay9PWd19Jv
   bPl8nnQ6HYy+aSQQysWlYshms5zc388jBw7wRz0wuRpy74LUZ2BgCj45A6f39fH4rmQuwbBYlVDS
   TLVQvUoIjlC1kDBhLXMx4+5/5e7fcPeHS5cm2yhNCnM0SG9vLxs3bqS3t5d0Os3OTIZ0g4EAhYoh
   ncsVHh/hTmqbx8bYODvLGmDHTCEIev6s8OeOmcKkm8sOHWLzWPImVYU5m7h6lVCiaqEb1FMpXA88
   S6GjOVjiTuCHAAASDElEQVT20t1/HGrL5rahqyuFhd/gwvvGls/nE10plKqExw8cCD7a9gKvp4eH
   meHY0nHAKQmsFuqpEkoaqRZqVwnBkaoWEqSZSqHmxBNgd4XLrkYmryz1Umhm97riiqt92bKrHTy4
   LFt2tW/adE0ozzc9Pe0Xn3++X5hK+YHyJ13kcgD8wlTKLz7/fJ+eng6lXfW4+oor/Oply+a07QqW
   +RG8zDcx9/arly3zazZtiqytzVi1ZpVTWGmgrsuqNavq+r2V/o1Vu4T5b09aq/jZ2dDnrUYfxVxU
   o0EaqRjiUCGU9K9eze5985dgOAr4e+BNwItz7lm7ahW7pjTjdvXqfvbt21338atWrWVqaleILZJW
   CHM7zlPM7J1mdlnp0lwTpVFRjQbp7e0tfMAPDLAhlaq6wWacAgFg19TcJRiuuOJqli27HDidZcve
   y6ZN18y5X4FQMDW1q7GlKxQIHauePoXrgEHg14G7gbcCX3X3DaG37nAburJSiMNokMUqhrgFwnzt
   7IsRiaOwKoUNwBDwjLv/HvAa4GVNtE8aFIfRINUqhrgHAmhmrkgz6qkUvuHuZ5rZw8B6YD/wHXc/
   qR0NLLah6yqFuI0GKa8Y0rkcIzEPhHb0xbR6hrlIq4VVKfxjcTvOT1GYwPZPwNeaaJ80oHaVUNKe
   b7/lFcPxPT2xDgRoT19Mq2eYi8RBQ6OPzOx44Bfc/dGwGlTlebuuUojraJDy2c9xDYR29MWEOcO8
   9PtVhchShbX2Uab0s7vvcfdHy2+TcMR1NEj57Oe4akdfTNj7DagKkagsth3nUUAKeIDC6KNS2vwC
   cI+7/1o7GlhsS9dVCpUk4Vt61NrRFxP2qKawqxDpHq2uFN5LoQ/hpOKfpcvngcbX5JUlKS1zPXrl
   aKI3mQ9bO/piwh7VpF3PJEr1jD56n7v/RZvaU60NXV0pLLbvgSqGucLuiwl7VJPmVkgrhTX66Bkz
   W1F8gg+Z2Z1mdkZTLZSGzQmEi3OwHHIX55jcPamKoYKw+2LCHtWkuRUStXoqhUfd/TQzOxv4MPCn
   wJ+4+xvb0cBiG7qyUlgQCPN2EEv6lpJJE/aoJu16Jq0WVqVQ2ljnN4FPuvsXgWWNNk4as2ggAPSo
   Ymi3sEc1adcziYN6KoUvAPuA84DXUVhm8hvu/prwmxe0oasqhZqBUE4VQ1uEPaopDutcSecJq1J4
   J/Bl4AJ3fwF4JfCfmmif1KGhQABVDG0S9qimOKxzJQINzmhu6RObbQCuB34NeIO7/9Mix3ZFpdBw
   IJSbVzEAmtPQQmGOaorbOlfSOULbTyEkjwEXAzsjbEOspNNpMg9kyF3UYCBAoWK4KEfmgQy33Xab
   5jS0WJijmuK2zpV0t8h3XjOzB4D/qEqhNZXCm457E2bGV/d8VXMaEiKu61xJ8iWtUpB5ent72XHn
   DgbWDpC6KwUzdT6wUiBoTkNixHWdK+lOoYaCmd1nZo+WXR4r/jkc5vMmWcPBUC0QSlWGOqJFpAGJ
   OX103XXXBdcHBwcZHBxsQ+uiU9eppFqBUOFYnUoS6VwTExNMTEwE12+44YaGTx/FJRT+f3d/eJFj
   uqJPYb56ZjTXFQjzHqNgEOkOiepTMLPfMrOngLOAL5jZPVG1Ja6qnkpqJhBAp5JEpKbIK4V6dGul
   UFJpldSGA6GcKgaRrpCoSkHqV6oYzvyVM+EmOPNXzuTSSy7l/on7lzynIZ1Oh9JmEUkmhUJC9Pb2
   curaE0hNG6f1n8hll13G0PohUtsbGLpaMgOp7SmG1g8xMjISSntFJJkUCgmRzWa5/bbb+Ko7t992
   G88///yS5jTo1FH75fN5xsfH1ZcjsaZQSIjNY2NsnJ3ldOCyQ4fYPDbW9JwGBUL75fN5Lh0e5trR
   US4dVie/xJc6mhMgm81ycn8/jx84UNygEU7p6+PxXbtYuXJlQ3MaFAjtVwqE/OQk6VyOkVSK3oEB
   7tih90HCpY7mDlWqEg5v0Hi4WoA6ZkErECJTHgjbcjlWANtyOfKTk6oYJJZUKcTc/CohuJ251QJU
   meymQIjM/EBYXnbfQWCDKgYJmSqFDjS/SiiZXy1AhYrhoAIhKosFAsByVDFETR3/lalSiLFqVUJw
   PwurBThcMWQeyDC0fkiB0Ga1AqGcKoZolN6jnZkM5w4NdezfvSqFDlOtSiipVC3A4Yph65atCoQ2
   ayQQQBVDFMrfoz0zM/q7n0eVQkzVqhKC46hcLcRFPp/vmm1BGw2EcqoY2qPSe9TJf/eqFDpIrSqh
   pFq1EAel01jdsi1oOp1mZyZDusFAgELFkM7lCo/X0iOhqBbaqtbmUqUQU/2rV7N73766j1+7ahW7
   pqZCbFFjKi3i1+kd3qoU4que96YT34NmKgWFgrRcNw+NbSYYOvHDKE66ueNfp48kclVnV3fJXg69
   vb2FD5OBATakUhyscXynfQjFjTr+G6dQSJC4j6uuudyGgmEOBUK4mj2d1+3BoFBIiHw+z/DwpYyO
   Xsvw8KWx+4da1/pLoGAoUiCETx3/zVEoJEApECYn88zM7GFyMh+rYKg7EEq6PBgUCO0xMjLCuUND
   jNRxGm++g8BIKlV4fJftOaJQiLnyQMjltgEryOW2xSYYGg6Eki4Nhv0oENql0f6dkm4PbYVCjC0M
   hMMjq+MSDOl0mswDGW0LuojyD6fje3q69sMmCur4b5yGpMZU9UAod5BUagMDA73s2HFHJP+Am64U
   oGuGqZZ00+zuuNE8hQYek4QP224LhfoCoSShwdBlgSDR68alzDVPoQM0FggQh1NJ2hZUkkAd//VR
   KMRI44FQkqBgUCBIhNTxX5tCIUbS6TSZzE5yuTT1B0LJcnK5wuOj6rTVtqCSBOr4X5z6FGKk+UoB
   4tC3UNLNax9JcnRDx786mjtAc8EQn0Ao6cZVUkXiRqHQIZI2+qgabQsqEi2FQgdJyjyFWrqhRBeJ
   K4VCh1k8GOIfCCISLc1T6DC9vYUP/IGBXlKpDVA2slqBIEkV9yXgu51CIeYWBsN+BYIkVrft251E
   CoUEKA+Gnp7jOzYQ9A2ys5WPSJu5aqbjV8hNKvUpJEgnd9qW1qXZmclw7tCQJhN1GM1diYY6miWR
   yhcqS+dyjGjZgY6y6IKJCoZQqaNZEmf+ypUr6O79cTuN9u1OHoWCRKbaUsbdvnF6p9C+3cmkUJBI
   1Nr0RMGQbNq3O7kUCtJ29eyCBQqGpNK+3cmmUJC2qjcQShQMyaN9u5NNo4+kbRoNhHLaHSs5tG93
   fGj0kcRaOp1mZyZDusFAgELFkM7lCo/XN8hYa3h71hIFQiyoUpC2UaXQXRqqGBQIoVClILFWbeP0
   WhQIyaR9u5NJoSBt1WgwKBCSTft2J49CQdqu3mBQIHSGqsGgQIglhYJEolYwKBA6y4JgOKhAiKvI
   QsHMNpvZd8zsETP7WzP7hajaItGoFgwKhM5UHgw9N/coEGIqstFHZnYecL+7z5rZjYC7+3+pcqxG
   H3UwrZLaXTp5Cfi4SezS2Wb2W8A73P13q9yvUOhw2k9BpPWSHArbgc+6e8VZSQqF7qBvkCKtFbtQ
   MLP7gF8uvwlw4IPuvqN4zAeBM9z9HYv8HoWCiEiDmgmFRperaoi7/8Zi95vZRuBtwJtr/a7rr78+
   +HlwcJDBwcEltk5EpLNMTEwwMTGxpN8RZUfzBcCfAee4+/M1jlWlICLSoNidPlr0ic2eAJYBpUD4
   urtvqnKsQkFEpEGJCoVGKBRERBqnBfFERGRJFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiI
   SEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoi
   IhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWC
   iIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISECh
   ICIiAYWCiIgEFAoiIhJQKIiISEChICIiAYWCiIgEFAoiIhJQKIiISCCyUDCz/25m/2xm3zKzL5nZ
   yqjaIiIiBVFWCpvd/TXufjrwReC6CNsSqYmJiaibEKpOfn2d/NpAr68bRRYK7v6zsqsvAWajakvU
   Ov0fZie/vk5+baDX1416onxyM/swcBnwArA+yraIiEjIlYKZ3Wdmj5ZdHiv+OQzg7h9y9zXAp4H3
   hdkWERGpzdw96jZgZmuAL7r7qVXuj76RIiIJ5O7WyPGRnT4ys1e7+78Wr74d+E61Yxt9USIi0pzI
   KgUz2wacQKGD+UngcnfPRtIYEREBYnL6SERE4iExM5rN7DozmzKzfypeLoi6TUtlZheY2XfN7Ptm
   9p+jbk+rmdmesgmK34i6PUtlZreY2Q/N7NGy215hZvea2ffM7Mtm9rIo27gUVV5fR/y/M7PVZna/
   mX27OODlquLtHfH+VXh97yve3vD7l5hKwcyuA/a7+01Rt6UVzOwI4PvAEPA08E3gd9z9u5E2rIXM
   bBfwOnf/SdRtaQUzOxv4GXCbu59WvO2jwPPuvrkY7K9w9z+Osp3NqvL6OuL/XXHFhJXu/oiZvRR4
   mEJf5u/RAe/fIq/vUhp8/xJTKRR1UofzmcAT7v6ku+eBz1J4EzuJkbx/Y1W5+1eB+QH3dmC8+PM4
   8FttbVQLVXl90AH/79z9GXd/pPjzzygMbFlNh7x/VV7fquLdDb1/SfsPe6WZPWJmW5Na5pVZBTxV
   dn2Kw29ip3Dgy2b2TTP7w6gbE5JXufsPofAfE/iliNsThk76f4eZHQ+8Fvg68Mud9v6Vvb5/KN7U
   0PsXq1CoMdntL4F17v5a4Bkg0eUsldM7Gefy6vfv3P31wNso/MM8O+oGScM66v9d8dTKNuD9xW/U
   HfV/rsLra/j9i3SZi/nc/TfqPPRTwI4w29IGU8CasuurKfQtdIziNy/c/UdmdheFU2ZfjbZVLfdD
   M/tld/9h8bzus1E3qJXc/UdlVxP9/87Meih8YP5fd/988eaOef8qvb5m3r9YVQqLmbe09iXAv0TV
   lhb5JvBqMzvOzJYBvwNsj7hNLWNmqeK3FszsJcBbSP57BoUKr7zK2w68p/jzRuDz8x+QMHNeX4f9
   v/vfwLfd/c/Lbuuk92/B62vm/UvS6KPbKJwnmwX2AO8tnQtMquLwsD+nEM63uPuNETepZcxsLXAX
   hfK8B/h00l+fmaWBQeBo4IcUlnv/O+BzwLHAXuC33f2FqNq4FFVe33o64P+dmb0JeBB4jMK/SQf+
   K/AN4G9I+Pu3yOsbocH3LzGhICIi4UvM6SMREQmfQkFERAIKBRERCSgUREQkoFAQEZGAQkFERAIK
   BRERCSgUpGsU15zfZWYvL15/efH6ZWb2gpl9oYHfdai4Pv3K4vV7ivtGPGZmf2lmVrx9s5l9p7gg
   2d+a2S8Ubz/bzB4v7V1gZu80syfMrGNmtUsyKRSka7j7FIUFwj5avOlG4K8pbAf7oLtf2MCv+7m7
   n1Fa34nCTNjT3f1U4FXAbxdvvxc4ubgg2RPAfym25asUFgoste1vgNHmXplI6ygUpNt8HHijmb0f
   eBMtWvWzuCIlZtYLLKO4+qa7f8XdZ4uHfZ3CwocisaVQkK7i7jPAB4CPUVheeGb+MWZ2pJl9uLgP
   xJfMbIOZnWhm/8PMqu55YWZforA88U8prFY53+8D97TmlYiEQ6Eg3ehtFJYpP7XK/b8CZN39DcAH
   gX9PYdG7KXffV+2XuvsFwDHAcuDN5feZ2QeBvLunl958kfDEaj8FkbCZ2Wsp7It9FvCQmX12/jHu
   /hSwpfjzw8DF9f5+d582sx0UtnnMFJ9zI4UgevNijxWJA1UK0m3+ksJpoylgM/BnS/2FZvaSslFI
   PRQC4LvF6xdQOF11kbsfXOpziYRNoSBdo7hP9JPufn/xpr8CTgTOWeKvfgmw3cweAb5FYS+Cvy7e
   9xfAS4H7ikNY/3KJzyUSKp0+kq7h7p+isCVh6fos8AYzO5fCVqGNCHYnc/dnqz3e3X+1nt9R5bpI
   26lSEIFp4ORGJq8BPy2fvNYoMzubwlaQPypefyeFfowfN/P7RFpFO6+JiEhAlYKIiAQUCiIiElAo
   iIhIQKEgIiIBhYKIiAT+H517eqnzjANOAAAAAElFTkSuQmCC
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p> Plot the fitted values</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[18]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">lm_final</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;S ~ X + C(E)*C(M)&#39;</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">salary_table</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="n">drop_idx</span><span class="p">]))</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="n">mf</span> <span class="o">=</span> <span class="n">lm_final</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">orig_exog</span>
   <span class="n">lstyle</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;-&#39;</span><span class="p">,</span><span class="s1">&#39;--&#39;</span><span class="p">]</span>
   
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="k">for</span> <span class="n">values</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_groups</span><span class="p">:</span>
       <span class="n">i</span><span class="p">,</span><span class="n">j</span> <span class="o">=</span> <span class="n">values</span>
       <span class="n">idx</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">index</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">S</span><span class="p">[</span><span class="n">idx</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="n">symbols</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span>
                   <span class="n">s</span><span class="o">=</span><span class="mi">144</span><span class="p">,</span> <span class="n">edgecolors</span><span class="o">=</span><span class="s1">&#39;black&#39;</span><span class="p">)</span>
       <span class="c1"># drop NA because there is no idx 32 in the final model</span>
       <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">mf</span><span class="o">.</span><span class="n">X</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span><span class="o">.</span><span class="n">dropna</span><span class="p">(),</span> <span class="n">lm_final</span><span class="o">.</span><span class="n">fittedvalues</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span><span class="o">.</span><span class="n">dropna</span><span class="p">(),</span>
               <span class="n">ls</span><span class="o">=</span><span class="n">lstyle</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;Experience&#39;</span><span class="p">);</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;Salary&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>From our first look at the data, the difference between Master&#39;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.</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[19]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">U</span> <span class="o">=</span> <span class="n">S</span> <span class="o">-</span> <span class="n">X</span> <span class="o">*</span> <span class="n">interX_lm32</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;X&#39;</span><span class="p">]</span>
   
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="n">interaction_plot</span><span class="p">(</span><span class="n">E</span><span class="p">,</span> <span class="n">M</span><span class="p">,</span> <span class="n">U</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;red&#39;</span><span class="p">,</span><span class="s1">&#39;blue&#39;</span><span class="p">],</span> <span class="n">markers</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;^&#39;</span><span class="p">,</span><span class="s1">&#39;D&#39;</span><span class="p">],</span>
           <span class="n">markersize</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">ax</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[19]:</div>
   
   
   <div class="output_png output_subarea output_pyout">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <h2 id="minority-employment-data">Minority Employment Data</h2>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[20]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="k">try</span><span class="p">:</span>
       <span class="n">minority_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="s1">&#39;minority.table&#39;</span><span class="p">)</span>
   <span class="k">except</span><span class="p">:</span>  <span class="c1"># don&#39;t have data already</span>
       <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://stats191.stanford.edu/data/minority.table&#39;</span>
       <span class="n">minority_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
   
   <span class="n">factor_group</span> <span class="o">=</span> <span class="n">minority_table</span><span class="o">.</span><span class="n">groupby</span><span class="p">([</span><span class="s1">&#39;ETHN&#39;</span><span class="p">])</span>
   
   <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;purple&#39;</span><span class="p">,</span> <span class="s1">&#39;green&#39;</span><span class="p">]</span>
   <span class="n">markers</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;o&#39;</span><span class="p">,</span> <span class="s1">&#39;v&#39;</span><span class="p">]</span>
   <span class="k">for</span> <span class="n">factor</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_group</span><span class="p">:</span>
       <span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;JPERF&#39;</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span>
                   <span class="n">marker</span><span class="o">=</span><span class="n">markers</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span> <span class="n">s</span><span class="o">=</span><span class="mi">12</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
   <span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">&#39;TEST&#39;</span><span class="p">);</span>
   <span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">&#39;JPERF&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">HTTPError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-48-83c26c0c5424&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      3</span> <span class="ansigreen">except</span><span class="ansiblue">:</span>  <span class="ansired"># don&apos;t have data already</span><span class="ansiblue"></span>
   <span class="ansigreen">      4</span>     url <span class="ansiblue">=</span> <span class="ansiblue">&apos;http://stats191.stanford.edu/data/minority.table&apos;</span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 5</span><span class="ansired">     </span>minority_table <span class="ansiblue">=</span> pd<span class="ansiblue">.</span>read_table<span class="ansiblue">(</span>url<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      6</span> <span class="ansiblue"></span>
   <span class="ansigreen">      7</span> factor_group <span class="ansiblue">=</span> minority_table<span class="ansiblue">.</span>groupby<span class="ansiblue">(</span><span class="ansiblue">[</span><span class="ansiblue">&apos;ETHN&apos;</span><span class="ansiblue">]</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/pandas/io/parsers.pyc</span> in <span class="ansicyan">parser_f</span><span class="ansiblue">(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format)</span>
   <span class="ansigreen">    450</span>                     infer_datetime_format=infer_datetime_format)
   <span class="ansigreen">    451</span> <span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 452</span><span class="ansired">         </span><span class="ansigreen">return</span> _read<span class="ansiblue">(</span>filepath_or_buffer<span class="ansiblue">,</span> kwds<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    453</span> <span class="ansiblue"></span>
   <span class="ansigreen">    454</span>     parser_f<span class="ansiblue">.</span>__name__ <span class="ansiblue">=</span> name<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/pandas/io/parsers.pyc</span> in <span class="ansicyan">_read</span><span class="ansiblue">(filepath_or_buffer, kwds)</span>
   <span class="ansigreen">    220</span> <span class="ansiblue"></span>
   <span class="ansigreen">    221</span>     filepath_or_buffer, _ = get_filepath_or_buffer(filepath_or_buffer,
   <span class="ansigreen">--&gt; 222</span><span class="ansired">                                                    encoding)
   </span><span class="ansigreen">    223</span> <span class="ansiblue"></span>
   <span class="ansigreen">    224</span>     <span class="ansigreen">if</span> kwds<span class="ansiblue">.</span>get<span class="ansiblue">(</span><span class="ansiblue">&apos;date_parser&apos;</span><span class="ansiblue">,</span> None<span class="ansiblue">)</span> <span class="ansigreen">is</span> <span class="ansigreen">not</span> None<span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/pandas/io/common.pyc</span> in <span class="ansicyan">get_filepath_or_buffer</span><span class="ansiblue">(filepath_or_buffer, encoding)</span>
   <span class="ansigreen">    116</span> <span class="ansiblue"></span>
   <span class="ansigreen">    117</span>     <span class="ansigreen">if</span> _is_url<span class="ansiblue">(</span>filepath_or_buffer<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 118</span><span class="ansired">         </span>req <span class="ansiblue">=</span> _urlopen<span class="ansiblue">(</span>str<span class="ansiblue">(</span>filepath_or_buffer<span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    119</span>         <span class="ansigreen">return</span> maybe_read_encoded_stream<span class="ansiblue">(</span>req<span class="ansiblue">,</span> encoding<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    120</span> <span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">urlopen</span><span class="ansiblue">(url, data, timeout, cafile, capath, cadefault, context)</span>
   <span class="ansigreen">    152</span>     <span class="ansigreen">else</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    153</span>         opener <span class="ansiblue">=</span> _opener<span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 154</span><span class="ansired">     </span><span class="ansigreen">return</span> opener<span class="ansiblue">.</span>open<span class="ansiblue">(</span>url<span class="ansiblue">,</span> data<span class="ansiblue">,</span> timeout<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    155</span> <span class="ansiblue"></span>
   <span class="ansigreen">    156</span> <span class="ansigreen">def</span> install_opener<span class="ansiblue">(</span>opener<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">open</span><span class="ansiblue">(self, fullurl, data, timeout)</span>
   <span class="ansigreen">    433</span>         <span class="ansigreen">for</span> processor <span class="ansigreen">in</span> self<span class="ansiblue">.</span>process_response<span class="ansiblue">.</span>get<span class="ansiblue">(</span>protocol<span class="ansiblue">,</span> <span class="ansiblue">[</span><span class="ansiblue">]</span><span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    434</span>             meth <span class="ansiblue">=</span> getattr<span class="ansiblue">(</span>processor<span class="ansiblue">,</span> meth_name<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 435</span><span class="ansired">             </span>response <span class="ansiblue">=</span> meth<span class="ansiblue">(</span>req<span class="ansiblue">,</span> response<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    436</span> <span class="ansiblue"></span>
   <span class="ansigreen">    437</span>         <span class="ansigreen">return</span> response<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">http_response</span><span class="ansiblue">(self, request, response)</span>
   <span class="ansigreen">    546</span>         <span class="ansigreen">if</span> <span class="ansigreen">not</span> <span class="ansiblue">(</span><span class="ansicyan">200</span> <span class="ansiblue">&lt;=</span> code <span class="ansiblue">&lt;</span> <span class="ansicyan">300</span><span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    547</span>             response = self.parent.error(
   <span class="ansigreen">--&gt; 548</span><span class="ansired">                 &apos;http&apos;, request, response, code, msg, hdrs)
   </span><span class="ansigreen">    549</span> <span class="ansiblue"></span>
   <span class="ansigreen">    550</span>         <span class="ansigreen">return</span> response<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">error</span><span class="ansiblue">(self, proto, *args)</span>
   <span class="ansigreen">    465</span>             http_err <span class="ansiblue">=</span> <span class="ansicyan">0</span><span class="ansiblue"></span>
   <span class="ansigreen">    466</span>         args <span class="ansiblue">=</span> <span class="ansiblue">(</span>dict<span class="ansiblue">,</span> proto<span class="ansiblue">,</span> meth_name<span class="ansiblue">)</span> <span class="ansiblue">+</span> args<span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 467</span><span class="ansired">         </span>result <span class="ansiblue">=</span> self<span class="ansiblue">.</span>_call_chain<span class="ansiblue">(</span><span class="ansiblue">*</span>args<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    468</span>         <span class="ansigreen">if</span> result<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    469</span>             <span class="ansigreen">return</span> result<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">_call_chain</span><span class="ansiblue">(self, chain, kind, meth_name, *args)</span>
   <span class="ansigreen">    405</span>             func <span class="ansiblue">=</span> getattr<span class="ansiblue">(</span>handler<span class="ansiblue">,</span> meth_name<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    406</span> <span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 407</span><span class="ansired">             </span>result <span class="ansiblue">=</span> func<span class="ansiblue">(</span><span class="ansiblue">*</span>args<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    408</span>             <span class="ansigreen">if</span> result <span class="ansigreen">is</span> <span class="ansigreen">not</span> None<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    409</span>                 <span class="ansigreen">return</span> result<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">http_error_302</span><span class="ansiblue">(self, req, fp, code, msg, headers)</span>
   <span class="ansigreen">    652</span>         fp<span class="ansiblue">.</span>close<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    653</span> <span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 654</span><span class="ansired">         </span><span class="ansigreen">return</span> self<span class="ansiblue">.</span>parent<span class="ansiblue">.</span>open<span class="ansiblue">(</span>new<span class="ansiblue">,</span> timeout<span class="ansiblue">=</span>req<span class="ansiblue">.</span>timeout<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    655</span> <span class="ansiblue"></span>
   <span class="ansigreen">    656</span>     http_error_301 <span class="ansiblue">=</span> http_error_303 <span class="ansiblue">=</span> http_error_307 <span class="ansiblue">=</span> http_error_302<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">open</span><span class="ansiblue">(self, fullurl, data, timeout)</span>
   <span class="ansigreen">    433</span>         <span class="ansigreen">for</span> processor <span class="ansigreen">in</span> self<span class="ansiblue">.</span>process_response<span class="ansiblue">.</span>get<span class="ansiblue">(</span>protocol<span class="ansiblue">,</span> <span class="ansiblue">[</span><span class="ansiblue">]</span><span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    434</span>             meth <span class="ansiblue">=</span> getattr<span class="ansiblue">(</span>processor<span class="ansiblue">,</span> meth_name<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 435</span><span class="ansired">             </span>response <span class="ansiblue">=</span> meth<span class="ansiblue">(</span>req<span class="ansiblue">,</span> response<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    436</span> <span class="ansiblue"></span>
   <span class="ansigreen">    437</span>         <span class="ansigreen">return</span> response<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">http_response</span><span class="ansiblue">(self, request, response)</span>
   <span class="ansigreen">    546</span>         <span class="ansigreen">if</span> <span class="ansigreen">not</span> <span class="ansiblue">(</span><span class="ansicyan">200</span> <span class="ansiblue">&lt;=</span> code <span class="ansiblue">&lt;</span> <span class="ansicyan">300</span><span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    547</span>             response = self.parent.error(
   <span class="ansigreen">--&gt; 548</span><span class="ansired">                 &apos;http&apos;, request, response, code, msg, hdrs)
   </span><span class="ansigreen">    549</span> <span class="ansiblue"></span>
   <span class="ansigreen">    550</span>         <span class="ansigreen">return</span> response<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">error</span><span class="ansiblue">(self, proto, *args)</span>
   <span class="ansigreen">    471</span>         <span class="ansigreen">if</span> http_err<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    472</span>             args <span class="ansiblue">=</span> <span class="ansiblue">(</span>dict<span class="ansiblue">,</span> <span class="ansiblue">&apos;default&apos;</span><span class="ansiblue">,</span> <span class="ansiblue">&apos;http_error_default&apos;</span><span class="ansiblue">)</span> <span class="ansiblue">+</span> orig_args<span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 473</span><span class="ansired">             </span><span class="ansigreen">return</span> self<span class="ansiblue">.</span>_call_chain<span class="ansiblue">(</span><span class="ansiblue">*</span>args<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    474</span> <span class="ansiblue"></span>
   <span class="ansigreen">    475</span> <span class="ansired"># XXX probably also want an abstract factory that knows when it makes</span><span class="ansiblue"></span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">_call_chain</span><span class="ansiblue">(self, chain, kind, meth_name, *args)</span>
   <span class="ansigreen">    405</span>             func <span class="ansiblue">=</span> getattr<span class="ansiblue">(</span>handler<span class="ansiblue">,</span> meth_name<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    406</span> <span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 407</span><span class="ansired">             </span>result <span class="ansiblue">=</span> func<span class="ansiblue">(</span><span class="ansiblue">*</span>args<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    408</span>             <span class="ansigreen">if</span> result <span class="ansigreen">is</span> <span class="ansigreen">not</span> None<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    409</span>                 <span class="ansigreen">return</span> result<span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/urllib2.pyc</span> in <span class="ansicyan">http_error_default</span><span class="ansiblue">(self, req, fp, code, msg, hdrs)</span>
   <span class="ansigreen">    554</span> <span class="ansigreen">class</span> HTTPDefaultErrorHandler<span class="ansiblue">(</span>BaseHandler<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">    555</span>     <span class="ansigreen">def</span> http_error_default<span class="ansiblue">(</span>self<span class="ansiblue">,</span> req<span class="ansiblue">,</span> fp<span class="ansiblue">,</span> code<span class="ansiblue">,</span> msg<span class="ansiblue">,</span> hdrs<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 556</span><span class="ansired">         </span><span class="ansigreen">raise</span> HTTPError<span class="ansiblue">(</span>req<span class="ansiblue">.</span>get_full_url<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">,</span> code<span class="ansiblue">,</span> msg<span class="ansiblue">,</span> hdrs<span class="ansiblue">,</span> fp<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    557</span> <span class="ansiblue"></span>
   <span class="ansigreen">    558</span> <span class="ansigreen">class</span> HTTPRedirectHandler<span class="ansiblue">(</span>BaseHandler<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansired">HTTPError</span>: HTTP Error 404: Not Found</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[21]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">min_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;JPERF ~ TEST&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">minority_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">min_lm</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-49-9d22ebbe63c2&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">----&gt; 1</span><span class="ansired"> </span>min_lm <span class="ansiblue">=</span> ols<span class="ansiblue">(</span><span class="ansiblue">&apos;JPERF ~ TEST&apos;</span><span class="ansiblue">,</span> data<span class="ansiblue">=</span>minority_table<span class="ansiblue">)</span><span class="ansiblue">.</span>fit<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      2</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>min_lm<span class="ansiblue">.</span>summary<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;minority_table&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[22]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">));</span>
   <span class="k">for</span> <span class="n">factor</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_group</span><span class="p">:</span>
       <span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;JPERF&#39;</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span>
                   <span class="n">marker</span><span class="o">=</span><span class="n">markers</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span> <span class="n">s</span><span class="o">=</span><span class="mi">12</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
   
   <span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">&#39;TEST&#39;</span><span class="p">)</span>
   <span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">&#39;JPERF&#39;</span><span class="p">)</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">model_results</span> <span class="o">=</span> <span class="n">min_lm</span><span class="p">,</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-50-d9e4c8602668&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> fig<span class="ansiblue">,</span> ax <span class="ansiblue">=</span> plt<span class="ansiblue">.</span>subplots<span class="ansiblue">(</span>figsize<span class="ansiblue">=</span><span class="ansiblue">(</span><span class="ansicyan">6</span><span class="ansiblue">,</span><span class="ansicyan">6</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue">;</span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span><span class="ansigreen">for</span> factor<span class="ansiblue">,</span> group <span class="ansigreen">in</span> factor_group<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span>     ax.scatter(group[&apos;TEST&apos;], group[&apos;JPERF&apos;], color=colors[factor],
   <span class="ansigreen">      4</span>                 marker=markers[factor], s=12**2)
   <span class="ansigreen">      5</span> <span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;factor_group&apos; is not defined</pre>
   </div>
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[23]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">min_lm2</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;JPERF ~ TEST + TEST:ETHN&#39;</span><span class="p">,</span>
           <span class="n">data</span><span class="o">=</span><span class="n">minority_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">min_lm2</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-51-f6a4c64c17ca&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> min_lm2 = ols(&apos;JPERF ~ TEST + TEST:ETHN&apos;,
   <span class="ansigreen">----&gt; 2</span><span class="ansired">         data=minority_table).fit()
   </span><span class="ansigreen">      3</span> <span class="ansiblue"></span>
   <span class="ansigreen">      4</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>min_lm2<span class="ansiblue">.</span>summary<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;minority_table&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[24]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">));</span>
   <span class="k">for</span> <span class="n">factor</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_group</span><span class="p">:</span>
       <span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;JPERF&#39;</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span>
                   <span class="n">marker</span><span class="o">=</span><span class="n">markers</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span> <span class="n">s</span><span class="o">=</span><span class="mi">12</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
   
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm2</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">],</span>
                    <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm2</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;purple&#39;</span><span class="p">);</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm2</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">],</span>
           <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm2</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="n">min_lm2</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST:ETHN&#39;</span><span class="p">],</span>
           <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;green&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-52-f8432b7c2f24&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> fig<span class="ansiblue">,</span> ax <span class="ansiblue">=</span> plt<span class="ansiblue">.</span>subplots<span class="ansiblue">(</span>figsize<span class="ansiblue">=</span><span class="ansiblue">(</span><span class="ansicyan">6</span><span class="ansiblue">,</span><span class="ansicyan">6</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue">;</span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span><span class="ansigreen">for</span> factor<span class="ansiblue">,</span> group <span class="ansigreen">in</span> factor_group<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span>     ax.scatter(group[&apos;TEST&apos;], group[&apos;JPERF&apos;], color=colors[factor],
   <span class="ansigreen">      4</span>                 marker=markers[factor], s=12**2)
   <span class="ansigreen">      5</span> <span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;factor_group&apos; is not defined</pre>
   </div>
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[25]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">min_lm3</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;JPERF ~ TEST + ETHN&#39;</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">minority_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">min_lm3</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-53-5f2d6b39420c&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">----&gt; 1</span><span class="ansired"> </span>min_lm3 <span class="ansiblue">=</span> ols<span class="ansiblue">(</span><span class="ansiblue">&apos;JPERF ~ TEST + ETHN&apos;</span><span class="ansiblue">,</span> data <span class="ansiblue">=</span> minority_table<span class="ansiblue">)</span><span class="ansiblue">.</span>fit<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      2</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>min_lm3<span class="ansiblue">.</span>summary<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;minority_table&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[26]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">6</span><span class="p">));</span>
   <span class="k">for</span> <span class="n">factor</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_group</span><span class="p">:</span>
       <span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;JPERF&#39;</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span>
                   <span class="n">marker</span><span class="o">=</span><span class="n">markers</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span> <span class="n">s</span><span class="o">=</span><span class="mi">12</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
   
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm3</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">],</span>
                    <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm3</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;purple&#39;</span><span class="p">);</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm3</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="n">min_lm3</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;ETHN&#39;</span><span class="p">],</span>
           <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm3</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;green&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-54-3e445d581db3&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> fig<span class="ansiblue">,</span> ax <span class="ansiblue">=</span> plt<span class="ansiblue">.</span>subplots<span class="ansiblue">(</span>figsize<span class="ansiblue">=</span><span class="ansiblue">(</span><span class="ansicyan">6</span><span class="ansiblue">,</span><span class="ansicyan">6</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue">;</span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span><span class="ansigreen">for</span> factor<span class="ansiblue">,</span> group <span class="ansigreen">in</span> factor_group<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span>     ax.scatter(group[&apos;TEST&apos;], group[&apos;JPERF&apos;], color=colors[factor],
   <span class="ansigreen">      4</span>                 marker=markers[factor], s=12**2)
   <span class="ansigreen">      5</span> <span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;factor_group&apos; is not defined</pre>
   </div>
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[27]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">min_lm4</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;JPERF ~ TEST * ETHN&#39;</span><span class="p">,</span> <span class="n">data</span> <span class="o">=</span> <span class="n">minority_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">min_lm4</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-55-45bd21e99036&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">----&gt; 1</span><span class="ansired"> </span>min_lm4 <span class="ansiblue">=</span> ols<span class="ansiblue">(</span><span class="ansiblue">&apos;JPERF ~ TEST * ETHN&apos;</span><span class="ansiblue">,</span> data <span class="ansiblue">=</span> minority_table<span class="ansiblue">)</span><span class="ansiblue">.</span>fit<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      2</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>min_lm4<span class="ansiblue">.</span>summary<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;minority_table&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[28]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="p">));</span>
   <span class="k">for</span> <span class="n">factor</span><span class="p">,</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">factor_group</span><span class="p">:</span>
       <span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">group</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">group</span><span class="p">[</span><span class="s1">&#39;JPERF&#39;</span><span class="p">],</span> <span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span>
                   <span class="n">marker</span><span class="o">=</span><span class="n">markers</span><span class="p">[</span><span class="n">factor</span><span class="p">],</span> <span class="n">s</span><span class="o">=</span><span class="mi">12</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
   
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">],</span>
                    <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">],</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;purple&#39;</span><span class="p">);</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">abline_plot</span><span class="p">(</span><span class="n">intercept</span> <span class="o">=</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;Intercept&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;ETHN&#39;</span><span class="p">],</span>
           <span class="n">slope</span> <span class="o">=</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="n">min_lm4</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;TEST:ETHN&#39;</span><span class="p">],</span>
           <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;green&#39;</span><span class="p">);</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-56-2572d5e3e956&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> fig<span class="ansiblue">,</span> ax <span class="ansiblue">=</span> plt<span class="ansiblue">.</span>subplots<span class="ansiblue">(</span>figsize<span class="ansiblue">=</span><span class="ansiblue">(</span><span class="ansicyan">8</span><span class="ansiblue">,</span><span class="ansicyan">6</span><span class="ansiblue">)</span><span class="ansiblue">)</span><span class="ansiblue">;</span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span><span class="ansigreen">for</span> factor<span class="ansiblue">,</span> group <span class="ansigreen">in</span> factor_group<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span>     ax.scatter(group[&apos;TEST&apos;], group[&apos;JPERF&apos;], color=colors[factor],
   <span class="ansigreen">      4</span>                 marker=markers[factor], s=12**2)
   <span class="ansigreen">      5</span> <span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;factor_group&apos; is not defined</pre>
   </div>
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   uvtbSdLdXzvhOV7rlqzxS0let7r/3Um+coLzuy5092eTfOOIIfcm+Y3V2M8n+a6q+r6jjnkcgXZh
   k+O3ZI33uy/JJ491RteftWu8OkV1qrsfPsmJXWeW/Cz/YJIfqqrPVtXnqur0ic3u+rBkjR9K8i+r
   6tkkv5PkF05obtvk4H+Hr2TNxmnJn1ldKhc2OX5L1nhvYNVPJ3lz9k55s9yRa1xVleQD2fvzwqO+
   h6Mt+Vm+KXunud+a5LYkv19Vd7y8o2atJWt8JslHuvsDq2tffDR7/+8FNmfx7+2XHccO+mL2/hG9
   7FSS5w6MeTbJrUmyurDJ67r7qFMD/HVL1jhV9bYkv5jkx1entlhu3Rp/Z/Z+ge1W1Z8meUuSj/ug
   2CVb8rN8McnHu/ul7v6zJE8muf1kpnddWLLG9yX5rSTp7keTvLaqbj6Z6W2Ni1l1b+XQ39v7HUeg
   X7mwSVW9Jnt/E/2JA2NevrBJcsSFTXhVa9e4qn44ya8m+Ynu/vpVmOO17sg17u5vdff3dvff6+4f
   yN77/D/e3Y9dpfleq5b8vvjtJP8oSVbRuD3Jn5zoLK9tS9b4mSRvS5KqemOSv+29/stSefUzaZ9I
   8jPJK1fo/GZ3f/Wog238FHe7sMmxW7jG70/y7Uk+tjod+0x3/9OrN+try8I1/mvfEqe4L9mSde7u
   36uqf1xV55P83yTvdcZtuYU/y+9N8p+q6j3Z+8DYu179iBymqn4zyU6S76mqP0/yYJLXZO/S2L/W
   3Q9X1Y9V1ZeT/EWSn117zNVHvgGAQY7lQiUAwJURaAAYSKABYCCBBoCBBBoABhJoABhIoAFgIIEG
   gIH+H2DCH5bDa+uKAAAAAElFTkSuQmCC
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[29]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="c1"># is there any effect of ETHN on slope or intercept?</span>
   <span class="n">table5</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">min_lm</span><span class="p">,</span> <span class="n">min_lm4</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table5</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-57-129d94cb4fbc&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> <span class="ansired"># is there any effect of ETHN on slope or intercept?</span><span class="ansiblue"></span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span>table5 <span class="ansiblue">=</span> anova_lm<span class="ansiblue">(</span>min_lm<span class="ansiblue">,</span> min_lm4<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>table5<span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;min_lm&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[30]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="c1"># is there any effect of ETHN on intercept</span>
   <span class="n">table6</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">min_lm</span><span class="p">,</span> <span class="n">min_lm3</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table6</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-58-c31cb02af7ce&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> <span class="ansired"># is there any effect of ETHN on intercept</span><span class="ansiblue"></span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span>table6 <span class="ansiblue">=</span> anova_lm<span class="ansiblue">(</span>min_lm<span class="ansiblue">,</span> min_lm3<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>table6<span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;min_lm&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[31]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="c1"># is there any effect of ETHN on slope</span>
   <span class="n">table7</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">min_lm</span><span class="p">,</span> <span class="n">min_lm2</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table7</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-59-8848959d255f&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> <span class="ansired"># is there any effect of ETHN on slope</span><span class="ansiblue"></span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span>table7 <span class="ansiblue">=</span> anova_lm<span class="ansiblue">(</span>min_lm<span class="ansiblue">,</span> min_lm2<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>table7<span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;min_lm&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[32]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="c1"># is it just the slope or both?</span>
   <span class="n">table8</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">min_lm2</span><span class="p">,</span> <span class="n">min_lm4</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table8</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_text output_pyerr">
   <pre>
   <span class="ansired">---------------------------------------------------------------------------</span>
   <span class="ansired">NameError</span>                                 Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-60-b62ed8a937ec&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">      1</span> <span class="ansired"># is it just the slope or both?</span><span class="ansiblue"></span><span class="ansiblue"></span>
   <span class="ansigreen">----&gt; 2</span><span class="ansired"> </span>table8 <span class="ansiblue">=</span> anova_lm<span class="ansiblue">(</span>min_lm2<span class="ansiblue">,</span> min_lm4<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">      3</span> <span class="ansigreen">print</span><span class="ansiblue">(</span>table8<span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansired">NameError</span>: name &apos;min_lm2&apos; is not defined</pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <h2 id="one-way-anova">One-way ANOVA</h2>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[33]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="k">try</span><span class="p">:</span>
       <span class="n">rehab_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;rehab.table&#39;</span><span class="p">)</span>
   <span class="k">except</span><span class="p">:</span>
       <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://stats191.stanford.edu/data/rehab.csv&#39;</span>
       <span class="n">rehab_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s2">&quot;,&quot;</span><span class="p">)</span>
       <span class="n">rehab_table</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="s1">&#39;rehab.table&#39;</span><span class="p">)</span>
   
   <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">rehab_table</span><span class="o">.</span><span class="n">boxplot</span><span class="p">(</span><span class="s1">&#39;Time&#39;</span><span class="p">,</span> <span class="s1">&#39;Fitness&#39;</span><span class="p">,</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">grid</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   AABJRU5ErkJggg==
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[34]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">rehab_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;Time ~ C(Fitness)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">rehab_table</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="n">table9</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">rehab_lm</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">table9</span><span class="p">)</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">rehab_lm</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">orig_exog</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
               df  sum_sq     mean_sq          F    PR(&gt;F)
   C(Fitness)   2     672  336.000000  16.961538  0.000041
   Residual    21     416   19.809524        NaN       NaN
       Intercept  C(Fitness)[T.2]  C(Fitness)[T.3]
   0           1                0                0
   1           1                0                0
   2           1                0                0
   3           1                0                0
   4           1                0                0
   5           1                0                0
   6           1                0                0
   7           1                0                0
   8           1                1                0
   9           1                1                0
   10          1                1                0
   11          1                1                0
   12          1                1                0
   13          1                1                0
   14          1                1                0
   15          1                1                0
   16          1                1                0
   17          1                1                0
   18          1                0                1
   19          1                0                1
   20          1                0                1
   21          1                0                1
   22          1                0                1
   23          1                0                1
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[35]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="k">print</span><span class="p">(</span><span class="n">rehab_lm</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
                               OLS Regression Results                            
   ==============================================================================
   Dep. Variable:                   Time   R-squared:                       0.618
   Model:                            OLS   Adj. R-squared:                  0.581
   Method:                 Least Squares   F-statistic:                     16.96
   Date:                Mon, 04 Apr 2016   Prob (F-statistic):           4.13e-05
   Time:                        22:55:15   Log-Likelihood:                -68.286
   No. Observations:                  24   AIC:                             142.6
   Df Residuals:                      21   BIC:                             146.1
   Df Model:                           2                                         
   Covariance Type:            nonrobust                                         
   ===================================================================================
                         coef    std err          t      P&gt;|t|      [95.0% Conf. Int.]
   -----------------------------------------------------------------------------------
   Intercept          38.0000      1.574     24.149      0.000        34.728    41.272
   C(Fitness)[T.2]    -6.0000      2.111     -2.842      0.010       -10.390    -1.610
   C(Fitness)[T.3]   -14.0000      2.404     -5.824      0.000       -18.999    -9.001
   ==============================================================================
   Omnibus:                        0.163   Durbin-Watson:                   2.209
   Prob(Omnibus):                  0.922   Jarque-Bera (JB):                0.211
   Skew:                          -0.163   Prob(JB):                        0.900
   Kurtosis:                       2.675   Cond. No.                         3.80
   ==============================================================================
   
   Warnings:
   [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <h2 id="two-way-anova">Two-way ANOVA</h2>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[36]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="k">try</span><span class="p">:</span>
       <span class="n">kidney_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="s1">&#39;./kidney.table&#39;</span><span class="p">)</span>
   <span class="k">except</span><span class="p">:</span>
       <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://stats191.stanford.edu/data/kidney.table&#39;</span>
       <span class="n">kidney_table</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_table</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s2">&quot; *&quot;</span><span class="p">)</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stderr output_text">
   <pre>
   /usr/lib/python2.7/dist-packages/pandas/io/parsers.py:624: ParserWarning: Falling back to the &apos;python&apos; engine because the &apos;c&apos; engine does not support regex separators; you can avoid this warning by specifying engine=&apos;python&apos;.
     ParserWarning)
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Explore the dataset</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[37]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">kidney_table</span><span class="o">.</span><span class="n">groupby</span><span class="p">([</span><span class="s1">&#39;Weight&#39;</span><span class="p">,</span> <span class="s1">&#39;Duration&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">size</span><span class="p">()</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt output_prompt">Out[37]:</div>
   
   
   <div class="output_text output_subarea output_pyout">
   <pre>
   Weight  Duration
   1       1           10
           2           10
   2       1           10
           2           10
   3       1           10
           2           10
   dtype: int64
   </pre>
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>Balanced panel</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[38]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">kt</span> <span class="o">=</span> <span class="n">kidney_table</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="p">))</span>
   <span class="n">fig</span> <span class="o">=</span> <span class="n">interaction_plot</span><span class="p">(</span><span class="n">kt</span><span class="p">[</span><span class="s1">&#39;Weight&#39;</span><span class="p">],</span> <span class="n">kt</span><span class="p">[</span><span class="s1">&#39;Duration&#39;</span><span class="p">],</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">kt</span><span class="p">[</span><span class="s1">&#39;Days&#39;</span><span class="p">]</span><span class="o">+</span><span class="mi">1</span><span class="p">),</span>
           <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;red&#39;</span><span class="p">,</span> <span class="s1">&#39;blue&#39;</span><span class="p">],</span> <span class="n">markers</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;D&#39;</span><span class="p">,</span><span class="s1">&#39;^&#39;</span><span class="p">],</span> <span class="n">ms</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">ax</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">())</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,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
   /D+7Yh6cb3gotAAAAABJRU5ErkJggg==
   "
   >
   </div>
   
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <p>You have things available in the calling namespace available in the formula evaluation namespace</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[39]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">kidney_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration) * C(Weight)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="n">table10</span> <span class="o">=</span> <span class="n">anova_lm</span><span class="p">(</span><span class="n">kidney_lm</span><span class="p">)</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration) + C(Weight)&#39;</span><span class="p">,</span>
                   <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">(),</span> <span class="n">kidney_lm</span><span class="p">))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">(),</span>
                  <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration) + C(Weight, Sum)&#39;</span><span class="p">,</span>
                      <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Weight)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">(),</span>
                  <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration) + C(Weight, Sum)&#39;</span><span class="p">,</span>
                      <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()))</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
      df_resid        ssr  df_diff   ss_diff        F    Pr(&gt;F)
   0        56  29.624856        0       NaN      NaN       NaN
   1        54  28.989198        2  0.635658  0.59204  0.556748
      df_resid        ssr  df_diff    ss_diff          F    Pr(&gt;F)
   0        58  46.596147        0        NaN        NaN       NaN
   1        56  29.624856        2  16.971291  16.040454  0.000003
      df_resid        ssr  df_diff   ss_diff         F   Pr(&gt;F)
   0        57  31.964549        0       NaN       NaN      NaN
   1        56  29.624856        1  2.339693  4.422732  0.03997
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing text_cell rendered">
   <div class="prompt input_prompt">
   </div>
   <div class="inner_cell">
   <div class="text_cell_render border-box-sizing rendered_html">
   <h2 id="sum-of-squares">Sum of squares</h2>
   <p> Illustrates the use of different types of sums of squares (I,II,II)
    and how the Sum contrast can be used to produce the same output between
    the 3.</p>
   <p> Types I and II are equivalent under a balanced design.</p>
   <p> Don&#39;t use Type III with non-orthogonal contrast - ie., Treatment</p>
   </div>
   </div>
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[40]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">sum_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration, Sum) * C(Weight, Sum)&#39;</span><span class="p">,</span>
               <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">sum_lm</span><span class="p">))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">sum_lm</span><span class="p">,</span> <span class="n">typ</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">sum_lm</span><span class="p">,</span> <span class="n">typ</span><span class="o">=</span><span class="mi">3</span><span class="p">))</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
                                    df     sum_sq   mean_sq          F    PR(&gt;F)
   C(Duration, Sum)                  1   2.339693  2.339693   4.358293  0.041562
   C(Weight, Sum)                    2  16.971291  8.485645  15.806745  0.000004
   C(Duration, Sum):C(Weight, Sum)   2   0.635658  0.317829   0.592040  0.556748
   Residual                         54  28.989198  0.536837        NaN       NaN
                                       sum_sq  df          F    PR(&gt;F)
   C(Duration, Sum)                  2.339693   1   4.358293  0.041562
   C(Weight, Sum)                   16.971291   2  15.806745  0.000004
   C(Duration, Sum):C(Weight, Sum)   0.635658   2   0.592040  0.556748
   Residual                         28.989198  54        NaN       NaN
                                        sum_sq  df           F        PR(&gt;F)
   Intercept                        156.301830   1  291.153237  2.077589e-23
   C(Duration, Sum)                   2.339693   1    4.358293  4.156170e-02
   C(Weight, Sum)                    16.971291   2   15.806745  3.944502e-06
   C(Duration, Sum):C(Weight, Sum)    0.635658   2    0.592040  5.567479e-01
   Residual                          28.989198  54         NaN           NaN
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>
   <div class="cell border-box-sizing code_cell rendered">
   <div class="input">
   <div class="prompt input_prompt">In&nbsp;[41]:</div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">nosum_lm</span> <span class="o">=</span> <span class="n">ols</span><span class="p">(</span><span class="s1">&#39;np.log(Days+1) ~ C(Duration, Treatment) * C(Weight, Treatment)&#39;</span><span class="p">,</span>
               <span class="n">data</span><span class="o">=</span><span class="n">kt</span><span class="p">)</span><span class="o">.</span><span class="n">fit</span><span class="p">()</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">nosum_lm</span><span class="p">))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">nosum_lm</span><span class="p">,</span> <span class="n">typ</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
   <span class="k">print</span><span class="p">(</span><span class="n">anova_lm</span><span class="p">(</span><span class="n">nosum_lm</span><span class="p">,</span> <span class="n">typ</span><span class="o">=</span><span class="mi">3</span><span class="p">))</span>
   </pre></div>
   
   </div>
   </div>
   </div>
   
   <div class="output_wrapper">
   <div class="output">
   
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stdout output_text">
   <pre>
                                                df     sum_sq   mean_sq          F    PR(&gt;F)
   C(Duration, Treatment)                        1   2.339693  2.339693   4.358293  0.041562
   C(Weight, Treatment)                          2  16.971291  8.485645  15.806745  0.000004
   C(Duration, Treatment):C(Weight, Treatment)   2   0.635658  0.317829   0.592040  0.556748
   Residual                                     54  28.989198  0.536837        NaN       NaN
                                                   sum_sq  df          F    PR(&gt;F)
   C(Duration, Treatment)                        2.339693   1   4.358293  0.041562
   C(Weight, Treatment)                         16.971291   2  15.806745  0.000004
   C(Duration, Treatment):C(Weight, Treatment)   0.635658   2   0.592040  0.556748
   Residual                                     28.989198  54        NaN       NaN
                                                   sum_sq  df          F    PR(&gt;F)
   Intercept                                    10.427596   1  19.424139  0.000050
   C(Duration, Treatment)                        0.054293   1   0.101134  0.751699
   C(Weight, Treatment)                         11.703387   2  10.900317  0.000106
   C(Duration, Treatment):C(Weight, Treatment)   0.635658   2   0.592040  0.556748
   Residual                                     28.989198  54        NaN       NaN
   
   </pre>
   </div>
   </div>
   
   </div>
   </div>
   
   </div>

   <script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"type="text/javascript"></script>
   <script type="text/javascript">
   init_mathjax = function() {
       if (window.MathJax) {
           // MathJax loaded
           MathJax.Hub.Config({
               tex2jax: {
               // I'm not sure about the \( and \[ below. It messes with the
               // prompt, and I think it's an issue with the template. -SS
                   inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                   displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
               },
               displayAlign: 'left', // Change this to 'center' to center equations.
               "HTML-CSS": {
                   styles: {'.MathJax_Display': {"margin": 0}}
               }
           });
           MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
       }
   }
   init_mathjax();

   // since we have to load this in a ..raw:: directive we will add the css
   // after the fact
   function loadcssfile(filename){
       var fileref=document.createElement("link")
       fileref.setAttribute("rel", "stylesheet")
       fileref.setAttribute("type", "text/css")
       fileref.setAttribute("href", filename)

       document.getElementsByTagName("head")[0].appendChild(fileref)
   }
   // loadcssfile({{pathto("_static/nbviewer.pygments.css", 1) }})
   // loadcssfile({{pathto("_static/nbviewer.min.css", 1) }})
   loadcssfile("../../../_static/nbviewer.pygments.css")
   loadcssfile("../../../_static/ipython.min.css")
   </script>