ó
áp7]c           @   sb   d  d l  Z d  d l m Z d  d l Z d  d l m Z d  d l m Z d e	 f d „  ƒ  YZ
 d S(   iÿÿÿÿN(   t   assert_allclose(   t   WLS(   t   _MinimalWLSt   TestMinimalWLSc           B   se   e  Z e d  „  ƒ Z e j j d e e g ƒ d „  ƒ Z	 e j j d e
 j e
 j g ƒ d „  ƒ Z RS(   c         C   sÑ   t  j j d ƒ } | j d d ƒ |  _ |  j j d ƒ | j d ƒ |  _ d t  j t  j d ƒ d t  j	 ƒ |  _
 | j d d ƒ |  _ d	 |  j j ƒ  | j d ƒ |  _ d t  j t  j d d
 ƒ ƒ |  _ d  S(   NiÒ  iÈ   i   i   g      ð?g      i@g      Y@i2   g333333Ó?g     €I@(   t   npt   randomt   RandomStatet   randnt   exog1t   sumt   endog1t   sint   aranget   pit   weights1t   exog2t   ravelt   endog2t   logt   weights2(   t   clst   rs(    (    sF   lib/python2.7/site-packages/statsmodels/regression/tests/test_tools.pyt   setup_class
   s    "*#t   checkc      	   C   sÈ  t  |  j |  j ƒ j ƒ  } t |  j |  j d | d | ƒj ƒ  } t | j | j ƒ t | j | j ƒ t  |  j |  j	 ƒ j ƒ  } t |  j |  j	 d | d | ƒj ƒ  } t | j | j ƒ t | j | j ƒ t  |  j |  j d |  j
 ƒj ƒ  } t |  j |  j d |  j
 d | d | ƒj ƒ  } t | j | j ƒ t | j | j ƒ t  |  j |  j	 d |  j ƒj ƒ  } t |  j |  j	 d |  j d | d | ƒj ƒ  } t | j | j ƒ t | j | j ƒ d  S(   Nt   check_endogt   check_weightst   weights(   R   R
   R   t   fitR   R    t   paramst   residR   R   R   R   (   t   selfR   t   rest   minres(    (    sF   lib/python2.7/site-packages/statsmodels/regression/tests/test_tools.pyt   test_equivalence_with_wls   s(    $$t	   bad_valuec         C   s¾   t  j t d d ƒF |  j j ƒ  } | | d <t | |  j |  j d t d t ƒj	 ƒ  Wd  QXt  j t d d ƒF |  j j ƒ  } | | d <t |  j |  j | d t d t ƒj	 ƒ  Wd  QXd  S(   Nt   matchs(   detected in endog, estimation infeasiblei    R   R   s*   detected in weights, estimation infeasibleiÿÿÿÿ(
   t   pytestt   raisest
   ValueErrorR
   t   copyR   R   R   t   TrueR   (   R   R"   t   endogR   (    (    sF   lib/python2.7/site-packages/statsmodels/regression/tests/test_tools.pyt   test_inf_nan.   s    



(   t   __name__t
   __module__t   classmethodR   R$   t   markt   parametrizeR(   t   FalseR!   R   t   nant   infR*   (    (    (    sF   lib/python2.7/site-packages/statsmodels/regression/tests/test_tools.pyR   	   s   
$(   t   numpyR   t   numpy.testingR    R$   t#   statsmodels.regression.linear_modelR   t   statsmodels.regression._toolsR   t   objectR   (    (    (    sF   lib/python2.7/site-packages/statsmodels/regression/tests/test_tools.pyt   <module>   s
   