
&]\c           @` s  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m Z d d l	 j
 Z
 d d l	 m Z m Z d d l j j Z d d l m Z d d l m Z d d l Z d d	 l m Z d d
 l m Z m Z m Z m Z m Z m Z 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 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    Z+ d!   Z, d"   Z- d#   Z. d$ f  d%     YZ/ d& f  d'     YZ0 d( f  d)     YZ1 d* f  d+     YZ2 d, f  d-     YZ3 d. f  d/     YZ4 d0 f  d1     YZ5 d2 e  f d3     YZ6 d4 e  f d5     YZ7 d S(6   s?   
Tests for the stats.mstats module (support for masked arrays)
i    (   t   divisiont   print_functiont   absolute_importN(   t   nan(   t   maskedt   nomask(   t   statsi   (   t   check_named_results(   t   raises(   t   assert_equalt   assert_almost_equalt   assert_array_almost_equalt   assert_array_almost_equal_nulpt   assert_t   assert_allcloset   assert_array_equal(   t   suppress_warningst   TestMquantilesc           B` s   e  Z d    Z RS(   c         C` s   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 d d d g d
 d d g d d d g d d d g d d d g g  } d d d g d d d g d d d g g } t j | d d d d } t | |  d  S(   Ng      @g      @g      ?g     G@g      .@g       @g     H@g      B@g      @g     C@g      @g      E@g      D@g     8g     D@g     E@g3333333@g333333-@g333333?g     B@g      @gffffffE@gfffffD@gffffff@t   axisi    t   limiti2   (   i    i2   (   t   npt   arrayt   mstatst
   mquantilesR
   (   t   selft   datat   desiredt   quants(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_mquantiles_limit_keyword   s     (   t   __name__t
   __module__R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR      s   t	   TestGMeanc           B` sE   e  Z d    Z e j j e e d  d d d    Z d   Z	 RS(   c         C` s   d } t  j |  } t j d d  } t | | d d t  j | d	 d
 } t | | d d t t | t j   t j	 d d d } t  j |  } t j d d  } t | | d d t  j | d	 d
 } t | | d d d  S(   Ni   i   i   i   g      ?g      @t   decimali   R   it   maski    g      @(   i   i   i   i   i   i   i   g      ?(   i   i   i   i   (   i    i    i    i   i   i   gUUUUUU?(
   R   t   gmeanR   t   powerR
   R   t
   isinstancet   mat   MaskedArrayR   (   R   t   at   actualR   t   desired1(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_1D.   s    t   float96t   reasons   cannot find float96 so skippingc         C` sx   t  j d d d } t j | d t j } t j d d  j t j  } t | | d
 d t	 | j
 | j
 k  d  S(   Ni   i   i   i   R!   i    t   dtypeg      ?g      @R    i   (   i   i   i   i   (   i    i    i    i   i   i   gUUUUUU?(   R%   R   R   R"   R   R+   R#   t   astypeR
   R   R-   (   R   R'   t	   actual_dtt
   desired_dt(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_1D_float96@   s
    c      	   C` s   t  j d d d f d d d d f } t j |  } t j d  } t | | d d t j | d	 d } t | | d d t j | d
  } t  j t j d d  t j d d  t j d d  f  } t | | d d d  S(   Ni   i   i   i   R!   i    R    i   R   ig      ?g      @g       @(   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i    i    i    i    (   i   i    i    i   (   i    i   i   i    (   i   i   i   i   i   i   i   g      ?i   g      ?i   g      ?(   R%   R   R   R"   R   R   R#   (   R   R'   R(   R   R)   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_2DH   s    (
   R   R   R*   t   pytestt   markt   skipift   hasattrR   R1   R2   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   -   s   	+t	   TestHMeanc           B` sE   e  Z d    Z e j j e e d  d d d    Z d   Z	 RS(   c         C` s   d } t  j |  } d d d d d } t | | d d t  j t j |  d	 d
 } t | | d d t j d d d } t  j |  } d d d d } t | | d d t  j | d	 d
 } t | | d d d  S(   Ni   i   i   i   g      @g      ?R    i   R   iR!   i    g      @(   i   i   i   i   g      ?g      ?gUUUUUU?g      ?(   i   i   i   i   (   i    i    i    i   g      ?g      ?gUUUUUU?(   R   t   hmeanR
   R%   R   (   R   R'   R(   R   R)   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR*   Z   s    R+   R,   s   cannot find float96 so skippingc         C` s~   t  j d d d } t j | d t j } t j d d d d d t j } t | | d
 d t | j	 | j	 k  d  S(   Ni   i   i   i   R!   i    R-   g      @g      ?R    i   (   i   i   i   i   (   i    i    i    i   g      ?g      ?gUUUUUU?(
   R%   R   R   R8   R   R+   t   asarrayR
   R   R-   (   R   R'   R/   R0   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR1   i   s    c      	   C` s   t  j d d d f d d d d f } t j |  } t  j d  } t | | d d t j | d	 d
 } d d d d d d d d d d d f } t | | d d d  S(   Ni   i   i   i   R!   i    R    i   R   ig      @g      ?g       @g      @(   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i    i    i    i    (   i   i    i    i   (   i    i   i   i    (   i   i   i   i   g      ?g      ?gUUUUUU?g      ?g      ?gUUUUUU?g      ?g      ?(   R%   R   R   R8   R   (   R   R'   R(   R   t   actual1(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR2   r   s    (
   R   R   R*   R3   R4   R5   R6   R   R1   R2   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR7   Y   s   	+	t   TestRankingc           B` s   e  Z d    Z RS(   c         C` s1  t  j d d d d d d d d d d g
  } t t j |  d d d d d d d d	 d	 d
 g
  t | d d g <t t j |  d d d d d d d d d d g
  t t j | d t d d d d d d d d d d g
  t  j d d d d d d d d d d g
  } t t j |  d d d	 d d d d d	 d d
 g
  t  j d d d d d g d d d d d g g  } t t j |  d d d d d g d d d	 d	 d
 g g  t t j | d d d d d d d g d d d d d g g  t t j | d d d d d d d g d d d d d g g  d  S(   Ni    i   i   i   i   i   i   i   g      !@i
   g      @g      @i   t   use_missingg      @R   g      @(   R%   R   R
   R   t   rankdataR   t   True(   R   t   x(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_ranking   s$    -%%%-%3++(   R   R   R@   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR;      s   t   TestCorrc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c   
      C` s  t  j d  } t j    t j d t  t t j | |  d d  t t j | | d  d  d   d d  t  j	 | d t
 } t j | |  } t | d t k  t | d t k  Wd  QXt  j	 d d	 d g  } t  j	 d d d
 g  } t j | |  \ } } t | t j d
  d  t | d  t t t t
 g } t  j	 d d	 d d g d | } t  j	 d d d
 d g d | }	 t j | |	  \ } } t | t j d
  d  t | d  d  S(   Ni
   t   errori    g      ?ig      R!   i   g        i   i   g     X@gUUUUUU?gUUUUUU?(   R%   t   aranget   warningst   catch_warningst   simplefiltert   RuntimeWarningR
   R   t   pearsonrR   R>   R   R   R   t   sqrtt   False(
   R   R?   t   prt   x1t   y1t   rt   pR!   t   x2t   y2(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_pearsonr   s(    *!!c         C` s  d d d d g d d d d g } } t  t j | |  d d	  d d d d t j g d d d d t j g } } t j |  t j |  } } t  t j | |  d d	  d
 d d d d d d d d d d d d d d g } d d d d d d d d d  d d d! d d" d g } t  t j | |  d d#  d
 d d d d d d d d d d d d d d t j g } d d d d d d d d d  d d d! d d" d t j g } t j |  t j |  } } t  t j | |  d d#  t t d$   } t t d$   } | d% | d | d <| d% <| d& | d' | d' <| d& <| d( | d) | d) <| d( <t  t j | |  d d*  t j | |  } d. } t	 | | d- t
 d  S(/   Ng333333@g      @gGz	@gHzG@gffffff?gQ@g@i    gIQ=g       @g33333G@g      E@g%@gN@g333333?g      P@ǧO@g      ?gffffff?g@g333333?g333333@g@g6@g @g333333F@g'@g8@g333333?g@gD@g        gffffff@g333333?gI
?i  i	   i  i
   i  i  gV-?t   correlationt   pvalueR%   (   RS   RT   (   R
   R   t	   spearmanrR   R   R%   t   fix_invalidt   listt   rangeR   R>   (   R   R?   t   yt   rest
   attributes(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_spearmanr   s2    %1!!c   	      C` s  t  j t j d   } t  j t j d   } d d g } t t j t j | |   |  t t	 t j | | d d | d } | d | d <| | d <d d	 g } t t j t j | |   |  | d
 } | d | d
 <| | d <d d g } t t j t j | |   |  t  j t j d   } t  j t j d  d  d  d   } d d g } t t j t j | |   |  | d } | d | d <| | d <d d	 g } t t j t j | |   |  | d
 } | d | d
 <| | d <d d g } t t j t j | |   |  t  j
 d d d d t j g  } t  j
 d d d d t j g  } t  j
 d d d d t j g  } t t j t j | |   d 
d g  t t j t j | | d d  d 
d g  t t j t j | |   d  d! g  t  j
 d" d" d" d" d# d# d" d$ d" d# d d d" d% d" d# d" d" d" d" d" t j g  } t  j
 d" d& d& d& d d' d$ d" d( d) d* d& d& d& d& d& d& d" d d+ t j d" g  } t j | |  } t t j |  d, d- g  t j d. d/ t } t  j | d0  } t j d. d/ t } t j | d1 | d1  f  } t t j t j | |  d   t j | |  } d5 } t | | d4 t d  S(6   Ni
   g      ?gxO~>t   methodt   bananai   i   g?>?gaV>i   i   g}'}'?go&5>ig      g?>g}'}'g333333@g      @gGz	@gHzG@gffffff?g     :@gQgףp=
@gQ@g@g1UU?g      ?t
   asymptoticglgN?g~ȋgQM?i    i   i<   i(   iP   i!   iC   i   i   i-   gXJĿgvPwTk?i  R-   i  i  RS   RT   R%   (   RS   RT   (   R%   R   R   RC   R
   R9   R   t
   kendalltaut   assert_raisest
   ValueErrorRV   R   t   floatt   masked_greatert   concatenateR   t   isfiniteR   R>   (	   R   R?   RY   t   expectedt   bt   zt   resultRZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_kendalltau   sh    "

"

"%"

"

"!!!!$0$0#c         C` s  t  t  d d d d d d d d d d d g d d d d d d d d d d d d d g d d d d	 d
 d d d d t  d d t  g t  d	 d d d t  d	 d d d d d d g g } t j |  j } t j |  } t | d d d  t | d j d  d d d d g  d  S(   Ni   i   i   i   i   i   i   i   i   i   i	   i   i   s   global p-value (indep)gMb?s   seasonal p-valueg
ףp=
?g(\?g?g{Gz?(   R   R%   RV   t   TR   t   kendalltau_seasonalR
   t   round(   R   R?   t   output(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_kendalltau_seasonal3  s    ***0c      #   C` s0  d d d d d d d d d d d 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 d d d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d d d d d d  t  j g# } t t j | |  d d! d"  t j | |  } d& } t | | d% t d  S('   Ni   i    ig-@g+@g(@g333333$@gffffff@gffffff@g333333@gffffff@g333333@g      @gffffff
@g	@g      @gffffff@g      @g333333@gffffff@g @g333333?g      ?g?g333333?g?g?gffffff?g333333?g      ?g?g?g/"?i   RS   RT   R%   (   RS   RT   (   R   R   R
   R   t   pointbiserialrR   R>   (   R   R?   RY   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_pointbiserial?  s    W'*! (   R   R   RR   R\   Rk   Rp   Rr   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyRA      s
   		&	V	t   TestTrimmingc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s\  t  j d  } t t j |  d d d d d d d d	 d
 d g
  t  j d  } t t j | d  d  d  d d d d d d	 d
 d  g
  t  j d  } t t j | d d d t t f d  d  d  d d d d d	 d  d  g
  t  j d  } t t j | d d d t d  d d d d d d d	 d  d  g
  t  j d  } t | d d g <| d <t t j | d  d  d  d d d d  d d	 d
 d  d  d  g  t  j d  j	 d d  } d g d d g d d g d } t j | d d t d d  } t | j
 j   |  t j | d d t d d } t | j
 j   |  t j | d d t d d } t | j
 j j   |  t  j d  j	 d d  } t | d <d g d d g d d g d } t j | d  d t d d  } t | j
 j   |  t j | d! d t d d } t | j
 j   |  t j | j d" d t d d } t | j j
 j   |  d  S(#   Ni
   i    i   i   i   i   i   i   i   i   i	   t   limitst	   inclusiveg?g?t   relativei   iid   iF   i   R   in   i   (   i   i   (   i   i   (   g?g?(   i   i   (   g?g?(   g?g?(   g?g?(   g?g?(   g?g?(   g?g?(   R%   RC   R	   R   t   trimt   NoneRJ   R>   R   t   reshapet   _maskt   ravelRl   (   R   R'   R?   Rg   t   trimx(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_trimO  s>    47!%%+#
#!c         C` s  t  j d  } t t j |  j   d  t t j | d d j   d  t | d d +t j |  } t | j   d  t | j d	 g d
 d g d d	 g d d g d d	 g d
  t	 | _ d | _
 t t j |  j   d  t t j |  j   d  d  S(   Nid   i<   t   tailRN   iP   i2   iF   i0   i   i   i    i"   i   i   i
   (   i
   i
   (   R%   RC   R	   R   t   trimbotht   countt   trimtailR   Rz   R   t   shape(   R   R?   R|   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_trim_oldt  s    "C		c         C` s   t  j d d d d d d d d d	 d
 d d d d d d d d d g  } t t j | d  d d  t t j | d  d d  t t j | d  d d  d  S(   NiM   iW   iX   ir   i   i   i   i   i   i  i(  i+  i2  ix  i  i  i  i  i3
  g?iW  i    g?i  (   g?g?(   g?g?(   R%   R   R
   R   t   trimmed_mean(   R   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_trimmedmean  s
    $$c         C` s   t  j d d d d d d d d d	 d
 d d d d d d d d d g  } t t j | d  d d  t t j | d  d d  d  S(   NiM   iW   iX   ir   i   i   i   i   i   i  i(  i+  i2  ix  i  i  i  i  i3
  g?g>L@i   (   g?g?(   R%   R   R
   R   t   trimmed_stde(   R   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_trimmed_stde  s    $$c         C` s   t  j d d d d d d d d d	 d
 d d d d d d d d d g  } t t j | d  j d d  d d  t t j | d t t f  j d d  d d  t | d <t j |  } t | j	 | j	  d  S(   NiM   iW   iX   ir   i   i   i   i   i   i  i(  i+  i2  ix  i  i  i  i  i3
  g?t   ddofi   g@gffff7@i   (   g?g?(   g?g?(
   R%   R   R
   R   t	   winsorizet   varRJ   R   R	   R!   (   R   R   t
   winsorized(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_winsorization  s    $$
$

(   R   R   R}   R   R   R   R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyRs   M  s
   	%			t   TestMomentsc           B` sU  e  Z d  d d d g Z e j d d d d d e j g  Z e j e j d	 d
 d d d g d d d d d g d d d d d g d d d d d g d d d d  d! g g  d" e j e	 e
 e
 e	 e
 g e	 e	 e	 e
 e	 g e
 e
 e
 e
 e
 g e	 e	 e	 e	 e	 g e
 e
 e	 e
 e
 g g d# e Z d$   Z d%   Z d&   Z d'   Z d(   Z d)   Z RS(*   i   i   i   i   gp=
ף?g?߾?gD9?gQI?g}?5^Igq2۪?g{!3?gr!fa?gk?gY?gSH*:/?g#R/?g>y}zd?gV߯<?gF?ggˠw?gyZf?g=?g!@Vyȧ?g#1?geY(9?gD$?g;?gJX<q0?g#d?g?gA]?g_.?g?g2^9?R!   R-   c         C` s   t  j |  j d  } t | d d  t  j |  j d  } t | d  t  j |  j d  } t | d  t  j |  j d  } t | d  d  S(	   Ni   g        i
   i   g      ?i   i   g     @(   R   t   momentt   testcaseR
   (   R   RY   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_moment  s    c         C` s&   t  j |  j  } t | d d  d  S(   Ng%?i
   (   R   t	   variationR   R
   (   R   RY   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_variation  s    c         C` sp   t  j |  j  } t | d d  t  j |  j d d } t | d d  t  j |  j  } t | d d  d  S(   Ng7l*ҿi
   t   biasi    g2۠ۿg        (   R   t   skewt   testmathworksR
   R   (   R   RY   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_skewness  s    c      	   C` s!  t  j |  j d d d d d } t | d d  t  j |  j d d d d } t | d d  t  j |  j d d  } t | d  t j t j d	 d
 d d d g  d t j t t t t	 t g d t
 } t t  j |  j d  |  x7 t |  j  D]& \ } } t t  j |  | |  q Wt j t j d	 d
 d d d g  d t j t t t t	 t g d t
 } t t  j |  j d d t |  x= t |  j  D], \ } } t t  j | d t | |  qWt t  j |  j d d  d   f  t j |  j d d  d   f  d d d  S(   Ni    t   fisherR   i   gO߻S@i
   gx|N@g=
ףp=?g      g      g'@=g        gt
QR!   R-   g?<g`@7i   t   nulpi   (   R   t   kurtosisR   R
   R   R%   R   R   RJ   R>   t   boolR   t   testcase_2dt	   enumerateR   R   (   R   RY   t
   correct_2dt   it   rowt   correct_2d_bias_corrected(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_kurtosis  s4    !'""c         C` sr  d d d d d d d d d d d d d d d g } t  j | d  } t  j d d d d d d g  } t  j | d  } t j t j |  d k |  } t j | d k |  } t j | d k  |  } t j t j |  d k  |  } t t j | d	 d  d  t t j | d	 d d  t t j | d	 d  d  t t j | d	 d  d  t t j | d	 d  d  t t j | d	 d  d  t t j | d	 d  d  t t j | d	 d d d d d d g g d d d d d g g f  t t j | d	 d d d d d d g g d d d d d g g f  t t j | d	 d
 d g d g d g g d g d g d g g f  t t j | d	 d
 d g d g d g g d g d g d g g f  t t j | d	 d d d g g d d g g f  t t j | d	 d
 d g d g d g g d g d g d g g f  t j | d	 d  }	 d }
 t	 |	 |
 d t
 d  S(   Ni    i   i   i   i   i   i   i   R   it   modeR   R%   (   i   i   (   i   i   (   i   i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i   i   (   R   R   (   R   Ry   R   R%   t   masked_whereR	   R   R   Rx   R   R>   (   R   t   a1t   a2t   a3t   a4t   ma1t   ma2t   ma3t   ma4t   a1_resR[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_mode  s0    3!!!FFFF4Fc         C` s   t  j d  } | d  d  d  d   f c d 7<| d  d   d  d  f c d 7<| j   } t j | d   } t | |  d  S(   Nid   i2   i   (   id   id   (   R   t   zerost   copyR   R   Rx   R	   (   R   t   imt   cpR'   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_mode_modifies_input  s    ""(   R   R   R   R%   RV   R   R   R   R   R>   RJ   R   R   R   R   R   R   R   R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s(   $	
			'	t   TestPercentilec           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` sd   d d d d d d d g |  _  d d d	 d
 d d d d g |  _ d d d d d d d d g |  _ d  S(   Ni   i   i   i
   iii   iii   i   i   i   g      @g      @(   R   R   R   (   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   setup_method  s    !c         C` sb   t  j d  d } t t j | d  d  t t j | d  d  t t j | d  d  d  S(	   Ni   g      ?i    g        id   g      @i2   g      ?(   R   RC   R	   R   t   scoreatpercentile(   R   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_percentile  s    c         C` sq   t  j d d d g d d d g d d d g d d d g d d d g g  } t t j | d  d d d g  d  S(   Ni   i   i   i2   (   R%   R   R	   R   R   (   R   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR2   #  s    (   R   R   R   R   R2   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s   		t   TestVariabilityc           B` sJ   e  Z d  Z e j d d d d e j g  Z d   Z d   Z	 d   Z
 RS(   s[     Comparison numbers are found using R v.1.5.1
         note that length(testcase) = 4
    i   i   i   i   c         C` sx   t  j |  j  } t | d  |  j j   } t t  j |  j d d t j | | d  t  j |  j d d  d  S(   Ng㝎?R   i    i   (   R   t   semR   R
   R   R   R   RI   (   R   RY   t   n(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_sem2  s
    -c         C` sQ   t  j |  j |  j  } d d d d g } t | | j | j t k d d d  S(   NgOT\wg%ܿg%?gOT\w?R    i   (   R   t   zmapR   R   R   R!   RJ   (   R   RY   t   desired_unmaskedvals(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_zmap:  s
    c         C` sJ   t  j |  j  } t j d d d d t j g  } t | | d d d  S(   NgOT\wg%ܿg%?gOT\w?R    i   (   R   t   zscoreR   R%   RV   R   R   R
   (   R   RY   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_zscoreC  s    (   R   R   t   __doc__R%   RV   R   R   R   R   R   R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   ,  s
   !			t   TestMiscc           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` s  d g d d g d d g d d g d d g d d	 g d d g d g d d g d
 d g d d	 g d g } d d g d d g d d g d d g d d g d d g d g d d g d
 d g d d g d d g g } t  t j t j |   j d
  | d
  d  S(   Ni   i   i   i   i	   i   i   i   i
   i   i   g_v	@g1%?g"u?gZӼ?g!u @gq&@g;pΈ$@gTR'p@g9#?gHPx?gQI?(   R
   R   Rn   R   t   obrientransformRl   (   R   t   argsRj   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_obrientransformN  s    A8A8c         C` sN  t  t  d d d d d d d d d d d g d d d d d d d d d d d d d g d d d d	 d
 d d d d t  d d t  g t  d	 d d d t  d	 d d d d d d g g } t j |  j } | j \ } } } } t t j t j | |  d  d  t t j t j | | d  d  d  t t j t j | | d  d  d  d  S(   Ni   i   i   i   i   i   i   i   i   i   i	   i   i   g48E?g&?t   gg%䃞?g>W[?t   lgMO?(   g48E?g&?(   g%䃞?g>W[?(   g48E?gMO?(	   R   R%   RV   Rl   R
   R   Rn   R   t
   ks_twosamp(   R   R?   t   wintert   springt   summert   fall(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_kstwosampV  s    ***0!!c         C` s  d d d d d d d d d d g
 d d	 d d d d d d	 d d g
 d d d
 d d d	 d d
 d	 d g
 f } t  j |   } t | d d d  t | d d d  t t d d d d d d d d d d d g d d d d d d d d d d d d d g d d d d d d d d d t d d t g t d d d d t d d d d d d d g g } t j |  } t  j |   } t | d d d  t | d d d  d! } t | | d  t d  S("   Ng      "@g      #@g      @g      @g       @g      @g      !@g      @g      @g      @g      @i    g:pΈ$@i   i   g(QGu?i   i   i   i   i   i   i   i   i	   i   i   gr @g-C6?t	   statisticRT   R%   (   R   RT   (   R   t   friedmanchisquareR
   R   R%   RV   R   R>   (   R   R   Rj   R?   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_friedmanchisqe  s     !!'***0(   R   R   R   R   R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   L  s   		c    	      C` s   t  j d d d  }  d t  j d d d  d } | t  j t  j d d d   7} t j |  |  \ } } } } } t | d  t | d  t j |  |  } d } t | | d t d  S(   Ni    id   g?i
   i   g5E%?g +l$@t   slopet	   interceptt   rvalueRT   t   stderrR%   (   R   R   R   RT   R   (   R   t   linspacet   sinR   t
   linregressR
   R   R>   (	   R?   RY   R   R   t   r_valuet   p_valuet   sterrRZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_regress_simple|  s    "!c          C` s1  t  j d d d g  \ }  } } } t |  d  t | d  t j j d d d d g d t t t t g } t  j |  \ }  } } } t |  d  t | d  d d	 d d
 d d d g } d d d d d d d g } t  j | | d  \ }  } } } t |  d
  t | d d d	 t | d d d	 d  S(   Ni    i   g      ?id   R!   g      ?i   g       @i   i   i
   i   i   i	   i   i   i   i-   i7   iN   gQ?gQ@R    gGz@gUUUUUU?gUUUUUU?(   R   t   theilslopesR
   R   R%   R   RJ   R>   (   R   R   t   lowert   upperRY   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_theilslopes  s    $0!c          C` s  d t  j d  d }  t t j |   d  t t j |  d d d  d t  j d  } d | d }  t t j |  |  d  t t j |  | d d d  d |  d *t t j |  |  d  t  j j d  t  j d  } d d | t j j	 d d  }  t j
 | |   \ } } } } } t j |  |  \ } } t | | d d t | | d d t j |  | d d \ } } t | | d d t | | d d d  S(   Ni   i
   g      ?g       @R]   t   separatei   g      @g      @g      i  i   i   gffffffg333333?t   sizet   rtolg?(   g       @g      ?(   g       @g      ?(   g      @g      (   g      @g      (   g      @g      (   R   RC   R	   R   t   siegelslopest   randomt   seedR   t   normt   rvsR   R   (   RY   R?   t	   slope_olst   intercept_olst   _R   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_siegelslopes  s&    
!!c          C` sD   t  j t j d  d d  }  t |  j t j d d d g   d  S(   Ni   i    g      ?g      ?g      ?(   R   t   plotting_positionsR   RC   R   R   R   (   t   pos(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_plotting_positions  s    t   TestNormalitytestsc           B` sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t  j d d  d } t t j |  t j |   t t j |  t j |   t t j |  t j |   t j t j t j g } t j t j t j g } d d d d g } x= t | |  D], \ } } t	 t
 | |  t	 t
 | |  q Wd  S(	   Niii    i   i   i   i   (   iii    i   i   i   (   R   R   R   R   t
   normaltestR   t   skewtestt   kurtosistestt   zipRa   Rb   (   R   R?   t   funcst   mfuncst   funct   mfunc(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_vs_nonmasked  s    c         C` s   t  j d	 d  d } t t j | d d  t j |   t t j | d d  t j |   t t j | d d  t j |   d  S(
   Niii    i   i   i   i   R   (   iii    i   i   i   (   R   R   R   R   R   Rx   R   R   (   R   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_axis_None  s
    %%c         C` s   t  j d
 d  d } t  j j t  j t  j | d f d	 t  j t t g | j t f } t t	 j
 |  t j
 |   t t	 j |  t j |   t t	 j |  t j |   d  S(   Niii    i   i   i   i   i
   R!   (   iii    i   i   i   (   R   R   R%   t   r_t   infR>   RJ   R   R   R   R   R   R   R   (   R   R?   t   xm(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_maskedarray_input  s    "#c         C` s   t  j d d  d } t  j | g d  j } xp t j t j t j g D]V } | |  } | |  } t | d | d g d  t | d | d g d  qI Wd  S(	   Niii    i   i   i   i   (   iii    i   i   i   (	   R   R   t   vstackRl   R   R   R   R   R   (   R   R?   t   x_2dR   t   res_1dt   res_2d(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_nd_input  s    c         C` sC   t  j d d  d } t j |  } d } t | | d
 t d  S(   Niii    i   i   i   i   R   RT   R%   (   iii    i   i   i   (   R   RT   (   R   R   R   R   R   R>   (   R   R?   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt!   test_normaltest_result_attributes  s    c         C` sC   t  j d d  d } t j |  } d } t | | d
 t d  S(   Niii    i   i   i   i   R   RT   R%   (   iii    i   i   i   (   R   RT   (   R   R   R   R   R   R>   (   R   R?   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt#   test_kurtosistest_result_attributes  s    c      
   C` s   d d d d d d d d d d g
 } t  j g  t |  D] \ } } t  j | |  ^ q7  } t t j |  d d	 k  t  d  S(
   Ni   i    i:   i   i)   i   i   i   g{Gz?(   R   t   hstackR   t   fullR	   R   R   R>   (   R   t   countsR   t   cR?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   regression_test_9033  s    $:(	   R   R   R   R   R   R  R  R  R  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s   								t   TestFOnewayc           B` s   e  Z d    Z RS(   c         C` sk   t  j d d g d t  j } t  j d d g d t  j } t j | |  } d	 } t | | d t d  S(
   Ni  i  R-   i  i  R   RT   R%   (   R   RT   (   R   R   t   uint16R   t   f_onewayR   R>   (   R   R'   Rh   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_result_attributes  s
    (   R   R   R  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR	    s   t   TestMannwhitneyuc           B` s   e  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 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 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  } 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 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 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  } t j | |  } d } t | | d t d  S(   Ng      ?g       @g      @R   RT   R%   (   R   RT   (   R   R   R   t   mannwhitneyuR   R>   (   R   R?   RY   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    sB    0****************0**********(   R   R   R  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    s   t   TestKruskalc           B` s   e  Z d    Z RS(   c         C` sY   d d d d d g } d d d d	 d
 g } t  j | |  } d } t | | d t d  S(   Ni   i   i   i   i	   i   i   i   i   i
   R   RT   R%   (   R   RT   (   R   t   kruskalR   R>   (   R   R?   RY   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR  6  s
    (   R   R   R  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR  5  s   t   TestTtest_relc           B` s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C` s  t  j j d  t  j j d d  d d d d g } t j | d  d   d f | d  d   d f  } t j | d  d   d f | d  d   d f  } t | |  t j | d  d   d f | d  d   d f d d  } t j | d  d   d f | d  d   d f d d  } t | |  t j | d  d   d  d  f | d  d   d d   f d d } t j | d  d   d  d  f | d  d   d d   f d d } t | |  t j | d  d   d  d  f | d  d   d d   f  } t | |  d  S(   Ni i   i   i    i   i   R   (	   R   R   R   t   randnR   t	   ttest_relR   R   Rx   (   R   t   outcomet   res1t   res2t   res3(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   A  s    %2288DD>c      	   C` s  t  j j d  t j t  j j d d  d d d d g d d d g g } t    } | j t d  x | d  d   d f | d  d   d f f t  j	 t  j	 g d d	 g f g D]M } t
 j |   \ } } t | t  j	 t  j	 f  t | t  j	 t  j	 f  q WWd  QXd  S(
   Ni i   i   R!   i   i    s%   invalid value encountered in absoluteg      ?g       @(   R   R   R   R%   t   masked_arrayR  R   t   filterRG   R   R   R  R   (   R   R  t   supt   pairt   tRO   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_fully_maskedV  s    !Qc         C` s   t  j j d  t  j j d d  d d d d g } t j | d  d   d f | d  d   d f  } d
 } t | | d	 t d  S(   Ni i   i   i    i   i   R   RT   R%   (   R   RT   (   R   R   R   R  R   R  R   R>   (   R   R  RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR  a  s
    %2c         C` s   t  t t j t j d  t j d   t j d  } t  t t j | j d d d  | j d d d  d d t  t t j | j d d d  | j d d d  d d d  S(	   Ni
   i   i   i   i   i   R   i   (   Ra   Rb   R   R  R   RC   Ry   (   R   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_invalid_input_sizei  s    .c         C` s2   t  j g  g   } t t j t j |    d  S(   N(   R   R  R   R   t   allt   isnan(   R   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt
   test_emptyr  s    c      	   C` s   t  j d d d g d d d g  \ } } t t j |  | f t j d f  t    } | j t d  t  j d d d g d d d g  \ } } t	 | t j
 t j t j g   t	 | t j
 t j t j g   Wd  QXd  S(   Ni    i   s%   invalid value encountered in absolute(   R   t	   ttest_indR	   R   t   absR   R   R  RG   R   R   R   (   R   R  RO   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_zero_divisionv  s    *%*"(   R   R   R   R  R  R  R!  R$  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR  @  s   						t   TestTtest_indc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s  t  j j d  t  j j d d  d d d d g } t j | d  d   d f | d  d   d f  } t j | d  d   d f | d  d   d f  } t | |  t j | d  d   d f | d  d   d f d d  } t j | d  d   d f | d  d   d f d d  } t | |  t j | d  d   d  d  f | d  d   d d   f d d } t j | d  d   d  d  f | d  d   d d   f d d } t | |  t j | d  d   d  d  f | d  d   d d   f  } t | |  t j | d  d   d f | d  d   d f d t	 } t j | d  d   d f | d  d   d f d t	 } t | |  t j | d  d   d f | d  d   d f d t
 } t j | d  d   d f | d  d   d f d t
 } t | |  d  S(	   Ni i   i   i    i   i   R   t	   equal_var(   R   R   R   R  R   R"  R   R   Rx   R>   RJ   (   R   R  R  R  R  t   res4t   res5(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s&    %2288DD>8888c      	   C` s  t  j j d  t j t  j j d d  d d d d g d d d g g } t    } | j t d  x | d  d   d f | d  d   d f f t  j	 t  j	 g d d	 g f g D]M } t
 j |   \ } } t | t  j	 t  j	 f  t | t  j	 t  j	 f  q WWd  QXd  S(
   Ni i   i   R!   i   i    s%   invalid value encountered in absoluteg      ?g       @(   R   R   R   R%   R  R  R   R  RG   R   R   R"  R   (   R   R  R  R  R  RO   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    s    <Qc         C` s   t  j j d  t  j j d d  d d d d g } t j | d  d   d f | d  d   d f  } d
 } t | | d	 t d  S(   Ni i   i   i    i   i   R   RT   R%   (   R   RT   (   R   R   R   R  R   R"  R   R>   (   R   R  RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    s
    %2c         C` s2   t  j g  g   } t t j t j |    d  S(   N(   R   R"  R   R   R  R   (   R   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR!    s    c      	   C` sc  t  j d d d g d d d g  \ } } t t j |  | f t j d f  t   s } | j t d  t  j d d d g d d d g  \ } } t	 | t j
 t j
 f  t	 | t j
 t j
 f  Wd  QXt  j d d d g d d d g d t \ } } t t j |  | f t j d f  t	 t  j d d d g d d d g d t t j
 t j
 f  d  S(   Ni    i   s%   invalid value encountered in absoluteR&  (   R   R"  R	   R   R#  R   R   R  RG   R   R   RJ   (   R   R  RO   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR$    s    *%*0%$(   R   R   R   R  R  R!  R$  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR%    s
   		
		t   TestTtest_1sampc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s  t  j j d  t  j j d d  d d d d g } t j | d  d   d f d  } t j | d  d   d f d  } t | |  t j | d  d   d f | d  d   d f d d  } t j | d  d   d f | d  d   d f d d  } t | |  t j | d  d   d  d  f | d  d   d d   f d d } t j | d  d   d  d  f | d  d   d d   f d d } t | |  t j | d  d   d  d  f | d  d   d d   f  } t | |  d  S(   Ni i   i   i    i   i   R   (	   R   R   R   R  R   t   ttest_1sampR   R   Rx   (   R   R  R  R  R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s    %""88DD>c         C` s   t  j j d  t j t  j j d  d d d d g } t  j t  j f } t   u } | j t	 d  x[ t  j t  j f d f | d f g D]5 } t
 j |   \ } } t | |  t | |  q WWd  QXd  S(   Ni i   R!   i   s%   invalid value encountered in absoluteg        (   R   R   R   R%   R  R  R   R   R  RG   R   R*  R   (   R   R  Rg   R  R  R  RO   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    s    *+c         C` st   t  j j d  t  j j d d  d d d d g } t j | d  d   d f d  } d
 } t | | d	 t d  S(   Ni i   i   i    i   i   R   RT   R%   (   R   RT   (   R   R   R   R  R   R*  R   R>   (   R   R  RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR    s
    %"c         C` s2   t  j g  d  } t t j t j |    d  S(   Ni   (   R   R*  R   R   R  R   (   R   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR!    s    c         C` s   t  j d d d g d  \ } } t t j |  | f t j d f  t   d } | j t d  t  j d d d g d  \ } } t	 t j
 |   t | t j t j f  Wd  QXd  S(   Ni    i   s%   invalid value encountered in absolute(   R   R*  R	   R   R#  R   R   R  RG   R   R   R   R   (   R   R  RO   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR$    s    !%!(   R   R   R   R  R  R!  R$  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR)    s
   				t   TestCompareWithStatsc           B` s7  e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# RS("   s  
    Class to compare mstats results with stats results.

    It is in general assumed that scipy.stats is at a more mature stage than
    stats.mstats.  If a routine in mstats results in similar results like in
    scipy.stats, this is considered also as a proper validation of scipy.mstats
    routine.

    Different sample sizes are used for testing, as some problems between stats
    and mstats are dependent on sample size.

    Author: Alexander Loew

    NOTE that some tests fail. This might be caused by
    a) actual differences or bugs between stats and mstats
    b) numerical inaccuracies
    c) different definitions of routine interfaces

    These failures need to be checked. Current workaround is to have disabled these tests,
    but issuing reports on scipy-dev

    c         C` s   d d d d g S(   s9    Returns list of sample sizes to be used for comparison. i  id   i
   i   (    (   R   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   get_n  s    c         C` s   t  j j d  t  j j |  } | t  j j |  } t  j t |  d  d } t  j t |  d  d } | | d t |  +| | d t |  +| d k } t  j j | d | } t  j j | d | } | | | | f S(   Ni i   g 7yACi    g s?CR!   (   R   R   R   R  t   onest   lenR%   R   (   R   R   R?   RY   R   t   ymR!   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   generate_xy_sample  s    c   
      C` sb  t  j | | f  t  j } t  j | | f  t  j } t  j | d | f  t  j } t  j | d | f  t  j } xO t |  D]A } |  j |  \ | d  d   | f <| d  d   | f <} }	 q W| d | !| d |  d  d   f <| d | !| d |  d  d   f <t  j j | d t  j |  } t  j j | d t  j |  } | | | | f S(   Ni   i    R!   (   R   R-  R   RX   R0  R%   R   R   (
   R   R   t   nxR?   RY   R   R/  R   t   dxt   dy(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   generate_xy_sample2D'  s      ?##!!c         C` s|   xu |  j    D]g } |  j |  \ } } } } t j | |  } t j j | |  } t t j |  t j |   q Wd  S(   N(   R,  R0  R   R   R   R   R   R9   (   R   R   R?   RY   R   R/  R  R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_linregress6  s
    c   
      C` s   x |  j    D]z } |  j |  \ } } } } t j | |  \ } } t j j | |  \ } }	 t | | d d t | |	 d d q Wd  S(   NR    i   (   R,  R0  R   RH   R   R
   (
   R   R   R?   RY   R   R/  RN   RO   t   rmt   pm(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyRR   =  s    c   
      C` s   x |  j    D]t } |  j |  \ } } } } t j | |  \ } } t j j | |  \ } }	 t | | d  t | |	 d  q Wd  S(   Ni   (   R,  R0  R   RU   R   R
   (
   R   R   R?   RY   R   R/  RN   RO   R6  R7  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR\   F  s    c         C` s,   t  j d  } t t t j | | t  d  S(   Ni   (   R   RC   Ra   Rb   R   RU   RJ   (   R   R?   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt!   test_spearmanr_backcompat_usetiesN  s    c         C` s   x |  j    D] } |  j |  \ } } } } t j t |   } t j j t |   } t | | d d t j t |   } t j j t |   } t | | d d q Wd  S(   NR   gvIh%<=(   R,  R0  R   R"   R#  R   R   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt
   test_gmeanT  s    c         C` s   x |  j    D] } |  j |  \ } } } } t j t |   } t j j t |   } t | | d  t j t |   } t j j t |   } t | | d  q Wd  S(   Ni
   (   R,  R0  R   R8   R#  R   R
   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt
   test_hmean_  s    c         C` s   x |  j    D] } |  j |  \ } } } } t j |  } t j j |  } t | | d  t j |  } t j j |  } t | | d  q Wd  S(   Ni
   (   R,  R0  R   R   R   R
   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_skewk  s    c         C` s   x |  j    D] } |  j |  \ } } } } t j |  } t j j |  } t | | d  t j |  } t j j |  } t | | d  q Wd  S(   Ni
   (   R,  R0  R   R   R   R
   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   w  s    c         C` s  x|  j    D] } |  j |  \ } } } } | | j   | j   } | | j   | j   } t t j |  | d d t t j |  | d d t t j |  t j j | d t |  ! d d t t j |  t j j | d t |  ! d d q Wd  S(   NR   g|=i    (	   R,  R0  t   meant   stdR   R   R   R   R.  (   R   R   R?   RY   R   R/  t   zxt   zy(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s    ..c         C` s   x |  j    D] } |  j |  \ } } } } t j |  } t j j |  } t | | d  t j |  } t j j |  } t | | d  q Wd  S(   Ni
   (   R,  R0  R   R   R   R
   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s    c   
   	   C` s  t  j d  j d d  } t  j j |  } t j | d d } t j j | d d } t | d d d t | d d d x/|  j	   D]!} |  j
 |  \ } } } }	 t t j j | d	 d  d d
 t j | d	 d  d d
 d d t t j j |	 d	 d  d d
 t j | d	 d  d d
 d d t t j j | d	 d  d d t j | d	 d  d d d d t t j j |	 d	 d  d d t j | d	 d  d d d d q Wd  S(   Ni   i   i   R   i   g'e@t   atolgh㈵>R   i    R    i   (   R   RC   Ry   R%   R   R   R   R   R   R,  R0  R
   Rx   (
   R   R'   t   amRN   R6  R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s     """c   	      C` s   x |  j    D] } |  j |  \ } } } } t j | d d } t j j | d d } xA t d  D]3 } t t j | |  t j | |  d d qh Wq Wd  S(   NR   i   i   R    i   (	   R,  R0  R   t   describeR   RX   R
   R   R9   (	   R   R   R?   RY   R   R/  RN   R6  t   ii(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_describe  s    c         C` s5   t  j t j d   } d	 } t | | d t d  S(
   Ni   t   nobst   minmaxR<  t   variancet   skewnessR   R%   (   RE  RF  R<  RG  RH  R   (   R   RB  R   RC   R   R>   (   R   R(   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_describe_result_attributes  s     c         C` sd   x] |  j    D]O } |  j |  \ } } } } t j |  } t j j |  } t | |  q Wd  S(   N(   R,  R0  R   R=   R   R   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_rankdata  s
    c         C` s   xy |  j    D]k } |  j |  \ } } } } t t j |  t j j |  d  t t j |  t j j |  d  q Wd  S(   Ni   (   R,  R0  R
   R   t   tmeanR   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt
   test_tmean  s    %c         C` s   x |  j    D] } |  j |  \ } } } } t t j | d  t j j | d  d  t t j | d  t j j | d  d  t t j | d d t j j | d d d  t t j | d d t j j | d d d  q Wd  S(   Ng       @i
   t
   upperlimitg      @(   R,  R0  R
   R   t   tmaxR   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_tmax  s    c         C` s   x |  j    D] } |  j |  \ } } } } t t j |  t j j |   t t j |  t j j |   t t j | d d t j j | d d d  t t j | d d t j j | d d d  q Wd  S(   Nt
   lowerlimitg      i
   (   R,  R0  R	   R   t   tminR   R
   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_tmin  s    ""c         C` s}   xv |  j    D]h } |  j |  \ } } } } t j | |  } t j j | |  } t | | d t |  !d d q Wd  S(   Ni    R@  g|=(   R,  R0  R   R   R   R   R.  (   R   R   R?   RY   R   R/  Ri   t   zm(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s
    c         C` s   x |  j    D]q } |  j |  \ } } } } t t j |  t j j |  d d t t j |  t j j |  d d q Wd  S(   NR    i   (   R,  R0  R
   R   R   R   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR     s    !!c         C` s   x |  j    D]q } |  j |  \ } } } } t t j |  t j j |  d d t t j |  t j j |  d d q Wd  S(   NR    i   (   R,  R0  R
   R   t   tvarR   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_tvar  s    !!c         C` s[   t  j d  } t j | d  } t j j | d  } t t  j |  | j | j  d  S(   Ni   g?(	   R   RC   R   R   R   R   t   sortR   R!   (   R   R'   Rh   t   bm(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_trimboth  s    c         C` s   x |  j    D] } |  j |  \ } } } } t t j |  t j j |  d d t t j |  t j j |  d d t t j | d d t j j | d d d d q Wd  S(   NR    i   Rt   g       g       @(   g       g       @(   g       g       @(   R,  R0  R
   R   t   tsemR   (   R   R   R?   RY   R   R/  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt	   test_tsem  s    !!c         C` s   xz |  j    D]l } | d k r |  j |  \ } } } } t j |  } t j j |  } t | d | d d d q q Wd  S(   Ni   i    R   gV瞯<(   R,  R0  R   R   R   R   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_skewtest  s    c         C` sC   t  j d d  d } t j |  } d } t | | d
 t d  S(   Niii    i   i   i   i   R   RT   R%   (   iii    i   i   i   (   R   RT   (   R   R   R   R   R   R>   (   R   R?   RZ   R[   (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_skewtest_result_attributes   s    c         C` sZ   t  j j d  d } t j |  } t j j |  } t t  j |  t  j |   d  S(   Ni   i   g      4@(   i   i   (   R   R   R   R   R   R   R9   (   R   R?   RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_skewtest_2D_notmasked&  s    c   	      C` s   d } x |  j    D] } | d k r |  j | |  \ } } } } t j |  } t j j |  } t | d d | d d  t | d d | d d  q q Wd  S(   Ni   i   i    i   (   R,  R4  R   R   R   R	   (	   R   R1  R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_skewtest_2D_WithMask-  s    c   	   	   C` s   t  j d d  t    } | j t d  x~ |  j   D]p } | d k r9 |  j |  \ } } } } t j |  } t j	 j |  } t
 t  j |  t  j |   q9 q9 WWd  QXd  S(   Nt   overt   raises!   kurtosistest only valid for n>=20i   (   R   t   seterrR   R  t   UserWarningR,  R0  R   R   R   R   R9   (	   R   R  R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_normaltest8  s    c         C` s>  t  j d d d d d d d d d d d g  j d  } t  j d d d d d d d d d d d d d d d g  j d  } | d k } t  j j | d | } | j   | j   } } t j |  } t j j |  } t	 | |  t	 | |  t	 | |  t j j g   \ }	 }
 t	 |
 t  j d	 d
 t  j
  d  S(   Ni   i   i   i   Rc   i   g      @R!   i    R-   (   R   R9   R.   R%   R   R   R   t   find_repeatsR   R	   t   intp(   R   R?   t   tmpR!   R   t   x_origt   xm_origRN   R6  R   R  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_find_repeatsC  s    9Ec         C` s   x |  j    D]~ } |  j |  \ } } } } t j | |  } t j j | |  } t | d | d d d t | d | d d d q Wd  S(   Ni    R    i
   i   i   (   R,  R0  R   R`   R   R
   (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyRk   V  s    c         C` st   xm |  j    D]_ } |  j |  \ } } } } t j |  } t j j |  } t | j | d t |  ! q Wd  S(   Ni    (   R,  R0  R   R   R   R
   Rl   R.  (   R   R   R?   RY   R   R/  RN   R6  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR   ^  s
    ($   R   R   R   R,  R0  R4  R5  RR   R\   R8  R9  R:  R;  R   R   R   R   RD  RI  RJ  RL  RO  RR  R   R   RU  RX  RZ  R[  R\  R]  R^  Rc  Ri  Rk   R   (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyR+    sD   																
																	t   TestBrunnerMunzelc           B` s   e  Z e j j d  d d  d  d  e j d  d  d  d  d  d d d  d  e j g  Z e j j d d d d e j d  d d d  d  d d g  Z d Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z RS(   i   i   i   i   i   i   c   	      C` sT  t  j |  j |  j d d \ } } t  j |  j |  j d d \ } } t  j |  j |  j d d \ } } t  j |  j |  j d d \ } } t | | d |  j t | | d |  j t | | k  t | d d |  j t | d d |  j t | d d |  j t | d d |  j t | d d |  j t | d d |  j d  S(	   Nt   alternativet   lesst   greaterR    g|	&	@g|	&	gҏGg?g@-pL?(   R   t   brunnermunzelt   Xt   YR
   t   significantR   (	   R   t   u1t   p1t   u2t   p2t   u3t   p3t   u4t   p4(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_brunnermunzel_one_sidedm  s&    $$$$




c         C` s   t  j |  j |  j d d \ } } t  j |  j |  j d d \ } } t | | d |  j t | d d |  j t | d d |  j t | d d |  j d  S(   NRk  s	   two-sidedR    g|	&	@g|	&	g ҏGw?(   R   Rn  Ro  Rp  R
   Rq  (   R   Rr  Rs  Rt  Ru  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_brunnermunzel_two_sided  s    $$

c         C` s   t  j |  j |  j  \ } } t  j |  j |  j  \ } } t | | d |  j t | d d |  j t | d d |  j t | d d |  j d  S(   NR    g|	&	@g|	&	g ҏGw?(   R   Rn  Ro  Rp  R
   Rq  (   R   Rr  Rs  Rt  Ru  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_brunnermunzel_default  s    

c         C` sB   d } d } t  | d k  t t t j |  j |  j | |  d  S(   NRB   R  s	   two-sidedRm  Rl  (   s	   two-sidedRm  Rl  (   R   Ra   Rb   R   Rn  Ro  Rp  (   R   Rk  t   distribution(    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt$   test_brunnermunzel_alternative_error  s    c         C` s   t  j |  j |  j d d \ } } t  j |  j |  j d d \ } } t | | d |  j t | d d |  j t | d d |  j t | d d |  j d  S(   NR}  t   normalR    g|	&	@g|	&	g "H[?(   R   Rn  Ro  Rp  R
   Rq  (   R   Rr  Rs  Rt  Ru  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt$   test_brunnermunzel_distribution_norm  s    $$

c         C` sB   d } d } t  | d k  t t t j |  j |  j | |  d  S(   Ns	   two-sidedRB   R  R  (   R  R  (   R   Ra   Rb   R   Rn  Ro  Rp  (   R   Rk  R}  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt%   test_brunnermunzel_distribution_error  s    c         C` s   t  j |  j g   \ } } t  j g  |  j  \ } } t  j g  g   \ } } t t j |   t t j |   t t j |   t t j |   t t j |   t t j |   d  S(   N(   R   Rn  Ro  Rp  R   R   R   (   R   Rr  Rs  Rt  Ru  Rv  Rw  (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   test_brunnermunzel_empty_imput  s    (   R   R   R   R%   t   masked_invalidR   Ro  Rp  Rq  Rz  R{  R|  R~  R  R  R  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyRj  f  s   $$9						(8   R   t
   __future__R    R   R   RD   t   numpyR   R   t   numpy.maR%   R   R   t   scipy.stats.mstatsR   R   t   scipyt   common_testsR   R3   R   Ra   t   numpy.ma.testutilsR	   R
   R   R   R   R   R   t   scipy._lib._numpy_compatR   t   objectR   R   R7   R;   RA   Rs   R   R   R   R   R   R   R   R   R   R	  R  R  R  R%  R)  R+  Rj  (    (    (    sB   lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.pyt   <module>   sJ   4,(N| 0				@	'AD8 j