
    !g-                         d Z ddlZddlmZmZ ddlmZ ddlm	c m
Z ddlmZ ddlmZ d Zd Zd	 Z G d
 d      Zd Zy)z=
Created on Sun Nov  5 14:48:19 2017

Author: Josef Perktold
    N)assert_allcloseassert_equal)weightstats)confint_mvmean_fromstats)Holderc                  t   t        j                  g dg dg dg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg      } t        j                  | d d ddf   ddg      }t	        ddddd !      }t        |j                  |j                  d"#       t        |j                  |j                  d"#       t        |j                  |j                  d"#       t        |j                  |j                  |j                  g       | d d d$f   dk(  }| |ddf   }| | ddf   }t        j                  ||z
  d%d%g      }t	        d&d'dd(d)d*+      }|}t        |j                  |j                  d,-       t        |j                  |j                  d.-       t        |j                  |j                  d"#       t        |j                  |j                   |j                  g       t	        d/d'dd0d1!      }t        |j                  |j                  d2#       t        |j                  |j                  d2#       t        |j                  |j                  d2#       t        |j                  |j                  |j                  g       t#        j$                  |       }|j'                  d34      }t)        | d d dd f         }	t+        |j,                  t        j.                  |j0                        |	t        j2                  d5      d36      }
t+        |j,                  |j4                  |	t        j2                  d5      d36      }t        |
d d |d7#       t        |d d |d7#       t        j6                  | t        j2                  d5      d36      }t        ||d7#       y )8N      ?      8@     7@r
          @      9@g     8@r
         @      5@     4@r
         @      6@r   r
         @      7@     6@r
         @      2@     0@r
         @      1@r   r
          @g      <@g     ;@r
         "@r   r   r
         $@g      ;@g     9@r
         &@r   r   r
         (@r   r   r
   r
         4@      3@        r   r   r   r/   r   r   r-   r/   r   r   r   r/   r   r   r!   r/   r   r!         0@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׌
L|>      gpPBM@g;wQ_@p_Fdf_rdf_mFT2绽|=rtolr   gie#@
      gB{@ggs?)rF   dfkNrE   rB   gƠ>)atolgMb@?gj˴?g2y@gie#@g-q=g?)alpha   )
lin_transfrQ   vIh%<=)npasarraysmmvtest_mvmeanr   r   	statisticrE   pvaluerB   t2rF   r   rM   rD   rC   rN   r   DescrStatsWtconfint_meanlenr   meandiagvareyecovconfint_mvmean)xres	res_statamaskx1x0res_pdwci0nobsci1ci2s               f/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_multivariate.pytest_mv_meanrr      s   


*********+++*********+++/- 	.A2 

1Q!V9r2h
/C,*+	-I CMM9;;U;CJJ	E:CFFILLu5)..)..9: QU8q=D	
419B	
D5!A#:BR"Wq!f-E +"!#I CCMM9;;T:CJJ	D9CFFILLu5)++y||45 ,**	,I CMM9;;U;CJJ	E:CFFILLu5)..)..9:		 	 	#B




&CqABx=D
"277BGGBFFOT.0ffQitEC
"277BFFD.0ffQitEC CGSu-CGSu- 

aBFF1IT
BCC5)    c                     t        j                  g dg dg dg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg      } t        j                  g dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g d+g d,g d-g d.g d/g d0g      }t        j                  | |      }t	        d1d2d3d4d56      }t        |j                  |j                  d78       t        |j                  |j                  d78       t        |j                  |j                  d78       t        |j                  |j                  |j                  g       y )9Nr	   r   r   r   r   r   r   r"   r$   r&   r(   r*   r,   r0   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   )皙?g8@gffffff7@ru   )gffffff?3333339@gL8@333333?)皙	@gfffff4@g3333334@?)gffffff@g5@皙4@?)g@r   333336@皙?)g333333@皙2@g0@ffffff?)ffffff@g3333331@r   r
   )g333333@gL<@gffffff;@ru   )g      #@gfffff7@L7@rw   )g333333$@g:@rv   ry   )g      %@g33333:@rz   r{   )g333333(@r   r|   r}   )ru   皙4@r.   r   )g?g3333337@r   皙?)rx   gL5@gL4@g?)g333333@gfffff8@3333338@333333?)      @gfffff1@g1@r/   )r   g1@r5   g333333?)r   g333331@g333330@r/   )g@r   g6@g      ?)g333333"@r   gfffff2@r/   )gffffff$@r   gL6@r   )g&@r   g3333336@r/   )gffffff'@g2@r~   r   gLCe?+   rR   g:^4?g>W@rA   rG   rH   )rU   rV   rW   test_mvmean_2indepr   r   rY   rE   rZ   rB   r[   rF   r   rM   rD   rC   )re   yrf   rg   s       rq   r   r   i   s@   


*********+++*********+++/- 	.A2 	

*********+++*********+++/- 	.A2 
!
!!Q
'C-*,	.I CMM9;;U;CJJ	E:CFFILLu5)..)..9:rs   c                     g d} g dg dg dg}d}t        | ||t        j                  d      d      }t        d      D cg c]+  }t        | ||t        j                  d      |   d      d d	 - }}t        j                  |      j                         }t        j                  d
dgddgddgg      }t        |d   |d d df   d       t        |d   |d d df   d       t        |d   |d d df   d       t        |d   |d d df   d       t        | ||g dd      }t        |d   dd       t        |d   dd       g dg dg dg}t        | |||d      }	|d   |d    d	|d   z  f}
|d   |d    d	|d   z  f}t        j                  |
      j                         }
t        j                  |      j                         }t        |	d   |
d       t        |	d   |d       y c c}w )N)gQr@gQXK@gzG!9@)g(\@Q@)\k@)r   g33333_@p=
c7@)r   r   g\(7@W   r=   T)rS   simultr@   g)\p@g)\0@g\(I@gGzM@gfffff7@g\(:@r   gMbP?rH   rT   r<   )r   r<   rJ   gp=
ףp:@gףp=
W@@)r   rJ   r<   )r   r@   )r   rU   rb   rangearraysqueezer   rV   )mrc   rn   res_ciiciires_ci_book
res_constrltres_constr2lowsuppss               rq   test_confint_simultr      s    	A$"!#C D%adrvvay-13F
 !H $31dDDFQH C  ((3-


!C((VV,uenuenMNKF1I{1a40t<F1I{1a40t<F1Is1a4yu5F1Is1a4yu5)!S$:157J JqM<d;JqM<d; j*	-B*1c4B268K a=JqM/1z!}+<<Da=JqM/1z!}+<<D::d##%D::d##%DKNDu5KNDu5Cs   0G1c                   4    e Zd Zed        Zd Zd Zd Zd Zy)TestCovStructurec                 X    t        j                  g dg dg dg      | _        d| _        y )N)gc]F<@tF!71@x@)r   g`='s5@箶O-@)r   r   g!,=2+@   )rU   r   rc   rn   )clss    rq   setup_classzTestCovStructure.setup_class   s-     ((IHHJK rs   c                     | j                   | j                  }}d}d}t        j                  ||      \  }}t	        ||d       t	        ||d       y )Ng	xE?gKb5@Hz>rH   ư>)rc   rn   rW   test_cov_sphericalr   selfrc   rn   p_chi2chi2statpvs          rq   test_sphericalzTestCovStructure.test_spherical   sK    HHdiiT# **35bd.F.rs   c                     | j                   | j                  }}d}d}t        j                  ||      \  }}t	        ||d       t	        ||d       y )Ng8>?g0]1@g:0yE>rH   r   )rc   rn   rW   test_cov_diagonalr   r   s          rq   test_diagonalzTestCovStructure.test_diagonal   sK    HHdiiT# ))#t4bd.F.rs   c                     | j                   | j                  }}d}d}ddg}t        j                  |||      \  }}t	        ||d       t	        ||d       y )Ng	?g,%@r@   r<   r   rH   r   )rc   rn   rW   test_cov_blockdiagonalr   )r   rc   rn   r   r   	block_lenr   r   s           rq   test_blockdiagonalz#TestCovStructure.test_blockdiagonal   sX    HHdiiT#  F	..sD)Dbd.F.rs   c                     | j                   | j                  }}d}d}t        j                  g dg dg dg      }t	        j
                  |||      \  }}t        ||d       t        ||d       y )	NgrW;g?g@)      r   )r      r   )r   r   rK   r   rH   r   )rc   rn   rU   r   rW   test_covr   )r   rc   rn   r   r   cov_nullr   r   s           rq   test_covmatzTestCovStructure.test_covmat  s`    HHdiiT# 88[+zBC==dH5bd.F.rs   N)	__name__
__module____qualname__classmethodr   r   r   r   r    rs   rq   r   r      s(     	/	//
/rs   r   c                  >   d} d}d}d}d}d}d}ddg}t        j                  g dg d	g d
g dg      }t        j                  g dg dg dg dg      }	t        j                  ||	g|      }
|
\  }}t	        ||d       t	        ||d       t	        |
j
                  |d       t	        |
j                  |d       t	        |
j                  ||fd       t	        |
j                  |d       t	        |
j                  | d       t        |
j                  |       y )Ngh3?g;+@rK   gm»Q?gɎl@g!w$?    )gRJ)@9s.@Zk@      @)r   g9s^*@J)R
@B!@)r   r   g1c<@{,@)r   r   r   gRJ)0@)gZkE"@RJ)2@RJ)t@[k֚@)r   gRJ)2@c1s$@!B@)r   r   gB!
>@s9*@)r   r   r   g{;@rG   rH   r   rT   )rU   r   rW   test_cov_onewayr   statistic_fpvalue_fdf_fstatistic_chi2pvalue_chi2r   df_chi2)r   r   rM   p_F_Boxdf_r_Boxdf_m_BoxF_Boxrn   cov_mcov_frf   r   r   s                rq   r   r     s   FD	BG HHE8DHH	H

	H	JKE HH



	 E 

u~t
4CHD"D%e,Bd+COOU7CLL'5CHHx2?C&&59COOV$7b!rs   )__doc__numpyrU   numpy.testingr   r   statsmodels.statsr   statsmodels.stats.multivariatestatsmultivariaterW   r   statsmodels.tools.testingr   rr   r   r   r   r   r   rs   rq   <module>r      sD     7 ) - - C ,V*r>;B,6^9/ 9/x&"rs   