
    M/Ph4                     v   d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlZd dlmZmZmZmZ d dlmZmZmZmZ d dlmZ d dlmc mZ ddlmZ  G d	 d
          Zd Z  G d d          Z! G d d          Z" G d de"          Z#d Z$ej%        &                    ej%        '                    e(                    Z)ej%        *                    e)d          Z+ ej,        e+          Z-d e-D             Z-ej.        /                    de-          ej.        /                    dddg          ej.        /                    dddg          d                                     Z0d Z1d Z2ej.        j3        d             Z4d Z5ej.        j3        d             Z6d  Z7 G d! d"          Z8d# Z9 G d$ d%          Z:d& Z;d' Z<dS )(    )PLATFORM_OSXN)sparse)MixedLMMixedLMParams_smw_solver_smw_logdet)assert_almost_equalassert_equalassert_allcloseassert_)
_penalties   )lme_r_resultsc                       e Zd ZdZd ZdS )	R_ResultsaY  
    A class for holding various results obtained from fitting one data
    set using lmer in R.

    Parameters
    ----------
    meth : str
        Either "ml" or "reml".
    irfs : str
        Either "irf", for independent random effects, or "drf" for
        dependent random effects.
    ds_ix : int
        The number of the data set
    c                 0   d|||fz  }t          t          d|z             | _        t          t          d|z             | _        t          t          d|z             | _        t          t          d|z             | _        t          t          d|z             | _        t          t          d|z             rXt          t          d|z             | _        t          t          d|z             | _	        t          j        | j	                  | _	        t          j                            t          j                            t                               }t          j                            |d	          }t          j                            |d
|z            }t%          |d          5 }t'          j        |          }	t+          |	          }
d |	D             }d d d            n# 1 swxY w Y   t          j        |          }|d d |
                    d          f         | _        |d d |
                    d          f         | _        d t5          |
          D             }|d d |f         | _        d t5          |
          D             }|d d |f         | _        d S )Nz	_%s_%s_%dcoefvcovcov_rescaleloglike
ranef_meanranef_condvarresultszlme%02d.csvzutf-8)encodingc                 &    g | ]}d  |D             S )c                 ,    g | ]}t          |          S  )float.0xs     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/regression/tests/test_lme.py
<listcomp>z1R_Results.__init__.<locals>.<listcomp>.<listcomp>@   s    ,,,!U1XX,,,    r   )r!   lines     r#   r$   z&R_Results.__init__.<locals>.<listcomp>@   s'    ===,,t,,,===r%   endoggroupsc                 B    g | ]\  }}|                     d           |S )exog_fe
startswithr!   ir"   s      r#   r$   z&R_Results.__init__.<locals>.<listcomp>F   -    IIIDAqi1H1HIaIIIr%   c                 B    g | ]\  }}|                     d           |S exog_rer+   r-   s      r#   r$   z&R_Results.__init__.<locals>.<listcomp>H   r/   r%   )getattrr   r   vcov_rcov_re_rscale_rr   hasattrranef_postmeanr   np
atleast_2dospathdirnameabspath__file__joinopencsvreadernextasarrayindexr'   r(   	enumerater*   r2   )selfmethirfsds_ixbnamecur_dirrdirfnamefidrdrheaderdataiis                r#   __init__zR_Results.__init__)   sw   tT511M6E>::	mVe^<<x%/?@@}go>>}i%.?@@=,"677 	C")-9M"N"ND!()85)@"B "BD!#t/A!B!BD '//"'//(";";<<w||GY//T=5#899%'*** 	>c*S//C#YYF=====D	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> z$ !!!V\\'2223
111fll84445IIIf--IIIAAArE{IIIf--IIIAAArE{s   0GG"GN)__name__
__module____qualname____doc__rU   r   r%   r#   r   r      s-          #  #  #  #  #r%   r   c                       fd}|S )Nc                     t          j        | j        j        j                  }                    |           S )N)has_fe
profile_fe)r   from_packedk_fek_reuse_sqrtr   )r"   paramsr\   modelr^   s     r#   fzloglike_function.<locals>.fP   sG    *uz5:u~fF F Ff<<<<r%   r   )rd   r^   r\   re   s   ``` r#   loglike_functionrf   L   s/    = = = = = = =
 Hr%   c                      e Zd Zej        j        ej                            dddg          ej                            dddg          ej                            dddg          d                                                 Zd Zd Z	ej        j        ej        j
        d	                         Zd
 Zd Zd Zd Zd Zd Zd Zej        j        d             Zd Zej        j        d             ZdS )TestMixedLMrb   FTremlr^   c           	      *	   d}d}d}d}t           j                            d           t           j                            ||z  |f          }t           j                            ||z  |f          }	d|	d d df<   t           j                            ||z  df          }
t           j                            ||f          }|d d d	fxx         dz  cc<   t          j        |t          j        |df                    }t           j                            |df          }t          j        |t          j        |df                    }|d d d	fxx         dz  cc<   ||	z                      d          }||
z                      d          }t           j                            ||z            }|                    d          |z   |z   |z   }t          j        t          |          t          j        |                    }i i d
}t          |          D ]D}t          j        ||k              }|
|ddf         |d         |<   |
|ddf         |d         |<   Et          j
        t          d          5  t          ||||	||          }d d d            n# 1 swxY w Y   |                    |          }t          |||           }	 t          d          D ]}t           j                            |          }t           j                            ||f          }t          j        |j        |          }t           j                            d          dz  }t#          j        |||          }|                    | |          }|                    ||           }t+          j        ||          }t/          ||d           |du r|du r|                    |j                  \  } }!|!rt          j        d           | d	z  } |j                            dd          }t          |dd          }"t+          j        ||"          }#t/          | |#d           d S d S d S # t8          $ r  t:          rt          j        d           Y d S  w xY w)N            i  sizer   r   abrs   rt   Using deprecated variancematch)exog_vcrb   ri   )r^   r\   )r   vcompr\   rb   r]   MbP?rtolFzhessian should not be singularT)rb   r\   z4fails on OSX due to unresolved numerical differences)r9   randomseednormalkrononessumrangeflatnonzeropytestwarnsUserWarningr   fitrf   dotTr   from_components
get_packedscorendapprox_fprimer   hessianparams_objectfailapprox_hessAssertionErrorr   xfail)$rH   rb   ri   r^   n_grpgrpsizer`   ra   r*   r2   rx   slopes	slopes_vc	re_values	vc_valueserrr'   r(   vcr.   ixrd   rsltr   kr	fe_paramsr   rz   rc   
params_vecgrngrhesssing	loglike_hnhesss$                                       r#   test_compare_numdiffz TestMixedLM.test_compare_numdiff[   s2    
	t)""$(?"@@)""$(?"@@1)""!(<"==!!t}!55qqq"u'1!6!677I$$5!*$55	GIrw|'<'<==	!!!R%Ag%**1--	(--a00	iEGO44A*Y6<urww'7'788Bu 	* 	*A!,,B QqS)BsGAJ QqS)BsGAJJ\+-HIII 	# 	#!# # #E	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# yydy##"jZA A A'	Ahh 4 4I,,$,77	))d|)<<&11	((a(00!3&6fE; ; ;#..)>H / > >
 kk&Zk@@@&z7;;Cd33333 e##(e*;*;"]]4+=>>
d BK @AAA
!/::"4 ; 1 1
,eD: : :	z9==e$777777 $#*;*;  	 	 	   5 6 6 6 6 6 6 	s%   7JJ JFQ( (%RRc                    t           j                            d           t           j                            d          }t          j        t          j        d          g d          }t          j        t           j                            d          g d          }|                    d          |z   t           j                            d          z   }t          |||                                          }t          |||t          j	        d                                                    }t          |j        |j        d	           d S )
N  ,     ro   d   r   r   r   r   r      decimal)r9   r   r   r   r   aranger   r   r   r   r	   rc   )rH   exogr(   g_errorsr'   mdf1mdf2s          r#   test_default_rezTestMixedLM.test_default_re   s   
	tyX..333729+++55yyyAAh&)9)9s)9)C)CCudF++//11udFBGCLL99==??DKa@@@@@@r%   c                 <   t           j                            d           t           j                            d          }t          j        t          j        d          g d          }t          j        t           j                            d          g d          }|                    d          |z   t           j                            d          z   }t          |||          }|                    d	          }t          t          |d
          d           d S )Nr   r   ro   r   r   r   r   T)full_outputhist)r9   r   r   r   r   r   r   r   r   r
   r7   )rH   r   r(   r   r'   modr   s          r#   test_historyzTestMixedLM.test_history   s    
	tyX..333729+++55yyyAAh&)9)9s)9)C)CCeT6**ww4w((WT6**D11111r%   c                    t           j                            d           d}d}d}t           j                            ||z  |f          }t          j        ||z  df          }t          j        t          j        |          t          j        |                    }t           j                            ||z            }t           j                            ||z            }d}	t          j        t           j                            d          t          j        |                    }
|	|
|d d df         z   z  }	t           j                            |          }|	t          j        |t          j        |                    |z  z  }	t           j                            |          }|	t          j        |t          j        |                    |z  z  }	|	t           j                            ||z            z  }	|                    d          |	z   }i i d}t          |          D ]P}t          j	        ||k              }||         d d d f         |d	         |<   ||         d d d f         |d
         |<   Qt          j        t          d          5  t          |||||                                          }d d d            n# 1 swxY w Y   |                    dddddd           |                    d
ddddd           d S )NiV&  rn   rm   r   ro   r   r   rr   rs   rt   ru   rv   )r(   r2   rx   re)vtypedist_lownum_low	dist_highnum_highr         ?)r9   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
profile_re)rH   r`   gsizer   r   r2   r(   vcavcberrorsr   rcr'   r   krT   r   s                    r#   test_profile_inferencez"TestMixedLM.test_profile_inference   s    		tyeemT%:;;'55=!,--5))275>>::iEEM22iEEM22729+++55rwu~~FF(WQQQT]**Y5))"'"bgenn--33Y5))"'"bgenn--33")"""666f$Bu 	* 	*A!,,BRD)BsGAJRD)BsGAJJ\+-HIII 	> 	>5$v#*B8 8 88; 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	1"#a 	 	1 	1 	14#q"% 	 	3 	3 	3 	3 	3s   'KKKc                     t           j                            d           t           j                            d          }t           j                            d          }t          j        t          j        d          t          j        d                    }t           j                            d          }|d d dfxx         d	z  cc<   t          j        |t          j        d
                    |z  }|                    d          t           j                            d          z   }|                    d          |z   }t          dd	d          }t          j        d          |_	        t          j
        d	          |_        t          j        d          |_        t          ||||          }|                    |          }	i i d}
t!          |j                  D ]<\  }}|j        |         }||ddf         |
d         |<   ||dd	f         |
d         |<   =t'          j        t*          d          5  t          ||||
          }d d d            n# 1 swxY w Y   |                                }|                                 t/          |	j	        |j	        d           t/          t          j        |	j                  |j        dd           t/          |	j        g d         |j        dd           d S )N  )  r   ro   )r   rn   r   r   )r   rn   r   rn   r   r   r   r   r1   )freerr   rs   rt   ru   rv   )rx   -C6?)atol{Gz?)r   r~   )r   r   rm   )r9   r   r   r   r   r   r   r   r   r   eyer   zerosrz   r   r   rG   group_labelsrow_indicesr   r   r   summaryr   diagbse)rH   r   r2   r(   r   r   r'   r   model1result1rx   r   groupr   model2result2s                   r#   test_vcomp_1zTestMixedLM.test_vcomp_1   s	    		tyX..)"""11344!!x!00qqq!t11G;A!1!1s!1!;!;;f$Q1%%fQiiXa[[
fg>>>**$*''$$!&"566 	3 	3HAu#E*B")"ac'"2GCL")"ac'"2GCL\+-HIII 	C 	CUD&'BBBF	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C**,,)7+<4HHHHGGN##W]D	J 	J 	J 	JK			"GKd	G 	G 	G 	G 	G 	Gs   ;II"Ic                    t           j                            d           d}t           j                            |df          }t          j        t          j        |dz            t          j        d                    }d}t           j                            |df          }t           j                            |dz  df          }t          j        |t          j        d                    |z  }||                    d          z  }t          j        t          j        |d	z            t          j        d	                    }|t          j        dt           j                            |d	z            z  t          j        d	                    z  }t          j        t          j        |dz            t          j        d                    }|t          j        dt           j                            |dz            z  t          j        d                    z  }|t           j                            |          z  }|                    d          |z   }	t          j	        t          |          
          }
|	|
d<   ||
d<   |d d df         |
d<   |d d df         |
d<   |d d df         |
d<   |d d df         |
d<   ||
d<   ||
d<   ddd}t          j        d|d||
          }|                                }t          |j        g dd           t          |j        ddgddggd           t          |j        d d!gd           t          |j        j        dd"         g d#d           d S )$Na  i@  rn   ro      r   )r   r   r   r   rF   yr(   x1x2z1z2v1v2z	0 + C(v1)z	0 + C(v2)rr   zy ~ x1 + x2z0+z1+z2r(   
re_formula
vc_formularS   )gE>'?gh㈵?g|'f?r   r}   gCl?g㥛 ?gV-?r|   gjt@g`"@rm   )gFx$?gD;)?g?)r9   r   r   r   r   r   r   r   pd	DataFramer   r   from_formular   r   r   r   rz   r   iloc)rH   nr   r(   r   r2   r   
subgroups1
subgroups2r'   dfvcfr   r   s                 r#   test_vcomp_2zTestMixedLM.test_vcomp_2  sc    		tyaV,,1r6**BGBKK88  )""A"//!!R|!44!1!122W<&**Q-- WRYq1u--rwqzz::
"'!bi..AF.;;;RWQZZHHH WRYq1u--rwqzz::
"'!bi..AF.;;;RWQZZHHH 	")"""***f$\a)))381:41:4111a4=4111a4=444  k22%    **,, 	:::	G 	G 	G 	GNeU^eU^<4	I 	I 	I 	Iu~DAAAAKQqS!#>#>#>T	K 	K 	K 	K 	K 	Kr%   c                 X   t           j                            d           t           j                            d          }t          j        t          j        d          t          j        d                    }t           j                            d          }t          j        |t          j        d                    |z  }|t           j                            d          z   }ddi}t          j        |||d          }t          j
        d	d
||          }|                                }|                                 t          |j        j        dd         t           j        d         d           t          |j        j        dd         t           j        d         d           d S )Nr   r   ro   r   r   rs   z0 + x1)r   r   r(   zy ~ 1r(   )r(   r   rS   r   )gSvA]g{?gб?gP4`_r|   r}   )ghg 8L?g!Va̿g&R?o*)r9   r   r   r   r   r   r   r   r   r   r   r   r   r   residr   r_fittedvalues)	rH   r   r(   r   r   vc_fmlr   rd   results	            r#   test_vcomp_3zTestMixedLM.test_vcomp_3Q  s    		tY3''344!!s!++,,r1RY%%3%///x\v>>??$HbB B BLac"E:;	 	 	 	 	$QqS)E;<	 	 	 	 	 	r%   c                 V   t           j                            t           j                            t                              }t           j                            |d          }t           j                            |d          }t          j        |          }ddi}t          j	        ddd||          }|
                                }t          j	        ddd|d	|
          }|
                                }	t          |j        |	j                   t          |j        |	j                   d S )Nr   
pastes.csvcask0 + caskstrength ~ 1batch1r   T)r(   r   r   
use_sparserS   )r;   r<   r=   r>   r?   r@   r   read_csvr   r   r   r   rc   r   )
rH   rM   rN   rO   rS   r   rd   r  r   r   s
             r#   test_sparsezTestMixedLM.test_sparsek  s   '//"'//(";";<<w||GY//T<00 {5!!z"$    %   **,,w~666
GK00000r%   c                    t           j                            t           j                            t                              }t           j                            |d          }t           j                            |d          }t          j        |          }t          j	        dd|          }|
                                }t          |j        t          j        d         d           t          |j        d	d
         t          j        d         d           t          |j        dd           t          |j        dd           t          |                    |j                  dd           t          j        |          }t          j	        dd|          }|
                    d          }t          |j        t          j        d         d           t          |j        d	d
         t          j        d         d           t          |j        dd           t          |j        dd           t          |                    |j                  dd           d S )Nr   
dietox.csvWeight ~ TimePigr(   rS   )gMqr/@gD @h㈵>r}   r   rn   )gKz7?gd"?g$0ܻ&@g-!l2D@ǧɢFry   )g73pr/@g"J @)gǎ?g\?g0|&@gC@g/Ţ)r;   r<   r=   r>   r?   r@   r   r  r   r   r   r   r   r9   r   r   r   r   r   r   rH   rM   rN   rO   rS   rd   r  s          r#   test_dietoxzTestMixedLM.test_dietox  s_    '//"'//(";";<<w||GY//T<00 {5!!$_UNNN 	be$78t	E 	E 	E 	E 	JqsORU#9:	G 	G 	G 	G 	hT:::: 	xd;;;; 	MM&.//	G 	G 	G 	G {5!!$_UNNN&& 	be$78t	E 	E 	E 	E 	JqsORU#78t	E 	E 	E 	E 	hT:::: 	xd;;;; 	MM&.//	G 	G 	G 	G 	G 	Gr%   c                 f   t           j                            t           j                            t                              }t           j                            |d          }t           j                            |d          }t          j        |          }t          j	        ddd|          }|
                    d          }t          |j        t          j        d	         d
           t          |j        dd         t          j        d         d           t          |j        dd           t          |j        j                                        t          j        d         d           t          |                    |j                  dd
           t          j        |          }t          j	        ddd|          }|
                    dd          }t          |j        t          j        d         d
           t          |j        dd         t          j        d         d           t          |j        dd           t          |j        j                                        t          j        d         d           t          |                    |j                  dd
           d S )Nr   r  r  r  z1 + Time)r(   r   rS   cg)method)g|a2U0z/@g@r  r}   r   rn   )gUx_?gcoo?r|   gJY&@)g
zS~3@矊%?r  g=Ƃ ?皙?gMbRF)r  ri   )g`-z/@g(yu@)gS~;{?gjt1K?g?V&@)g@C03@wo?r  gl`q8?r   gK7O)r;   r<   r=   r>   r?   r@   r   r  r   r   r   r   r   r9   r   r   r   r   valuesravelr   r   r  s          r#   test_dietox_slopeszTestMixedLM.test_dietox_slopes  s    '//"'//(";";<<w||GY//T<00 {5!!$EjtM M M$'' 	be$78t	E 	E 	E 	E 	JqsORU#78t	E 	E 	E 	E 	gD9999 	M &&((E=>	 	 	 	 	MM&.//	G 	G 	G 	G {5!!$EjtM M M$U33 	("%0A*BNNNN 	JqsORU#9:	G 	G 	G 	G 	hT:::: 	M &&((E9:	 	 	 	 	MM&.//	G 	G 	G 	G 	G 	Gr%   c                    t           j                            t           j                            t                              }t           j                            |d          }t           j                            |d          }t          j        |          }ddi}t          j	        ddd||          }|
                                }t          |j        j        d	         d
d           t          |j        j        d	         dd           t          |j        j        d         dd           t          |j        dd           t          |j        dd           t%          |j        t(          j                   t%          |j        t(          j                   t(          j        d         }t          |j        d	d         |d           t(          j        d         }	t          |j        d	d         |	d           t          j	        ddd||          }|
                    d          }t          |j        j        d	         d
d           t          |j        j        d	         dd           t          |j        j        d         dd           t          |j        dd           t          |j        dd           t          |j        dd           t          |j        dd           d S )Nr   r  r  r  r	  r
  r  r   r   g;pΈN@r|   r}   ga2U0*?)r   r   gPn?gV-?g(\^r  )gVQ?g7BZg4Kbg0_^?gDrl   )&NwPO@r!  9}N@r"  g7ُiO@r   Fry   g%C?gv/?g5{?g+^go@grp@)r;   r<   r=   r>   r?   r@   r   r  r   r   r   r   r   r   r   r   r   llfr
   aicr9   nanbicr   r   r  )
rH   rM   rN   rO   rS   r   rd   r  r   r   s
             r#   test_pastes_vcompzTestMixedLM.test_pastes_vcomp  s    '//"'//(";";<<w||GY//T<00{5!!z" $    	(-a0'EEEE 	
*F>>>> 	*40%dCCCC 	e$7777 	
G$7777 	VZ(((VZ(((  " #QqS)5t<<<< eDE+AaC0#DAAAA $   && 	(-a0'EEEE 	
*E==== 	*40%dCCCC 	gD9999 	
H48888 	
H48888 	
H4888888r%   c                    t           j                            d           d}t           j                            |df          }d|d d df<   g }t          j        t          j        |dz            t          j        d                    }d}t           j                            |df          }t           j                            |dz  df          }t          j        |t          j        d                    |z  }||                    d          z  }t           j                            |df          }t           j                            |dz  df          }|d d dd fxx         dz  cc<   t          j        |t          j        d                    |z  }||                    d          z  }|t           j                            |          z  }|                    d          |z   }i i d	}	t          t          t          |dz                                D ]G\  }
}t          j        ||k              }||ddf         |	d
         |<   ||dd f         |	d         |<   Ht          j        t          d          5  t          |||||	          }d d d            n# 1 swxY w Y   |                                }t#          j        |d d dd f         dg          }||d<   |d d df         |d<   |d d df         |d<   |d d df         |d<   |d d df         |d<   |d d df         |d<   |d d df         |d<   ddd	}t          j        d|d||          }|                                }t)          |j        |j        d           t)          |j        |j        d           t)          |j        |j        d           t)          |j        |j        d           t)          |j        |j        d           d S ) Nr   i   rn   ro   r   r   r   r   rr   rs   rt   ru   rv   )r2   rx   r   columnsr   re1re2vc1vc2vc3rm   vc4z0 + vc1 + vc2z0 + vc3 + vc4y ~ x1z0 + re1 + re2r   g:0yE>r}   )r9   r   r   r   r   r   r   r   rG   r   intr   r   r   r   r   r   r   r   r   r   r   r   rz   rc   r   )rH   r   r   ex_vcr(   r   r2   r   r'   rx   r   r   r   r   r   r   r   r   r   s                      r#   test_vcomp_formulazTestMixedLM.test_vcomp_formula^  s;    		tyaV,,QQQT
1q5))271::66)""A"//!!Q{!3311G;&**Q--	  q!f --!!Q{!33qqq!""u11E9&**Q--")"""***f$$$!%AE

"3"344 	0 	0HAu%00B"'AaC.GCL"'ABB-GCL\+-HIII 	. 	.UD&'%,. . .F	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. **,,\$qqq!""u+v6663AAAqDM5	AAAqDM5	!!!Q$K5	!!!Q$K5	!!!Q$K5	!!!Q$K5	*AA
%&!   **,,)7+<4HHHHTBBBBw}4@@@@TBBBBW[t<<<<<<s   J%%J),J)c                    t           j                            d           t           j                            d          }t           j                            d          }t          j        t          j        d          g d          }|t          j        t           j                            d          g d          z  }|                    d          |z   t           j                            d          z   }t          ||||          }t          |j	        j
        g dk               t          |j	        j        d	gk               t          |j	        j        d
gk               |                                }t          j        d|i          }t!          |j        d                   D ]}	|d d |	f         |d|	z  <   ||d<   d}
d}t          j        |
|||          }t          |j	        j
        g dk               t          |j	        j        dgk               t          |j	        j        dgk               |                                }t'          |j        |j                   ||d<   t          j        |
||d          }t          |j	        j
        g dk               t          |j	        j        dgk               t          |j	        j        dgk               |                    |j                  }t+          |j        |j        d           t          j        t/          |          t           j                  }t          ||||          }t3          j                    5  t3          j        d           |                                }d d d            n# 1 swxY w Y   ddlm}  ||
|d          }t          |j	        j        dgk               t          |j	        j        dgk               t3          j                    5  t3          j        d           |                                }d d d            n# 1 swxY w Y   t'          |j        |j                   d S )Nj	  r   ro   r   r   r   r   )r   r   x3x4x_re1z	x_re1 Varr'   exog%dr2   )endog ~ 0 + exog0 + exog1 + exog2 + exog3z0 + exog_rer   r(   exog0exog1exog2exog3exog_re Varr(   start_paramsr   r}   dtypeignorer   )mixedlmr(   z
groups Var)r9   r   r   r   r   r   r   r   r   rS   xnamesexog_re_namesexog_re_names_fullr   r   r   r   shaper   r	   rc   r   r   lenfloat64warningscatch_warningssimplefilterstatsmodels.formula.apirH  )rH   r   r2   r(   r   r'   mod1rslt1r   r   fmlre_fmlmod2rslt2mod3rslt3mod4rslt4rH  mod5rslt5s                        r#   test_formulaszTestMixedLM.test_formulas  sz   
	tyX..)""",,333RWRY%5%53%5%?%?KKKh&)9)9s)9)C)CCudFG44	 $<$<$<<===	'G94555	,=>>>

 \7E*++tz!}%% 	* 	*A#AAAqDzBx!|99#CvNNN	 $H$H$HHIII	'I;6777	,?@@@

EL%,777 8#x9 9 9	 $H$H$HHIII	'I;6777	,?@@@el33el>>>>
 '#e**BJ777udFG44$&& 	 	!(+++HHJJE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	433333wsBx000	'H:5666	,>???$&& 	 	!(+++HHJJE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	EL%,77777s$   +)N  N$'N$)QQ
Qc                    t           j                            d           t           j                            d          }t          j        t          j        d          t          j        d                    }|d d df         |d d df         z
  }|t          j        t           j                            d          t          j        d                    z   t           j                            d          z   }t          |||          }|                    d	
          }|	                                 t          |||          }|                    dt          j        d          z  
          }|	                                 t          j                    }|                    |d          }	|		                                 t          j                    }t          j                    5  t          j        d           |                    |d          }
d d d            n# 1 swxY w Y   |
	                                 t          j        d          }|                    |d	          }|	                                 d S )Ni}  )r   rl   ro   r   r   r   rn   r   g      ?)alpha
   rl   g        )r  rb  rG  g      $@g333333?)r9   r   r   r   r   r   r   r   fit_regularizedr   	penaltiesL2rP  rQ  rR  PseudoHuber)rH   r   r(   expected_endogr'   mdr   r   penmdf3mdf4mdf5s               r#   test_regularizedzTestMixedLM.test_regularized  sP    		tyX..344aaadd111a4j0GBI$$#$..

;;<I#&&'
 UD&))!!!++ UD&))!!RWQZZ!88 lnn!!B!77 lnn$&& 	= 	=!(+++%%S%<<D	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	 #C((!!B!77s   *,H""H&)H&N)rV   rW   rX   r   markslowparametrizer   r   r   smoker   r   r   r  r  r  r  r'  r4  r`  rn  r   r%   r#   rh   rh   X   s        [[Z%77[VeT]33[\E4=99R R :9 43 87 Rh	A 	A 	A	2 	2 	2 [[3 3  3B$G $G $GL=K =K =K~  41 1 1<<G <G <G|CG CG CGJP9 P9 P9d [4= 4= 4=l98 98 98v [# # # # #r%   rh   c                   6    e Zd Zed             Zd Zd Zd ZdS )TestMixedLMSummaryc                 P   t          j        ddgd          }t          j        dgd          }g d}g d}g d}t          j        |||||d          }|d	         j        }|g d
         j        }|d         j        }	t          |||	                                          | _        d S Nr   r   rl   rc  )
r   rl      rm   rl   r   rn      	   r   )
rx  rn   r   r   r   r   rm   r   rn   r   )
r   r   rn   rm   r   rl   rx  rw  r   ry  )r   pidx0r   r   r   )r{  r   r   rz  rI  )r9   repeatr   r   r  r   r   res
clsrz  r{  r   r   r   r   r'   r   r(   s
             r#   setup_classzTestMixedLMSummary.setup_class  s     iA""YsB++++++***\#RrLLMM3$$$%,E!%f55599;;r%   c                     | j                                         }g d}|j        d         j        j        }t          ||           d S )N)constr   r   	Group Varr   r}  r   tablesrF   r  r
   rH   summdesiredactuals       r#   test_summaryzTestMixedLMSummary.test_summary
  sG    x!!444Q%,VW%%%%%r%   c                     | j                             g d          }g d}|j        d         j        j        }t          ||           d S )N)ConstantAgeWeight)xname_fe)r  r  r  r  r   r  r  s       r#   test_summary_xname_fez(TestMixedLMSummary.test_summary_xname_fe  sY    x)F)F)FGG<<<V 	VW%%%%%r%   c                     | j                             dg          }g d}|j        d         j        j        }t          ||           d S )NRandom Effects)xname_re)r  r   r   r  r   r  r  s       r#   test_summary_xname_rez(TestMixedLMSummary.test_summary_xname_re  sV    x*:);<<999V 	VW%%%%%r%   N)rV   rW   rX   classmethodr  r  r  r  r   r%   r#   rt  rt    sZ        < < [<& & && & && & & & &r%   rt  c                   $    e Zd Zed             ZdS )TestMixedLMSummaryRegularizedc                 P   t          j        ddgd          }t          j        dgd          }g d}g d}g d}t          j        |||||d          }|d	         j        }|g d
         j        }|d         j        }	t          |||	                                          | _        d S rv  )r9   r|  r   r   r  r   rd  r}  r~  s
             r#   r  z)TestMixedLMSummaryRegularized.setup_class)  s     iA""YsB++++++***\#RrLLMM3$$$%,E!%f555EEGGr%   N)rV   rW   rX   r  r  r   r%   r#   r  r  &  s4         H H [H H Hr%   r  c                    |r|dk     rd S |rdnd}| rdnd}t          |||          }t          |j        |j        |j        |j                  }|st          j        t          j        |j	                  dk               rXt          j                    5  t          j        d           |                    d| 	          }d d d            n# 1 swxY w Y   n8|                    d| 	          }n|j        j        d
         }|j        j        d
         }	t          ||	d          }
t          j        |          |
_        t          j        |	          |
_        t          j        g           |
_        t          j        t          j        |j	                  dk               rXt          j                    5  t          j        d           |                    | d|
          }d d d            n# 1 swxY w Y   n|                    | d|
          }t-          |j        |j        d           t-          |j        |j	        d           t-          |j        |j        d           |j        }t-          |j        |                                d|d|f         d           t-          |j        |j        d         d           |sFt-          |j        d         |j         d           t-          |j!        d         |j"        d           d S d S )Nrx  irfdrfri   mlr  rG  Hz>)gtolri   r   r   )ri   r  r   r   r   rm   rn   )#r   r   r'   r*   r(   r2   r9   anyr   r5   rP  rQ  rR  r   rM  r   r   r   r   r   arrayrz   r	   r   r   r6   r`   r4   
cov_paramsr#  r   random_effectsr8   random_effects_covr   )ri   r  rK   rJ   rI   r   ri  mdfr`   ra   r   s              r#   do1r  <  s     uqyy"55UD#66tDT4''D 
T\4;	E	EB :6"'$-((4/00 	/(** 3 3%h///ff$Tf223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 &&d&..CC |!!$|!!$T4++fTllXb\\
6"'$-((4/00 	:(** > >%h///ff$Tf==> > > > > > > > > > > > > > > &&dD&99Cty!<<<<
DM1====	4<;;;;7DS^^%%afafn5qB B B B a!<<<<  Fq!4#6	C 	C 	C 	C"1%t'91	F 	F 	F 	F 	F 	FF Fs$   ,C

CC2-G++G/2G/r   c                 f    g | ].}|                     d           |                    d          ,|/S )lmez.csv)r,   endswithr    s     r#   r$   r$   x  s:    	J	J	Jq||E22	Jqzz&7I7I	J!	J	J	Jr%   rO   ri   FTr  c                 V    t          | dd                   }t          |||           d S )Nrm   rl   )r2  r  )rO   ri   r  rK   s       r#   test_rr  |  s/     ac
OOEc5r%   c                     t           j                            d           t           j                            d          } t           j                            d          }t          j        t          j        d          g d          }|t          j        t           j                            d          g d          z  }|                     d          |z   t           j                            d          z   }t          j        d|i          }t          | j
        d                   D ]}| d d |f         |d	|z  <   ||d
<   d}d}t          j        ||||          }	|	                                }
|
                                 g d}dd
g}g d}t          |	j        j        |k               t          |	j        j        |k               t          |	j        j        |k               |
j        }t          |j                                        ||z   k               |
j        }t          |j                                        ||z   k               |
j        }t          |j                                        ||z   k               |
                                }t          |j                                        ||z   k               t          |j                                        ||z   k               |
j        }t          |j                                        |k               |
j        }t          |j                                        |k               |
j        }t          |j                                        |k               t          |j                                        |k               |
j        }t          |j                                        |k               t          |j                                        |k               |
j        }t          |j                                        |k               d S )Nr6  r   ro   r   r   r   r   r'   r:  r2   r;  z	~ exog_rer<  r=  Group)r  zGroup x exog_re CovrB  ) r9   r   r   r   r   r   r   r   r   r   rM  r   r   r   r   r   rS   rJ  rK  rL  rc   rF   tolistr   tvaluesr  r*  r   bse_fer   cov_re_unscaledbse_re)r   r2   r(   r   r'   r   r   rV  rW  rX  r  rJ  re_namesre_names_fullrc   r   r  r  fer  r   cov_re_ur  s                          r#   test_mixed_lm_wrapperr    s   INN49**DiC((GWRYs^^YYY//F!1!1s!1!;!;YYYGGGHHHQKK("RY%5%53%5%?%??E 
w&	'	'B4:a=!! & &1:8a<ByM
5CFRF6JJJDXXZZF
NN111F#HGGGMDI&'''DI#x/000DI(M9:::]FFL!!Vm%;;<<<
*CCI&="88999nGGM  ""f}&<<===""$$JJ##%%-)??@@@J%%''6M+AABBB		BBHOO'(((]FFL!!V+,,,]FFL!!X-...FN!!##x/000%HHN!!##x/000H##%%1222]FFL!!]233333r%   c                  N   t           j                            d           d} d}d}d}|t           j                            |           z  }t          j        |t          j        |                    }||t           j                            | |z            z  z   }t          j        t          j        |           t          j        |                    }t          j        | |z            }t          |||          }	|	                                }
|
j	        }t          t          |t                               t          t          |          | k               t          t          |d         t          j                             t          t          |d                   d	k               t          ||||
          }	|	                                }
|
j	        }t          t          |t                               t          t          |          | k               t          t          |d         t          j                             t          t          |d                   d	k               t           j                            | |z  df          }d	|d d df<   t          j        dd	|          }t          j        t          j        |           |          |d d d	f<   t          ||||
          }	|	                                }
|
j	        }t          t          |t                               t          t          |          | k               t          t          |d         t          j                             t          t          |d                   dk               d S )Ni[  r   rc  rn   rm   ro   rI  r   r   )r2   r(   rq   )r9   r   r   r   r   r   r   r   r   r  r   
isinstancedictrN  r   Serieslinspace)ngrpr   rsdgsdmngmnr   r   r"   rd   r  r   xrqps                 r#   test_random_effectsr    s   INN5 DE
C
C	ryT**	*B
'"bgenn
%
%CcBI$$$,$7777A	4"'%..	1	1B
uAAq$$$EYY[[F		BJr4  !!!CGGtOJr!ubi(()))C1JJ!O Aq!B///EYY[[F		BJr4  !!!CGGtOJr!ubi(()))C1JJ!O 
		ua0		1	1BBqqq!tH	RE	"	"Bwrwt}}b))Bqqq!tHAq"R000EYY[[F		BJr4  !!!CGGtOJr!ubi(()))C1JJ!Or%   c            
         t           j                            d           t           j                            d          } t	          j        |           } g d| _        t          j        t          j        d          t          j	        d                    | d<   t           j                            d          }t          j        |t          j	        d	                    }|d d d
f         |d d df         | j
        z  z   |d d df         | j        z  z   | d<   | dxx         |d d df         | j        z  t           j                            d          z   z  cc<   t           j        | j        d<   t           j        | j        d<   t           j        | j        d<   t           j        | j        d<   t           j        | j        d<   t           j        | j        d<   d}d}ddd}dD ]e}dD ]^}i }|                                 }g d}	|r||d<   |	                    d           |r||d<   |	                    dd g           ||	                                         }t'          j                    5  t'          j        d!           t-          j        |fd|d"|}
|
                                }t-          j        |fd| d#d$|}|                                }t3          |j        |j                   t3          |j        |j                   t9          t;          |j                  |j                   d d d            n# 1 swxY w Y   `gd S )%Ni[  )r   rx  ro   )r   gr   r   c1c22   rn   r  )r  r   )rn   r   r   r   r   rm   r   )r   r   )rn   r  )rm   r   )r   r   )rl   r  )rx  r  r1  z1 + z1z0 + c1z0 + c2rr   )FT)r   r  r   r   r   r   r  r  rG  r  drop)r(   rS   missing) r9   r   r   r   r   r   r*  r   r   r   r   r  r  r%  loccopyappendextenddropnarP  rQ  rR  r   r   r   r   rc   r   r
   rN  r  nobs)r   r   rV  r   r   
include_re
include_vckwargsdxvar   r   r   r   s                 r#   test_handle_missingr    s    INN5			x		(	(B	b		B333BJgbimmRWQZZ00BsG			w		'	'B	RWV__	%	%BAhAAAqDBE))Bqqq!tHru,<<BsGsGGGr!!!Q$x"%")"2"2"2"<"<<<GGGVBF6NVBF6NfBF7OfBF7OfBF7OfBF7O
CJh//J!  F  F
% 	F 	FJFB!!!B  '1|$		$ ('1|$		4,'''BB
 (** F F%h/// !-8 #"8 8068 8 **,, !-H #"fH H@FH H **,,???W[999S!566EEEF F F F F F F F F F F F F F F!	F F  Fs   (CL77L;>L;c                     ddl m}  g d}g d}t          j        g d          }|||d}t	          j        |          }t          j        g d          }t          j        d||d	         
          }|                    |          }t          j        g d          }t          j        d||d	         
          }	|	                    |          }
 | ||
gdg d          }d}t          t          |          |           d S )Nr   )summary_col)r   r   r   r   r   rn   rn   rn   rn   rm   rm   rm   rm   rm   rm   )r   rn   rm   r   rl   rx  rw  r   ry  rc                 )goʡ?gd;OgZd;@gZd;O@gjt@gl@grh@gGz@g"~@g(\O$@g$@gDl)1@g-F1@g`"-@g-,@)YXIDS)g@{Fg~eJ?gͣT?Y ~ Xr  rI  rC  )g&ʓ@g.?g<H.*?zX ~ YT)r  	Interceptr  r  )starsregressor_ordera  
=============================
              Y         X    
-----------------------------
Group Var 0.1955    1.3854   
          (0.6032)  (2.7377) 
Intercept -1.2672   3.4842*  
          (1.6546)  (1.8882) 
X         1.1618***          
          (0.1959)           
Y                   0.5529***
                    (0.2080) 
=============================
Standard errors in
parentheses.
* p<.1, ** p<.05, ***p<.01)statsmodels.iolib.summary2r  r9   r  r   r   r   r   r   r
   str)r  idsr"   r   dsp1rT  results1sp2rX  results2outss                r#   test_summary_colr     sD   666666
7
7
7C;;;A
 	    	 	A a$$A
QA (777
8
8C1U8<<<DxxSx))H
(777
8
8C1U8<<<DxxSx))H
+	8<<<  C

HA S1r%   c                  
   t           j                            d           d} d}g g g g g g g g g f	\	  }}}}}}}}	}
t          |           D ]}t           j                            |df          }|d d df         dt           j                            |          z  z   }t           j                            |df          }t           j                            d          }|dxx         dz  cc<   |d	xx         d	z  cc<   |t          j        ||          j        z  }|                    |           t          j        t           j	        d
         t          j
        |dz                                          t                    }t           j                            d          }|||         z  }|                    |           |	                    |           t          j        t          j
        |dz            t           j	        d
                                       t                    }t           j                            d          }|||         z  }|                    |           |
                    |           |                    |           |                    |           |                    |           |                    d|z  g|z             t          j        |          }t          j        |          }t          j        |          }t          j        |          }t          j        |          }t          j        |          }t          j        ||d d df         |d d d	f         |d d df         |d d d	f         |||d          }t          j        |          }t          j        |	          }	t          j        |
          }
t          j        |	|
fd	          }t#          j        dddddd|          }|                                }|j        fdt          |           D             }t          j        |          }t          j        |d d df         |d d df                   d
         dk    sJ t          j        |d d d	f         |d d d	f                   d
         dk    sJ fdt          |           D             }t          j        |          }t          d          D ]7}t          j        |d d |f         |d d |f                   d
         dk    sJ 8|j        }|                                D ]$}|         j        }||         j        ||fk    sJ %d S )Ni  i  rc  rn   ro   r   r   rm   r   )r   r   g%d)r   r{  r   z0r   v0r   r  )axiszy ~ x0 + x1z~0 + z0 + z1z~0+C(v0)z0+C(v1))r  r   r  )r   r   r(   rS   c                 6    g | ]}d |z           dd         S )r  r   rn   r   r!   r   refs     r#   r$   z/test_random_effects_getters.<locals>.<listcomp>  s*    	1	1	1!#eai.1
	1	1	1r%   g?c                 6    g | ]}d |z           dd         S )r  rn   rx  r   r  s     r#   r$   z/test_random_effects_getters.<locals>.<listcomp>  s*    
2
2
213uqy>!A#
2
2
2r%   r   )r9   r   r   r   r   r   flatr  r   r   r   astyper2  concatenater   r   rE   r   r   r   r  corrcoefr  keysrp   rM  )ngmr   r"   zr  r   r  rt   c0r  r.   xxyyzzbbvv0cc0vv1cc1r   ccrd   r  b0cf0r   refcpr  s                                @r#   test_random_effects_gettersr  F  s)   
 INN5	B
A$&BBBB$F!Aq!RQ2r2YY " " YAq6**1Xbi..A.6666 YAq6**Y1%%
1

1

bfRnn!!	 gbeDk2716??33::3??iA&&
c#h
		#
		# gbga1fooruT{33::3??iA&&
c#h
		#
		#				%!)q!!!!
qA
qA
qA			B			B
qA	1g1g1g1g	 	 	
 	
B 	
1A	BB	BB	Rq	)	)	)B !
 
   E YY[[F

C	1	1	1	1uRyy	1	1	1B	BBK111a4!AAAqD'**4036666K111a4!AAAqD'**4036666
2
2
2
2b		
2
2
2C
*S//C1XX > >C1Ir!!!Q$x006<<<<< $DYY[[ ) )FKQ!Q''''') )r%   c           
         ||z
  }t           j                            | |f          }t          j        |j        |          }t          j        ||f          }t           j                            ||f          |d|d|f<   t           j                            |          }t          j        d|z            |||||f<   t           j        	                    |d|d|f                   }	d}t           j                            |           }
t           j        
                    |t          j        | |           z  t          j        |t          j        ||j                            z   |
          }t          ||||	|          } ||
          }t          ||           t          |t          j        |          t          j        |          |	|          } ||
          }t          ||           d S )Nro   r   r   r   )r9   r   r   r   r   r   uniformr   linalginvsolver   r   r   r   
csr_matrix)r  qrr  r  AAtABdiQir"   y2re   y1s                 r#   check_smw_solverr    s    	
AA
	q!f%%A
&a..C
!QA)""A"//Aac1Q3hK					"	"B'!b&//Aac1Q3hK	q1ac{	#	#BA
	a  A	RVAq\\)BF1bfQnn,E,EEq	I	IBAq#r2&&A	
1BBAv(++V->s-C-CR	 	A	
1BBr%   c                   B   e Zd Zed             Zej                            dddg          ej                            dddg          ej                            dd	d
g          ej                            dddg          d                                                 ZdS )TestSMWSolverc                 D    t           j                            d           d S N   r9   r   r   r  s    r#   r  zTestSMWSolver.setup_class      
	rr%   r  rl   rc  r  r   r   r  rn   rm   r  r   r   c                 *    t          ||||           d S N)r  rH   r  r  r  r  s        r#   test_smw_solverzTestSMWSolver.test_smw_solver      
 	Aq!$$$$$r%   N)	rV   rW   rX   r  r  r   ro  rq  r+  r   r%   r#   r!  r!              [ [S1b'**[S1a&))[S1a&))[S1c(++% % ,+ *) *) +*% % %r%   r!  c           
         ||z
  }t           j                            | |f          }t          j        |j        |          }t          j        ||f          }t           j                            ||f          }t          j        |j        |          |d|d|f<   t           j                            |          }	t          j        d|	z            |||||f<   t           j        	                    |d|d|f                   }
d}t           j        
                    |t          j        | |           z  t          j        |t          j        ||j                            z             \  }}t           j        
                    |          \  }}t          ||||
|	|          }t          rdnd}t          |||           d S )Nro   r   r   r   gư>r  r}   )r9   r   r   r   r   r   r  r   r  r  slogdetr   r   r   r   )r  r  r  r  r  r  r  r  cr  r  _d2bdd1r~   s                   r#   check_smw_logdetr5    s   	AA
	q!f%%A
&a..C
!QA
	q!f%%A&a..Aac1Q3hK					"	"B'!b&//Aac1Q3hK	q1ac{	#	#BAIa"&A,,.26!QS>>1J1JJKKEArIa  EAr	Q3B	+	+B)44TDB&&&&&&r%   c                   B   e Zd Zed             Zej                            dddg          ej                            dddg          ej                            dd	d
g          ej                            dddg          d                                                 ZdS )TestSMWLogdetc                 D    t           j                            d           d S r#  r%  r&  s    r#   r  zTestSMWLogdet.setup_class  r'  r%   r  rl   rc  r  r   r   r  rn   rm   r  r   r   c                 *    t          ||||           d S r)  )r5  r*  s        r#   test_smw_logdetzTestSMWLogdet.test_smw_logdet  r,  r%   N)	rV   rW   rX   r  r  r   ro  rq  r:  r   r%   r#   r7  r7    r-  r%   r7  c                  ,   t           j                            d           d} t           j                            | d          }t	          j        |ddg          }t	          j        d |j        D             |j                  |d	<   t          j	        t                    5 }t          j        d
||d	                   }|                                }|                                 |st          j        d           d d d            d S # 1 swxY w Y   d S )Ni_  r   rn   r  r  r)  c                     g | ]}|d z  S )rm   r   )r!   r.   s     r#   r$   z!test_singular.<locals>.<listcomp>  s    555qQU555r%   r   classr  rI  zwarning expected)r9   r   r   randnr   r   r  rF   r   r   Warningr   r   r   r   r   )r   rS   r   wrnri  r  s         r#   test_singularrA    s4    INN4A9??1a  D	dS#J	/	/	/B)55BH555RXFFFBwK	g		 ,#!'2bkBBBffhh 	,K*+++, , , , , , , , , , , , , , , , , ,s    AD		DDc            	      `	   t           j                            d           d} d}t           j        d         }t          j        ddgddgg          }t           j        d         }d	}t           j                            | df
          }t           j                            | df
          }t           j                            | df
          }t           j                            | df
          }	t          j        t          j        |t                    | |z            }
t          j	        ||          }t           j                            |df
          }t          j	        |t           j
                            |          j                  }t          j        |d                   t           j                            |df
          z  }t          j        |d                   t           j                            |df
          z  }|||
d d f         |z                      d          z   }|||
d d f         |z                      d          z  }|||
d d f         |	z                      d          z  }|t          j        |          t           j                            | 
          z  z  }t          j        ||d d df         |d d df         |d d df         |d d df         |
d          }|d d df         |d<   |d d df         |d<   |	d d df         |d<   |	d d df         |d<   ddd}t#          j        ddd||          }dd l}|j        j        j        }|                    |||          }|                    dd          }|t3          |          d xx         |z  cc<   |                    ||d           }|                    d          }t          j	        ||          |z                      d                                          }||d         |dz                      d                                          z  z  }||d         |	dz                      d                                          z  z  }||z  }t;          t          j        ||z
            |dd           d S ) N   r   rc  )r   r   r   rn   )g      ?g      @g      ?ro   rE  r   )r   r   r   r  r   grpr   z3z4z5z0 + z2 + z3z0 + z4 + z5rr   zy ~ 0 + x1 + x2rE  z0 + z0 + z1r   )r   r   rz   TFr{   r   r   )r~   r   )r9   r   r   r   rE   r   r|  r   r2  r   r  choleskyr   sqrtr   r   r   r   r   statsmodels
regressionmixed_linear_modelr   r   r   rN  get_distributionrvsmeanr   var)r   n_groupsr   r   rz   r   r*   r2   exog_vcaexog_vcbr(   eyuu1u2r   r   r   r  rK  mppopadistyrvs                             r#   test_get_distributionr_    s   INN3AHeIZ!SC8,--FE.!EEiQF++GiQF++GyaV,,HyaV,,HYry5558|% %F 
	#	#B
	xm,,A
q")$$V,,.//A	q		RY--Ha=-AA	AB	q		RY--Ha=-AA	AB
a	lW$))!,,,A"VQQQY-(
"	'	'	*	**A"VQQQY-(
"	'	'	*	**A")***22	22A	AWQQQT]'!!!Q$-$QQQT]'!!!Q$-$& & 
' 
'B 1~BtH1~BtH1~BtH1~BtHM
2
2C.u(5(+"	6 	6 	6A 			2	@B			i"' 
 
) 
)B	dU	3	3Bs9~~5  b%..D	!B 
	 	 7	*//227799AqXq[%%a((--//	//AqXq[%%a((--//	//AJABF27OOQT======r%   )=statsmodels.compat.platformr   r;   rB   rP  numpyr9   pandasr   scipyr   r   )statsmodels.regression.mixed_linear_modelr   r   r   r   numpy.testingr	   r
   r   r   statsmodels.baser   re  statsmodels.tools.numdifftoolsnumdiffr   r   r   r   rf   rh   rt  r  r  r<   r=   r>   r?   rM   r@   rN   listdirfnamesro  rq  r  r  r  rp  r  r  r  r  r!  r5  r7  rA  r_  r   r%   r#   <module>rl     s   4 4 4 4 4 4 				 



                6 6 6 6 6 6 6 6 6 6 6 6$ $ $ $ $ $ $ $ $ $ $ $ 5 4 4 4 4 4 & & & & & & & & & " " " " " "
0# 0# 0# 0# 0# 0# 0# 0#f	 	 	\
 \
 \
 \
 \
 \
 \
 \
D&& && && && && && && &&XH H H H H$6 H H H,3F 3F 3Fr '//"'//(33
4
4	w||GY''	D			J	JV	J	J	J &))%//..  /. 0/ *)04 04 04f* * *Z 5F 5F 5Fp# # #L [) [) [)|  8
% 
% 
% 
% 
% 
% 
% 
%' ' '.
% 
% 
% 
% 
% 
% 
% 
%, , ,$?> ?> ?> ?> ?>r%   