ó
áp7]c           @   sö   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z d  d l m Z d  d l 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 S(   iÿÿÿÿN(   t   GLM(   t   families(   t   links(   t   GEE(   t   Independence(   t   assert_allcloset   CheckGEEGLMc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s;   |  j  } |  j } t | j j | j j d d d d ƒd  S(   Nt   rtolgíµ ÷Æ°>t   atolg»½×Ùß|Û=(   t   result1t   result2R   t   paramst   values(   t   selft   res1t   res2(    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyt
   test_basic   s    		c         C   s×   |  j  } |  j } t | j | j d d d d ƒt | j | j d d d d ƒt | j | j d d d d ƒt j ƒ  7 t j d d t	 ƒt | j
 | j
 d d d d ƒWd  QXt | j | j d d d d ƒd  S(   NR   gíµ ÷Æ°>R   g»½×Ùß|Û=t   ignoret   category(   R	   R
   R   t   resid_responset   resid_pearsont   resid_deviancet   warningst   catch_warningst   simplefiltert   FutureWarningt   resid_anscombet   resid_working(   R   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyt
   test_resid   s    		(   t   __name__t
   __module__R   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR      s   	t   TestCompareLogitc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s-  t  ƒ  } t j ƒ  } t j j d ƒ d t j j d d ƒ d k  } t j j d d ƒ } t j j d d ƒ } t j j d d ƒ } t j j d d d d ƒ} t j	 i | d 6| d 6| d	 6| d
 6ƒ } t
 j d | | d | d | ƒ}	 |	 j ƒ  |  _ t j d d | d | ƒ}
 |
 j d t ƒ |  _ d  S(   Niö i   t   sizeid   i    i   t   Yt   X1t   X2t   X3s   Y ~ X1 + X2 + X3t   familyt
   cov_structt   datat   disp(   R   R   t   Binomialt   npt   randomt   seedt   normalt   randintt   pdt	   DataFrameR   t   from_formulat   fitR	   R    t   FalseR
   (   t   clst   vsR%   R!   R"   R#   R$   t   groupst   Dt   mod1t   mod2(    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyt   setup_class-   s    	+(   R   R   t   classmethodR:   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR   +   s   t   TestComparePoissonc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s0  t  ƒ  } t j ƒ  } t j j d ƒ t j d t j j d d ƒ ƒ } t j j d d ƒ } t j j d d ƒ } t j j d d ƒ } t j j d d d d ƒ} t	 j
 i | d 6| d 6| d	 6| d
 6ƒ } t j d | | d | d | ƒ}	 |	 j ƒ  |  _ t j d d | d | ƒ}
 |
 j d t ƒ |  _ d  S(   Niö i   R    id   i    i   R!   R"   R#   R$   s   Y ~ X1 + X2 + X3R%   R&   R'   R(   (   R   R   t   PoissonR*   R+   R,   t   expR-   R.   R/   R0   R   R1   R2   R	   R    R3   R
   (   R4   R5   R%   R!   R"   R#   R$   R6   R7   R8   R9   (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR:   D   s    	"+(   R   R   R;   R:   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR<   B   s   t   TestCompareGaussianc           B   s   e  Z e d  „  ƒ Z RS(   c   
      C   s  t  ƒ  } t j ƒ  } t j j d ƒ t j j d d ƒ } t j j d d ƒ } t j j d d ƒ } t j j d d ƒ } t j t j d ƒ t j	 d ƒ ƒ } t
 j i | d 6| d 6| d 6| d	 6ƒ } t j d
 | | d | d | ƒ}	 |	 j ƒ  |  _ t j d
 d | ƒj ƒ  |  _ d  S(   Niö R    id   i   i   R!   R"   R#   R$   s   Y ~ X1 + X2 + X3R%   R&   R'   (   R   R   t   GaussianR*   R+   R,   R-   t   kront   aranget   onesR/   R0   R   R1   R2   R	   R    R
   (
   R4   R5   R%   R!   R"   R#   R$   R6   R7   t   md(    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR:   [   s    	$+(   R   R   R;   R:   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR?   Y   s   t   TestCompareGammac           B   s   e  Z e d  „  ƒ Z RS(   c         C   s<  t  ƒ  } t j d t j ƒ  ƒ } t j j d ƒ t j d t j j	 d d ƒ ƒ } t j j	 d d ƒ } t j j	 d d ƒ } t j j	 d d ƒ } t j j
 d d d d ƒ} t j i | d 6| d	 6| d
 6| d 6ƒ } t j d | | d | d | ƒ}	 |	 j ƒ  |  _ t j d d | d | ƒ}
 |
 j d t ƒ |  _ d  S(   Nt   linkiö gš™™™™™¹?R    id   i    i   R!   R"   R#   R$   s   Y ~ X1 + X2 + X3R%   R&   R'   R(   (   R   R   t   GammaR   t   logR*   R+   R,   R>   R-   R.   R/   R0   R   R1   R2   R	   R    R3   R
   (   R4   R5   R%   R!   R"   R#   R$   R6   R7   R8   R9   (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyR:   r   s    	"+(   R   R   R;   R:   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyRE   p   s   (   R   t   numpyR*   t   pandasR/   t+   statsmodels.genmod.generalized_linear_modelR    t   statsmodels.genmodR   t   statsmodels.genmod.familiesR   t3   statsmodels.genmod.generalized_estimating_equationsR   t   statsmodels.genmod.cov_structR   t   numpy.testingR   t   objectR   R   R<   R?   RE   (    (    (    sD   lib/python2.7/site-packages/statsmodels/genmod/tests/test_gee_glm.pyt   <module>   s   