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-96-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>
   /build/statsmodels-zv7Yaw/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 0x7f90c6862410&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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
   "
   >
   </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 0x7f90c6bdd090&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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
   DRPUAAAAAElFTkSuQmCC
   "
   >
   </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>