
p7]c           @   s  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
 j d  e	 e
 d d	 d
 d j e  Z
 d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d  e f d!     YZ d" e f d#     YZ d$ e f d%     YZ d& e f d'     YZ d( e f d)     YZ d S(*   i(   t   StringION(   t   anova_lm(   t   ols(   t   read_csvs  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
i    t   seps   \s+t   enginet   pythont   TestAnovaLMc           B   s    e  Z e d     Z d   Z RS(   c         C   s+   t  |  _ t d d |  j j   |  _ d  S(   Ns(   np.log(Days+1) ~ C(Duration) * C(Weight)t   data(   t   kidney_tableR   R   t   fitt	   kidney_lm(   t   cls(    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyt   setup_classN   s    		c         C   s  t  j d d d d g  } t  j d d d d g  } t  j d d d	 d
 g  } t  j d d d t  j g  } t  j d d d t  j g  } t |  j  } t  j j | d j |  t  j j | d j | d  t  j j | d j | d  t  j j | d j |  d  S(   Ni   i   i6   gp@g v0@gHPW?g46<<@g v @gHPW?gN-?g5\n@gx/@g$}?gF<G?gr%t`>gԻ?t   dft   sum_sqi   t   Fs   PR(>F)(	   t   npt   arrayt   nanR   R   t   testingt   assert_equalt   valuest   assert_almost_equal(   t   selft   DfR   t   mean_sqt   f_valuet   pr_ft   results(    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyt   test_resultsV   s    (   t   __name__t
   __module__t   classmethodR   R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   M   s   t   TestAnovaLMNoconstantc           B   s    e  Z e d     Z d   Z RS(   c         C   s+   t  |  _ t d d |  j j   |  _ d  S(   Ns,   np.log(Days+1) ~ C(Duration) * C(Weight) - 1R   (   R	   R   R   R
   R   (   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   e   s    		c         C   s  t  j d d d d g  } t  j d d d d g  } t  j d d d	 d
 g  } t  j d d d t  j g  } t  j d d d t  j g  } t |  j  } t  j j | d j |  t  j j | d j | d  t  j j | d j | d  t  j j | d j |  d  S(   Ni   i6   gZc@g v0@gHPW?g46<<@gTgZS@g v @gHPW?gN-?gn9/xb@gx/@g$}?gA#ac;gr%t`>gԻ?R   R   i   R   s   PR(>F)(	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   m   s    (   R   R    R!   R   R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR"   d   s   t   TestAnovaLMComparec           B   s   e  Z d    Z RS(   c   	      C   sT  t  d |  j  j   } t | |  j  } t j d d g  } t j d d g  } t j d d g  } t j t j d g  } t j t j d	 g  } t j t j d
 g  } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  t j j | d j
 |  t j j | d j
 |  t j j | d j
 |  d  S(   Ns(   np.log(Days+1) ~ C(Duration) + C(Weight)i8   i6   g0=@g46<<@i    i   gHPW?g$}?gԻ?t   df_residt   ssri   t   df_difft   ss_diffR   s   Pr(>F)(   R   R   R
   R   R   R   R   R   R   R   R   R   (	   R   t	   new_modelR   t   Res_Dft   RSSR   t	   Sum_of_SqR   t   PrF(    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR      s*    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR#      s   t   TestAnovaLMCompareNoconstantc           B   s   e  Z d    Z RS(   c   	      C   sT  t  d |  j  j   } t | |  j  } t j d d g  } t j d d g  } t j d d g  } t j t j d g  } t j t j d	 g  } t j t j d
 g  } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  t j j | d j
 |  t j j | d j
 |  t j j | d j
 |  d  S(   Ns,   np.log(Days+1) ~ C(Duration) + C(Weight) - 1i8   i6   g0=@g46<<@i    i   gHPW?g$}?gԻ?R$   R%   i   R&   R'   R   s   Pr(>F)(   R   R   R
   R   R   R   R   R   R   R   R   R   (	   R   R(   R   R)   R*   R   R+   R   R,   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR      s*    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR-      s   t
   TestAnova2c           B   s   e  Z d    Z RS(   c         C   s&  |  j  j d d d g  } t d |  j   } t j d d d d g  } t j d d d d	 g  } t j d
 d d t j g  } t j d d d t j g  } t | d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)ggc%Y@g9#J*@g֛b?gg\8;@i3   g<i
@gٱׅ(@g??g !P?g]dʑ?g/.?t   typt   IIR   R   i   R   s   PR(>F)(   R   t   dropR   R
   R   R   R   R   R   R   R   R   (   R   R   t   anova_iit   Sum_SqR   t   F_valueR,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR      s     (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR.      s   t   TestAnova2Noconstantc           B   s   e  Z d    Z RS(   c         C   s&  |  j  j d d d g  } t d |  j   } t j d d d d g  } t j d d d d	 g  } t j d
 d d t j g  } t j d d d t j g  } t | d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s4   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum) - 1gw6HVc@g9#J*@g֛b?gg\8;@i3   gCOoa@gٱׅ(@g??g_C>e;g]dʑ?g/.?R/   R0   R   R   i   R   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   R2   R3   R   R4   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR      s     (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR5      s   t   TestAnova2HC0c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d
 g  } t j d d d t j g  } t j d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gY @gȘ+@gG?gqap?gǛG6>guDa?R/   R0   t   robustt   hc0R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   R2   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR6     s   t   TestAnova2HC1c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d
 g  } t j d d d t j g  } t j d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gb@gzNzߨ(@g|5Q?g"&$?g3/xw?gtwy?R/   R0   R7   t   hc1R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   R2   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   0  s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR9   -  s   t   TestAnova2HC2c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d
 g  } t j d d d t j g  } t j d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gB@gtρ(@g257?g{{ӏ?gv?g)?R/   R0   R7   t   hc2R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   R2   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   K  s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR;   H  s   t   TestAnova2HC3c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d
 g  } t j d d d t j g  } t j d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gz2@g%̴%@gSF?gD?g}p
?g5j?R/   R0   R7   t   hc3R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   R2   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR   g  s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR=   d  s   t
   TestAnova3c           B   s   e  Z d    Z RS(   c         C   s2  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d d
 g  } t j d d d d t j g  } t j d d d d t j g  } t | d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gPn|q@gu=uw@gvOj(@g??grOq;gm|)?gUx?g/.?R/   t   IIIR   R   i   R   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   t	   anova_iiiR3   R   R4   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s     (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR?     s   t   TestAnova3HC0c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d d
 g  } t j d d d d t j g  } t j d d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   g8EGrr@gG \@g(y+@gG?g7Q;g5C)?gуSo>guDa?R/   R@   R7   R8   R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   RA   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyRB     s   t   TestAnova3HC1c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d d
 g  } t j d d d d t j g  } t j d d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   g\Cp@g@߾|@gV؟(@g|5Q?guA;gQ ֗?g墼?gtwy?R/   R@   R7   R:   R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   RA   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyRC     s   t   TestAnova3HC2c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d d
 g  } t j d d d d t j g  } t j d d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   gH}8p@g xL@g"b(@g257?g\<-;giD@K?g4L?g)?R/   R@   R7   R<   R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   RA   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyRD     s   t   TestAnova3HC3c           B   s   e  Z d    Z RS(   c         C   s  |  j  j d d d g  } t d |  j   } t j d d d d d	 g  } t j d d d d d
 g  } t j d d d d t j g  } t j d d d d t j g  } t | d d d d } t j j	 | d j
 |  t j j | d j
 | d  t j j | d j
 |  d  S(   Ni    i   i   s0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)g^Ib@gi<@gC8*@g֛b?gg\8;@i3   g+eLm@g@gu%@gSF?g-f};gѩɠ?gU ?g5j?R/   R@   R7   R>   R   R   i   s   PR(>F)(   R   R1   R   R
   R   R   R   R   R   R   R   R   (   R   R   RA   R3   R   R   R,   R   (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyR     s    (   R   R    R   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyRE     s   (   t   statsmodels.compat.pythonR    t   numpyR   t   statsmodels.stats.anovaR   t   statsmodels.formula.apiR   t   pandasR   R	   t   seekt   astypet   intt   objectR   R"   R#   R-   R.   R5   R6   R9   R;   R=   R?   RB   RC   RD   RE   (    (    (    sA   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova.pyt   <module>   s.   =	!&!!)