
p7]c           @   s
  d  Z  d d l Z d d l j j Z d d l m Z m	 Z	 m
 Z
 d d l m Z d d d  Z d j   Z e j e e  j d d  Z e   Z d	 e _ d
 e _ d e _ d e _ d e _ d e _ d e _ d e _ d e _ d e _ e   Z  d e  _ d e  _ d e  _ d e  _ d e  _ d e  _ d e  _ d e  _ d e  _ e   Z! d e! _ d e! _ d e! _ d e! _ d e! _ d! e! _ d e! _ d e! _ d" e! _ d e! _ e   Z" d e" _ d e" _ d$ e" _ d e" _ d e" _ d' e" _ d e" _ d e" _ d( e" _ d e" _ e   Z# d e# _ d* e# _ d e# _ d e# _ d- e# _ d e# _ d e# _ d. e# _ d e# _ e   Z$ d e$ _ d e$ _ d e$ _ d e$ _ d- e$ _ d e$ _ d e$ _ d1 e$ _ d e$ _ e   Z% d2 e% _ d3 e% _ d e% _ d e% _ d e% _ d6 e% _ d e% _ d7 e% _ d e% _ e   Z& d: e& _ d; e& _ d e& _ d e& _ d> e& _ d6 e& _ d e& _ d? e& _ d e& _ e   Z' dB e' _ dC e' _ d e' _ d e' _ dF e' _ d6 e' _ d e' _ dG e' _ d e' _ e   Z( dI e( _) e j dJ dK dL dM dN g  e( _* e j dO dP dQ dR dS g  e( _+ e j dT dU dV dW dX g  e( _, e j dY dZ d[ d\ d] g  e( _ e j d^ d_ d` da db g  e( _- e j dc dd de df dg g  e( _. e j d d dh dh dh g  e( _/ e j d d d d d g  e( _0 di e( _1 dj e( _2 dk e( _3 d e( _4 e Z5 dI e5 _) dJ e5 _* dO e5 _+ dT e5 _, dY e5 _ d^ e5 _- dc e5 _. dh e5 _/ d e5 _0 di e5 _1 dj e5 _2 dk e5 _3 d e5 _4 e   Z6 dI e6 _) e j dJ dK dL dM dN g  e6 _* e j dO dP dQ dR dS g  e6 _+ e j dl dm dV dW dX g  e6 _, e j dn do dp dq dr g  e6 _ e j d^ d_ ds dt du g  e6 _- e j dc dd dv dw dx g  e6 _. e j dy dy dh dh dh g  e6 _/ e j d d d d d g  e6 _0 di e6 _1 dj e6 _2 dk e6 _3 d e6 _4 e   Z7 dz e7 _8 d e7 _9 d{ e7 _ d e7 _: d e7 _* d~ e7 _; d e7 _< d e7 _2 d e7 _= e   Z> d e> _8 d' e> _9 d e> _ e j? d& f e> _: d e> _* d~ e> _; d e> _< d e> _2 d e> _= e   Z@ d e@ _8 d' e@ _9 d e@ _ d% e j? f e@ _: d e@ _* d~ e@ _; d e@ _< d e@ _2 d e@ _= e   ZA d eA _8 d' eA _9 d eA _ e j? d& f eA _: d eA _* d~ eA _; d eA _< d eA _2 d eA _= e   ZB d eB _8 d' eB _9 d eB _ e j? d& f eB _: d eB _* di eB _; d eB _< d eB _2 d eB _= e   ZC d eC _8 d' eC _9 d eC _ d eC _: d eC _* di eC _; d eC _< d eC _2 d eC _= e   ZD d eD _8 d- eD _9 d eD _ d eD _: d eD _* di eD _; d eD _< d eD _2 d eD _= e jE e d d  d f e d d  d f d d d d ZF e jE e d d  d f e d d  d f d d d d ZG e jH e d d  d f e d d  d f d d d d ZI d eJ f d     YZK d eK f d     YZL d eK f d     YZM d eK f d     YZN d eK f d     YZO d eK f d     YZP d eK f d     YZQ d   ZR d   ZS d   ZT d   ZU d S(   s>   

Created on Wed Oct 17 09:48:34 2012

Author: Josef Perktold
iN(   t   assert_almost_equalt   assert_equalt   assert_(   t   Holderi   c         C   s   t  j |   }  t  j |  } t t  j |   t  j |   t t  j |   t  j |   t t  j |   t  j |   t |  t  j |   | t  j |   d  S(   N(   t   npt
   atleast_1dR   t   isposinft   isneginft   isnanR    t   isfinite(   t   xt   yt   decimalt   msg(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   assert_almost_equal_inf   s    s  1     1 2.84 4.00 3.45 2.55 2.46
2     1 2.51 3.26 3.10 2.82 2.48
3     1 2.41 4.14 3.37 2.99 3.04
4     1 2.95 3.42 2.82 3.37 3.35
5     1 3.14 3.25 3.31 2.87 3.41
6     1 3.79 4.34 3.88 3.40 3.16
7     1 4.14 4.97 4.25 3.43 3.06
8     1 3.85 4.31 3.92 3.58 3.91
9     1 3.02 3.11 2.20 2.24 2.28
10    1 3.45 3.41 3.80 3.86 3.91
11    1 5.37 5.02 4.59 3.99 4.27
12    1 3.81 4.21 4.08 3.18 1.86
13    1 4.19 4.59 4.79 4.17 2.60
14    1 3.16 5.30 4.69 4.83 4.51
15    1 3.84 4.32 4.25 3.87 2.93
16    2 2.60 3.76 2.86 2.41 2.71
17    2 2.82 3.66 3.20 2.49 2.49
18    2 2.18 3.65 3.87 3.00 2.65
19    2 3.46 3.60 2.97 1.80 1.74
20    2 4.01 3.48 4.42 3.06 2.76
21    2 3.04 2.87 2.87 2.71 2.87
22    2 3.47 3.24 3.47 3.26 3.14
23    2 4.06 3.92 3.18 3.06 1.74
24    2 2.91 3.99 3.06 2.02 3.18
25    2 3.59 4.21 4.02 3.26 2.85
26    2 4.51 4.21 3.78 2.63 1.92
27    2 3.16 3.31 3.28 3.25 3.52
28    2 3.86 3.61 3.28 3.19 3.09
29    2 3.31 2.97 3.76 3.18 2.60
30    2 3.02 2.73 3.87 3.50 2.93i   t   pairedg>|]?gvи?g?gj6/&?g,/?i   g333333?s   not rejectedgi4<?gfJه?g	?g{6DVM`?g;g}Q?t   rejectedgTni?g\HRѿg<33333?t   independentg>|]?g.D?g?g晱?g)8@g)@?g]Jه?gh3?g hcѿg&×?gZM:@g4@٨?g\HRѿgh3?gVXѿg$t;?i   g)B?g)A5?g)3Z?g,Rݠ?g[Y!?gM$e?g5]F^gfB?g#?gM%?ggə?g[Y!?gZKqѲ?gZJgZKR?gt;@gJ~q?g:g*?gkM?gnaw?gdRg?i   gTi?gݡ8As   2-1g	ſg>|]gmYӿg`s!iJge	޿gZM:@g)8@g]*Ä7@gr9@gi߿e8@g{2)@g;F @gMr7=6@g*b@g>쫹I@g7ldf?g6}9,?gL)f.?g H_?gFd.?g&×g晱gkg<gnNg hc?gȿgc?gtP_ǿgtg      i   s   step.upt   FALSEg.w1?gЖƧҿgq~'?gi?gx=!F?gp͇1?g"i5?gc,BIg}7gCTgKR_?gY5᱿gpٯb?g      gOth?gb?g~:0g&m:,?i    s	   two.sideds   Paired t-tests(   clinic$var1[1:15] and clinic$var1[16:30]g:kd?gg(?gCl@g
@t   lesss   Welch Two Sample t-testg,褮?t   greatergGe
g$
h|V?g$
h|f?g5vֿgP!?gGe
ga63e?guomֿgE(?s    Two Sample t-testi   i   g333333t	   transformi   t   usevart   unequalt   CheckTostMixinc           B   s   e  Z d    Z RS(   c         C   s#   t  |  j j |  j j d d d  S(   NR   i   (   R    t   res1t   pvaluet   res2t   p_value(   t   self(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt	   test_pvalt  s    (   t   __name__t
   __module__R   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR   r  s   t
   TestTostp1c           B   s    e  Z e d     Z d   Z RS(   c         C   s   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d  } | d |  j _ t j	 | | d d  d d } | j
 d	  |  j _ | j
 d
  |  j _ | j |  j _ | j |  j _ t |  _ d  S(   Ni   i   g333333g333333?R   i    t   weightst   ddofg?g?(   t   tost_clinic_paired_1R   t   clinicR   R   t   smwst   ttost_pairedt   NoneR   t   DescrStatsWt   tconfint_meant   tconfint_difft
   confint_05t   meant	   mean_difft   std_meant   std_mean_difft   ttest_clinic_paired_1t   res2b(   t   clst   x1t   x2t   rest   res_ds(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   setup_classz  s    	-c         C   s   t  |  j j |  j j d d t  |  j j |  j j d d t  |  j j |  j j d d t  |  j j |  j	 j
 d d d  S(   NR   i   (   R    R   R+   R   t   ci_diffR.   R0   t   se_diffR,   R2   t   conf_int(   R   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   test_special  s    (   R   R    t   classmethodR8   R<   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR!   x  s   t
   TestTostp2c           B   s   e  Z e d     Z RS(   c         C   st   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d  } | d |  j _ d  S(   Ni   i   g333333g333333?R   i    (	   t   tost_clinic_pairedR   R%   R   R   R&   R'   R(   R   (   R3   R
   R   R6   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR8     s
    	-(   R   R    R=   R8   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR>     s   t
   TestTosti1c           B   s   e  Z e d     Z RS(   c         C   st   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d } | d |  j _ d  S(   Ni   i   g333333g333333?R   R   i    (   t   tost_clinic_indep_1R   R%   R   R   R&   t	   ttost_indR   (   R3   R
   R   R6   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR8     s
    	-(   R   R    R=   R8   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR@     s   t
   TestTosti2c           B   s   e  Z e d     Z RS(   c         C   st   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d } | d |  j _ d  S(   Ni   i   g333333g333333?R   R   i    (   t   tost_clinic_indepR   R%   R   R   R&   RB   R   (   R3   R
   R   R6   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR8     s
    	-(   R   R    R=   R8   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyRC     s   t   TestTostip1c           B   s   e  Z e d     Z RS(   c         C   st   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d } | d |  j _ d  S(   Ni   i   g333333g333333?R   t   pooledi    (   t   tost_clinic_indep_1_pooledR   R%   R   R   R&   RB   R   (   R3   R
   R   R6   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR8     s
    	-(   R   R    R=   R8   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyRE     s   t   TestTostip2c           B   s   e  Z e d     Z RS(   c         C   st   t  |  _ t d  d  d f t d d   d f } } t   |  _ t j | | d d d d } | d |  j _ d  S(   Ni   i   g333333g333333?R   RF   i    (   t   tost_clinic_indep_2_pooledR   R%   R   R   R&   RB   R   (   R3   R
   R   R6   (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyR8     s
    	-(   R   R    R=   R8   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyRH     s   c       	   C   s   t  d  d  d f t  d d   d f }  } t j |  | d d d t j } t | d t j d  t j |  | d d d t j d d	 } t | d t	 j d  d  S(
   Ni   i   g?g      ?R   i    i   R   R   (
   R%   R&   R'   R   t   logR    t   tost_clinic_1_pairedR   RB   t   tost_clinic_1_indep(   R4   R5   t   respt   resi(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   test_tost_log  s
    -!'c       	   C   sL  t  d  d  d f t  d d   d f }  } t | j   |  j   t j d  t j | |  d d d d } t | d t j d  t j t  d d   d d	  f t  d  d  d d	  f d
 d
 d d d g d d d } t | d t j d  t j t  d d   d d	  f t  d  d  d d	  f t	 j
 d
 d
 d d d g  d d d d t	 j } t j t  d d   d d	  f t  d  d  d d	  f d
 d
 d d d g d d d d t	 j
 } t j t  d d   d d	  f t  d  d  d d	  f d
 d
 d d d g d d t	 j } t j t  d d   d d	  f t  d  d  d d	  f d
 d
 d d d g d d t	 j
 } t j t  d d   d d	  f t  d  d  d d	  f d d
 d
 d d d g } t j t  d d   d d	  f t  d  d  d d  f d
 d
 d d d g d d d } t j t  d d   d d  f t  d  d  d d  f d
 d
 d d d g d d d } t | d d | d d d d t j t  d d   d f t  d  d  d f d
 d d d d g d d d } t j t  d d   d f t  d  d  d f d
 d d d d g t	 j d d  d d } d  S(   Ni   i   i   g      g333333?R   R   i    i   g      R   t   valuei   i   i   R   g      gffffffi   (   R%   R    R-   t   tost_clinic_1_asymt   estimateR&   RB   R   t   tost_clinic_all_no_multiR   t   expRJ   R'   t	   ttest_indt   repeat(   R4   R5   t   resat   resallt   resa3_2(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   test_tost_asym  s@    -#8	8!888;8!8!#,!,c       	   C   s  t  d  d  d f t  d d   d f }  } g  } t j |  | d d d d } | j | t f  t j |  | d d d d } | j | t f  t j |  | d d d d d d	 } | j | t f  xH | D]@ \ } } t | d
 | j d d t | d	 | j	 d d q Wt j
 t j |   t j |   } | j d d d d  }	 t |	 t j d d | j d d d d  }	 t |	 t j d d | j d d d d  }	 t |	 t j d d | j d d d d  }	 t |	 t j d d t j
 t j |   t j |   } | j j | j  }
 | j j |  } | j j t j | | f   } t | j |
 j k  t | j | j k  t | j | j k  d  S(   Ni   i   t   alternativet   largerR   R   t   smallerRP   i   i    R   i   s	   two-sidedRF   (   R%   R&   RU   t   appendt   ttest_clinic_indep_1_gt   ttest_clinic_indep_1_lt   ttest_clinic_indep_1_l_muR    t	   statisticR   t   CompareMeansR)   R+   t   ttest_clinic_indep_1_two_muR;   t"   ttest_clinic_indep_1_two_mu_pooledR   t   d1t   get_comparet   d2R   t   hstackR   (   R4   R5   t	   all_testst   t1t   t2t   t3R   R   t   cmt   cit   cm1t   cm2t   cm3(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt
   test_ttest  s8    -	$$!c          C   s   t  j d j   t  }  |  j d d  j \ } } t j | | d d d t  j } d d d f } t	 | d | d d  t	 | d | d d  t	 | d t
 j d  d  S(   Ns          103.4 90.11  59.92 77.71  68.17 77.71  94.54 97.51
       69.48 58.21  72.17 101.3  74.37 79.84  84.44 96.06
       96.74 89.30  94.26 97.22  48.52 61.62  95.68 85.80ii   g?g      ?R   ga+ei?g
ףp=
@gg-C6
?i    i   i   i   (   g
ףp=
@ga+ei?(   gg-C6
?(   R   t   arrayt   splitt   floatt   reshapet   TR&   R'   RJ   R    t   tost_s_pairedR   (   t   rawR
   R   R   t   res_sas(    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   tost_transform_paired!  s    !(   gj6/&?g,/?(   gfJه?g333333?(   g;g}Q?(   g\HRѿg<33333?(   g?g晱?(   g]Jه?g333333?(   g hcѿg&×?(   g\HRѿg333333?(   gVXѿg$t;?(   g\HRѿg333333?(   g)A5?g)3Z?(   g]Jه?g333333?(   g5]F^gfB?(   ggə?(   gZJgZKR?(   g:g*?(   gdRg?(   gݡ8Ag#?(   g~:0g&m:,?(   gCl@g
@(   gCl@g
@(   gCl@g
@(   gCl@g
@(   g5vֿgP!?(   gCl@g
@(   guomֿgE(?(   gCl@g
@(V   t   __doc__t   numpyR   t   statsmodels.stats.weightstatst   statst   weightstatsR&   t   numpy.testingR    R   R   t   statsmodels.tools.testingR   R(   R   Ru   t
   raw_clinicRt   Rv   Rw   R%   R?   t   sampleR.   R:   t   alphaR9   t   dft   epsilont   resultR   t   check_meR$   RD   RA   RG   RI   RK   RL   Ry   RS   t	   comp_nameRR   t   degr_frt	   test_statt   lowert   uppert	   margin_lot	   margin_upt   baset   methodt	   var_equalt   FWERRQ   t   tost_clinic_all_multiR1   Rb   t	   parameterR;   t
   null_valueR[   t	   data_namet   ttest_clinic_paired_1_lt   infR_   R`   Ra   Rd   Re   R'   R   R   RB   R6   t   objectR   R!   R>   R@   RC   RE   RH   RO   RZ   Rs   R|   (    (    (    s@   lib/python2.7/site-packages/statsmodels/stats/tests/test_tost.pyt   <module>   s  '																																																																																																																																																																																																				>>> 
						+	%