ó
áp7]c           @   sÂ   d  Z  d d l Z d d l m Z d d l m Z m Z d d l j	 j
 Z
 d 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(   s(   
Test functions for models.robust.scale
iÿÿÿÿN(   t   standard_normal(   t   assert_almost_equalt   assert_equali   t   TestChemc           B   sV   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   c         C   s^   t  j d d d d d d d d d d d d	 d
 d
 d
 d d d d d d d d d g ƒ |  _ d  S(   Ngš™™™™™@g333333@g      @gš™™™™™@gffffff@g333333@g=
×£p=@gÍÌÌÌÌÌ@gö(\Âõ
@g333333@g      @gÍÌÌÌÌÌ@gš™™™™™@g)\Âõ(@g…ëQ¸@g33333ó<@(   t   npt   arrayt   chem(   t   cls(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   setup_class   s    $c         C   s    t  t j |  j ƒ d t ƒ d  S(   Ng1w-!@(   R   R   t   meanR   t   DECIMAL(   t   self(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt	   test_mean   s    c         C   s    t  t j |  j ƒ d t ƒ d  S(   Ng®Gáz@(   R   R   t   medianR   R
   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_median   s    c         C   s    t  t j |  j ƒ d t ƒ d  S(   Ngbg
×à?(   R   t   scalet   madR   R
   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_mad   s    c         C   s$   t  t j |  j ƒ d d t ƒ d  S(   Ni    g†=íð×¤	@(   R   R   t   huberR   R
   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_huber_scale"   s    c         C   s$   t  t j |  j ƒ d d t ƒ d  S(   Ni   g­iÞqŠŽå?(   R   R   R   R   R
   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_huber_location%   s    c         C   sˆ   t  j j ƒ  } d | _ t  j d | ƒ } t t  j |  j ƒ d | |  j ƒ d t ƒ t t  j |  j ƒ d | |  j ƒ d t ƒ d  S(   Ng      ø?t   normi    i   (	   R   t   normst   HuberTt   tt   HuberR   R   R   R
   (   R   t   nt   h(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_huber_huberT(   s    	&&c         C   sY   t  j d t  j j ƒ  ƒ } t | |  j ƒ d d t ƒ t | |  j ƒ d d t ƒ d  S(   NR   i    g¾³^e	@i   gÉ«sÈ^å?(   R   R   R   t   HampelR   R   R
   (   R   t   hh(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_huber_Hampel1   s    (   t   __name__t
   __module__t   classmethodR   R   R   R   R   R   R   R   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR      s   							t   TestMadc           B   s)   e  Z e d  „  ƒ Z d „  Z d „  Z RS(   c         C   s#   t  j j d ƒ t d ƒ |  _ d  S(   Ni1Ô  i(   i
   (   i(   i
   (   R   t   randomt   seedR    t   X(   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR   8   s    c         C   s&   t  j |  j ƒ } t | j d ƒ d  S(   Ni
   (   i
   (   R   R   R&   R   t   shape(   R   t   m(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR   =   s    c         C   s,   t  j |  j d d ƒ} t | j d ƒ d  S(   Nt   centeri    i
   (   i
   (   R   R   R&   R   R'   (   R   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_mad_centerA   s    (   R    R!   R"   R   R   R*   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR#   7   s   	t   TestMadAxesc           B   s;   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s#   t  j j d ƒ t d ƒ |  _ d  S(   Ni1Ô  i(   i
   i   (   i(   i
   i   (   R   R$   R%   R    R&   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR   G   s    c         C   s,   t  j |  j d d ƒ} t | j d ƒ d  S(   Nt   axisi    i
   i   (   i
   i   (   R   R   R&   R   R'   (   R   R(   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt
   test_axis0L   s    c         C   s,   t  j |  j d d ƒ} t | j d ƒ d  S(   NR,   i   i(   i   (   i(   i   (   R   R   R&   R   R'   (   R   R(   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt
   test_axis1P   s    c         C   s,   t  j |  j d d ƒ} t | j d ƒ d  S(   NR,   i   i(   i
   (   i(   i
   (   R   R   R&   R   R'   (   R   R(   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt
   test_axis2T   s    c         C   s,   t  j |  j d d ƒ} t | j d ƒ d  S(   NR,   iÿÿÿÿi(   i
   (   i(   i
   (   R   R   R&   R   R'   (   R   R(   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_axisneg1X   s    (   R    R!   R"   R   R-   R.   R/   R0   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR+   F   s
   			t	   TestHuberc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   s#   t  j j d ƒ t d ƒ |  _ d  S(   Ni1Ô  i(   i
   (   i(   i
   (   R   R$   R%   R    R&   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR   ^   s    c         C   s;   t  j d d ƒ } | |  j ƒ \ } } t | j d ƒ d  S(   Nt   maxiterid   i
   (   i
   (   R   R   R&   R   R'   (   R   R   R(   t   s(    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   basic_functionalityc   s    (   R    R!   R"   R   R4   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR1   ]   s   t   TestHuberAxesc           B   s;   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s>   t  j j d ƒ t d	 ƒ |  _ t j d d d d ƒ |  _ d  S(
   Ni1Ô  i(   i
   i   R2   iè  t   tolgñhãˆµøä>(   i(   i
   i   (   R   R$   R%   R    R&   R   R   R   (   R   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR   j   s    c         C   s2   |  j  |  j d d ƒ\ } } t | j d ƒ d  S(   NR,   i    i
   i   (   i
   i   (   R   R&   R   R'   (   R   R(   R3   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   test_defaultp   s    c         C   s2   |  j  |  j d d ƒ\ } } t | j d ƒ d  S(   NR,   i   i(   i   (   i(   i   (   R   R&   R   R'   (   R   R(   R3   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR.   t   s    c         C   s2   |  j  |  j d d ƒ\ } } t | j d ƒ d  S(   NR,   i   i(   i
   (   i(   i
   (   R   R&   R   R'   (   R   R(   R3   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR/   x   s    c         C   s2   |  j  |  j d d ƒ\ } } t | j d ƒ d  S(   NR,   iÿÿÿÿi(   i
   (   i(   i
   (   R   R&   R   R'   (   R   R(   R3   (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR0   |   s    (   R    R!   R"   R   R7   R.   R/   R0   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyR5   i   s
   			(   t   __doc__t   numpyR   t   numpy.randomR    t   numpy.testingR   R   t   statsmodels.robust.scalet   robustR   R
   t   objectR   R#   R+   R1   R5   (    (    (    sB   lib/python2.7/site-packages/statsmodels/robust/tests/test_scale.pyt   <module>   s   &