
    'YHh#                     x   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 ]6  Z ej                  ej                  ddef         ej                  ddef<   8 d Zd Zd Zd Zd Zd Zd Zd Zd Zy)     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              }|j                  |       }|j	                         }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	       y)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       m/var/www/html/planif/env/lib/python3.12/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	L	L	L	L	NA ai/661E	5	5	5	5	7A a
mF3::AqI	=	=	=	=	?A a08??AN    c                  4    t        d       t        d       y )Nsvdr"   pinv)rB    rC   rA   test_glm_dogs_examplerH   G   s    e,f-rC   c                     t        j                  dt              } | j                         }|j	                  ddgd gg      }g dg dg dg dg}t        |d   d   j                  |d	       g d
}g d}|j	                  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	       y )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   s    

'
'MC 		A	
k]DAB	CB	?	?	?	?	AA bof5<<aK@A2A	
Q{m	,B				A bgl3QC				A bgm4662FrC   c                      t         j                         } | d   | d<   t        j                  d|       }t	        t
        |j                         t        j                  d|       }t	        t
        |j                         y )Nr   dupz>Histamine0 + Histamine1 + Histamine3 + Histamine5 ~ Drug * dup)r:   copyr   r9   r   
ValueErrorr;   )data1r>   s     rA   "test_independent_variable_singularr]   d   sf    IIKE=E%L

'
'HC *cgg&

'
'HC *sww'rC   c                     t        j                  dt              } | j                  d      }|j	                         }t        j                  dt        d      \  }}t        j                  g dg      }t        ||      j                  d      }|j	                  d|d gg      }t        |d   d	   j                  |d   d	   j                  d
       t        |j                  |j                        j                  d      }|j	                  d|d gg      }t        |d   d	   j                  |d   d	   j                  d
       t        j                  g dg dg      }|j	                  d|d gg      }t        ||      j                  d      }|j	                  d|d gg      }t        |d   d	   j                  |d   d	   j                  d
       t        |j                  |j                        j                  d      }|j	                  d|d gg      }t        |d   d	   j                  |d   d	   j                  d
       y )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   s4   

'
'MC 	uA	
B//M+'KE4 	$%&A%)))7A	
Q56	7Bbof5<< of5<<aI 	t{{377u7EA	
Q56	7Bbof5<< of5<<aI
$$ 	A 
401	2B%)))7A	
401	2Bbj077 j077D 	t{{377u7EA	
401	2Bbj077 j077DrC   c                  h   t        j                  dt              } | j                  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       y )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*aiifa5F4GH
$%&A
#$A*aiifa^4DErC   c                      t        j                  dt              } | j                  d      }|j	                         }g dg dg dg dg}t        |d   d	   j                  |d
       y )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      se    

'
'JC 	uA	
B	3	3	5	5	7A bnV4;;QJrC   c                  L    t        t        t        j                  dt               y )NzHistamine0 ~ 0 + Depleted)r   r[   r   r9   r:   rG   rC   rA   test_endog_1D_arrayro      s    *.;;#T+rC   c                  z   t        j                  dt              } | j                  d      }t	        j
                  g dg dg      }d }t	        j
                  g dg dg      }|j                  d|||fg	      }g d
g dg dg dg}t        |d   d   j                  |d       |j                  ddd       y )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 	1AA
,  	!A	
Aq12	3B	2	2	3	3	5A bk&188!Q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 B r||::;::999::A>>>>@9:& 
q! .AbffTYYq!t_-DIIadO.&OR.
G0
(!DF	F
K+%rC   