ó
áp7]c           @   ss   d  d l  Z d  d l Z  d  d l m Z m Z d  d l m Z d  d l j j	 Z
 d e f d „  ƒ  YZ d „  Z d S(   iÿÿÿÿN(   t   assert_almost_equalt   assert_equal(   t   Contrastt   TestContrastc           B   s;   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s)   t  j j d ƒ t  j j d ƒ |  _ d  S(   Ni1Ô  i(   i
   (   i(   i
   (   t   numpyt   randomt   seedt   standard_normalt   X(   t   cls(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   setup_class	   s    c         C   s”   t  j |  j d  d  … d f |  j d  d  … d f f ƒ } t | |  j ƒ } d g d g d d g d d g d g d g } t | | j ƒ d  S(   Ni    i   i   i	   i   (   t   npt   column_stackR   R   R    t   contrast_matrix(   t   selft   termt   ct   test_contrast(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   test_contrast1   s    ;3c         C   s|   t  j d ƒ } t  j | |  j d  d  … d f f ƒ } t | |  j ƒ } d g d d g d g d } t | | j ƒ d  S(   Ni(   i   i    i   i   (   i(   (   R   t   zerosR   R   R   R    R   (   R   t   zeroR   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   test_contrast2   s
    (c         C   s¦   t  j |  j t  j j |  j ƒ ƒ } t  j d ƒ | } t  j | t j j d ƒ ƒ } t  j	 | |  j d  d  … d f f ƒ } t
 | |  j ƒ } t | j j d ƒ d  S(   Ni(   i   i   i
   (   i(   i   (   i
   (   R   t   dotR   t   linalgt   pinvt   identityR   R   R   R   R   R   R   t   shape(   R   t   Pt   residt   noiseR   R   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   test_contrast3   s    $(c         C   sQ   t  j |  j |  j d  d  … d f f ƒ } t |  j d  d  … d f | ƒ } d  S(   Ni   (   R   R   R   R   (   R   t   X2R   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   test_estimable$   s    +(   t   __name__t
   __module__t   classmethodR
   R   R   R   R    (    (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyR      s
   				c          C   sˆ  t  j d d d d ƒ}  t  j d d d g d d d g d d d g d d d g d d d g d d d g g ƒ } t j |  ƒ } t | | ƒ t j d d d ƒ } t | | ƒ t  j d d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g d d d d d d g g ƒ } t j |  d	 d
 d d ƒ} t | | ƒ t j d
 d d ƒ } t | | ƒ d  S(   Ni   i   t   kiÿÿÿÿg      ð?g        g      ð¿i    t   k_paramsi   t	   idx_starti   (   R   t   eyet   arrayt   smct   _constraints_factorR   t   _contrast_pairs(   t   cm_t   cpairst   c0t   c1t   cpairs2(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   test_constraints*   s*    (   R   R   t   numpy.randomt   numpy.testingR    R   t   statsmodels.stats.contrastR   t   statst   contrastR)   t   objectR   R1   (    (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_contrast.pyt   <module>   s   "