ó
áp7]c           @   s÷   d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l j	 Z
 d d l m Z m Z m Z d d l m Z d d l m Z d Z d Z d	 Z d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   s7   Testing GenericLikelihoodModel variations on Poisson


iÿÿÿÿN(   t   assert_almost_equal(   t   stats(   t   PoissonGMLEt   PoissonOffsetGMLEt   PoissonZiGMLE(   t   Poisson(   t   ValueWarningi   i   t   CompareMixinc           B   s8   e  Z d  „  Z d „  Z d „  Z e j j d „  ƒ Z RS(   c         C   s<   t  |  j j |  j j t ƒ t  |  j j |  j j t ƒ d  S(   N(   R    t   rest   paramst   res_glmt   DEC5t   res_discrete(   t   self(    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   test_params   s    c         C   st   t  |  j j |  j j t ƒ t  |  j j |  j j t ƒ t  |  j j |  j j t ƒ t  |  j j |  j j t	 ƒ d  S(   N(
   R    R   t   bseR
   R   R   t   tvaluest   DEC4t   pvaluest   DEC(   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   test_cov_params   s    c         C   sŒ   |  j  j t j t |  j  j ƒ ƒ ƒ } d d l m } | j j	 t j
 | j ƒ ƒ d } t | j |  j  j t ƒ t | |  j  j t ƒ d  S(   Niÿÿÿÿ(   R   i   (   R   t   t_testt   npt   eyet   lenR	   t   scipyR   t   normt   sft   abst   tvalueR    R   R   R   (   R   t   ttR   t   pvalue(    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt
   test_ttest)   s
    '"c         C   s   |  j  j ƒ  d  S(   N(   R   t   summary(   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   test_summary0   s    (	   t   __name__t
   __module__R   R   R    t   pytestt   markt   smokeR"   (    (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR      s   			t   TestPoissonMLEc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   s
  t  j j d ƒ d } t  j j | d ƒ } | } t j | d t ƒ} d d | j d ƒ } t  j j t  j	 | ƒ ƒ } t
 | | ƒ j d d ƒ |  _ t j | | d	 t j j
 ƒ  ƒ} | j ƒ  |  _ t | | ƒ |  _ |  j j d
 d |  j j d d d d ƒ |  _ d  S(   NinãiÈ   i   t   prependgš™™™™™¹?i   t   dispi    t   familyt   start_paramsgÍÌÌÌÌÌì?t   methodt   bfgs(   R   t   randomt   seedt   randnt   smt   add_constantt   Falset   sumt   poissont   expR   t   fitR   t   GLMt   familiesR
   R   t   modR	   R   (   t   clst   nobst   rvst	   data_exogt   xbetat
   data_endogt   mod_glm(    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   setup_class7   s    !c         C   sµ   |  j  } |  j } t j t ƒ  | j | j ƒ Wd  QXzh | | _ | j | j ƒ } t | t	 j
 j ƒ sq t ‚ t | j ƒ  t j | j j | j ƒ ƒ d ƒ Wd  | j d ƒ Xd  S(   Ni   t   result(   R   R;   R%   t   raisest
   ValueErrort   predict_distributiont   exogRD   t
   isinstanceR   t   _distn_infrastructuret	   rv_frozent   AssertionErrorR    t   meanR   R7   t   dotR	   t   __delattr__(   R   R   t   modelt   dist(    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   test_predict_distributionN   s    			(   R#   R$   t   classmethodRC   RR   (    (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR(   5   s   t   TestPoissonOffsetc           B   s)   e  Z e d  „  ƒ Z d „  Z d „  Z RS(   c   	      C   s®  t  j j d ƒ d } t  j j | d ƒ } | } t j | d t ƒ} d d | j d ƒ } t  j j t  j	 | ƒ ƒ } t j
 | | d t j j ƒ  ƒ} | j ƒ  |  _ t | | ƒ j d d	 ƒ |  _ |  j j d	 | d  d  … d	 f } t | | d  d  … d d  … f d
 | ƒj d d	 ƒ |  _ t j
 | | d t j j ƒ  ƒ} | j ƒ  |  _ t | | d  d  … d d  … f d
 | ƒ} | j d d |  j j d d d d	 ƒ |  _ d  S(   NinãiÈ   i   R)   i   gš™™™™™¹?R+   R*   i    t   offsetR,   gÍÌÌÌÌÌì?R-   R.   (   R   R/   R0   R1   R2   R3   R4   R5   R6   R7   R9   R:   R   R8   R
   R   R	   R   R   (	   R<   R=   R>   R?   R@   RA   RB   RU   t   modo(    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyRC   d   s$    !$"!+c         C   s@   t  |  j j |  j j d t ƒ t  |  j j |  j j t ƒ d  S(   Ni   (   R    R   R	   R
   R   R   (   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR   ˆ   s     c         C   sD   t  |  j j |  j j d t d ƒ t  |  j j |  j j t ƒ d  S(   Ni   (   R    R   R   R
   R   R   R   (   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR   Œ   s    $(   R#   R$   RS   RC   R   R   (    (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyRT   b   s   $	t   TestPoissonZic           B   s2   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z RS(   c         C   sŽ  t  j j d ƒ d } t  j j | d ƒ } | } t j | d t ƒ} d d | j d ƒ } t  j j t  j	 | ƒ ƒ } t j
 | | d t j j ƒ  ƒ} | j ƒ  |  _ t | | ƒ j d d	 ƒ |  _ |  j j d	 | d  d  … d	 f } t | | d  d  … d d  … f d
 | ƒj d d	 ƒ |  _ t | | d  d  … d d  … f d
 | ƒj d t  j d |  j j d f d d d d	 ƒ |  _ d |  _ d  S(   NinãiÈ   i   R)   i   gš™™™™™¹?R+   R*   i    RU   R,   gÍÌÌÌÌÌì?i
   R-   R.   i   (   R   R/   R0   R1   R2   R3   R4   R5   R6   R7   R9   R:   R   R8   R
   R   R	   R   t   r_R   t   decimal(   R<   R=   R>   R?   R@   RA   RB   RU   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyRC   –   s     !$:.c         C   sN   t  |  j j d  |  j j d |  j ƒ t  |  j j d  |  j j |  j ƒ d  S(   Niÿÿÿÿi   (   R    R   R	   R
   RY   R   (   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR   ¸   s    'c         C   sV   t  |  j j d  |  j j d |  j d ƒ t  |  j j d  |  j j |  j d ƒ d  S(   Niÿÿÿÿi   i   (   R    R   t   bsejacR
   R   RY   R   (   R   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyR   ¼   s    +c         C   sj   |  j  j } t | j | j d | j ƒ} d d l m } | j j	 d | j _	 | t
 | j d d ƒd  S(   NRU   iÿÿÿÿ(   t   assert_warnsi   R*   i    (   R   RP   R   t   endogRH   RU   t   numpy.testingR[   t   datat   xnamesR   R8   (   R   R;   t   mod1R[   (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   test_exog_names_warningÄ   s
    (   R#   R$   RS   RC   R   R   Ra   (    (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyRW   ”   s   "		(   t   __doc__R%   t   numpyR   R]   R    R   R   t   statsmodels.apit   apiR2   t   statsmodels.miscmodels.countR   R   R   t#   statsmodels.discrete.discrete_modelR   t   statsmodels.tools.sm_exceptionsR   R   R   R   t   objectR   R(   RT   RW   (    (    (    sH   lib/python2.7/site-packages/statsmodels/miscmodels/tests/test_poisson.pyt   <module>   s    -2