U
    Ãmœdç-  ã                   @   s„   d Z ddlZddlmZmZ ddlmZ ddlm	  m
Z ddlmZ ddlmZ dd„ Zd	d
„ Zdd„ ZG dd„ dƒZdd„ ZdS )z=
Created on Sun Nov  5 14:48:19 2017

Author: Josef Perktold
é    N)Úassert_allcloseÚassert_equal)Úweightstats)Úconfint_mvmean_fromstats)ÚHolderc                  C   s>  t  ddddgddddgddd	dgd
dd	dgddddgddddgddddgddddgddddgddddgddd	dgddddgddddgddddgddddgd
dddgddddgddd dgddddgddddgddddgddddgddddgddddgg¡} t | d d …d!d"…f d#d#g¡}td$d%d&d'd(d)�}t|j|jd*d+� t|j|j	d*d+� t|j
|jd*d+� t|j|j|jgƒ | d d …d,f d!k}| |d!d"…f }| | d!d"…f }t || d-d-g¡}td.d/d&d0d1d2d3�}|}t|j|jd4d5� t|j|j	d6d5� t|j
|jd*d+� t|j|j|jgƒ td7d/d&d8d9d)�}t|j|jd:d+� t|j|j	d:d+� t|j
|jd:d+� t|j|j|jgƒ t | ¡}|jd;d<�}t| d d …d!d …f ƒ}	t|jt  |j¡|	t  d=¡d;d>�}
t|j|j|	t  d=¡d;d>�}t|
d d&… |d?d+� t|d d&… |d?d+� tj| t  d=¡d;d>�}t||d?d+� d S )@Nç      ð?ç      8@ç     €7@ç       @ç      9@ç     €8@ç      @ç      5@ç     €4@ç      @ç      6@ç      @ç      7@ç     €6@ç      @ç      2@ç     €0@ç      @ç      1@ç       @ç      <@ç     €;@ç      "@ç      $@ç      ;@ç     €9@ç      &@ç      (@ç      4@ç      3@ç        ç      0@é   é   é   g×Œ
¶L|>é   é   gp¨P¡BõM@gº;wîÜQ_@©Úp_FÚdf_rÚdf_mÚFÚT2ç»½×Ùß|Û=©Zrtoléÿÿÿÿr   gÔùêie#@é
   é   g±BÛ{¢@g¡g³êsµ¥?)r1   ÚdfÚkÚNr0   r-   g�íµ ÷Æ >)Zatolgü©ñÒMb@?gô„’jË´¥?g•´2y¢@gÖùêie#@gê-�™—q=gš™™™™™©?)Úalphaé   )Ú
lin_transfr:   ç‚vIhÂ%<=)ÚnpÚasarrayÚsmmvZtest_mvmeanr   r   Ú	statisticr0   Úpvaluer-   Út2r1   r   r7   r/   r.   r8   r   ZDescrStatsWZtconfint_meanÚlenr   ZmeanZdiagÚvarÚeyeÚcovZconfint_mvmean)ÚxÚresÚ	res_stataÚmaskÚx1Zx0Zres_pZdwZci0ÚnobsZci1Zci2© rN   úb/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_multivariate.pyÚtest_mv_mean   sš    






















é üûü
 ÿ ÿrP   c                  C   s`  t  ddddgddddgddd	dgd
dd	dgddddgddddgddddgddddgddddgddddgddd	dgddddgddddgddddgddddgd
dddgddddgddd dgddddgddddgddddgddddgddddgddddgg¡} t  d!d"d#d!gd$d%d&d'gd(d)d*d+gd,d-d.d/gd0dd1d2gd3d4d5d6gd7d8ddgd9d:d;d!gd<d=d>d'gd?d@d%d+gdAdBd.d/gdCdd1d2gd!dDdd6gdEdFddGgd(dHdIdJgdKdLdMdNgdOdPdQdgdOdRd dSgd7dTdUdgdVddWdXgdYdDdZdgd[dMd\dNgd]d>d^dgd_d`d4dGgg¡}t | |¡}tdadbdcdddedf�}t|j|jdgdh� t|j|j	dgdh� t|j
|jdgdh� t|j|j|jgƒ d S )iNr   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    r!   r"   r#   r$   r%   r&   gš™™™™™ñ?gš™™™™8@gffffff7@gffffffþ?g3333339@gÍÌÌÌÌL8@g333333ó?gš™™™™™	@gfffffæ4@g3333334@gÍÌÌÌÌÌô?gffffff@gÍÌÌÌÌÌ5@gš™™™™™4@gÍÌÌÌÌÌì?gÍÌÌÌÌÌ@g33333³6@gš™™™™™é?g333333@gš™™™™2@gÍÌÌÌÌÌ0@gffffffæ?gffffff@g3333331@g333333@gÍÌÌÌÌL<@gffffff;@g      #@gfffffæ7@gÍÌÌÌÌL7@g333333$@gÍÌÌÌÌÌ:@g      %@g33333³:@g333333(@gš™™™™4@gÍÌÌÌÌÌü?g3333337@gš™™™™™¹?gÍÌÌÌÌL5@gÍÌÌÌÌL4@gš™™™™™É?g333333@gfffffæ8@g3333338@g333333Ó?g      @gfffffæ1@gš™™™™1@gÍÌÌÌÌÌ1@g333333ã?g33333³1@g33333³0@gÍÌÌÌÌÌ@gÍÌÌÌÌÌ6@g      à?g333333"@gfffffæ2@gffffff$@gÍÌÌÌÌL6@gš™™™™™&@g3333336@gffffff'@gÍÌÌÌÌÌ2@gLCÆ¶eå?é+   r;   g:^¢4ã?g>¬¤ÙW@r,   r2   r3   )r>   r?   r@   Útest_mvmean_2indepr   r   rA   r0   rB   r-   rC   r1   r   r7   r/   r.   )rH   ÚyrI   rJ   rN   rN   rO   rR   j   sz    






















é






















éürR   c                     sä  dddg‰dddgdddgddd	gg‰ d
‰t ˆˆ ˆt d¡dd�} ‡ ‡‡fdd„tdƒD ƒ}t |¡ ¡ }t ddgddgddgg¡}t| d |d d …df dd� t| d |d d …df dd� t| d |d d …df dd� t| d |d d …df dd� t ˆˆ ˆdddgdd�}t|d ddd� t|d ddd� dddgdddgdddgg}t ˆˆ ˆ|dd�}|d |d  d|d  f}|d |d  d|d  f}t |¡ ¡ }t |¡ ¡ }t|d |dd� t|d |dd� d S ) Ng¸…ëQr€@g¸…ëQXK@gáz®G!9@gÃõ(\°¶@g…ëQ¸®‚@g)\�ÂõÀk@g33333ƒ_@g¤p=
×c7@g\�Âõ(7@éW   r(   T©r<   Zsimultc              	      s0   g | ](}t ˆˆ ˆt d ¡| dd�dd… ‘qS )r(   TrU   Nr+   )r   r>   rF   )Ú.0Úi©rG   ÚmrM   rN   rO   Ú
<listcomp>¶   s   þ    ÿÿz'test_confint_simult.<locals>.<listcomp>g)\�Âõp@g)\�Âõ0�@g\�Âõ(œI@g®GázM@gfffff¦7@g\�Âõ(œ:@r   gü©ñÒMbP?r3   r=   r'   r4   gp=
×£p:@g×£p=
W@@r+   éþÿÿÿ)r   r>   rF   ÚrangeÚarrayZsqueezer   r?   )Zres_ciZciiZres_ci_bookZ
res_constrÚltZres_constr2ZlowsZuppsrN   rX   rO   Útest_confint_simult«   sB    
þÿþÿ
ÿr_   c                   @   s8   e Zd Zedd„ ƒZdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTestCovStructurec                 C   s.   t  dddgdddgdddgg¡| _d| _d S )Ng‰c]ÜF÷<@gt–F¹!71@gíÌñ÷xŽ@g`='îs5@g®¶O´˜-@g!,=­µ2+@é   )r>   r]   rG   rM   )ÚclsrN   rN   rO   Úsetup_classÜ   s    þÿzTestCovStructure.setup_classc                 C   sF   | j | j }}d}d}t ||¡\}}t||dd� t||dd� d S )Ng…	—ÈxE?gÀÞK£bˆ5@çH¯¼šò×z>r3   ç�íµ ÷Æ°>)rG   rM   r@   Ztest_cov_sphericalr   ©ÚselfrG   rM   Úp_chi2Úchi2ÚstatÚpvrN   rN   rO   Útest_sphericalå   s    zTestCovStructure.test_sphericalc                 C   sF   | j | j }}d}d}t ||¡\}}t||dd� t||dd� d S )NgÓ8«¸>?gœÎ0]é1@g:Œ0âŽyE>r3   rd   )rG   rM   r@   Ztest_cov_diagonalr   rf   rN   rN   rO   Útest_diagonalð   s    zTestCovStructure.test_diagonalc                 C   sP   | j | j }}d}d}ddg}t |||¡\}}t||dd� t||dd� d S )NgÍóÂÜ	Æ?gÀ,˜„×%@r+   r'   rd   r3   re   )rG   rM   r@   Ztest_cov_blockdiagonalr   )rg   rG   rM   rh   ri   Z	block_lenrj   rk   rN   rN   rO   Útest_blockdiagonalû   s    z#TestCovStructure.test_blockdiagonalc                 C   sj   | j | j }}d}d}t dddgdddgdddgg¡}t |||¡\}}t||dd	� t||d
d	� d S )NgrW;gõÞ?g““°üùì@é   é   r   é   r5   rd   r3   re   )rG   rM   r>   r]   r@   Ztest_covr   )rg   rG   rM   rh   ri   Zcov_nullrj   rk   rN   rN   rO   Útest_covmat	  s    "zTestCovStructure.test_covmatN)	Ú__name__Ú
__module__Ú__qualname__Úclassmethodrc   rl   rm   rn   rr   rN   rN   rN   rO   r`   Ú   s   
r`   c               	   C   s   d} d}d}d}d}d}d}ddg}t  dd	d
dgd	dddgd
dddgddddgg¡}t  ddddgddddgddddgddddgg¡}	t ||	g|¡}
|
\}}t||dd� t||dd� t|
j|dd� t|
j|dd� t|
j||fdd� t|
j|dd� t|
j	| dd� t
|
j|ƒ d S ) Ngäh3ðäÈ?g;¦Ðü+@r5   gmÂ»ŽQõÈ?gïÉŽlòÑ@g˜!w$«õ?é    g¥”RJ)Å@gÎ9çœs.@g×Zk­µ@g      @gÎ9çœs^*@gJ)¥”R
@gB!„@gŒ1Æc¬<@gï½÷Þ{ï,@g¥”RJ)¥0@g¶ÖZk­E"@gRJ)¥”2@g”RJ)¥t@g[k­µÖš@gRJ)¥”š2@gcŒ1Æs$@g!„BÈ@gB!„
>@g�sÎ9çü*@gß{ï½÷þ;@r2   r3   re   r=   )r>   r]   r@   Útest_cov_onewayr   Zstatistic_fZpvalue_fZdf_fZstatistic_chi2Zpvalue_chi2r   Zdf_chi2)rh   ri   r7   Zp_F_BoxZdf_r_BoxZdf_m_BoxZF_BoxrM   Zcov_mZcov_frI   rj   rk   rN   rN   rO   rx     sX    
ÿÿ
ûÿÿÿÿÿúÿ
rx   )Ú__doc__Únumpyr>   Znumpy.testingr   r   Zstatsmodels.statsr   Zstatsmodels.stats.multivariateÚstatsZmultivariater@   r   Zstatsmodels.tools.testingr   rP   rR   r_   r`   rx   rN   rN   rN   rO   Ú<module>   s   YA/<