U
    Ãmœd/#  ã                   @   s¤  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
dddddd	gddd
dd
d
gddddddgddddddgddddddgddddddgddddddgddddddgddddddgdddd d!d"gd#ddd$d%d&gd#ddddd	gd#dd	dddgd#dddd'd'gd#dddddggd(d)d*d+d,d-gd.�Zed/d0ƒD ],Ze ejdd…ef ¡ejdd…ef< �q*d1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ Zd=d>„ Zd?d@„ ZdAdB„ ZdS )Cé    N)Ú_MultivariateOLS)Úassert_array_almost_equalÚassert_raisesZMorphineÚNg{®Gáz¤?gš™™™™™É?gš™™™™™¹?g{®Gáz´?g{®Gáz”?g¸…ëQ¸®?gìQ¸…ë±?çffffffö?g¸…ëQ¸Þ?g¸…ëQ¸Î?gÃõ(\�ÂÅ?g=
×£p=â?gffffffÖ?ÚYg
×£p=
·?g¤p=
×£À?gìQ¸…ëÁ?Zplacebogš™™™™™©?g¸…ëQ¸ž?g×£p=
×ã?g×£p=
×Ó?g)\�Âõ(Ì?gÍÌÌÌÌÌð?g\�Âõ(\ç?g333333ã?g�Âõ(\�ê?g…ëQ¸ñ?gš™™™™™é?ZTrimethaphang
×£p=
	@g{®Gáz @g®Gáz®ó?g¸…ëQ¸¾?ÚDrugÚDepletedZ
Histamine0Ú
Histamine1Ú
Histamine3Ú
Histamine5)Úcolumnsé   é   c                 C   sT  t  dt¡}|j| d�}| ¡ }dddddgdddddgd	ddddgd	ddddgg}t|d
 d j|dd� dddddgdddddgdddddgdddddgg}t|d d j|dd� dd d!d"d#gd$d d!d"d#gd%d d!d"d#gd%d d!d"d#gg}t|d& d j|dd� d'd(dd)d*gd+d(dd,d-gd.d(dd/d0gd1d dd2d3gg}t|d4 d j|dd� d5S )6a   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ç†á~c�›?é   r   çE—ÜÍø+K@ç¾Ì1$~é?çô€äô#ï?çË�®ˆPB@Ú	InterceptÚstat©Údecimalg›TáDµ~µ?é   ç      (@g¾¤­!£i@g¡sta�Å•?gI"’úò?ç      ,@gýå‹¤zf@gö^¯ùÈ®?gŒ˜ÀJ‘Æ@g:^Ü¡¼†@g÷ÍX�V@g L¨å©<•?gÈBÞ` @ç      @g^³¦ÃT`)@gû°ß²d?r   gÓWˆõã‚Ô?ç      @g      @gÆƒÙZq	@gò†,¹'›¹?gÔ;Ž¾å?g(à*‘<ö @r	   gú¹>ÿÃ?ç       @g—ïð	Ÿ¾@g0G°íÄ¶?g—hwåò?gÓ½_X0@gÍroåµ?g¦ÞîÝ­@gžYuÊa?@g6E6F¡½?g>„§Fžê@g{­|}JÍ@g	rí—‘rš?zDrug:DepletedN©r   Úfrom_formulaÚdataÚfitÚmv_testr   Úvalues)r   ÚmodÚrÚa© r,   úm/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/multivariate/tests/test_multivariate_ols.pyÚcompare_r_output_dogs_data    s<    þýýýýr.   c                   C   s   t dd� t dd� d S )NÚsvdr   Zpinv)r.   r,   r,   r,   r-   Útest_glm_dogs_exampleI   s    
r0   c                  C   s   t  dt¡} |  ¡ }|jddgd ggd�}dddddgd	ddddgd
ddddgd
ddddgg}t|d d j|dd� dddg}dddg}|jd||ggd�}ddddddgddddddgddddddgg}t|d d |dd� ddddgddddgddddgg}t|d d j|dd� d S )Nr   r   ©Z
hypothesesr   r   r   r   r   r   r   r   r   zDrug[T.Trimethaphan]zDrug[T.placebo]r
   r   r   r+   é   r   Z
contrast_Lé
   Ztransform_M)r   r$   r%   r&   r'   r   r(   ÚT)r)   r*   Úr1r+   ÚLÚMr,   r,   r-   Útest_specify_L_M_by_stringN   s2    þý

þ


þr8   c                  C   sH   t  ¡ } | d | d< t d| ¡}tt|jƒ t d| ¡}tt|jƒ d S )Nr   Údupz>Histamine0 + Histamine1 + Histamine3 + Histamine5 ~ Drug * dup)r%   Úcopyr   r$   r   Ú
ValueErrorr&   )Zdata1r)   r,   r,   r-   Ú"test_independent_variable_singularf   s    þþr<   c               	   C   s²  t  dt¡} | jdd�}| ¡ }tjdtdd�\}}t ddddddgg¡}t ||ƒjdd�}|jd|d ggd	�}t	|d d
 j
|d d
 j
dd� t |j
|j
ƒjdd�}|jd|d ggd	�}t	|d d
 j
|d d
 j
dd� t ddddddgddddddgg¡}|jd|d ggd	�}t ||ƒjdd�}|jd|d ggd	�}t	|d d
 j
|d d
 j
dd� t |j
|j
ƒjdd�}|jd|d ggd	�}t	|d d
 j
|d d
 j
dd� d S )Nr   r/   r   Z	dataframe)Úreturn_typer2   r   r   r1   r   r   r   r   )r   r$   r%   r&   r'   ÚpatsyZ	dmatricesÚnpÚarrayr   r(   )r)   r*   Úr0ZendogZexogr6   r5   r,   r,   r-   Útest_from_formula_vs_no_formulas   sP    þ þ
 ÿ ÿÿ ÿ ÿrB   c                  C   s�   t  dt¡} | jdd�}t ddddddg¡}tt|jd|d ggd� t ddddddgg¡}t ddddddg¡}tt|jd||ggd� d S )Nr   r/   r   r2   r   r   r1   )	r   r$   r%   r&   r?   r@   r   r;   r'   )r)   r*   r6   r7   r,   r,   r-   Útest_L_M_matrices_1D_array–   s    þrC   c                  C   sp   t  dt¡} | jdd�}| ¡ }dddddgd	dd
ddgdddddgdddddgg}t|d d j|dd� d S )Nz@Histamine0 + Histamine1 + Histamine3 + Histamine5 ~ 0 + Depletedr/   r   gÅ�1w-!_?r"   g      4@g¾0™*€K@g        gB>èÙ¬úü?g      6@gÅ�1w-a:@gÿ²{ò°xX@g[Ó¼ã](@gÁ¨¤N@G]@g$(~ŒQW@r!   g      &@gž^)Ëp@r	   r   r   r   r#   )r)   r*   rA   r+   r,   r,   r-   Útest_exog_1D_array¢   s    þýrD   c                   C   s   t ttjdtƒ d S )NzHistamine0 ~ 0 + Depleted)r   r;   r   r$   r%   r,   r,   r,   r-   Útest_endog_1D_array¯   s     ÿrE   c               	   C   sÖ   t  dt¡} | jdd�}t dddddd	gdd
ddddgg¡}d }t ddddgddddgg¡}|jd|||fgd�}dddddgdddd d!gd"dd#d$d%gd&d'd(d)d*gg}t|d d+ j|dd,� |j	d-d-d-d.� d S )/Nr   r/   r   r   g333333ó?gš™™™™™ñ?gÍÌÌÌÌÌô?g      ø?r   gš™™™™™	@gÍÌÌÌÌÌ @gffffff
@g      @gš™™™™™@r2   r   é   r   é   r   é   r   Ztest1r1   g–²q¬‹›?r"   r   gjMóŽ“@gü©ñÒMbP?g¹ü‡ôÛ×ö?r   g¼–�zv@gü©ñÒMb€?gjÞqŠŽD3@gI�€&Â†@gJ+‡–+@g-Cëâ6Z?gF¶óýÔX2@r!   r    gËÇº¸@@g-Cëâ6?r   r   T)Zshow_contrast_LZshow_transform_MZshow_constant_C)
r   r$   r%   r&   r?   r@   r'   r   r(   Úsummary)r)   r*   r6   r7   ÚCrA   r+   r,   r,   r-   Útest_affine_hypothesis³   s,    þÿ
ÿýÿrK   )Únumpyr?   ZpandasÚpdZ)statsmodels.multivariate.multivariate_olsr   Znumpy.testingr   r   r>   Z	DataFramer%   ÚrangeÚiÚlogZilocr.   r0   r8   r<   rB   rC   rD   rE   rK   r,   r,   r,   r-   Ú<module>   sL   ò  þñ*)#