Linear Mixed Effects Models
=============================


.. _mixed_lm_example_notebook:

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

.. raw:: html

   
   <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">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</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">statsmodels.formula.api</span> <span class="kn">as</span> <span class="nn">smf</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;[2]:
   </div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="o">%</span><span class="k">load_ext</span> <span class="n">rpy2</span><span class="o">.</span><span class="n">ipython</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">ImportError</span>                               Traceback (most recent call last)
   <span class="ansigreen">&lt;ipython-input-217-691c6d73b073&gt;</span> in <span class="ansicyan">&lt;module&gt;</span><span class="ansiblue">()</span>
   <span class="ansigreen">----&gt; 1</span><span class="ansired"> </span>get_ipython<span class="ansiblue">(</span><span class="ansiblue">)</span><span class="ansiblue">.</span>magic<span class="ansiblue">(</span><span class="ansiblue">u&apos;load_ext rpy2.ipython&apos;</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc</span> in <span class="ansicyan">magic</span><span class="ansiblue">(self, arg_s)</span>
   <span class="ansigreen">   2203</span>         magic_name<span class="ansiblue">,</span> _<span class="ansiblue">,</span> magic_arg_s <span class="ansiblue">=</span> arg_s<span class="ansiblue">.</span>partition<span class="ansiblue">(</span><span class="ansiblue">&apos; &apos;</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">   2204</span>         magic_name <span class="ansiblue">=</span> magic_name<span class="ansiblue">.</span>lstrip<span class="ansiblue">(</span>prefilter<span class="ansiblue">.</span>ESC_MAGIC<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">-&gt; 2205</span><span class="ansired">         </span><span class="ansigreen">return</span> self<span class="ansiblue">.</span>run_line_magic<span class="ansiblue">(</span>magic_name<span class="ansiblue">,</span> magic_arg_s<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">   2206</span> <span class="ansiblue"></span>
   <span class="ansigreen">   2207</span>     <span class="ansired">#-------------------------------------------------------------------------</span><span class="ansiblue"></span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc</span> in <span class="ansicyan">run_line_magic</span><span class="ansiblue">(self, magic_name, line)</span>
   <span class="ansigreen">   2124</span>                 kwargs<span class="ansiblue">[</span><span class="ansiblue">&apos;local_ns&apos;</span><span class="ansiblue">]</span> <span class="ansiblue">=</span> sys<span class="ansiblue">.</span>_getframe<span class="ansiblue">(</span>stack_depth<span class="ansiblue">)</span><span class="ansiblue">.</span>f_locals<span class="ansiblue"></span>
   <span class="ansigreen">   2125</span>             <span class="ansigreen">with</span> self<span class="ansiblue">.</span>builtin_trap<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">-&gt; 2126</span><span class="ansired">                 </span>result <span class="ansiblue">=</span> fn<span class="ansiblue">(</span><span class="ansiblue">*</span>args<span class="ansiblue">,</span><span class="ansiblue">**</span>kwargs<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">   2127</span>             <span class="ansigreen">return</span> result<span class="ansiblue"></span>
   <span class="ansigreen">   2128</span> <span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/magics/extension.pyc</span> in <span class="ansicyan">load_ext</span><span class="ansiblue">(self, module_str)</span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/magic.pyc</span> in <span class="ansicyan">&lt;lambda&gt;</span><span class="ansiblue">(f, *a, **k)</span>
   <span class="ansigreen">    191</span>     <span class="ansired"># but it&apos;s overkill for just that one bit of state.</span><span class="ansiblue"></span><span class="ansiblue"></span>
   <span class="ansigreen">    192</span>     <span class="ansigreen">def</span> magic_deco<span class="ansiblue">(</span>arg<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">--&gt; 193</span><span class="ansired">         </span>call <span class="ansiblue">=</span> <span class="ansigreen">lambda</span> f<span class="ansiblue">,</span> <span class="ansiblue">*</span>a<span class="ansiblue">,</span> <span class="ansiblue">**</span>k<span class="ansiblue">:</span> f<span class="ansiblue">(</span><span class="ansiblue">*</span>a<span class="ansiblue">,</span> <span class="ansiblue">**</span>k<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">    194</span> <span class="ansiblue"></span>
   <span class="ansigreen">    195</span>         <span class="ansigreen">if</span> callable<span class="ansiblue">(</span>arg<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/magics/extension.pyc</span> in <span class="ansicyan">load_ext</span><span class="ansiblue">(self, module_str)</span>
   <span class="ansigreen">     61</span>         <span class="ansigreen">if</span> <span class="ansigreen">not</span> module_str<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">     62</span>             <span class="ansigreen">raise</span> UsageError<span class="ansiblue">(</span><span class="ansiblue">&apos;Missing module name.&apos;</span><span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">---&gt; 63</span><span class="ansired">         </span>res <span class="ansiblue">=</span> self<span class="ansiblue">.</span>shell<span class="ansiblue">.</span>extension_manager<span class="ansiblue">.</span>load_extension<span class="ansiblue">(</span>module_str<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">     64</span> <span class="ansiblue"></span>
   <span class="ansigreen">     65</span>         <span class="ansigreen">if</span> res <span class="ansiblue">==</span> <span class="ansiblue">&apos;already loaded&apos;</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansigreen">/usr/lib/python2.7/dist-packages/IPython/core/extensions.pyc</span> in <span class="ansicyan">load_extension</span><span class="ansiblue">(self, module_str)</span>
   <span class="ansigreen">     96</span>             <span class="ansigreen">if</span> module_str <span class="ansigreen">not</span> <span class="ansigreen">in</span> sys<span class="ansiblue">.</span>modules<span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">     97</span>                 <span class="ansigreen">with</span> prepended_to_syspath<span class="ansiblue">(</span>self<span class="ansiblue">.</span>ipython_extension_dir<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   <span class="ansigreen">---&gt; 98</span><span class="ansired">                     </span>__import__<span class="ansiblue">(</span>module_str<span class="ansiblue">)</span><span class="ansiblue"></span>
   <span class="ansigreen">     99</span>             mod <span class="ansiblue">=</span> sys<span class="ansiblue">.</span>modules<span class="ansiblue">[</span>module_str<span class="ansiblue">]</span><span class="ansiblue"></span>
   <span class="ansigreen">    100</span>             <span class="ansigreen">if</span> self<span class="ansiblue">.</span>_call_load_ipython_extension<span class="ansiblue">(</span>mod<span class="ansiblue">)</span><span class="ansiblue">:</span><span class="ansiblue"></span>
   
   <span class="ansired">ImportError</span>: No module named rpy2.ipython</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;[3]:
   </div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="o">%</span><span class="k">R</span> <span class="n">library</span><span class="p">(</span><span class="n">lme4</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>
   ERROR: Line magic function &#96;%R&#96; not found.
   
   </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">
   <h1 id="comparing-r-lmer-to-statsmodels-mixedlm">Comparing R lmer to Statsmodels MixedLM</h1>
   <p>The Statsmodels imputation of linear mixed models (MixedLM) closely follows the approach outlined in Lindstrom and Bates (JASA 1988).  This is also the approach followed in the  R package LME4.  Other packages such as Stata, SAS, etc. should also be consistent with this approach, as the basic techniques in this area are mostly mature.</p>
   <p>Here we show how linear mixed models can be fit using the MixedLM procedure in Statsmodels.  Results from R (LME4) are included for comparison.  </p>
   <p>Here are our import statements:</p>
   </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="growth-curves-of-pigs">Growth curves of pigs</h2>
   <p>These are longitudinal data from a factorial experiment. The outcome variable is the weight of each pig, and the only predictor variable we will use here is &quot;time&quot;.  First we fit a model that expresses the mean weight as a linear function of time, with a random intercept for each pig. The model is specified using formulas. Since the random effects structure is not specified, the default random effects structure (a random intercept for each group) is automatically used. </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">data</span> <span class="o">=</span> <span class="n">sm</span><span class="o">.</span><span class="n">datasets</span><span class="o">.</span><span class="n">get_rdataset</span><span class="p">(</span><span class="s">&#39;dietox&#39;</span><span class="p">,</span> <span class="s">&#39;geepack&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">data</span>
   <span class="n">md</span> <span class="o">=</span> <span class="n">smf</span><span class="o">.</span><span class="n">mixedlm</span><span class="p">(</span><span class="s">&quot;Weight ~ Time&quot;</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">groups</span><span class="o">=</span><span class="n">data</span><span class="p">[</span><span class="s">&quot;Pig&quot;</span><span class="p">])</span>
   <span class="n">mdf</span> <span class="o">=</span> <span class="n">md</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">mdf</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>
             Mixed Linear Model Regression Results
   ========================================================
   Model:            MixedLM Dependent Variable: Weight    
   No. Observations: 861     Method:             REML      
   No. Groups:       72      Scale:              11.3668   
   Min. group size:  11      Likelihood:         -2404.7753
   Max. group size:  12      Converged:          Yes       
   Mean group size:  12.0                                  
   --------------------------------------------------------
                Coef.  Std.Err.    z    P&gt;|z| [0.025 0.975]
   --------------------------------------------------------
   Intercept    15.724    0.788  19.952 0.000 14.180 17.269
   Time          6.942    0.033 207.939 0.000  6.877  7.008
   Intercept RE 40.399    2.166                            
   ========================================================
   
   
   </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>Here is the same model fit in R using LMER:</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="o">%%</span>R 
   data<span class="p">(</span>dietox<span class="p">,</span> package<span class="o">=</span><span class="s">&#39;geepack&#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_stderr output_text">
   <pre>
   ERROR: Cell magic &#96;%%R&#96; 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;[6]:
   </div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="o">%</span><span class="k">R</span> <span class="k">print</span><span class="p">(</span><span class="n">summary</span><span class="p">(</span><span class="n">lmer</span><span class="p">(</span><span class="s">&#39;Weight ~ Time + (1|Pig)&#39;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">dietox</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>
   ERROR: Line magic function &#96;%R&#96; not found.
   
   </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>Note that in the Statsmodels summary of results, the fixed effects and random effects parameter estimates are shown in a single table.  The random effect for animal is labeled &quot;Intercept RE&quot; in the Statmodels output above.  In the LME4 output, this effect is the pig intercept under the random effects section.</p>
   <p>There has been a lot of debate about whether the standard errors for random effect variance and covariance parameters are useful.  In LME4, these standard errors are not displayed, because the authors of the package believe they are not very informative.  While there is good reason to question their utility, we elected to include the standard errors in the summary table, but do not show the corresponding Wald confidence intervals.</p>
   <p>Next we fit a model with two random effects for each animal: a random intercept, and a random slope (with respect to time).  This means that each pig may have a different baseline weight, as well as growing at a different rate. The formula specifies that &quot;Time&quot; is a covariate with a random coefficient.  By default, formulas always include an intercept (which could be suppressed here using &quot;0 + Time&quot; as the formula).</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">md</span> <span class="o">=</span> <span class="n">smf</span><span class="o">.</span><span class="n">mixedlm</span><span class="p">(</span><span class="s">&quot;Weight ~ Time&quot;</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">groups</span><span class="o">=</span><span class="n">data</span><span class="p">[</span><span class="s">&quot;Pig&quot;</span><span class="p">],</span> <span class="n">re_formula</span><span class="o">=</span><span class="s">&quot;~Time&quot;</span><span class="p">)</span>
   <span class="n">mdf</span> <span class="o">=</span> <span class="n">md</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">mdf</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>
                 Mixed Linear Model Regression Results
   =================================================================
   Model:               MixedLM    Dependent Variable:    Weight    
   No. Observations:    861        Method:                REML      
   No. Groups:          72         Scale:                 6.0374    
   Min. group size:     11         Likelihood:            -2217.0475
   Max. group size:     12         Converged:             Yes       
   Mean group size:     12.0                                        
   -----------------------------------------------------------------
                          Coef.  Std.Err.   z    P&gt;|z| [0.025 0.975]
   -----------------------------------------------------------------
   Intercept              15.739    0.550 28.609 0.000 14.661 16.817
   Time                    6.939    0.080 86.927 0.000  6.783  7.095
   Intercept RE           19.493    1.572                           
   Intercept RE x Time RE  0.294    0.154                           
   Time RE                 0.416    0.033                           
   =================================================================
   
   
   </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>Here is the same model fit using LMER in R:</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="o">%</span><span class="k">R</span> <span class="k">print</span><span class="p">(</span><span class="n">summary</span><span class="p">(</span><span class="n">lmer</span><span class="p">(</span><span class="s">&quot;Weight ~ Time + (1 + Time | Pig)&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">dietox</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>
   ERROR: Line magic function &#96;%R&#96; not found.
   
   </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 random intercept and random slope are only weakly correlated $(0.294 / \sqrt{19.493 * 0.416} \approx 0.1)$.  So next we fit a model in which the two random effects are constrained to be uncorrelated:</p>
   </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="o">.</span><span class="mi">294</span> <span class="o">/</span> <span class="p">(</span><span class="mf">19.493</span> <span class="o">*</span> <span class="o">.</span><span class="mi">416</span><span class="p">)</span><span class="o">**.</span><span class="mi">5</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_text output_subarea output_pyout">
   <pre>
   0.10324316832591753
   </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;[10]:
   </div>
   <div class="inner_cell">
       <div class="input_area">
   <div class="highlight"><pre><span class="n">md</span> <span class="o">=</span> <span class="n">smf</span><span class="o">.</span><span class="n">mixedlm</span><span class="p">(</span><span class="s">&quot;Weight ~ Time&quot;</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">groups</span><span class="o">=</span><span class="n">data</span><span class="p">[</span><span class="s">&quot;Pig&quot;</span><span class="p">],</span>
                     <span class="n">re_formula</span><span class="o">=</span><span class="s">&quot;~Time&quot;</span><span class="p">)</span>
   <span class="n">free</span> <span class="o">=</span> <span class="n">sm</span><span class="o">.</span><span class="n">regression</span><span class="o">.</span><span class="n">mixed_linear_model</span><span class="o">.</span><span class="n">MixedLMParams</span><span class="o">.</span><span class="n">from_components</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span> 
                                                                         <span class="n">np</span><span class="o">.</span><span class="n">eye</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span>
   
   <span class="n">mdf</span> <span class="o">=</span> <span class="n">md</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">free</span><span class="o">=</span><span class="n">free</span><span class="p">)</span>
   <span class="k">print</span><span class="p">(</span><span class="n">mdf</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>
                 Mixed Linear Model Regression Results
   =================================================================
   Model:               MixedLM    Dependent Variable:    Weight    
   No. Observations:    861        Method:                REML      
   No. Groups:          72         Scale:                 6.0281    
   Min. group size:     11         Likelihood:            -2217.3481
   Max. group size:     12         Converged:             Yes       
   Mean group size:     12.0                                        
   -----------------------------------------------------------------
                          Coef.  Std.Err.   z    P&gt;|z| [0.025 0.975]
   -----------------------------------------------------------------
   Intercept              15.740    0.554 28.385 0.000 14.653 16.827
   Time                    6.939    0.080 86.248 0.000  6.781  7.097
   Intercept RE           19.845    1.584                           
   Intercept RE x Time RE  0.000    0.000                           
   Time RE                 0.423    0.033                           
   =================================================================
   
   
   </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 likelihood drops by 0.3 when we fix the correlation parameter to 0.  Comparing 2 x 0.3 = 0.6 to the chi^2 1 df reference distribution suggests that the data are very consistent with a model in which this parameter is equal to 0.  </p>
   <p>Here is the same model fit using LMER in R (note that here R is reporting the REML criterion instead of the likelihood, where the REML criterion is twice the log likeihood):</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="o">%</span><span class="k">R</span> <span class="k">print</span><span class="p">(</span><span class="n">summary</span><span class="p">(</span><span class="n">lmer</span><span class="p">(</span><span class="s">&quot;Weight ~ Time + (1 | Pig) + (0 + Time | Pig)&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">dietox</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>
   ERROR: Line magic function &#96;%R&#96; not found.
   
   </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="sitka-growth-data">Sitka growth data</h2>
   <p>This is one of the example data sets provided in the LMER R library.  The outcome variable is the size of the tree, and the covariate used here is a time value.  The data are grouped by tree.</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="n">data</span> <span class="o">=</span> <span class="n">sm</span><span class="o">.</span><span class="n">datasets</span><span class="o">.</span><span class="n">get_rdataset</span><span class="p">(</span><span class="s">&quot;Sitka&quot;</span><span class="p">,</span> <span class="s">&quot;MASS&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">data</span>
   <span class="n">endog</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&quot;size&quot;</span><span class="p">]</span>
   <span class="n">data</span><span class="p">[</span><span class="s">&quot;Intercept&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
   <span class="n">exog</span> <span class="o">=</span> <span class="n">data</span><span class="p">[[</span><span class="s">&quot;Intercept&quot;</span><span class="p">,</span> <span class="s">&quot;Time&quot;</span><span class="p">]]</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>Here is the statsmodels LME fit for a basic model with a random intercept.  We are passing the endog and exog data directly to the LME init function as arrays.  Also note that endog_re is specified explicitly in argument 4 as a random intercept (although this would also be the default if it were not specified).</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">md</span> <span class="o">=</span> <span class="n">sm</span><span class="o">.</span><span class="n">MixedLM</span><span class="p">(</span><span class="n">endog</span><span class="p">,</span> <span class="n">exog</span><span class="p">,</span> <span class="n">groups</span><span class="o">=</span><span class="n">data</span><span class="p">[</span><span class="s">&quot;tree&quot;</span><span class="p">],</span> <span class="n">exog_re</span><span class="o">=</span><span class="n">exog</span><span class="p">[</span><span class="s">&quot;Intercept&quot;</span><span class="p">])</span>
   <span class="n">mdf</span> <span class="o">=</span> <span class="n">md</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">mdf</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>
            Mixed Linear Model Regression Results
   ======================================================
   Model:            MixedLM Dependent Variable: size    
   No. Observations: 395     Method:             REML    
   No. Groups:       79      Scale:              0.0392  
   Min. group size:  5       Likelihood:         -82.3884
   Max. group size:  5       Converged:          Yes     
   Mean group size:  5.0                                 
   ------------------------------------------------------
                Coef. Std.Err.   z    P&gt;|z| [0.025 0.975]
   ------------------------------------------------------
   Intercept    2.273    0.088 25.863 0.000  2.101  2.446
   Time         0.013    0.000 47.796 0.000  0.012  0.013
   Intercept RE 0.375    0.348                           
   ======================================================
   
   
   </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>Here is the same model fit in R using LMER:</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="o">%%</span>R
   data<span class="p">(</span>Sitka<span class="p">,</span> package<span class="o">=</span><span class="s">&quot;MASS&quot;</span><span class="p">)</span>
   <span class="kp">print</span><span class="p">(</span><span class="kp">summary</span><span class="p">(</span>lmer<span class="p">(</span><span class="s">&quot;size ~ Time + (1 | tree)&quot;</span><span class="p">,</span> data<span class="o">=</span>Sitka<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>
   ERROR: Cell magic &#96;%%R&#96; not found.
   
   </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>We can now try to add a random slope.  We start with R this time.  From the code and output below we see that the REML estimate of the variance of the random slope is nearly zero.</p>
   </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="o">%</span><span class="k">R</span> <span class="k">print</span><span class="p">(</span><span class="n">summary</span><span class="p">(</span><span class="n">lmer</span><span class="p">(</span><span class="s">&quot;size ~ Time + (1 + Time | tree)&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">Sitka</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>
   ERROR: Line magic function &#96;%R&#96; not found.
   
   </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>If we run this in statsmodels LME with defaults, we see that the variance estimate is indeed very small, which leads to a warning about the solution being on the boundary of the parameter space.  The regression slopes agree very well with R, but the likelihood value is much higher than that returned by R.</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">exog_re</span> <span class="o">=</span> <span class="n">exog</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
   <span class="n">md</span> <span class="o">=</span> <span class="n">sm</span><span class="o">.</span><span class="n">MixedLM</span><span class="p">(</span><span class="n">endog</span><span class="p">,</span> <span class="n">exog</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="s">&quot;tree&quot;</span><span class="p">],</span> <span class="n">exog_re</span><span class="p">)</span>
   <span class="n">mdf</span> <span class="o">=</span> <span class="n">md</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">mdf</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>
                 Mixed Linear Model Regression Results
   =================================================================
   Model:                 MixedLM    Dependent Variable:    size    
   No. Observations:      395        Method:                REML    
   No. Groups:            79         Scale:                 0.0264  
   Min. group size:       5          Likelihood:            -62.4834
   Max. group size:       5          Converged:             Yes     
   Mean group size:       5.0                                       
   -----------------------------------------------------------------
                          Coef.  Std.Err.   z    P&gt;|z| [0.025 0.975]
   -----------------------------------------------------------------
   Intercept               2.273    0.101 22.513 0.000  2.075  2.471
   Time                    0.013    0.000 33.888 0.000  0.012  0.013
   Intercept RE            0.646    0.923                           
   Intercept RE x Time RE -0.001    0.003                           
   Time RE                 0.000    0.000                           
   =================================================================
   
   
   </pre>
   </div>
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   <div class="output_subarea output_stream output_stderr output_text">
   <pre>
   /tmp/buildd/statsmodels-0.6.1/debian/python-statsmodels/usr/lib/python2.7/dist-packages/statsmodels/regression/mixed_linear_model.py:1717: ConvergenceWarning: The MLE may be on the boundary of the parameter space.
     warnings.warn(msg, ConvergenceWarning)
   
   </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>We can further explore the random effects struture by constructing plots of the profile likelihoods. We start with the random intercept, generating a plot of the profile likelihood from 0.1 units below to 0.1 units above the MLE. Since each optimization inside the profile likelihood generates a warning (due to the random slope variance being close to zero), we turn off the warnings here.</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="kn">import</span> <span class="nn">warnings</span>
   
   <span class="k">with</span> <span class="n">warnings</span><span class="o">.</span><span class="n">catch_warnings</span><span class="p">():</span>
       <span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s">&quot;ignore&quot;</span><span class="p">)</span>
       <span class="n">likev</span> <span class="o">=</span> <span class="n">mdf</span><span class="o">.</span><span class="n">profile_re</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">dist_low</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">dist_high</span><span class="o">=</span><span class="mf">0.1</span><span class="p">)</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>Here is a plot of the profile likelihood function.  We multiply the log-likelihood difference by 2 to obtain the usual $\chi^2$ reference distribution with 1 degree of freedom.</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="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</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;[19]:
   </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">10</span><span class="p">,</span><span class="mi">8</span><span class="p">))</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">likev</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="mi">2</span><span class="o">*</span><span class="n">likev</span><span class="p">[:,</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="s">&quot;Variance of random slope&quot;</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">17</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="s">&quot;-2 times profile log likelihood&quot;</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">17</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_text output_subarea output_pyout">
   <pre>
   &lt;matplotlib.text.Text at 0x7fd0d8fd4f90&gt;
   </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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
   5gAAAABJRU5ErkJggg==
   "
   >
   </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>Here is a plot of the profile likelihood function. The profile likelihood plot shows that the MLE of the random slope variance parameter is a very small positive number, and that there is low uncertainty in this estimate.</p>
   </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="n">re</span> <span class="o">=</span> <span class="n">mdf</span><span class="o">.</span><span class="n">cov_re</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
   <span class="n">likev</span> <span class="o">=</span> <span class="n">mdf</span><span class="o">.</span><span class="n">profile_re</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">dist_low</span><span class="o">=.</span><span class="mi">5</span><span class="o">*</span><span class="n">re</span><span class="p">,</span> <span class="n">dist_high</span><span class="o">=</span><span class="mf">0.8</span><span class="o">*</span><span class="n">re</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">10</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
   <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">likev</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="mi">2</span><span class="o">*</span><span class="n">likev</span><span class="p">[:,</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="s">&quot;Variance of random slope&quot;</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">17</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="s">&quot;-2 times profile log likelihood&quot;</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="mi">17</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[20]:</div>
   
   
   <div class="output_text output_subarea output_pyout">
   <pre>
   &lt;matplotlib.text.Text at 0x7fd0d8d5db50&gt;
   </pre>
   </div>
   
   </div>
   
   <div class="output_area"><div class="prompt"></div>
   
   
   <div class="output_png output_subarea ">
   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnEAAAH2CAYAAAAf0NrFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
   AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xm81mP+x/HXp00hohAisqZkyd7gJEXGFrKWdca+8xs0
   liyJESbG2LM1tpGtydZ2VLahZULWLGFEEqJFOp/fH9fddOSc07nP+d73dX/v+/18PHqc7vt73/d5
   G6be5/pei7k7IiIiIpIuDWIHEBEREZHsqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJ
   iIiIpFBBljgz621mb5vZYjPrXOn57mb2hplNzXztWsV7nzazN/ObWERERCS/GsUOUI03gV7A7UDl
   jexmAfu6+0wz6wA8D7RZctHMDgLmLvMeERERkaJTkCNx7v6uu79fxfNT3H1m5uE0oJmZNQYws5WB
   c4CrAMtbWBEREZEICrLE1dLBwER3X5R5fCUwCJgXL5KIiIhIfkS7nWpmI4HWVVzq5+7Dl/PeDsA1
   QPfM462Bdu5+jpltsJz36lariIiIpIa7V3mHMVqJc/fudXmfmbUBHgf6uvvHmad3ArYzs48J/0xr
   mtkYd9+jmu9dl28tKdS/f3/69+8fO4bkif59lxb9+y4tpfrv26z6GWJpuJ36v/Rm1gIYAVzg7q8s
   ed7db3P3dd19Q+B3wPvVFTgRERGRYlCQJc7MepnZZ4QRthFm9mzm0unARsBlZjY586vVsm9Hq1NF
   RESkyBXkFiPu/gTwRBXPX0VYfVrTez8BOuUmmaRNWVlZ7AiSR/r3XVr077u06N/3b1mpzQ8zMy+1
   f2YRERFJJzOrdmFDQd5OFREREZGaqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiI
   pJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJ
   iIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgK
   qcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiI
   iEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBK
   nIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiI
   pJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJ
   iIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgK
   qcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKqcSJiIiIpJBKnIiIiEgKFWSJM7PeZva2mS02
   s86Vnu9uZm+Y2dTM166VrpWb2btmNjnzq1Wc9CLFwx3++9/wVURECkuj2AGq8SbQC7gdqPzXxyxg
   X3efaWYdgOeBNplrDhzp7pPymlSkyMyaBaNGwciR4dfcubD66nDUUdCnD2y2WeyEIiICBToS5+7v
   uvv7VTw/xd1nZh5OA5qZWeNKL7G8BBQpIgsWhNJ2wQWw7bawySbw8MPQuTOMHg1z5sCwYTBvHpSV
   wQ47wE03wddfx04uIlLazAv4PomZjQXOq2p0zcwOAU509x6VXrsGsAgY5u5XVfOZXsj/zCK5VlEB
   b74JL7wQRtpeeQW23BJ69IDu3UNJa9y46vf+8guMGQNDh8LTT0OXLmF07oADYMUV8/vPISJSCswM
   d69ykCra7VQzGwm0ruJSP3cfvpz3dgCuAbpXevood/+vma0MDDOzvu7+QFXv79+///9+X1ZWRllZ
   WZbpRdLliy+W3h4dNQpWXTUUtlNPhX/+MzyujUaNQtnr0QN++gmefBLuuy98zgEHhELXtSs0bJjb
   fx4RkWJVXl5OeXl5rV6bupE4M2sDjAaOdfdXqnnfMcB27n5GFdc0EidF78cf4cUXlxa3mTOhW7dQ
   3Lp3hw02SPb7zZwZbsEOHQpffglHHgl9+0KnTsl+HxGRUlPTSFwaStz57j4x87gF8CJwmbs/Wel1
   DYHV3P2bzBy5h4AX3P2OKj5TJU6KzuLFMHHi0lukkybB9tsvLW3bbJO/0bFp0+Af/wiFbtVVw+jc
   kUdCmzbLf6+IiPxa6kqcmfUCbgJaAd8Dk929p5ldDFwIfFDp5d2B+YRy1xhoCIwEzq2qranESbH4
   6KOlI21jxsC66y4tbbvtBiutFDdfRQVMmBDK3LBhsPXWodAdfDCsskrcbCIiaZG6EpdLKnGSVt99
   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
   AAAASUVORK5CYII=
   "
   >
   </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>