
    M/Ph#                     f   d dl Zd dlZd dlmZ d dlmZmZ d dl	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 dg dgg d          Z edd          D ]-Z ej        ej        ddef                   ej        ddef<   .d Zd Zd Zd Zd Zd Zd Zd Zd ZdS )     N)_MultivariateOLS)assert_array_almost_equalassert_raises)MorphineNg{Gz?g?皙?{Gz?)r   r   {Gz?Q?r
   r
   )r   r   Q?ffffff?gQ?Q?)r   r   g(\?g=
ףp=?gffffff?r   )r   Yr   
ףp=
?p=
ף?gQ?)placebor   r   r   r   r   )r   r   皙?r   r   r   )r   r   Q?gףp=
?gףp=
?g)\(?)r   r   r   g?g\(\?g333333?)r   r   r   g(\?gQ?g?)Trimethaphanr   r   g
ףp=
	@g{Gz @gGz?)r   r   r   r   r   r	   )r   r   r	   r   r   r   )r   r   r   r   Q?r   )r   r   r   r   r   r   )DrugDepleted
Histamine0
Histamine1
Histamine3
Histamine5)columns      c                    t          j        dt                    }|                    |           }|                                }g dg dg dg dg}t          |d         d         j        |d	           g d
g dg dg dg}t          |d         d         j        |d	           g dg dg dg dg}t          |d         d         j        |d	           g dg dg dg dg}t          |d         d         j        |d	           dS )a   Testing within-subject effect interact with 2 between-subject effect
    Compares with R car library Anova(, type=3) output

    Note: The test statistis Phillai, Wilks, Hotelling-Lawley
          and Roy are the same as R output but the approximate F and degree
          of freedoms can be different. This is due to the fact that this
          implementation is based on SAS formula [1]

    .. [*] https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_introreg_sect012.htm
    CHistamine0 + Histamine1 + Histamine3 + Histamine5 ~ Drug * Depletedmethodg~c?   r   E+K@1$~?g#?r%   r   r&   r'   gˏPB@r%   r   r&   r'   	Interceptstatr   decimal)gTD~?         (@g!i@gstaŕ?)gI"?r.         ,@g勤zf@g^Ȯ?)gJ@r.   :^ܡ@gXV@g L<?)gB` @r%         @g^T`)@g߲d?r   )gW?      @      @ƃZq	@,'?)g;?r3   r4   r5   r6   )g(*< @r3   r4   r5   r6   r   )g>?       @r/   g	@g0GĶ?)ghw?r7   r0   g_X0@gro?)gݭ@r7   r1   gYua?@g6E6F?)g>F@r3   r2   g{|}J@g	r헑r?zDrug:DepletedNr   from_formuladatafitmv_testr   values)r#   modras       t/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/multivariate/tests/test_multivariate_ols.pycompare_r_output_dogs_datarB      s    
'M C 	vA			A	?	?	?	?	?	?	?	?	?	?	?	?	AA anV4;QJJJJ	L	L	L	L	L	L	L	L	L	L	L	L	NA ai/61EEEE	5	5	5	5	5	5	5	5	5	5	5	5	7A a
mF3:AqIIII	=	=	=	=	=	=	=	=	=	=	=	=	?A a08?ANNNNNN    c                  F    t          d           t          d           d S )Nsvdr"   pinv)rB    rC   rA   test_glm_dogs_examplerH   G   s*    e,,,,f------rC   c                     t          j        dt                    } |                                 }|                    ddgd gg          }g dg dg dg dg}t          |d         d         j        |d	           g d
}g d}|                    d||gg          }g dg dg dg}t          |d         d         |d	           g dg dg dg}t          |d         d         j        |d	           d S )Nr!   r*   
hypothesesr$   r(   r)   r+   r   r,   )r*   zDrug[T.Trimethaphan]zDrug[T.placebo])r   r   r   r@      r   r   r   r   r   r   rM   r   r   r   r   r   r   rM   r   r   r   
contrast_L
   )r   rM   r   r   )r   r   rM   r   )r   r   r   rM   transform_M)r   r9   r:   r;   r<   r   r=   T)r>   r?   r1r@   LMs         rA   test_specify_L_M_by_stringrW   L   sO   

'M C 			A	
k]DAB	C	CB	?	?	?	?	?	?	?	?	?	?	?	?	AA bof5<aKKKK@@@A222A	
Q{m	,	,B										A bgl3QCCCC				A bgm462FFFFFFrC   c                  
   t                                           } | d         | d<   t          j        d|           }t	          t
          |j                   t          j        d|           }t	          t
          |j                   d S )Nr   dupz>Histamine0 + Histamine1 + Histamine3 + Histamine5 ~ Drug * dup)r:   copyr   r9   r   
ValueErrorr;   )data1r>   s     rA   "test_independent_variable_singularr]   d   sz    IIKKE=E%L

'H C *cg&&&

'H C *sw'''''rC   c                     t          j        dt                    } |                     d          }|                                }t          j        dt          d          \  }}t          j        g dg          }t          ||                              d          }|                    d|d gg          }t          |d         d	         j
        |d         d	         j
        d
           t          |j
        |j
                                      d          }|                    d|d gg          }t          |d         d	         j
        |d         d	         j
        d
           t          j        g dg dg          }|                    d|d gg          }t          ||                              d          }|                    d|d gg          }t          |d         d	         j
        |d         d	         j
        d
           t          |j
        |j
                                      d          }|                    d|d gg          }t          |d         d	         j
        |d         d	         j
        d
           d S )Nr!   rE   r"   	dataframe)return_typerL   r*   rJ   r+   r   r,   rN   rO   r   )r   r9   r:   r;   r<   patsy	dmatricesnparrayr   r=   )r>   r?   r0endogexogrU   rT   s          rA   test_from_formula_vs_no_formularh   q   s   

'M C 	uA	
B/M+' ' 'KE4 	$$$%&&A%%)))77A	
Q56	7	7Bbof5< of5<aI I I I 	t{3377u7EEA	
Q56	7	7Bbof5< of5<aI I I I
$$$$$$ 	 	A 
401	2	2B%%)))77A	
401	2	2Bbj07 j07D D D D 	t{3377u7EEA	
401	2	2Bbj07 j07D D D D D DrC   c                  l   t          j        dt                    } |                     d          }t	          j        g d          }t          t          |j        d|d gg           t	          j        g dg          }t	          j        g d          }t          t          |j        d||gg           d S )Nr!   rE   r"   rL   r   rJ   )	r   r9   r:   r;   rc   rd   r   r[   r<   )r>   r?   rU   rV   s       rA   test_L_M_matrices_1D_arrayrj      s    

'M C 	uA
###$$A*aifa5F4GHHHH
$$$%&&A
###$$A*aifa^4DEEEEEErC   c                      t          j        dt                    } |                     d          }|                                }g dg dg dg dg}t          |d         d	         j        |d
           d S )Nz@Histamine0 + Histamine1 + Histamine3 + Histamine5 ~ 0 + DepletedrE   r"   )gŏ1w-!_?r7   g      4@g0*K@        )gB>٬?r7   g      6@gŏ1w-a:@rl   )g{xX@r7   g[Ӽ](@gN@G]@rl   )g$(~QW@r3   g      &@g^)p@rl   r   r+   r%   r,   r8   )r>   r?   re   r@   s       rA   test_exog_1D_arrayrm      s    

'J C 	uA	
B	3	3	3	3	3	3	5	5	5	5	5	5	7A bnV4;QJJJJJJrC   c                  R    t          t          t          j        dt                     d S )NzHistamine0 ~ 0 + Depleted)r   r[   r   r9   r:   rG   rC   rA   test_endog_1D_arrayro      s+    *.;#T+ + + + +rC   c                     t          j        dt                    } |                     d          }t	          j        g dg dg          }d }t	          j        g dg dg          }|                    d|||fg	          }g d
g dg dg dg}t          |d         d         j        |d           |	                    ddd           d S )Nr!   rE   r"   )r   g333333?g?g?g      ?r   )r   g	@g @gffffff
@g      @g@)rM   r      r%   )   r      r.   test1rJ   )gq?r7   r/   gjM@gMbP?)g?r7   r0   gzv@gMb?)gjqD3@r7   gI&@gJ++@g-C6Z?)gFX2@r3   r2   gǺ@@g-C6?r+   r%   r,   T)show_contrast_Lshow_transform_Mshow_constant_C)
r   r9   r:   r;   rc   rd   r<   r   r=   summary)r>   r?   rU   rV   Cre   r@   s          rA   test_affine_hypothesisrz      s    
'M C 	uA
......0 	1 	1AA
,,,,,  	! 	!A	
Aq12	3	3B	2	2	2	2	2	2	3	3	3	3	3	3	5A bk&18!QGGGGJJtd#  % % % % %rC   )numpyrc   pandaspd)statsmodels.multivariate.multivariate_olsr   numpy.testingr   r   ra   	DataFramer:   rangeilogilocrB   rH   rW   r]   rh   rj   rm   ro   rz   rG   rC   rA   <module>r      s           F F F F F F B B B B B B B B r|::::::;;;::::::999999999::::::AAA>>>>>>>>>>>>@9 9 9: : :& 
q! . .AbfTYqqq!t_--DIaaadOO&O &O &OR. . .
G G G0
( 
( 
(!D !D !DF	F 	F 	F
K 
K 
K+ + +% % % % %rC   