U
    Kvf/#                     @   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{Gz?g?g?g{Gz?g{Gz?gQ?gQ?ffffff?gQ?gQ?g(\?g=
ףp=?gffffff?Yg
ףp=
?gp=
ף?gQ?Zplacebog?gQ?gףp=
?gףp=
?g)\(?g?g\(\?g333333?g(\?gQ?g?ZTrimethaphang
ףp=
	@g{Gz @gGz?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decimalgTD~?         (@g!i@gstaŕ?gI"?      ,@g勤zf@g^Ȯ?gJ@g:^ܡ@gXV@g L<?gB` @      @g^T`)@g߲d?r   gW?      @g      @gƃZq	@g,'?g;?g(*< @r	   g>?       @g	@g0GĶ?ghw?g_X0@gro?gݭ@gYua?@g6E6F?g>F@g{|}J@g	r헑r?zDrug:DepletedNr   from_formuladatafitmv_testr   values)r   modra r,   X/tmp/pip-unpacked-wheel-2v6byqio/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[Ӽ](@gN@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@gMbP?g?r   gzv@gMb?gjqD3@gI&@gJ++@g-C6Z?gFX2@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   )Z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     *)#