
p7]c           @   s  d  Z  d d l m Z m Z d d l m Z d d l m Z d d l Z	 d d l
 Z d d l Z d d l j Z d d l j j Z d d l m Z m Z d d l m Z m Z m Z m 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&   Z, d' e+ f d(     YZ- d) e+ f d*     YZ. d+ e+ f d,     YZ/ d- e+ f d.     YZ0 d/ e+ f d0     YZ1 d1 e+ f d2     YZ2 d3 e f d4     YZ3 d5 e3 f d6     YZ4 d7 e3 f d8     YZ5 d9 e3 f d:     YZ6 d; e3 f d<     YZ7 d= e3 f d>     YZ8 d S(?   s   Tests that use cross-checks for generic methods

Should be easy to check consistency across models
Does not cover tsa

Initial cases copied from test_shrink_pickle

Created on Wed Oct 30 14:01:27 2013

Author: Josef Perktold
i(   t   assert_series_equalt   assert_index_equal(   t   range(   t   PLATFORM_OSXN(   t   olst   glm(   t   assert_t   assert_allcloset   assert_equalt   assert_array_equalt   CheckGenericMixinc           B   sV   e  Z e d     Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   c         C   so   d } t  j j d  t  j j | d  } t j |  } | |  _ d t  j d  |  _ i  |  _	 d  |  _ d  S(   Ni  i) i   g      ?i   i   (   i   i   (   t   npt   randomt   seedt   randnt   smt   add_constantt   exogt   onest   xft   predict_kwdst   Nonet   transform_index(   t   clst   nobst   x(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   setup_class   s    		c         C   s7  t  j |  j  |  j } t j t | j   } | j | d  } d   } | j   } t	 | j
 | j d d d t | d  t |  k  | j d d  } d } t | t |  k  | j d d  } | j t k r d	 n d
 } | j t k rd n d }	 d d |	 | d d g }
 t | j j |
  d  S(   Ni    c         S   s   d |  d d |  d f S(   Ns   [%4.3F      %4.3F]i   i   (    (   t   alpha(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   <lambda>1   s   t   rtolg&.>g?R   g?s   [0.05       0.95]s   P>|z|s   P>|t|t   zt   tt   coefs   std errs   Conf. Int. Lows   Conf. Int. Upp.(   t   smtt   check_ttest_tvaluest   resultsR   t   eyet   lent   paramst   t_testt   summaryR   t   pvaluet   pvaluesR   t   strt   summary_framet   use_tt   FalseR	   t   columnst   values(   t   selft   rest   matt   ttt   string_confintt   summt   sst   summft   pvstring_use_tt   tstring_use_tt   cols(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_ttest_tvalues)   s"    		c         C   s   t  j |  j  d  S(   N(   R!   t   check_ftest_pvaluesR#   (   R1   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_ftest_pvaluesC   s    c         C   s   t  j |  j  d  S(   N(   R!   t   check_fittedR#   (   R1   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_fittedF   s    c         C   s   t  j |  j  d  S(   N(   R!   t   check_predict_typesR#   (   R1   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_predict_typesI   s    c         C   s  t  |  j j t j  r( t j d  n  t  |  j j t j t j t j	 f  } | |  _
 t t |  j j j j d   } t t |  j j j d   } d g } x | D] } | | =| | =q W| r |  j j j | d d d |  j j } n |  j j j | d d } |  j | |  } t | j | | j d d d	 d t | j | d  t | j | | j d d d	 d t | j | d  t rd
 n d } t | j | | j d | d	 | t | j | | j d | d	 | t | d  r7d }	 d }
 t rd
 }	 d }
 n  t | j | j d |	 d	 |
 n  |  j j j j d  } | j | |  j  } | j | | |  j  } t | | d d |  j j j d  } | j | |  j  } | j | d  d   | f |  j  } t | | d d d  S(   Ns%   GEE does not subclass LikelihoodModeli   i    t   maxiteri  t   start_paramsR   g|=t   atolg:0yE>t   residg-q=i   (   t
   isinstanceR#   t   modelR   t   GEEt   pytestt   skipt   RLMt   OLSt   WLSt   use_start_paramst   listR   R   t   shapeR&   t
   _fit_zerost   _get_constrainedR   R   t   bseR   t   tvaluesR*   t   hasattrRF   t   meant   predictR   (   R1   RO   t
   keep_indext   keep_index_pt
   drop_indext   it   res1t   res2t   tolR   RE   t   ext
   predicted1t
   predicted2(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_zero_constrainedL   sT    	"		"%c         C   s   |  j  j } | j } | j   } | | j | j d  d   | f |  } |  j rw | j d |  j  j | d d  } n | j d d  } | S(   NRD   RC   i  (	   R#   RH   t	   __class__t   _get_init_kwdst   endogR   RO   t   fitR&   (   R1   RY   RZ   t   mod2t   mod_clst	   init_kwdst   modR2   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyRS      s    	(	c      
   C   s  t  |  j j t j  r( t j d  n  t  |  j j t j t j t j	 t j
 f  } | |  _ t t |  j j j j d   } t t |  j j j d   } g  } x | D] } | | =| | =q Wt t |  j j j d   } |  j j } | j } | j   } t j | j | j f  }	 | | j |	 |  }
 t t |  j j j j d   } t t |  j j j j d   } |	 j d } d } t |
 d  r|
 j d k r| t t | | |
 j   7} |
 j } n  d d g } x| D]} | d k rt  |  j j t j  rd  S| rt j | |  } |  j j d } |  j j d j   } |  j d  k	 rt j | |  j  | |  j <n  | | | <|
 j d	 | d | d
 | d d  } | d k rO|  j j j d	 | d | d
 | d d  } qOn` t  |  j j t j  r|
 j   } n |
 j d	 |  } | d k rO|  j j j d	 |  } n  | d k rg|  j } n  t | d  rt  | j! j d | j d  d | j k r| j! j d } t" | | j d d d d d t  | j d | j d  t" | j d | j d d d d d qn  t" | j | | j d d t" | j | d d d t" | j# | | j# d d t" | j# | d d d t" | j$ | | j$ d d t" | j% | | j% d d d d t | d  rt" | j& | j& d d d d n  | j j j' d  }	 | j( |	 |  j)  } | j( |	 | |  j)  } t" | | d d d d | j j d  }	 t* |  d i   } | j( |	 |  } | j( |	 d  d   | f |  } t" | | d d d d qWd  S(   Ns   Not completely generic yeti   i    t   k_extrat	   nonrobustt   HC0t	   optimizerRD   t   cov_typet   methodt   dispt   mle_settingsR   g|=RE   g#B;gư>g:0yE>gHj>gKH9RF   gh㈵>gdy=i   t   predict_kwds_5(+   RG   R#   RH   R   RI   RJ   RK   RL   RM   RN   t   GLMRO   RP   R   R   RQ   R&   Rd   Re   R   t   column_stackRf   RV   Rl   t   zerosRs   t   copyR   R   t   expt   _fit_collinearRg   R   t   results_constrainedR   RT   RU   R*   RF   RW   RX   R   t   getattr(   R1   RO   RY   RZ   R[   R\   Rh   Ri   Rj   R`   Rk   t   k_varsRl   t	   cov_typesRp   RD   Rq   t   spR]   R^   t   spcRa   Rb   t   kwds(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_zero_collinear   s    "	"	""  
""(   t   __name__t
   __module__t   classmethodR   R<   R>   R@   RB   Rc   RS   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR
      s   					<	t   TestGenericOLSc           B   s   e  Z d    Z RS(   c         C   sa   |  j  } t j j d  | j d  t j j | j d  } t j | |  j   j	   |  _
 d  S(   Ni) i   i    (   R   R   R   R   t   sumR   RQ   R   RM   Rg   R#   (   R1   R   t   y(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   setup  s    	&(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   
  s   t   TestGenericOLSOneExogc           B   s   e  Z d    Z d   Z RS(   c         C   se   |  j  d  d   d f } t j j d  | t j j | j d  } t j | |  j   |  _	 d  S(   Ni   i) i    (
   R   R   R   R   R   RQ   R   RM   Rg   R#   (   R1   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    c         C   s   t  j d  d  S(   Ns/   Override since cannot remove the only regressor(   RJ   RK   (   R1   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyRc     s    (   R   R   R   Rc   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   	t   TestGenericWLSc           B   s   e  Z d    Z RS(   c         C   sv   |  j  } t j j d  | j d  t j j | j d  } t j | |  j  d t j	 t
 |   j   |  _ d  S(   Ni) i   i    t   weights(   R   R   R   R   R   R   RQ   R   RN   R   R%   Rg   R#   (   R1   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   &  s    	&(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   $  s   t   TestGenericPoissonc           B   s   e  Z d    Z RS(   c         C   s   |  j  } t j j d  t j j t j | j d  | j     } t j	 | |  } t j
 d d d d g  } | j d | d d	 d
 d  |  _ d  S(   Ni) i   gc<sm?g&?g`C?gZ9(
?RD   Rq   t   bfgsRr   i    (   R   R   R   R   t   poissonRy   R   RW   R   t   Poissont   arrayRg   R#   (   R1   R   t   y_countRH   RD   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   0  s    	.(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   .  s   t   TestGenericPoissonOffsetc           B   s   e  Z d    Z RS(   c         C   s  |  j  } | j d } t j j d  t j j t j | j d  | j     } t	 j
 | | d d t j |  d t j |  } t j d d d	 d
 g  } | j d | d d d d  |  _ t d d t j d  d t j d   |  _ t d d d d  |  _ d  S(   Ni    i) i   t   offsetg{Gz?t   exposuregc<sm?g&?g`C?gZ9(
?RD   Rq   R   Rr   i   (   R   RQ   R   R   R   R   Ry   R   RW   R   R   R   R   Rg   R#   t   dictRt   R   (   R1   R   R   R   RH   RD   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   >  s    	.".(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   <  s   t   TestGenericNegativeBinomialc           B   s   e  Z d    Z RS(   c         C   s   t  j j d  t j j j d t  } t j | j	 d t } t j
 | j |  } t  j d d d d d d	 d
 d d d d g  } | j d | d d d d  |  _ d |  _ d  S(   Ni) t	   as_pandast   prependgJtصgiڋIѿg}E	?g0on~gLa/?g9?gigZ?g<pc?g}[D?g!4'x?RD   Rr   i    RC   i  i(   R   R   R   R   t   datasetst   randhiet   loadR.   R   R   t   NegativeBinomialRf   R   Rg   R#   R   (   R1   t   dataR   Rk   RD   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   Q  s    !(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   O  s   t   TestGenericLogitc           B   s   e  Z d    Z RS(   c         C   s   |  j  } | j d } t j j d  t j j |  d d t j | j d  | j    k  j	 t
  } t j | |  } t j d d d d g  } | j d	 | d
 d d d  |  _ d  S(   Ni    i) g      ?i   gdb=}gu7$gGZHgzdRD   Rq   R   Rr   (   R   RQ   R   R   R   t   randRy   R   RW   t   astypet   intR   t   LogitR   Rg   R#   (   R1   R   R   t   y_binRH   RD   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   `  s    	E(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   ^  s   t   TestGenericRLMc           B   s   e  Z d    Z RS(   c         C   sa   |  j  } t j j d  | j d  t j j | j d  } t j | |  j   j	   |  _
 d  S(   Ni) i   i    (   R   R   R   R   R   R   RQ   R   RL   Rg   R#   (   R1   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   n  s    	&(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   l  s   t   TestGenericGLMc           B   s   e  Z d    Z RS(   c         C   sa   |  j  } t j j d  | j d  t j j | j d  } t j | |  j   j	   |  _
 d  S(   Ni) i   i    (   R   R   R   R   R   R   RQ   R   Ru   Rg   R#   (   R1   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   x  s    	&(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   v  s   t   TestGenericGLMPoissonOffsetc           B   s   e  Z d    Z RS(   c      
   C   s  |  j  } | j d } t j j d  t j j t j | j d  | j     } t	 j
 | | d t	 j j   d d t j |  d t j |  } t j d d	 d
 d g  } | j d | d d d d  |  _ t d d t j d  d t j d   |  _ t d d d d  |  _ d  S(   Ni    i) i   t   familyR   g{Gz?R   gc<sm?g&?g`C?gZ9(
?RD   Rq   R   Rr   i   (   R   RQ   R   R   R   R   Ry   R   RW   R   Ru   t   familiesR   R   R   Rg   R#   R   Rt   R   (   R1   R   R   R   RH   RD   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    	..(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   t   TestGenericGEEPoissonc           B   s   e  Z d    Z RS(   c         C   s   |  j  } t j j d  t j j t j | j d  | j     } t j j d d d | j	 d } t j
 d d d d g  } t j j   } t j j   } t j | |  j  | d | d	 | j d
 |  |  _ d  S(   Ni) i   i    i   t   sizeg        g      ?R   t
   cov_structRD   (   R   R   R   R   R   Ry   R   RW   t   randintRQ   R   R   R   t   IndependenceR   R   RI   Rg   R#   (   R1   R   R   t   groupsRD   t   viR   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    	."(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   t   TestGenericGEEPoissonNaivec           B   s   e  Z d    Z RS(   c         C   s   |  j  } t j j d  t j j t j | j d  | j d  j d    } t j j d d d | j	 d } t j
 d d d d g  } t j j   } t j j   } t j | |  j  | d | d	 | j d
 | d d  |  _ d  S(   Ni) i   i    i   R   g        g      ?R   R   RD   Rp   t   naive(   R   R   R   R   R   Ry   R   RW   R   RQ   R   R   R   R   R   R   RI   Rg   R#   (   R1   R   R   R   RD   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    	:"(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   t   TestGenericGEEPoissonBCc           B   s   e  Z d    Z RS(   c         C   s   |  j  } t j j d  t j j t j | j d  | j d  j d    } t j j d d d | j	 d } t j
 d d d d g  } t j j   } t j j   } t j | |  j  | d | d	 | } | j d
 | d d  |  _ d  S(   Ni) i   i    i   R   g        g      ?R   R   RD   Rp   t   bias_reduced(   R   R   R   R   R   Ry   R   RW   R   RQ   R   R   R   R   R   R   RI   Rg   R#   (   R1   R   R   R   RD   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    	:"$(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   t   CheckAnovaMixinc           B   s)   e  Z e d     Z d   Z d   Z RS(   c         C   sW   d d  l  j j j } | j   } | j   | j j d d d g  |  _ |  j   d  S(   Nii    i   i   (	   t"   statsmodels.stats.tests.test_anovat   statst   testst
   test_anovat
   TestAnova3R   R   t   dropt
   initialize(   R   t   ttmodt   test(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s
    
c   
   	   C   s   |  j  } | j d t d d d g  } t j t | j   } | d } | d d g } | d } | d	 d
 g } | d d !} | d d	 d
 g }	 t | | | | | | |	 | g  d  S(   Nt   skip_singlet   combine_termst   Durationt   Weighti    i   i   i   i   i   i   (   R2   t   wald_test_termsR.   R   R$   R%   R&   t   compare_waldres(
   R1   R2   t   waR$   t   c_constt   c_wt   c_dt   c_dwt   c_weightt
   c_duration(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_combined  s    	

c         C   sm   |  j  } | j d t  } t j t | j   } | d d g } | d d g } t | | | | g  d  S(   NR   i   i   i   i   (   R2   R   t   TrueR   R$   R%   R&   R   (   R1   R2   R   R$   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_categories  s    	(   R   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   
	c         C   s  xt  |  D] \ } } |  j |  } t | j j | d f | j  t | j j | d f | j  | j d k r | j d n d } t	 | j j | d f |  t | j | | j  t | j
 | | j  t	 | j | |  |  j r t	 | j | |  j  q q W| j } |  j rWt	 | j d  t	 | d d  t	 | d d  n2 t	 | j d  t	 | d d  t	 | d d  | j   d  S(   Ni    i   i   t   Fs   P>Ft   chi2s   P>chi2(   t	   enumeratet	   wald_testR   t   tableR0   t	   statisticR)   t   ndimRQ   R   R*   t   df_constraintsR-   t   df_denomt   df_residt	   col_namest   distributionR,   (   R2   R   t
   constrastsR\   t   ct   wtt   dfR   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s(      "			t   TestWaldAnovaOLSc           B   s    e  Z e d     Z d   Z RS(   c         C   s+   t  d |  j  } | j d t  |  _ d  S(   Ns0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)R-   (   R   R   Rg   R.   R2   (   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    c         C   s  |  j  j j } |  j  j j j } t j |  } t j | |  j	   } | j
 d t d d d g  } t j t | j   } g  | D] } | ^ q } | d d !} | d d d	 g }	 t | | | |	 | g  d g t |  d
 d g }
 t | j |
  d  S(   NR   R   R   R   i   i   i   i   i   i   (   R2   RH   Rf   R   t	   orig_exogt   pdt	   DataFrameR   RM   Rg   R   R.   R   R$   R%   R&   R   R   R   (   R1   Rf   R   R2   R   R$   t   rowt   c_singleR   R   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_noformula  s    (   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s   t   TestWaldAnovaOLSFc           B   s    e  Z e d     Z d   Z RS(   c         C   s%   t  d |  j  } | j   |  _ d  S(   Ns0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)(   R   R   Rg   R2   (   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   .  s    c         C   s   |  j  d  j   } t j | j d <|  j j |  } |  j j | d  } t | j | j  t	 | d |  t
 | j d t j  d  S(   Ni   i    i   (   i    i   (   R   Rx   R   t   nant   ilocR2   RX   R   t   indexR    R   R0   (   R1   R`   Ra   Rb   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_predict_missing3  s    (   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   ,  s   t   TestWaldAnovaGLMc           B   s   e  Z e d     Z RS(   c         C   s+   t  d |  j  } | j d t  |  _ d  S(   Ns0   np.log(Days+1) ~ C(Duration, Sum)*C(Weight, Sum)R-   (   R   R   Rg   R.   R2   (   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   @  s    (   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   >  s   t   TestWaldAnovaPoissonc           B   s   e  Z e d     Z RS(   c         C   s>   d d l  m } | j d |  j  } | j d d  |  _ d  S(   Ni(   R   s&   Days ~ C(Duration, Sum)*C(Weight, Sum)Rp   Rn   (   t#   statsmodels.discrete.discrete_modelR   t   from_formulaR   Rg   R2   (   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   H  s    (   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   F  s   t   TestWaldAnovaNegBinc           B   s   e  Z e d     Z RS(   c         C   sD   d d l  m } d } | j | |  j d d } | j   |  _ d  S(   Ni(   R   s&   Days ~ C(Duration, Sum)*C(Weight, Sum)t   loglike_methodt   nb2(   R   R   R   R   Rg   R2   (   R   R   t   formulaRk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   R  s
    	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   P  s   t   TestWaldAnovaNegBin1c           B   s   e  Z e d     Z RS(   c         C   sJ   d d l  m } d } | j | |  j d d } | j d d  |  _ d  S(   Ni(   R   s&   Days ~ C(Duration, Sum)*C(Weight, Sum)R   t   nb1Rp   Rn   (   R   R   R   R   Rg   R2   (   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   ^  s
    	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   \  s   t   CheckPairwisec           B   s   e  Z d    Z RS(   c         C   sl   |  j  } | j |  j  } | j |  j  } | j } t | j d  d   d  d  f j | j	   j  d  S(   Ni   (
   R2   R'   t   constraintst   t_test_pairwiset	   term_namet   result_frameR   R   R0   R,   (   R1   R2   R4   t   pwt   pw_frame(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   test_defaultj  s    		"(   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   h  s   t   TestTTestPairwiseOLSc           B   s    e  Z e d     Z d   Z RS(   c         C   s   d d l  m } d d  l j j j } | j   } | j   | j j	 d d d g  |  _ | d |  j  } | j
   |  _ d |  _ d d	 d
 g |  _ d  S(   Ni(   R   i    i   i   s(   np.log(Days+1) ~ C(Duration) + C(Weight)s	   C(Weight)s   C(Weight)[T.2]s   C(Weight)[T.3]s   C(Weight)[T.3] - C(Weight)[T.2](   t   statsmodels.formula.apiR   R   R   R   R   R   R   R   R   Rg   R2   R   R   (   R   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   w  s    
	c         C   s'  |  j  j |  j d d d d j   } |  j  j |  j d d d d } t | j j d  d   d  d  f j | j j d  d   d  d  f j d d	 t | j j d  d   d
 f j t	 g d  t | j j d  d   d
 f j t
 t	 t
 g  t | j j j t j d d d g d t  d  S(   NRq   t   hommelt   factor_labelss   A B CR   g{Gz?i   R   g|=ii   s   B-As   C-As   C-Bt   dtype(   R2   R   R   t   splitR   R   R   R0   R   R   R.   R   R   R   t   object(   R1   t   pw1t   pw2(    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt
   test_alpha  s    	%,(   R   R   R   R   R  (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR   u  s   t   TestTTestPairwiseOLS2c           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } d d  l j j j } | j   } | j   | j j	 d d d g  |  _ | d |  j  } | j
   |  _ d |  _ d d	 d
 g |  _ d  S(   Ni(   R   i    i   i   s(   np.log(Days+1) ~ C(Weight) + C(Duration)s	   C(Weight)s   C(Weight)[T.2]s   C(Weight)[T.3]s   C(Weight)[T.3] - C(Weight)[T.2](   R   R   R   R   R   R   R   R   R   R   Rg   R2   R   R   (   R   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    
	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR    s   t   TestTTestPairwiseOLS3c           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } d d  l j j j } | j   } | j   | j j	 d d d g  |  _ | d |  j  } | j
   |  _ d |  _ d d	 d
 g |  _ d  S(   Ni(   R   i    i   i   s,   np.log(Days+1) ~ C(Weight) + C(Duration) - 1s	   C(Weight)s   C(Weight)[2] - C(Weight)[1]s   C(Weight)[3] - C(Weight)[1]s   C(Weight)[3] - C(Weight)[2](   R   R   R   R   R   R   R   R   R   R   Rg   R2   R   R   (   R   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    
	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR    s   t   TestTTestPairwiseOLS4c           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } d d  l j j j } | j   } | j   | j j	 d d d g  |  _ | d |  j  } | j
   |  _ d |  _ d d	 d
 g |  _ d  S(   Ni(   R   i    i   i   s6   np.log(Days+1) ~ C(Weight, Treatment(2)) + C(Duration)s   C(Weight, Treatment(2))s   -C(Weight, Treatment(2))[T.1]s;   C(Weight, Treatment(2))[T.3] - C(Weight, Treatment(2))[T.1]s   C(Weight, Treatment(2))[T.3](   R   R   R   R   R   R   R   R   R   R   Rg   R2   R   R   (   R   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    
	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR	    s   t   TestTTestPairwisePoissonc           B   s   e  Z e d     Z RS(   c         C   s   d d l  m } d d  l j j j } | j   } | j   | j j	 d d d g  |  _ | j
 d |  j  } | j d d  |  _ d	 |  _ d
 d d g |  _ d  S(   Ni(   R   i    i   i   s   Days ~ C(Duration) + C(Weight)Rp   Rn   s	   C(Weight)s   C(Weight)[T.2]s   C(Weight)[T.3]s   C(Weight)[T.3] - C(Weight)[T.2](   R   R   R   R   R   R   R   R   R   R   R   Rg   R2   R   R   (   R   R   R   R   Rk   (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR     s    
	(   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyR
    s   (9   t   __doc__t   statsmodels.compat.pandasR    R   t   statsmodels.compat.pythonR   t   statsmodels.compat.platformR   t   numpyR   t   pandasR   RJ   t   statsmodels.apit   apiR   t   statsmodels.tools._testingt   toolst   _testingR!   R   R   R   t   numpy.testingR   R   R   R	   R  R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R	  R
  (    (    (    sJ   lib/python2.7/site-packages/statsmodels/base/tests/test_generic_methods.pyt   <module>   sL   "



$	
"