U
    ÃmœdGm  ã                   @   sä  d Z ddlZddlmZ ddlZddlmZm	Z	m
Z
 ddlmZmZmZmZmZ ddlmZ G dd„ dƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ dƒZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdd „ Zd!d"„ Z eƒ Z!d#e!_"d$e!_#e $d%d&g¡e!_%e $d'd(g¡e!_&de!_'d)e!_(d*e!_)d+e!_*eƒ Z+d#e+_"d,e+_#e $ej,d-g¡e+_%e $d'd(g¡e+_&de+_'d.e+_(d*e+_)d+e+_*eƒ Z-d#e-_"d/e-_#e $d0ej,g¡e-_%e $d'd(g¡e-_&de-_'d1e-_(d*e-_)d+e-_*eƒ Z.d2e._"d3e._#e $d%d&g¡e._%e $d'd(g¡e._&d4e._'d)e._(d*e._)d+e._*eƒ Z/d2e/_"d5e/_#e $d0ej,g¡e/_%e $d'd(g¡e/_&d4e/_'d1e/_(d*e/_)d+e/_*eƒ Z0d6e0_"d7e0_#e $ej,d-g¡e0_%e $d'd(g¡e0_&d8e0_'d.e0_(d*e0_)d+e0_*eƒ Z1d9e1_"d:e1_#e $d;d<g¡e1_%d'e1_&d=e1_'d)e1_(d>e1_)d?e1_*eƒ Z2d@e2_"dAe2_#e $ej,dBg¡e2_%d'e2_&dCe2_'d.e2_(d>e2_)d?e2_*eƒ Z3d9e3_"dDe3_#e $dEej,g¡e3_%d'e3_&d=e3_'d1e3_(d>e3_)d?e3_*dFdGdHdIœZ4G dJdK„ dKƒZ5dLdM„ Z6dNdO„ Z7dPdQ„ Z8dS )RaÕ  tests for weightstats, compares with replication

no failures but needs cleanup
update 2012-09-09:
   added test after fixing bug in covariance
   TODOs:
     - I do not remember what all the commented out code is doing
     - should be refactored to use generator or inherited tests
     - still gaps in test coverage
       - value/diff in ttest_ind is tested in test_tost.py
     - what about pandas data structures?

Author: Josef Perktold
License: BSD (3-clause)

é    N)Ústats)Úassert_Úassert_almost_equalÚassert_allclose)ÚDescrStatsWÚCompareMeansÚ	ttest_indÚztestÚzconfint)ÚHolderc                   @   sX   e Zd Zeddd„ƒZeddd„ƒZdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚCheckExternalMixinr   c                 C   s   t | j| j|ƒ| _d S )N)r   ÚdataÚweightsÚdescriptive)ÚclsÚddof© r   úa/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_weightstats.pyÚget_descriptives   s    z#CheckExternalMixin.get_descriptivesúdata.csvc                 C   s|   t jt t| jƒ¡d�}| j|d< | jjdkr:| j|d< n4t| jj	d ƒD ]"}| jd d …|f |d|d  < qJ| 
|¡ d S )N)Úindexr   é   Zdata1zdata%d)ÚpdZ	DataFrameÚnpZarangeÚlenr   r   ÚndimÚrangeÚshapeZto_csv)r   ÚfnameÚdfÚkr   r   r   Ú	save_data$   s    
 zCheckExternalMixin.save_datac                 C   s   | j j}t|| jdd� d S ©Nç-Cëâ6?©Úrtol)r   Úmeanr   )ÚselfZmnr   r   r   Ú	test_mean0   s    zCheckExternalMixin.test_meanc                 C   s   | j j}t|| jdd� d S r"   )r   Úsumr   )r'   Úsmr   r   r   Útest_sum4   s    zCheckExternalMixin.test_sumc                 C   s   | j j}t|| jdd� d S r"   )r   Úvarr   )r'   r,   r   r   r   Útest_var8   s    zCheckExternalMixin.test_varc                 C   s   | j j}t|| jdd� d S r"   )r   Ústdr   )r'   r.   r   r   r   Útest_std=   s    zCheckExternalMixin.test_stdc                 C   s*   t | dƒsd S | jj}t|| jdd� d S )NÚsemr#   r$   )Úhasattrr   Zstd_meanr   r0   )r'   r0   r   r   r   Útest_semB   s    
zCheckExternalMixin.test_semc                 C   sP   t j| jt jd�}dD ]4}| jj| j|d�}t j|t jd�}t||dd� qd S )N)Zdtype)FT)Úreturn_pandasr#   r$   )r   ÚasarrayÚ	quantilesZfloat64r   ÚquantileÚquantile_probsr   )r'   Zquantr3   Zqtlr   r   r   Útest_quantilesJ   s    
ÿz!CheckExternalMixin.test_quantilesN)r   )r   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r!   r(   r+   r-   r/   r2   r8   r   r   r   r   r      s   r   c                   @   s2   e Zd ZdZdZdZdZejd Z	e
dd„ ƒZdS )	ÚTestSim1gë˜Ü(²Ù?geÚ£Ü"é)@gÃGÄ”Hñ?gâ|~¡ð?)g}\*Æùü¿gIô2Šåê¿g�ºòYžÕ?gg~5æè?g(›r…wy@c                 C   sH   t j d¡ t jjdd�| _t jjdddd�| _t jd | _|  	¡  d S )Né5µ– é   ©Úsizer   é   ©r   gš™™™™™¹?ç      à?g      è?r   ©
r   ÚrandomÚseedÚnormalr   Úuniformr   Úr_r7   r   ©r   r   r   r   Úsetup_class]   s
    zTestSim1.setup_classN©r9   r:   r;   r&   r)   r,   r.   r   rJ   r5   r<   rL   r   r   r   r   r=   S   s   
r=   c                   @   s2   e Zd ZdZdZdZdZejd Z	e
dd„ ƒZdS )	Ú	TestSim1tgOßøûA4@gÞ­,ÑY’c@gž.æB@ñ#@g~…C	@)r   r   é   é   é	   c                 C   s|   t j d¡ t jjdddd�| _| jdd… | jdd…< | jdd… | jd	d…< t jjdd
dd�| _t jd | _|  	¡  d S )Nr>   r   é
   r?   r@   rO   é   é   é   rB   rC   )
r   rF   rG   Úrandintr   rI   r   rJ   r7   r   rK   r   r   r   rL   p   s    zTestSim1t.setup_classNrM   r   r   r   r   rN   f   s   
rN   c                   @   s6   e Zd ZdZdZdZdZdZej	d Z
edd„ ƒZd	S )
Ú	TestSim1ngÔÌèì	Ô¿g¿í®XhÀg’íø‘Òß?g­œƒˆ�æ?gp¾¦A°.Ä?)g&jjÙÚù¿g	3mÿÊJ÷¿g°�N]ù,Ï¿g�Å�1wÅ?g6v‰ê­ó?c                 C   sb   t j d¡ t jjdd�| _t jjdddd�| _|  jd| j ¡  9  _t jd | _	|  
d¡ d S )Niö  r?   r@   r   rB   rC   r   )r   rF   rG   rH   r   rI   r   r)   rJ   r7   r   rK   r   r   r   rL   ‡   s    zTestSim1n.setup_classN)r9   r:   r;   r&   r)   r,   r.   r0   r   rJ   r5   r<   rL   r   r   r   r   rW   {   s   
rW   c                   @   sR   e Zd ZddgZddgZddgZddgZe ej	d	 ej	d
 f¡Z
edd„ ƒZdS )ÚTestSim2gg½sƒüÇË¿g}Â#;€�Î¿gñàÝ€…ZÀgïÔáÀg†�”bcü?gñÄƒ˜Ñã?g’›<ÀîOõ?g!–Iäí.é?)gë­�­lÀg'÷;zö¿gO¯”eˆã¿gÿ!ýöuàà?géCÔ·L@)g§t°þÏá÷¿ge¥I)èvò¿gJ)èö’ÆÄ¿g4…ÎkìÅ?gÑtv28Jý?c                 C   sH   t j d¡ t jjdd�| _t jjdddd�| _t jd | _|  	¡  d S )NiÉ  )r?   é   r@   r   rB   r?   rC   rE   rK   r   r   r   rL   �   s
    zTestSim2.setup_classN)r9   r:   r;   r&   r)   r,   r.   r   Zcolumn_stackrJ   r5   r<   rL   r   r   r   r   rX   ‘   s   ÿÿrX   c                   @   sH   e Zd Zedd„ ƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dS )ÚTestWeightstatsc                 C   s®   t j d¡ d\}}d\}}|t j |¡ }|t j |¡ }|t j |d¡ }|t j |d¡ }t j dd|¡}	t j dd|¡}
|| | _| _|	|
 | _| _|| | _	| _
d S )Nr>   ©r?   r?   ©r   g333333ó?rB   r   é   )r   rF   rG   ÚrandnrV   Úx1Úx2Úw1Úw2Úx1_2dÚx2_2d)r   Ún1Ún2Úm1Úm2r_   r`   rc   rd   ra   rb   r   r   r   rL   ¨   s    zTestWeightstats.setup_classc                 C   sˆ   | j | j }}| j| j }}dt t|ƒ¡ }dt t|ƒ¡ }t|ƒ}tt	||||fd�d d… t
 	tj||f tj||f ¡ƒ d S )Ng       @©r   rY   )r_   r`   ra   rb   r   Úonesr   r   r   r   r   rJ   )r'   r_   r`   ra   rb   Zw1_Zw2_Úd1r   r   r   Útest_weightstats_1·   s    	ÿz"TestWeightstats.test_weightstats_1c           
      C   s  | j | j }}| j| j }}t|ƒ}t||d�}t||d�}| ¡ }| ¡ }	tt||||fd�d d… t ||	¡dƒ t|	 	d¡|j	dƒ t|	 
¡ |j
dƒ t|	 ¡ |jdƒ ttj|	dd�|jdƒ t| d¡d d… t |d¡dƒ t| d¡d d… t |d¡dƒ d S )	Nri   rY   é   r   r   ©ZbiasrB   é   )r_   r`   ra   rb   r   Ú	asrepeatsr   r   r   r&   r,   r.   r   ÚcovÚ
ttest_meanÚttest_1samp)
r'   r_   r`   ra   rb   rk   Úd1wÚd2wÚx1rÚx2rr   r   r   Útest_weightstats_2É   s(    
 ÿ	"
 ÿz"TestWeightstats.test_weightstats_2c                 C   s  | j | j }}| j| j }}t||d�}t||d�}| ¡ }| ¡ }t| d¡|jdƒ t| d¡|jdƒ t| 	d¡|j	dƒ tt
j|jdd�|jdƒ tt
 |j¡|jdƒ | d¡\}	}
}t|	|
gt |d¡dƒ t||ƒ}| ¡ }t ||¡}t|d d… |dƒ d S )	Nri   r   rm   r   rn   rB   ro   rY   )rc   rd   ra   rb   r   rp   r   r&   r,   r.   r   rq   ÚTÚcorrcoefrr   r   rs   r   r   )r'   rc   rd   ra   rb   Zd1w_2dZd2w_2dZx1r_2dZx2r_2dÚtÚpÚdÚcmZressmZresssr   r   r   Útest_weightstats_3ì   s"    
z"TestWeightstats.test_weightstats_3c           	      C   s   | j }| j}t||dd�}t||dd�}t||dd�}| ¡ }| ¡ }| ¡ }ttj| tj| dƒ ttj| tj| dƒ | d¡}| d¡}| d¡}ttj| tj| dƒ ttj| tj| dƒ | ¡ }| ¡ }| ¡ }t||dƒ t||dƒ d S )Nr   ©r   r   r   rY   rm   rD   )rc   ra   r   rr   r   r   rJ   Útconfint_mean)	r'   rc   ra   Zd1w_d0Zd1w_d1Zd1w_d2Úres0Úres1Úres2r   r   r   Útest_weightstats_ddof_tests  s(    


z+TestWeightstats.test_weightstats_ddof_testsc                 C   s�   | j | j }}t|ƒ}t|ƒ}t||ƒ}ddlm} dD ]*}dD ] }|j||d�}	tt|	|ƒƒ q@q8t 	||¡}
tt
| ¡ ƒt
|
 ¡ ƒkƒ d S ©Nr   )ÚSimpleTable)TF)ÚpooledÚunequal)Úuse_tÚusevar)rc   rd   r   r   Ústatsmodels.iolib.tabler‡   Úsummaryr   Ú
isinstanceÚ	from_dataÚstr©r'   rc   rd   rk   Úd2Úcm1r‡   rŠ   r‹   ZsmryÚcm2r   r   r   Ú&test_comparemeans_convenient_interface+  s    
z6TestWeightstats.test_comparemeans_convenient_interfacec                 C   s�   | j | j }}t|ƒ}t|ƒ}t||ƒ}ddlm} dD ]*}dD ] }|j||d�}	tt|	|ƒƒ q@q8t 	||¡}
tt
| ¡ ƒt
|
 ¡ ƒkƒ d S r†   )r_   r`   r   r   rŒ   r‡   r�   r   rŽ   r�   r�   r‘   r   r   r   Ú)test_comparemeans_convenient_interface_1d<  s    
z9TestWeightstats.test_comparemeans_convenient_interface_1dN)r9   r:   r;   r<   rL   rl   rx   r   r…   r•   r–   r   r   r   r   rZ   ¦   s   
# rZ   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚCheckWeightstats1dMixinc                 C   s¼   | j }| j}t| d¡|jdƒ t|jd|jd�|jdƒ t|jd|jd�|jdƒ |jdd�}t|jddd�|dƒ |jdd�}t|jddd�|dƒ tt	j
|jd|j d�|j
dƒ d S )Nr   rm   )r   r   rn   )rv   rt   r   r&   r,   r   r.   Zvar_ddofZstd_ddofr   rq   ry   )r'   rv   rt   Zvar1Zstd1r   r   r   Ú
test_basicQ  s    z"CheckWeightstats1dMixin.test_basicc                 C   s2   | j }| j}t| d¡d d… t |d¡dƒ d S )NrB   rY   ro   )rv   rt   r   rr   r   rs   ©r'   rv   rt   r   r   r   Ú
test_ttesta  s    
 ÿz"CheckWeightstats1dMixin.test_ttestc                 C   sÖ  | j | j }}| j| j }}| j| j }}t ||¡}tt||||fd�d d… |dƒ t	t
||dd�t
||dd�ƒ}t| ¡ d d… |dƒ t	t
||dd�t
||dd�ƒ}t| ¡ d d… |dƒ t	t
||dd�t
||dd�ƒ}	t	t
||dd�t
||dd�ƒ}
t	t
||dd�t
||dd�ƒ}|	jdd�}|
jdd�}|jdd�}t||dƒ t||dƒ |	jd	d�}|
jd	d�}|jd	d�}t||dƒ t||dƒ |	jdd�}|
jdd�}|jdd�}t||dƒ t||dƒ d S )
Nri   rY   rm   r   r€   r   r‰   ©r‹   rˆ   )r_   r`   rv   rw   ra   rb   r   r   r   r   r   Ztconfint_diff)r'   r_   r`   rv   rw   ra   rb   Zres_spr~   Zcm0r“   r”   r‚   rƒ   r„   r   r   r   Útest_ttest_2samplek  sP     ÿÿÿÿÿÿz*CheckWeightstats1dMixin.test_ttest_2samplec                 C   sœ   | j }d}| ¡ \}}| |¡\}}}t||t |j¡ dƒ | |¡\}}}t||t |j¡ dƒ | t ||f¡¡\}}}t||t |j¡ dƒ d S )Ngš™™™™™©?rP   )rt   r�   rr   r   r   rj   r   Zvstack)r'   rt   ÚalphaÚlowZuppr{   r|   r}   r   r   r   Útest_confint_mean˜  s    z)CheckWeightstats1dMixin.test_confint_meanN)r9   r:   r;   r˜   rš   rœ   rŸ   r   r   r   r   r—   O  s   
-r—   c                   @   s   e Zd Zdd„ ZdS )ÚCheckWeightstats2dMixinc                 C   s&   | j }| j}tt |j¡|jdƒ d S )Nrm   )rv   rt   r   r   rz   ry   r™   r   r   r   Ú	test_corr§  s    z!CheckWeightstats2dMixin.test_corrN)r9   r:   r;   r¡   r   r   r   r   r    ¥  s   r    c                   @   s   e Zd Zedd„ ƒZdS )ÚTestWeightstats1d_ddofc           	      C   s¸   t j d¡ d\}}d\}}|t j |d¡ }|t j |d¡ }t j dd|¡}t j dd|¡}|| | _| _|| | _| _t	||dd�| _
t	||dd�| _| j
 ¡ | _| j ¡ | _d S )Nr>   r[   r\   r   r]   r€   ©r   rF   rG   r^   rV   r_   r`   ra   rb   r   rt   ru   rp   rv   rw   ©	r   re   rf   rg   rh   r_   r`   ra   rb   r   r   r   rL   °  s    z"TestWeightstats1d_ddof.setup_classN©r9   r:   r;   r<   rL   r   r   r   r   r¢   ®  s   r¢   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestWeightstats2dc           	      C   s´   t j d¡ d\}}d\}}|t j |d¡ }|t j |d¡ }t j dd|¡}t j dd|¡}|| | _| _|| | _| _t	||d�| _
t	||d�| _| j
 ¡ | _| j ¡ | _d S )Nr>   r[   r\   rB   r   r]   ri   r£   r¤   r   r   r   rL   Ä  s    zTestWeightstats2d.setup_classNr¥   r   r   r   r   r¦   Â  s   r¦   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestWeightstats2d_ddofc           	      C   s¸   t j d¡ d\}}d\}}|t j |d¡ }|t j |d¡ }t j dd|¡}t j dd|¡}|| | _| _|| | _| _t	||dd�| _
t	||dd�| _| j
 ¡ | _| j ¡ | _d S )Nr>   r[   r\   rB   r   r]   r€   r£   r¤   r   r   r   rL   Ø  s    z"TestWeightstats2d_ddof.setup_classNr¥   r   r   r   r   r§   Ö  s   r§   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestWeightstats2d_nobsc           	      C   s¸   t j d¡ d\}}d\}}|t j |d¡ }|t j |d¡ }t j dd|¡}t j dd|¡}|| | _| _|| | _| _t	||dd�| _
t	||dd�| _| j
 ¡ | _| j ¡ | _d S )	Nr>   )r?   é   r\   rB   r   r]   r   r€   r£   r¤   r   r   r   rL   ì  s    z"TestWeightstats2d_nobs.setup_classNr¥   r   r   r   r   r¨   ê  s   r¨   c                  C   sp   d} d}d}d}t | |dd�\}}}t||g||gdƒ d} d	}d
}t | |dd�\}}}t||g||gdƒ d S )N)r   rY   rB   )gš™™™™™ñ?g333333@gÍÌÌÌÌÌ@gú9‚(á?gøe¡Ä÷å¿r‰   r›   é   )r   rY   rB   r]   gÌ„Jþê?g* ÿªýÊ¿)r   r   )ÚaÚbÚprÚtrr{   r|   r   r   r   r   Útest_ttest_ind_with_uneq_varþ  s    r¯   c            
      C   sP  dd l m  m}  ddg}ddg}| jdddd�}t||ƒ}| d¡}t||dd	d
� t|t |¡d d ƒ}| d¡}t	||dd� | 
dd¡}|  dddd¡}t	|d |d dd� ddg}ddg}t||ƒ}t| ¡ | ¡ ƒ}|  t ddg¡t ddg¡¡}t|d |d dd� t||ƒ ¡ }	t|	d |d dd� t	|	|dd� d S )Nr   r   rO   rS   g      4@rD   )Úvalueg¸…ëQ¸ž?gú~j¼t“h?©r%   Zatolg      5@r?   é   )Údecimalgš™™™™™Ù?g333333ã?rR   r$   )Zstatsmodels.stats.proportionr   Z
proportionZproportions_ztestr   Ú
ztest_meanr   r   Úarrayr   Z
ztost_meanZproportions_ztostr	   rp   Zproportions_chisquarer4   r   Ú	ztest_ind)
Zsmpropr_   ra   r„   rk   rƒ   r’   r`   rb   Zres1ar   r   r   Útest_ztest_ztost  s0    



ÿr·   g}yÎ4S4@g™WÛCfÏ=gOìÅåÇ¯ó?gñf‘Þa?@gä)Až@gÍÌÌÌÌ@ú	two.sidedzTwo-sample z-Testzx and yg4üÿÿÿï?g/ÅÚIn’@Úlessg   @f¿=gÔ/3¯	õ?ÚgreatergÈÖK×ÍŽ@gN¹Äôç¯s?r   gÿ¸Äôç¯c?gÀì*,í¿gñ9†O*Ç?rY   g�†½[-©@gë��Fž)å>g†æj2�ù@g£áèOŸ+@çš™™™™™@zOne-sample z-TestÚxgcâ­ËûÐÀg�©@æ,j?g „¼qþ@çš™™™™™@gÿÿ�Fž)Õ>g»ÏÅÊ&@ZsmallerZlargerz	two-sided)r¹   rº   r¸   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )Ú	TestZTestc                 C   sj   t  ddddddddd	d
dg¡| _t  ddddddddg¡| _t| jƒ| _t| jƒ| _t| j| jƒ| _d S )Ng333333@gffffff@g      @r½   g333333@g      @r»   gffffff@gÍÌÌÌÌÌ@gffffff@g333333@g      @gš™™™™™@gffffff@g      @gffffff@g      @)	r   rµ   r_   r`   r   rk   r’   r   r~   rK   r   r   r   rL   ²  s       ÿzTestZTest.setup_classc           
      C   sj  | j | j }}| j}ttttttfD �]*}t	|||j
t|j d�\}}t||jdd� t||jddd� |j|j
t|j d�\}}t||jdd� t||jddd� |j ¡ }t |d ¡rÈtj |d< t |d ¡ràtj|d< t||dt|j d�}t||dd� |jt|j d�}t||dd� t|||j
t|j d�}t|||j
 dd� q$| j}	tttfD �] }t	||j
t|j d�\}}t||jdd� t||jddd� |	j|j
t|j d�\}}t||jdd� t||jddd� |j ¡ }t |d ¡�rtj |d< t |d ¡�r tj|d< t|dt|j d�}t||dd� |	jt|j d�}t||dd� �qbd S )	N)r°   Úalternativeg»½×Ùß|Û=r$   g¼‰Ø—²Òœ<r±   r   r   )r¿   )r_   r`   r~   Úztest_Úztest_smallerÚztest_largerÚztest_muÚztest_smaller_muÚztest_larger_mur	   Ú
null_valueÚalternativesr¿   r   Ú	statisticÚp_valuer¶   Úconf_intÚcopyr   ÚisnanÚinfr
   Zzconfint_diffrk   Úztest_mu_1sÚztest_smaller_mu_1sÚztest_larger_mu_1sr´   Zzconfint_mean)
r'   r_   r`   r~   ZtcZzstatZpvalZtc_conf_intÚcirk   r   r   r   Útest»  sn      ÿ

ÿ
ÿ


ÿ
ÿÿ
ÿ


ÿzTestZTest.testN)r9   r:   r;   r<   rL   rÒ   r   r   r   r   r¾   ®  s   
r¾   c                  C   s6   dg} dg}t | |ƒ}| dddg¡dk ¡ s2t‚d S )Nr   g        rD   ç      ð?©r   r6   ÚallÚAssertionError©r_   ra   rk   r   r   r   Útest_weightstats_len_1ý  s    
rØ   c                  C   sX   dgdgg} dgdgg}t | |ƒ}ttt |¡jƒƒ | ddg¡dk ¡  ¡ sTt‚d S )Nr   rY   rD   rÓ   )	r   Úprintr   r   rµ   r   r6   rÕ   rÖ   r×   r   r   r   Útest_weightstats_2d_w1  s
    
rÚ   c                  C   s>   dgg} dgg}t | |ƒ}| dddg¡dk ¡  ¡ s:t‚d S )Nr   r   rD   rÓ   rÔ   r×   r   r   r   Útest_weightstats_2d_w2  s    
rÛ   )9Ú__doc__Únumpyr   Zscipyr   Zpandasr   Znumpy.testingr   r   r   Zstatsmodels.stats.weightstatsr   r   r   r	   r
   Zstatsmodels.tools.testingr   r   r=   rN   rW   rX   rZ   r—   r    r¢   r¦   r§   r¨   r¯   r·   rÀ   rÈ   rÉ   rµ   rÊ   ÚestimaterÆ   r¿   ÚmethodZ	data_namerÁ   ÚnanrÂ   rÃ   rÅ   rÄ   rÎ   rÏ   rÐ   rÇ   r¾   rØ   rÚ   rÛ   r   r   r   r   Ú<module>   sÜ   6 *V	)þO