U
    KvfI                     @   sN  d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	 edZ
e
d  e	e
ddd	eZ
G d
d dZG dd dZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZdS )(    )StringION)anova_lm)ols)read_csva  Days      Duration Weight ID
    0.0      1      1      1
    2.0      1      1      2
    1.0      1      1      3
    3.0      1      1      4
    0.0      1      1      5
    2.0      1      1      6
    0.0      1      1      7
    5.0      1      1      8
    6.0      1      1      9
    8.0      1      1     10
    2.0      1      2      1
    4.0      1      2      2
    7.0      1      2      3
   12.0      1      2      4
   15.0      1      2      5
    4.0      1      2      6
    3.0      1      2      7
    1.0      1      2      8
    5.0      1      2      9
   20.0      1      2     10
   15.0      1      3      1
   10.0      1      3      2
    8.0      1      3      3
    5.0      1      3      4
   25.0      1      3      5
   16.0      1      3      6
    7.0      1      3      7
   30.0      1      3      8
    3.0      1      3      9
   27.0      1      3     10
    0.0      2      1      1
    1.0      2      1      2
    1.0      2      1      3
    0.0      2      1      4
    4.0      2      1      5
    2.0      2      1      6
    7.0      2      1      7
    4.0      2      1      8
    0.0      2      1      9
    3.0      2      1     10
    5.0      2      2      1
    3.0      2      2      2
    2.0      2      2      3
    0.0      2      2      4
    1.0      2      2      5
    1.0      2      2      6
    3.0      2      2      7
    6.0      2      2      8
    7.0      2      2      9
    9.0      2      2     10
   10.0      2      3      1
    8.0      2      3      2
   12.0      2      3      3
    3.0      2      3      4
    7.0      2      3      5
   15.0      2      3      6
    4.0      2      3      7
    9.0      2      3      8
    6.0      2      3      9
    1.0      2      3     10
z\s+python)sepZenginec                   @   s    e Zd Zedd Zdd ZdS )TestAnovaLMc                 C   s   t | _td| jd | _d S )Nz(np.log(Days+1) ~ C(Duration) * C(Weight)datakidney_tabler
   r   fit	kidney_lmcls r   F/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/stats/tests/test_anova.pysetup_classM   s    zTestAnovaLM.setup_classc                 C   s   t ddddg}t ddddg}t ddd	d
g}t dddt jg}t dddt jg}t| j}t j|d j| t j|d j|d t j|d j|d t j|d j| d S )N      6   gp@ v0@盯HPW?46<<@ v @盯HPW?N-?g5\n@x/@$}?gF<G?r%t`>Ի?dfsum_sq   FPR(>F)	nparraynanr   r   testingassert_equalvaluesassert_almost_equalselfDfr"   Zmean_sqZf_valueZpr_fresultsr   r   r   test_resultsU   s    
zTestAnovaLM.test_resultsN__name__
__module____qualname__classmethodr   r2   r   r   r   r   r   L   s   
r   c                   @   s    e Zd Zedd Zdd ZdS )TestAnovaLMNoconstantc                 C   s   t | _td| jd | _d S )Nz,np.log(Days+1) ~ C(Duration) * C(Weight) - 1r	   r   r   r   r   r   r   d   s    z!TestAnovaLMNoconstant.setup_classc                 C   s   t ddddg}t ddddg}t ddd	d
g}t dddt jg}t dddt jg}t| j}t j|d j| t j|d j|d t j|d j|d t j|d j| d S )Nr   r   gZc@r   r   r   gTgZS@r   r   r   gn9/xb@r   r   gA#ac;r   r    r!   r"   r#   r$   r%   r&   r.   r   r   r   r2   l   s    
z"TestAnovaLMNoconstant.test_resultsNr3   r   r   r   r   r8   c   s   
r8   c                   @   s   e Zd Zdd ZdS )TestAnovaLMComparec           	      C   s   t d| j }t|| j}tddg}tddg}tddg}ttjdg}ttjd	g}ttjd
g}tj	|d j
| tj|d j
|d tj|d j
| tj|d j
| tj|d j
| tj|d j
| d S )Nz(np.log(Days+1) ~ C(Duration) + C(Weight)8   r   0=@r   r   r   r   r   r    df_residssrr#   df_diffss_diffr$   Pr(>F)r   r
   r   r   r   r'   r(   r)   r*   r+   r,   r-   	r/   Z	new_modelr1   ZRes_DfZRSSr0   Z	Sum_of_Sqr$   PrFr   r   r   r2      sD          zTestAnovaLMCompare.test_resultsNr4   r5   r6   r2   r   r   r   r   r9      s   r9   c                   @   s   e Zd Zdd ZdS )TestAnovaLMCompareNoconstantc           	      C   s   t d| j }t|| j}tddg}tddg}tddg}ttjdg}ttjd	g}ttjd
g}tj	|d j
| tj|d j
|d tj|d j
| tj|d j
| tj|d j
| tj|d j
| d S )Nz,np.log(Days+1) ~ C(Duration) + C(Weight) - 1r:   r   r;   r   r   r   r   r   r    r<   r=   r#   r>   r?   r$   r@   rA   rB   r   r   r   r2      sD          z)TestAnovaLMCompareNoconstant.test_resultsNrD   r   r   r   r   rE      s   rE   c                   @   s   e Zd Zdd ZdS )
TestAnova2c                 C   s   | j dddg}td| }tddddg}tdddd	g}td
ddtjg}tdddtjg}t|dd}tj	|d j
| tj|d j
|d tj|d j
|d tj|d j
| d S )Nr   r   r   0np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)ggc%Y@9#J*@簻֛b?g\8;@3   g<i
@ٱׅ(@??g !P?]dʑ?/.?IItypr!   r"   r#   r$   r%   r
   Zdropr   r   r'   r(   r)   r   r*   r+   r,   r-   r/   r
   anova_iiSum_Sqr0   F_valuerC   r1   r   r   r   r2      sB                zTestAnova2.test_resultsNrD   r   r   r   r   rF      s   rF   c                   @   s   e Zd Zdd ZdS )TestAnova2Noconstantc                 C   s   | j dddg}td| }tddddg}tdddd	g}td
ddtjg}tdddtjg}t|dd}tj	|d j
| tj|d j
|d tj|d j
|d tj|d j
| d S )Nr   r   r   z4np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum) - 1gw6HVc@rH   rI   rJ   rK   gCOoa@rL   rM   g_C>e;rN   rO   rP   rQ   r!   r"   r#   r$   r%   rS   rT   r   r   r   r2      sB                z!TestAnova2Noconstant.test_resultsNrD   r   r   r   r   rX      s   rX   c                   @   s   e Zd Zdd ZdS )TestAnova2HC0c                 C   s   | j dddg}td| }tddddd	g}tdddd
g}tdddtjg}tdddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   ^Ib@i<@C8*@rI   rJ   rK   gY @gȘ+@督G?gqap?gǛG6>uDa?rP   hc0rR   Zrobustr!   r$   r#   r%   rS   r/   r
   rU   rV   r0   r$   rC   r1   r   r   r   r2     sB                 zTestAnova2HC0.test_resultsNrD   r   r   r   r   rY     s   rY   c                   @   s   e Zd Zdd ZdS )TestAnova2HC1c                 C   s   | j dddg}td| }tddddd	g}tdddd
g}tdddtjg}tdddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   gb@gzNzߨ(@珹|5Q?g"&$?g3/xw?twy?rP   hc1r`   r!   r$   r#   r%   rS   ra   r   r   r   r2   /  sB                 zTestAnova2HC1.test_resultsNrD   r   r   r   r   rb   ,  s   rb   c                   @   s   e Zd Zdd ZdS )TestAnova2HC2c                 C   s   | j dddg}td| }tddddd	g}tdddd
g}tdddtjg}tdddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   gB@gtρ(@257?g{{ӏ?gv?)?rP   hc2r`   r!   r$   r#   r%   rS   ra   r   r   r   r2   J  sB                 zTestAnova2HC2.test_resultsNrD   r   r   r   r   rf   G  s   rf   c                   @   s   e Zd Zdd ZdS )TestAnova2HC3c                 C   s   | j dddg}td| }tddddd	g}tdddd
g}tdddtjg}tdddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   gz2@g%̴%@SF?gD?g}p
?玿5j?rP   hc3r`   r!   r$   r#   r%   rS   ra   r   r   r   r2   f  sB                 zTestAnova2HC3.test_resultsNrD   r   r   r   r   rj   c  s   rj   c                   @   s   e Zd Zdd ZdS )
TestAnova3c                 C   s   | j dddg}td| }tddddd	g}tddddd
g}tddddtjg}tddddtjg}t|dd}tj	|d j
| tj|d j
|d tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   gPn|q@gu=uw@gvOj(@rM   grOq;gm|)?gUx?rO   IIIrQ   r!   r"   r#   r$   r%   rS   )r/   r
   	anova_iiirV   r0   rW   rC   r1   r   r   r   r2     sJ                    zTestAnova3.test_resultsNrD   r   r   r   r   rn   ~  s   rn   c                   @   s   e Zd Zdd ZdS )TestAnova3HC0c                 C   s   | j dddg}td| }tddddd	g}tddddd
g}tddddtjg}tddddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   g8EGrr@gG \@g(y+@r]   g7Q;g5C)?gуSo>r^   ro   r_   r`   r!   r$   r#   r%   rS   r/   r
   rp   rV   r0   r$   rC   r1   r   r   r   r2     sH                    zTestAnova3HC0.test_resultsNrD   r   r   r   r   rq     s   rq   c                   @   s   e Zd Zdd ZdS )TestAnova3HC1c                 C   s   | j dddg}td| }tddddd	g}tddddd
g}tddddtjg}tddddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   g\Cp@g@߾|@gV؟(@rc   guA;gQ ֗?g墼?rd   ro   re   r`   r!   r$   r#   r%   rS   rr   r   r   r   r2     sH                    zTestAnova3HC1.test_resultsNrD   r   r   r   r   rs     s   rs   c                   @   s   e Zd Zdd ZdS )TestAnova3HC2c                 C   s   | j dddg}td| }tddddd	g}tddddd
g}tddddtjg}tddddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   gH}8p@g xL@g"b(@rg   g\<-;giD@K?g4L?rh   ro   ri   r`   r!   r$   r#   r%   rS   rr   r   r   r   r2     sH                    zTestAnova3HC2.test_resultsNrD   r   r   r   r   rt     s   rt   c                   @   s   e Zd Zdd ZdS )TestAnova3HC3c                 C   s   | j dddg}td| }tddddd	g}tddddd
g}tddddtjg}tddddtjg}t|ddd}tj	|d j
| tj|d j
|d tj|d j
| d S )Nr   r   r   rG   rZ   r[   r\   rI   rJ   rK   g+eLm@g@gu%@rk   g-f};gѩɠ?gU ?rl   ro   rm   r`   r!   r$   r#   r%   rS   rr   r   r   r   r2     sH                    zTestAnova3HC3.test_resultsNrD   r   r   r   r   ru     s   ru   )ior   Znumpyr'   Zstatsmodels.stats.anovar   Zstatsmodels.formula.apir   Zpandasr   r   seekZastypeintr   r8   r9   rE   rF   rX   rY   rb   rf   rj   rn   rq   rs   rt   ru   r   r   r   r   <module>   s,   ?
&!!)