U
    Ãmœdßf  ã                   @   sb  d Z ddlZddlZddlZddlm  mZ	 ddl
mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm  mZ ddlmZ dd	lmZmZmZ ddlm  m Z! d
dl"m#Z$ ej% &ej% 'e(¡¡Z)ej% *e)dd¡Z+ej,e+dd�Z-e- .¡ Z/e/d Z0e/d 1¡  Z2ee2dd�Z3e 4e/d e5¡Z6e 4e/d ¡Z7G dd„ dƒZ8G dd„ de8ƒZ9G dd„ de8ƒZ:G dd„ de8ƒZ;G dd„ de8ƒZ<G dd „ d e8ƒZ=G d!d"„ d"e8ƒZ>G d#d$„ d$e8ƒZ?G d%d&„ d&e8ƒZ@G d'd(„ d(e8ƒZAG d)d*„ d*e8ƒZBG d+d,„ d,e8ƒZCG d-d.„ d.e8ƒZDG d/d0„ d0e8ƒZEG d1d2„ d2e8ƒZFG d3d4„ d4e8ƒZGG d5d6„ d6e8ƒZHG d7d8„ d8e8ƒZIG d9d:„ d:e8ƒZJG d;d<„ d<ƒZKG d=d>„ d>eKƒZLG d?d@„ d@eKƒZMG dAdB„ dBeKƒZNG dCdD„ dDeKƒZOG dEdF„ dFeKƒZPG dGdH„ dHeKƒZQG dIdJ„ dJeKƒZRG dKdL„ dLeKƒZSG dMdN„ dNeKƒZTG dOdP„ dPeKƒZUG dQdR„ dReKƒZVG dSdT„ dTeVƒZWG dUdV„ dVeKƒZXG dWdX„ dXeKƒZYG dYdZ„ dZeKƒZZdS )[z>

Created on Mon Dec 09 21:29:20 2013

Author: Josef Perktold
é    N)ÚGLM)Úfamilies)Úlinks)ÚOLS©Úget_robustcov_results)Úadd_constant)Úassert_allcloseÚassert_equalÚassert_é   )Úresults_count_robust_clusterÚresultsz	ships.csvF)Z	index_colZaccidentzyr_con op_75_79)ÚprependÚshipZservicec                   @   sF   e Zd Zdd„ Zedd„ ƒZeddd„ƒZdd	„ Zd
d„ Zdd„ Z	dS )ÚCheckCountRobustMixinc                 C   sŠ   | j }| j}t|jƒt|jƒd krVt t|jƒtj¡}d|d< |j| }|j| }n|j}|j}t|j	j|dƒ t| j
| j |dƒ d S )Nr   Féþÿÿÿç-Cëâ6?giUMu?)Úres1Úres2ÚlenÚparamsÚnpÚonesZbool_Úbser	   Ú_resultsÚbse_robÚ	corr_fact)Úselfr   r   ÚmaskZres2_paramsZres2_bse© r    úe/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/discrete/tests/test_sandwich_cov.pyÚ
test_basic0   s    
z CheckCountRobustMixin.test_basicc                 C   s.   | j }t |t¡}t |¡| _|  |¡| _d S ©N)r   ÚswZcov_clusterÚgroupZse_covr   Úget_correction_factorr   )Úclsr   Zcov_clur    r    r!   Úget_robust_cluB   s    z$CheckCountRobustMixin.get_robust_cluTc                 C   sD   |j }|jj\}}|r"t|jƒ}nd}|d t|| ƒ }t |¡S )Nr   ç      ð?)ÚmodelÚexogÚshaper   r   Úfloatr   Úsqrt)r'   r   Úsub_kparamsÚmodÚnobsZk_varsÚk_paramsr   r    r    r!   r&   J   s    z+CheckCountRobustMixin.get_correction_factorc                 C   s4   | j }| j}t|jj|jdƒ t|jj|jdƒ d S )Nr   )r   r   r	   r   ZllfÚllZllnullZll_0)r   r   r   r    r    r!   Útest_oth[   s    zCheckCountRobustMixin.test_othc                 C   s   t  | j¡ d S r#   )ÚsmtZcheck_ttest_tvaluesr   ©r   r    r    r!   Ú
test_ttestb   s    z CheckCountRobustMixin.test_ttestc                 C   s   t  | j¡ d S r#   )r5   Zcheck_ftest_pvaluesr   r6   r    r    r!   Útest_waldtestf   s    z#CheckCountRobustMixin.test_waldtestN)T)
Ú__name__Ú
__module__Ú__qualname__r"   Úclassmethodr(   r&   r4   r7   r8   r    r    r    r!   r   -   s   
r   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonCluc                 C   s.   t j| _t tt¡}|jdd�| _|  	¡  d S )NF©Údisp)
Ú
results_stÚresults_poisson_clur   ÚsmdÚPoissonÚendogr+   Úfitr   r(   ©r'   r0   r    r    r!   Úsetup_classl   s    zTestPoissonClu.setup_classN©r9   r:   r;   r<   rG   r    r    r    r!   r=   j   s   r=   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonCluGenericc              	   C   s¾   t j| _t tt¡}|jdd� | _}d}|r|| jj	 
¡ | _|jdd� | _}|  ¡  | j| _| j 
¡ | _|jdd� | _}ddlm} || jjdtddddd� | jj	| _|  | j¡| _d S )NFr>   r   r   ÚclusterT©ÚgroupsÚuse_correctionÚdf_correctionÚuse_tÚuse_self)r@   rA   r   rB   rC   rD   r+   rE   r   r   ÚcopyZbse_nonrobustr(   Úres3r   Zbse_rob3Ústatsmodels.base.covtyper   r   r%   r&   r   )r'   r0   r   Údebugr   r    r    r!   rG   v   s*    
û
z!TestPoissonCluGeneric.setup_classNrH   r    r    r    r!   rI   t   s   rI   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonHC1Genericc                 C   s`   t j| _t tt¡}|jdd�| _ddl	m
} || jjddd� | jj| _| j| jdd�| _d S )	NFr>   r   r   ÚHC1T©rP   ©r/   )r@   Úresults_poisson_hc1r   rB   rC   rD   r+   rE   r   rS   r   r   r   r   r&   r   )r'   r0   r   r    r    r!   rG   –   s    
z!TestPoissonHC1Generic.setup_classNrH   r    r    r    r!   rU   ”   s   rU   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestPoissonCluFitc              	   C   sv   t j| _t tt¡}|jj\}}|d t|| ƒ }|j	ddt
tdd| dd�dd�| _d | jj_| jj| _d| _d S )Nr)   FrJ   T)rL   rM   Zscaling_factorrN   ©r?   Úcov_typeÚcov_kwdsrO   r   )r@   rA   r   rB   rC   rD   r+   r,   r-   rE   Údictr%   r   r   Únormalized_cov_paramsr   r   r   )r'   r0   r1   r2   Zsc_factr    r    r!   rG   ¨   s    ýû

zTestPoissonCluFit.setup_classc                 C   sŠ   | j }| j}d}t|j|jdd� t|j|j|d� t|j|j|dd� t|j|j|dd� |jd d …dd…f }t| ¡ |ddd� d S )	NçH¯¼šò×z>g:Œ0âŽyE>©Úrtol)rb   Zatolg#B’¡œÇ;é   é   ç�íµ ÷Æ >)	r   r   r	   r   r   ZtvaluesZpvaluesZparams_tableZconf_int)r   r   r   rb   Úcir    r    r!   Útest_basic_inferenceÉ   s    z&TestPoissonCluFit.test_basic_inferenceN)r9   r:   r;   r<   rG   rg   r    r    r    r!   rZ   ¦   s   
 rZ   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonHC1Fitc                 C   sD   t j| _t tt¡}|jddd�| _| jj	| _
| j| jdd�| _d S )NFrV   ©r?   r\   rX   )r@   rY   r   rB   rC   rD   r+   rE   r   r   r   r&   r   rF   r    r    r!   rG   ×   s
    
zTestPoissonHC1Fit.setup_classNrH   r    r    r    r!   rh   Õ   s   rh   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonHC1FitExposurec                 C   sH   t j| _tjtttd�}|jddd�| _	| j	j
| _| j| j	dd�| _d S )N©ÚexposureFrV   ri   rX   )r@   Zresults_poisson_exposure_hc1r   rB   rC   rD   r+   rl   rE   r   r   r   r&   r   rF   r    r    r!   rG   ä   s
    
z%TestPoissonHC1FitExposure.setup_classNrH   r    r    r    r!   rj   â   s   rj   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonCluExposurec                 C   s2   t j| _tjtttd�}|jdd�| _	|  
¡  d S ©Nrk   Fr>   )r@   Úresults_poisson_exposure_clur   rB   rC   rD   r+   rl   rE   r   r(   rF   r    r    r!   rG   ñ   s    z"TestPoissonCluExposure.setup_classNrH   r    r    r    r!   rm   ï   s   rm   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestPoissonCluExposureGenericc              	   C   sl   t j| _tjtttd�}|jdd� | _	}ddl
m} || j	jdtddddd� | j	j| _|  | j	¡| _d S )	Nrk   Fr>   r   r   rJ   TrK   )r@   ro   r   rB   rC   rD   r+   rl   rE   r   rS   r   r   r%   r   r   r&   r   )r'   r0   r   r   r    r    r!   rG   û   s    
û
z)TestPoissonCluExposureGeneric.setup_classNrH   r    r    r    r!   rp   ù   s   rp   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonCluc                 C   s<   t j| _t tt¡}tttt ¡ d�}| 	¡ | _
|  ¡  d S )N©Úfamily)r@   rA   r   rB   rC   rD   r+   r   r   rE   r   r(   rF   r    r    r!   rG     s
    
zTestGLMPoissonClu.setup_classNrH   r    r    r    r!   rq     s   rq   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonCluGenericc              	   C   s^   t j| _tttt ¡ d�}| ¡  | _	}t
| j	jdtddddd� | j	j| _|  | j	¡| _d S )Nrr   rJ   TFrK   )r@   rA   r   r   rD   r+   r   rC   rE   r   r   r   r%   r   r   r&   r   ©r'   r0   r   r    r    r!   rG     s    
û
z$TestGLMPoissonCluGeneric.setup_classNrH   r    r    r    r!   rt     s   rt   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonHC1Genericc                 C   sV   t j| _tttt ¡ d�}| ¡ | _	t
| j	jddd� | j	j| _| j| j	dd�| _d S )Nrr   rV   TrW   FrX   )r@   rY   r   r   rD   r+   r   rC   rE   r   r   r   r   r   r&   r   rF   r    r    r!   rG   /  s    

z$TestGLMPoissonHC1Generic.setup_classNrH   r    r    r    r!   rv   -  s   rv   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonCluFitc                 C   s`   t j| _tttt ¡ d�}|jdt	t
ddd�dd� | _}d | jj_| jj| _|  | j¡| _d S )Nrr   rJ   T©rL   rM   rN   F)r\   r]   rO   )r@   rA   r   r   rD   r+   r   rC   rE   r^   r%   r   r   r_   r   r   r&   r   ru   r    r    r!   rG   ?  s    þü


z TestGLMPoissonCluFit.setup_classNrH   r    r    r    r!   rw   =  s   rw   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonHC1Fitc                 C   sH   t j| _tttt ¡ d�}|jdd�| _	| j	j
| _| j| j	dd�| _d S )Nrr   rV   ©r\   FrX   )r@   rY   r   r   rD   r+   r   rC   rE   r   r   r   r&   r   rF   r    r    r!   rG   V  s
    
z TestGLMPoissonHC1Fit.setup_classNrH   r    r    r    r!   ry   T  s   ry   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestNegbinCluc                 C   s0   t j| _t tt¡}|jddd�| _|  	¡  d S )NFr`   ©r?   Úgtol)
r@   Úresults_negbin_clur   rB   ÚNegativeBinomialrD   r+   rE   r   r(   rF   r    r    r!   rG   c  s    zTestNegbinClu.setup_classNrH   r    r    r    r!   r{   a  s   r{   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestNegbinCluExposurec                 C   s2   t j| _tjtttd�}|jdd�| _	|  
¡  d S rn   )r@   Úresults_negbin_exposure_clur   rB   r   rD   r+   rl   rE   r   r(   rF   r    r    r!   rG   m  s    z!TestNegbinCluExposure.setup_classNrH   r    r    r    r!   r€   k  s   r€   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestNegbinCluGenericc              	   C   s^   t j| _t tt¡}|jddd� | _}t	| jj
dtddddd� | jj| _|  | j¡| _d S )NFr`   r|   rJ   TrK   )r@   r~   r   rB   r   rD   r+   rE   r   r   r   r%   r   r   r&   r   ru   r    r    r!   rG   …  s    
û
z TestNegbinCluGeneric.setup_classNrH   r    r    r    r!   r‚   ƒ  s   r‚   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestNegbinCluFitc                 C   sT   t j| _t tt¡}|jddtt	ddd�ddd� | _
}| j
j| _|  | j
¡| _d S )NFrJ   Trx   r`   )r?   r\   r]   rO   r}   )r@   r~   r   rB   r   rD   r+   rE   r^   r%   r   r   r   r&   r   ru   r    r    r!   rG   ˜  s    þû
zTestNegbinCluFit.setup_classNrH   r    r    r    r!   rƒ   –  s   rƒ   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestNegbinCluExposureFitc                 C   sV   t j| _tjtttd�}|jddt	t
ddd�dd� | _}| jj| _|  | j¡| _d S )Nrk   FrJ   Trx   r[   )r@   r�   r   rB   r   rD   r+   rl   rE   r^   r%   r   r   r   r&   r   ru   r    r    r!   rG   ©  s    þü
z$TestNegbinCluExposureFit.setup_classNrH   r    r    r    r!   r„   §  s   r„   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚCheckDiscreteGLMc                 C   s\   | j }| j}t|j| jƒ t|j| jƒ t|ddƒ}t|j|j|d� t|j|jdd� d S )Nrb   ç‚vIhÂ%<=ra   ç»½×Ùß|Û=)r   r   r
   r\   Úgetattrr	   r   r   )r   r   r   rb   r    r    r!   r"   »  s    zCheckDiscreteGLM.test_basicc                 C   s.  | j }| j}t|jtƒr$d|ji}ni }t|jtƒr:d}nd}|jj|jd |jd�}|jj|jd f|Ž}t||dd� |jj	|j|jd�}|jj	|jf|Ž}t||dd� t|jtƒr¾d S |jj
|j|jd�}	|jj
|jf|Ž}
t|	|
dd� |jj|j|jd�}|jj|jf|Ž}t|| |dd� d S )	NÚscaler   éÿÿÿÿç\�Âõ(\ï?)r‰   r†   ra   r‡   )r   r   Ú
isinstancer*   r   r‰   Úscorer   r	   ÚhessianZscore_factorZhessian_factor)r   r   r   ÚkwdsZsgnÚscore1Úscore2Úhess1Úhess2Zscoref1Zscoref2Zhessf1Zhessf2r    r    r!   Útest_score_hessianÆ  s,    z#CheckDiscreteGLM.test_score_hessianc                 C   st   | j }| j}t|jtƒrd S | j j}t |d |d f¡}|j|dd�}|j|dd�}t	t 
|¡t 
|¡dd� d S )Né   é   Ú	nonrobustrz   re   ra   )r   r   rŒ   r*   r   Zfittedvaluesr   Zcolumn_stackZ
score_testr	   Zhstack)r   r   r   ZfittedZ
exog_extraZres_lm1Zres_lm2r    r    r!   Útest_score_testè  s    z CheckDiscreteGLM.test_score_testN)r9   r:   r;   r"   r”   r˜   r    r    r    r!   r…   ¸  s   "r…   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMPoissonc                 C   sd   t j d¡ t j t¡}d| _t|tt 	¡ d�}|j
dd�| _t 	|t¡}|j
dd�| _d| j_d S )Ni‹WÖ:ÚHC0rr   rz   g•dyáý¥=)r   ÚrandomÚseedZpoissonrD   r\   r   r+   r   rC   rE   r   rB   r   rb   )r'   Zendog_countÚmod1r    r    r!   rG   ù  s    zTestGLMPoisson.setup_classNrH   r    r    r    r!   r™   ÷  s   r™   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMLogitc                 C   sf   t t  ¡ k t¡}d| _t|tt ¡ d�}|j	dt
td�d�| _t |t¡}|j	dt
td�d�| _d S ©NrJ   rr   ©rL   ©r\   r]   )rD   ÚmeanÚastypeÚintr\   r   r+   r   ÚBinomialrE   r^   r%   r   rB   ÚLogitr   ©r'   Ú	endog_binr�   r    r    r!   rG   
  s    zTestGLMLogit.setup_classNrH   r    r    r    r!   rž     s   rž   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMLogitOffsetc                 C   s|   t t  ¡ k t¡}d| _t |jd ¡}t|t	t
 ¡ |d�}|jdttd�d�| _tj|t	|d�}|jdttd�d�| _d S )NrJ   r   ©rs   Úoffsetr    r¡   ©r«   )rD   r¢   r£   r¤   r\   r   r   r,   r   r+   r   r¥   rE   r^   r%   r   rB   r¦   r   ©r'   r¨   r«   r�   r    r    r!   rG     s    zTestGLMLogitOffset.setup_classNrH   r    r    r    r!   r©     s   r©   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestGLMProbitc                 C   sv   t t  ¡ k t¡}d| _t|ttjt	 
¡ d�d�}|jddttd�d�| _t 
|t¡}|jdttd�d�| _d| _d S )	NrJ   ©Úlinkrr   Únewtonr    ©Úmethodr\   r]   r¡   ç�íµ ÷Æ°>)rD   r¢   r£   r¤   r\   r   r+   r   r¥   r   ÚProbitrE   r^   r%   r   rB   r   rb   r§   r    r    r!   rG   &  s     ÿzTestGLMProbit.setup_classc                 C   sl   | j }| j}|j |jd ¡}|j |jd ¡}t||dd� |j |j¡}|j |j¡}t||dd� d S )Nr‹   r†   ra   )r   r   r*   r�   r   r	   rŽ   )r   r   r   r�   r‘   r’   r“   r    r    r!   r”   3  s    z TestGLMProbit.test_score_hessianN)r9   r:   r;   r<   rG   r”   r    r    r    r!   r®   $  s   
r®   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMProbitOffsetc                 C   sŒ   t t  ¡ k t¡}d| _t |jd ¡}t|t	t
jt ¡ d�|d�}|jddttd�d�| _tj|t	|d�}|jdttd�d	�| _d
| _d S )NrJ   r   r¯   rª   r±   r    r²   r¬   r¡   r´   )rD   r¢   r£   r¤   r\   r   r   r,   r   r+   r   r¥   r   rµ   rE   r^   r%   r   rB   r   rb   r­   r    r    r!   rG   B  s    þ ÿzTestGLMProbitOffset.setup_classNrH   r    r    r    r!   r¶   @  s   r¶   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussNonRobustc                 C   s:   d| _ tttt ¡ d�}| ¡ | _tttƒ}| ¡ | _	d S )Nr—   rr   ©
r\   r   rD   r+   r   ÚGaussianrE   r   r   r   ©r'   r�   Úmod2r    r    r!   rG   U  s
    

z!TestGLMGaussNonRobust.setup_classNrH   r    r    r    r!   r·   S  s   r·   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussCluc                 C   sR   d| _ tttt ¡ d�}|jdttd�d�| _	t
ttƒ}|jdttd�d�| _d S rŸ   )r\   r   rD   r+   r   r¹   rE   r^   r%   r   r   r   rº   r    r    r!   rG   b  s
    
zTestGLMGaussClu.setup_classNrH   r    r    r    r!   r¼   `  s   r¼   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussHCc                 C   sB   d| _ tttt ¡ d�}|jdd�| _tttƒ}|jdd�| _	d S )Nrš   rr   rz   r¸   rº   r    r    r!   rG   o  s
    
zTestGLMGaussHC.setup_classNrH   r    r    r    r!   r½   m  s   r½   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussHACc                 C   sN   d| _ ddi}tttt ¡ d�}|jd|d�| _tttƒ}|jd|d�| _	d S )NÚHACÚmaxlagsr•   rr   r¡   r¸   ©r'   r�   r�   r»   r    r    r!   rG   |  s    
zTestGLMGaussHAC.setup_classNrH   r    r    r    r!   r¾   z  s   r¾   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussHAC2c                 C   sX   d| _ dddœ}tttt ¡ d�}|jd|d�| _tttƒ}ddi}|jd|d�| _	d S )Nr¿   Zbartlettr•   ©ÚkernelrÀ   rr   r¡   rÀ   r¸   ©r'   r�   r�   r»   Zkwds2r    r    r!   rG   ‹  s    

zTestGLMGaussHAC2.setup_classNrH   r    r    r    r!   rÂ   ‰  s   rÂ   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestGLMGaussHACUniformc                 C   sf   d| _ tjddœ}tttt ¡ d�}|jd|d�| _	t
ttƒ}|jd|d�| _|jdddid�| _d S )Nr¿   r•   rÃ   rr   r¡   rÀ   )r\   r$   Úweights_uniformr   rD   r+   r   r¹   rE   r   r   r   rR   rÁ   r    r    r!   rG   œ  s    
z"TestGLMGaussHACUniform.setup_classc                 C   sò   t jddœ}| jjjd|d�}| jjjd|d�}t|j| jjdd� t|j| jjdd� t 	ddd	g¡}t|j|d
d� t
|jd t jkƒ t jddœ}| jjjd|d�}| jjjd|d�}t|j|jdd� t 	dddg¡}t|j|d
d� d S )Nr•   )Úweights_funcrÀ   r¿   r¡   çê-�™—q=ra   g+¡O‰“@g´¡qh@g,›{@‡&@r´   rÈ   rÃ   gGªïü¢@gæ[Ö•@gøo^œøb"@)r$   rÇ   r   r*   rE   r   r	   r   r   Úarrayr   r]   Zweights_bartlett)r   ZkwdsaZres1aZres2ar   Zkwdsbr    r    r!   Útest_cov_options¬  s    z'TestGLMGaussHACUniform.test_cov_optionsN)r9   r:   r;   r<   rG   rË   r    r    r    r!   rÆ   š  s   
rÆ   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussHACUniform2c                 C   s\   d| _ tjddœ}tttt ¡ d�}|jd|d�| _	t
ttƒ}dddœ}|jd|d�| _d S )Nr¿   r•   rÃ   rr   r¡   Úuniform)r\   r$   rÇ   r   rD   r+   r   r¹   rE   r   r   r   rÅ   r    r    r!   rG   È  s    

z#TestGLMGaussHACUniform2.setup_classNrH   r    r    r    r!   rÌ   Æ  s   rÌ   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestGLMGaussHACPanelc                 C   sŒ   d| _ t t d¡d¡d d… }tt ¡ t ¡ t 	¡ d�}t
|dtjddd	�}|jd|d
�| _|jd|d
�| _tttƒ}|jd|d
�| _d S )Nú	hac-panelé   é   rŠ   rr   r•   ÚhacF)ÚtimerÀ   rÄ   rM   rN   r¡   znw-panel)r\   r   ÚtileÚaranger   rD   rQ   r+   r   r¹   r^   r$   rÇ   rE   r   Úres1br   r   ©r'   rÓ   r�   r�   r»   r    r    r!   rG   Ù  s    ü
z TestGLMGaussHACPanel.setup_classc                 C   s   t | jj| jjdd� d S ©NrÉ   ra   ©r	   rÖ   r   r   r6   r    r    r!   Útest_kwdê  s    zTestGLMGaussHACPanel.test_kwdN©r9   r:   r;   r<   rG   rÚ   r    r    r    r!   rÎ   ×  s   
rÎ   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestGLMGaussHACPanelGroupsc                 C   s‚   d| _ t t d¡d¡d d… }tt ¡ t ¡ t 	¡ d�}t
t |¡dtjddd	�}|jd|d
�| _tttƒ}|jd|d
�| _d S )NrÏ   rÑ   rÐ   rŠ   rr   r•   rÒ   F)rL   rÀ   rÄ   rM   rN   r¡   )r\   r   ÚrepeatrÕ   r   rD   rQ   r+   r   r¹   r^   ÚpdÚSeriesr$   rÇ   rE   r   r   r   )r'   rL   r�   r�   r»   r    r    r!   rG   ñ  s    
ü
z&TestGLMGaussHACPanelGroups.setup_classNrH   r    r    r    r!   rÜ   ï  s   rÜ   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚTestGLMGaussHACGroupsumc                 C   s†   d| _ t t d¡d¡d d… }tttt ¡ d�}t	t
 |¡dddd	�}|jd|d
�| _|jd|d
�| _tttƒ}|jd|d
�| _d S )Nzhac-groupsumrÐ   rÑ   rŠ   rr   r•   rÒ   F)rÓ   rÀ   rM   rN   r¡   znw-groupsum)r\   r   rÔ   rÕ   r   rD   r+   r   r¹   r^   rÞ   rß   rE   r   rÖ   r   r   r×   r    r    r!   rG     s    
ý
z#TestGLMGaussHACGroupsum.setup_classc                 C   s   t | jj| jjdd� d S rØ   rÙ   r6   r    r    r!   rÚ     s    z TestGLMGaussHACGroupsum.test_kwdNrÛ   r    r    r    r!   rà     s   
rà   )[Ú__doc__ÚosÚnumpyr   ZpandasrÞ   Z#statsmodels.discrete.discrete_modelZdiscreteZdiscrete_modelrB   Z+statsmodels.genmod.generalized_linear_modelr   Zstatsmodels.genmodr   Zstatsmodels.genmod.familiesr   Z#statsmodels.regression.linear_modelr   rS   r   Z%statsmodels.stats.sandwich_covarianceÚstatsZsandwich_covariancer$   Zstatsmodels.tools.toolsr   Znumpy.testingr	   r
   r   Zstatsmodels.tools._testingZtoolsZ_testingr5   r   r   r@   ÚpathÚdirnameÚabspathÚ__file__Zcur_dirÚjoinÚfilepathZread_csvZdata_rawZdropnaÚdatarD   ÚsplitZ	exog_datar+   Zasarrayr¤   r%   rl   r   r=   rI   rU   rZ   rh   rj   rm   rp   rq   rt   rv   rw   ry   r{   r€   r‚   rƒ   r„   r…   r™   rž   r©   r®   r¶   r·   r¼   r½   r¾   rÂ   rÆ   rÌ   rÎ   rÜ   rà   r    r    r    r!   Ú<module>   st   =
 /

?,