
    "g%                     $   d dl Zd dlZd dlZd dlmZmZmZ d dl	m
Z
 d dlmZ d dlmZ  e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g d      Zd Zd Zej&                  j(                  d        Zd Zd Zd Zy)    N)assert_almost_equalassert_raisesassert_allclose)MANOVA)MultivariateTestResults)add_constant)Minas Graes%C @g(\ @HzG?)r	   r
   gd;O @oʡ?)r	   Q @r   +?)r	   g- @X9v @r   )r	   gV- @g      @gS㥛?)r	   gQ@g^I+@gL7A`?)Matto Grossog\(\ @g;On @r   )r   gS㥛 @gNbX9 @r   )r   r   r   }?5^I?)r   gS @gx @r   )
Santa Cruzr   gbX9 @禛 r?)r   g @g+ @g+?)r   gE @g+ @r   LocBasalOccMax)columnsc                     t        j                  dt              } | j                         }t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d	   d
d       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d   dd       t	        |d   d   j
                  d    d!d       t	        |d   d   j
                  d"   d#d$       t	        |d   d   j
                  d%   d&d       t	        |d   d   j
                  d'   d(d$       t	        |d   d   j
                  d)   d*d$       t	        |d   d   j
                  d+   d,d$       t	        |d   d   j
                  d-   d.d$       y )/NBasal + Occ + Max ~ Locdatar   statWilks' lambdaValue%R>?   decimalPillai's tracer!   !?Hotelling-Lawley tracer!   /z?Roy's greatest rootr!   3^a?r    F Valuep=
ף?   r'   r0   Q?r*   r0         ?r-   r0   Q?r    Num DF      r'   r:   r*   r:   r-   r:   r    Den DF   r'   rA      r*   rA   iq."@   r-   rA   	   r    Pr > FvOjM?r'   rK   48E?r*   rK   n?r-   rK   #J{/L?)r   from_formulaXmv_testr   loc)modrs     g/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/multivariate/tests/test_manova.pytest_manova_sas_examplerZ      s    

7a
@CA%(,,-EF"A/%(,,-FG"A/%(,,-NO"A/%(,,-KL"A/%(,,-GHa)%(,,-HIa)%(,,-PQa)%(,,-MNa)%(,,-FG1&%(,,-GH1&%(,,-OP1&%(,,-LM1&%(,,-FGA'%(,,-GHA'%(,,-OP+%(,,-LM1&%(,,-FG+%(,,-GH+%(,,-OP+%(,,-LM+    c                  X   t        t        j                  t        dg   dt                    } t        g d   }t        ||       }t        j                  d      }d|d<   t        j                  d      }dx|d	<   |d
<   d|fd|fg}|j                  |      }t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d   dd       t        |d   d   j                  d    d!d"       t        |d   d   j                  d#   d!d"       t        |d   d   j                  d$   d!d"       t        |d   d   j                  d%   d"d"       t        |d   d   j                  d&   d'd"       t        |d   d   j                  d(   d)d"       t        |d   d   j                  d*   d+d,       t        |d   d   j                  d-   d.d"       t        |d   d   j                  d/   d0d,       t        |d   d   j                  d1   d2d,       t        |d   d   j                  d3   d4d,       t        |d   d   j                  d5   d6d,       y )7Nr   T
drop_firstdtyper   r   r   )   r<   ra   )r   r   )r2   r<   )r   ra   )ra   r2   	Interceptr   r   r"   r#   r$   r&   r(   r)   r+   r,   r.   r/   r1   r2   r3   r4   r5   r6   r7   r8   r9   r;   r<   r=   r>   r?   r@   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rL   rM   rN   rO   rP   rQ   rR   )r   pdget_dummiesrT   floatr   npzerosrU   r   rV   )exogendogrW   	interceptrV   
hypothesesrX   s          rY   test_manova_no_formularl   M   s   q%zd-24 5D%&E

C IIdO
((6
CCID		*UCL9JJA%(,,-EF"A/%(,,-FG"A/%(,, .5 6"A/ %(,,-KL"A/%(,,-GHa)%(,,-HIa)%(,, .7 8a) %(,,-MNa)%(,,-FG1&%(,,-GH1&%(,, .6 71& %(,,-LM1&%(,,-FGA'%(,,-GHA'%(,, .6 7+ %(,,-LM1&%(,,-FG+%(,,-GH+%(,, .6 7+ %(,,-LM+r[   c                      t        t        j                  t        dg   dt                    } t        g d   }t        ||       }|j                         }t        |t              sJ y )Nr   Tr]   r`   )	r   rc   rd   rT   re   r   rU   
isinstancer   )rh   ri   rW   rX   s       rY   $test_manova_no_formula_no_hypothesisro      sY     q%zd-24 5D%&E

CAa0111r[   c                  ,   t        j                  dt              } dt        j                  g dg      d fg}| j                  |       dt        j                  ddgg      d fg}t        t        | j
                  |       	 dt        j                  g dg      t        j                  dgdgdgg      fg}| j                  |       dt        j                  g dg      t        j                  dgdgg      fg}t        t        | j
                  |       y )Nr   r   test)ra   ra   ra   ra   )r   rS   rT   rf   arrayrU   r   
ValueError)rW   
hypothesiss     rY   !test_manova_test_input_validationru      s    


7a
@C288YK0$78JKK
288aVH-t45J*ckk:6 288YK0"((QC!qc?2KLMJKK
288YK0"((QC!:2FGHJ*ckk:6r[   c                  L    t        t        t        j                  dt               y )NzBasal ~ Loc)r   rs   r   rS   rT    r[   rY   test_endog_1D_arrayrx      s    *f11=!Dr[   c                  $   d} g d| z  }t         j                  j                  | d      g dz   j                         }t         j                  j                  | d      g dz   j                         }t         j                  j                  | d      g dz   j                         }t	        j
                  t        ||||            }t        j                  d|	      }|j                         }|g d   j                         }|g d   |z
  |g d<   t        j                  d|	      }|j                  d
      }	|j                  d   d   j                  t              }
|	j                  d   d   j                  t              }t        |
|d       y )N   r`   r<   )r   g      ?ra   )g      ?r6   ra   )g333333?g333333?ra   r   z#Basal + Occ + Max ~ C(Loc, Helmert)r   T)skip_intercept_testzC(Loc, Helmert)r   g|=)rtol)rf   randomrandnravelrc   	DataFramedictr   rS   rU   meanresultsto_numpyre   r   )ngrV   y1y2y3dtarW   res1meansres2stat1stat2s               rY   test_manova_demeanedr      sI    
B
!B
&C
))//"a
 ;
.	5	5	7B
))//"a
 ?
2	9	9	;B
))//"a
 =
0	7	7	9B
,,t222>
?C


C#
NC;;=D '(--/E#&'>#?%#GC 


C#
NC;;4;0DLL*+F3<<UCELL*+F3<<UCEE5u-r[   )numpyrf   pandasrc   pytestnumpy.testingr   r   r   statsmodels.multivariate.manovar   )statsmodels.multivariate.multivariate_olsr   statsmodels.toolsr   r   rT   rZ   rl   marksmokero   ru   rx   r   rw   r[   rY   <module>r      s       M M 2 M *
 BLL66666677775557 89 -+`8+v 2 2.E.r[   