U
    Kvf-                     @   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|>      gpPBM@g;wQ_@p_Fdf_rdf_mFT2绽|=Zrtolr   gie#@
      gB{@ggs?)r1   dfkNr0   r-   gƠ>)ZatolgMb@?gj˴?g2y@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   M/tmp/pip-unpacked-wheel-2v6byqio/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@gL8@g333333?g	@gfffff4@g3333334@g?gffffff@g5@g4@g?g@g333336@g?g333333@g2@g0@gffffff?gffffff@g3333331@g333333@gL<@gffffff;@g      #@gfffff7@gL7@g333333$@g:@g      %@g33333:@g333333(@g4@g?g3333337@g?gL5@gL4@g?g333333@gfffff8@g3333338@g333333?g      @gfffff1@g1@g1@g333333?g333331@g333330@g@g6@g      ?g333333"@gfffff2@gffffff$@gL6@g&@g3333336@gffffff'@g2@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@gzG!9@g(\@gQ@g)\k@g33333_@gp=
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GzM@gfffff7@g\(:@r   gMbP?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 )Ngc]F<@gtF!71@gx@g`='s5@gO-@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?gKb5@Hz>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>?g0]1@g:0yE>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$?    gRJ)@g9s.@gZk@g      @g9s^*@gJ)R
@gB!@g1c<@g{,@gRJ)0@gZkE"@gRJ)2@gRJ)t@g[k֚@gRJ)2@gc1s$@g!B@gB!
>@gs9*@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__Z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/<