
    M/Ph%                        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dS )    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                    } |                                 }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$           d S )/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     j/var/www/html/test/jupyter/venv/lib/python3.11/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                     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}|                    |          }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,           d S )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 4 4 5 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          ||           }|                                }t          |t                    sJ d S )Nr   Tr]   r`   )	r   rc   rd   rT   re   r   rU   
isinstancer   )rh   ri   rW   rX   s       rY   $test_manova_no_formula_no_hypothesisro      s}     q%zd-24 4 4 5 5D%%%&E


CAa01111111r[   c                  2   t          j        dt                    } dt          j        g dg          d fg}|                     |           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}|                     |           dt          j        g dg          t          j        dgdgg          fg}t          t          | j        |           d S )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28YYYK00$78JKK
28aVH--t45J*ck:666 28YYYK00"(QC!qc?2K2KLMJKK
28YYYK00"(QC!:2F2FGHJ*ck:666 r[   c                  R    t          t          t          j        dt                     d S )NzBasal ~ Loc)r   rs   r   rS   rT    r[   rY   test_endog_1D_arrayrx      s    *f1=!DDDDDr[   c                     d} g d| z  }t           j                            | d          g dz                                   }t           j                            | d          g dz                                   }t           j                            | d          g dz                                   }t	          j        t          ||||                    }t          j        d|	          }|	                                }|g d         
                                }|g d         |z
  |g d<   t          j        d|	          }|	                    d
          }	|j        d         d                             t                    }
|	j        d         d                             t                    }t          |
|d           d S )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      s    
B
!
!
!B
&C
)//"a
 
 ;;;
.	5	5	7	7B
)//"a
 
 ???
2	9	9	;	;B
)//"a
 
 ===
0	7	7	9	9B
,t222>>>
?
?C

C#
N
N
NC;;==D '''(--//E#&'>'>'>#?%#GC 

C#
N
N
NC;;4;00DL*+F3<<UCCEL*+F3<<UC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 M M M M M M M M 2 2 2 2 2 2 M M M M M M * * * * * *
 BL6666666666666666667777777777775555555557 8779 9 9 -+ -+ -+`8+ 8+ 8+v 2 2 2  .E E E. . . . .r[   