
    M/Ph^                        d Z ddlZddlmZmZmZ ddlZddlm	c m
Z ddlmZ ddZd                                Z ej        ee                              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$_        d+e$_        d e$_         e            Z%d,e%_        d-e%_        de%_        d.e%_        de%_        d/e%_        de%_        d0e%_        d1e%_         e            Z&d2e&_        d3e&_        de&_        d4e&_        d5e&_        d/e&_        de&_        d6e&_        d7e&_         e            Z'd8e'_        d9e'_        de'_        d:e'_        d;e'_        d/e'_        de'_        d<e'_        d=e'_         e            Z(d>e(_)         ej        g d?          e(_*         ej        g d@          e(_+         ej        g dA          e(_,         ej        g dB          e(_         ej        g dC          e(_-         ej        g dD          e(_.         ej        g dE          e(_/         ej        g dF          e(_0        dGe(_1        dHe(_2        dIe(_3        de(_4        eZ5d>e5_)        dJe5_*        dKe5_+        dLe5_,        dMe5_        dNe5_-        dOe5_.        dPe5_/        de5_0        dGe5_1        dHe5_2        dIe5_3        de5_4         e            Z6d>e6_)         ej        g d?          e6_*         ej        g d@          e6_+         ej        g dQ          e6_,         ej        g dR          e6_         ej        g dS          e6_-         ej        g dT          e6_.         ej        g dU          e6_/         ej        g dF          e6_0        dGe6_1        dHe6_2        dIe6_3        de6_4         e            Z7dVe7_8        de7_9        dWe7_        dXe7_:        de7_*        de7_;        dYe7_<        dZe7_2        d[e7_=         e            Z>d\e>_8        d#e>_9        d]e>_        ej?         d^fe>_:        d_e>_*        de>_;        d`e>_<        dae>_2        d[e>_=         e            Z@d\e@_8        d#e@_9        dbe@_        dcej?        fe@_:        d_e@_*        de@_;        dde@_<        dae@_2        d[e@_=         e            ZAd\eA_8        d#eA_9        d]eA_        ej?         d^feA_:        d_eA_*        deA_;        d`eA_<        daeA_2        d[eA_=         e            ZBdeeB_8        d#eB_9        dfeB_        ej?         d^feB_:        d_eB_*        dGeB_;        d`eB_<        daeB_2        d[eB_=         e            ZCdeeC_8        d#eC_9        dgeC_        dheC_:        d_eC_*        dGeC_;        dYeC_<        daeC_2        d[eC_=         e            ZDdieD_8        d(eD_9        djeD_        dkeD_:        d_eD_*        dGeD_;        dYeD_<        dleD_2        d[eD_=         ejE        eddmdnf         edmddnf         doddp          ZF ejE        eddmdqf         edmddqf         doddp          ZG ejH        eddmdqf         edmddqf         doddrs          ZI G dt du          ZJ G dv dweJ          ZK G dx dyeJ          ZL G dz d{eJ          ZM G d| d}eJ          ZN G d~ deJ          ZO G d deJ          ZPd ZQd ZRd ZSejT        U                    deVd          d             ZWdS )z>

Created on Wed Oct 17 09:48:34 2012

Author: Josef Perktold
    N)assert_almost_equalassert_equalassert_)Holder   c                    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)np
atleast_1dr   isposinfisneginfisnanr   isfinite)xydecimalmsgs       a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_tost.pyassert_almost_equal_infr      s    
aA
aAQQ000QQ000!bhqkk***"+a..)1R[^^+<=====    a  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.93   pairedg>|]?gvи?皙?)gj6/&?g,/?   333333?znot rejectedgi4<?)gfJه?r   g	?g{6DVM`?)g;g}Q?rejectedgTni?)g\HRѿg<33333?independentg>|]?g.D?)g?g晱?g)8@g)@?)g]Jه?r   gh3?)禾 hcѿ&×?gZM:@g4@٨?)g\HRѿr   gh3?)gVXѿg$t;?   g)B?)g)A5?g)3Z?g,Rݠ?g[Y!?gM$e?)g5]F^gfB?#?gM%?)ggə?g[Y!?gZKqѲ?)gZJgZKR?gt;@gJ~q?)g:g*?gkM?gnaw?)gdRg?   gTi?)gݡ8Ar!   z2-1)篎	ſg>|]gmYӿg`s!iJge	޿)ZM:@g)8@g]*Ä7@gr9@gi߿e8@){2)@g;F @Mr7=6@*b@>쫹I@)7ldf?g6}9,?gL)f.?g H_?gFd.?)&×晱gkg<gnN)禾 hc?税ȿgc?gtP_ǿgt)r   r         r.   r.   )r   r   r   r   r      zstep.upFALSEr#   r$   r%   r)   r*   r,   r.   )g.w1?gЖƧҿr&   r'   r(   )gq~'?gi?gx=!F?gp͇1?g"i5?)r*   r+   gc,BIg}7gCT)r,   r-   gKR_?gY5᱿gpٯb?)      r1   r.   r.   r.   gOth?gb?)g~:0g&m:,?z	two.sidedzPaired t-testz(clinic$var1[1:15] and clinic$var1[16:30]g:kd?gg(?r   )gCl@g
@lesszWelch Two Sample t-testg,褮?r   greatergGe
g$
h|V?g$
h|f?)g5vֿgP!?gGe
ga63e?)guomֿgE(?z Two Sample t-test      333333㿩	transform   unequalusevarc                       e Zd Zd ZdS )CheckTostMixinc                 R    t          | j        j        | j        j        d           d S N   r   )r   res1pvalueres2p_valueselfs    r   	test_pvalzCheckTostMixin.test_pvalu  s'    DI,di.?LLLLLLr   N)__name__
__module____qualname__rI    r   r   r>   r>   s  s(        M M M M Mr   r>   c                   *    e Zd Zed             Zd ZdS )
TestTostp1c                    t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd           }|d         | j        _        t          j        ||z
  d d          }|	                    d          | j        _
        |	                    d	          | j        _        |j        | j        _        |j        | j        _        t           | _        d S )
Nr4   r5   r6   r   r7   r   )weightsddofg?r   )tost_clinic_paired_1rE   clinicr   rC   smwsttost_pairedrD   DescrStatsWtconfint_meantconfint_diff
confint_05mean	mean_diffstd_meanstd_mean_diffttest_clinic_paired_1res2b)clsx1x2resres_dss        r   setup_classzTestTostp1.setup_class{  s    'QQB88BcTBBBa&!"r'4a@@@!'!5!5c!:!:$22488#[!')			r   c                 6   t          | j        j        | j        j        d           t          | j        j        | j        j        d           t          | j        j        | j        j        d           t          | j        j        | j	        j
        d           d S r@   )r   rC   rY   rE   ci_diffr\   r^   se_diffrZ   r`   conf_intrG   s    r   test_specialzTestTostp1.test_special  s    DI3TY5F$&	( 	( 	( 	(DI/1D$&	( 	( 	( 	(DI3TY5F$&	( 	( 	( 	( 	DI0$*2E$&	( 	( 	( 	( 	( 	(r   N)rJ   rK   rL   classmethodrf   rk   rM   r   r   rO   rO   y  s<        * * [* 
( 
( 
( 
( 
(r   rO   c                   $    e Zd Zed             ZdS )
TestTostp2c                     t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd           }|d         | j        _        d S )Nr4   r9   r6   r   r7   r   )tost_clinic_pairedrE   rT   r   rC   rU   rV   rD   ra   r   r   rd   s       r   rf   zTestTostp2.setup_class  sa    %crc1f~vbcc1f~1881dC4@@@a&r   NrJ   rK   rL   rl   rf   rM   r   r   rn   rn     s-        ! ! [! ! !r   rn   c                   $    e Zd Zed             ZdS )
TestTosti1c                     t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd          }|d         | j        _        d S )Nr4   r5   r6   r   r:   r;   r   )tost_clinic_indep_1rE   rT   r   rC   rU   	ttost_indrD   rq   s       r   rf   zTestTosti1.setup_class  s`    &crc1f~vbcc1f~188nQ4Y???a&r   Nrr   rM   r   r   rt   rt     -        ! ! [! ! !r   rt   c                   $    e Zd Zed             ZdS )
TestTosti2c                     t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd          }|d         | j        _        d S )Nr4   r9   r6   r   r:   r;   r   )tost_clinic_indeprE   rT   r   rC   rU   rw   rD   rq   s       r   rf   zTestTosti2.setup_class  s`    $crc1f~vbcc1f~188nQ4Y???a&r   Nrr   rM   r   r   rz   rz     rx   r   rz   c                   $    e Zd Zed             ZdS )TestTostip1c                     t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd          }|d         | j        _        d S )Nr4   r5   r6   r   pooledr;   r   )tost_clinic_indep_1_pooledrE   rT   r   rC   rU   rw   rD   rq   s       r   rf   zTestTostip1.setup_class  `    -crc1f~vbcc1f~188nQ4X>>>a&r   Nrr   rM   r   r   r~   r~     rx   r   r~   c                   $    e Zd Zed             ZdS )TestTostip2c                     t           | _        t          d ddf         t          dd df         }}t                      | _        t          j        ||ddd          }|d         | j        _        d S )Nr4   r9   r6   r   r   r;   r   )tost_clinic_indep_2_pooledrE   rT   r   rC   rU   rw   rD   rq   s       r   rf   zTestTostip2.setup_class  r   r   Nrr   rM   r   r   r   r     rx   r   r   c                  \   t           d ddf         t           dd df         }} t          j        | |ddt          j                  }t          |d         t          j        d           t          j        | |ddt          j        d	          }t          |d         t          j        d           d S )
Nr4   r5   皙?      ?r7   r   rA   r:   )r8   r<   )
rT   rU   rV   r	   logr   tost_clinic_1_pairedrF   rw   tost_clinic_1_indep)rb   rc   respresis       r   test_tost_logr     s    CRCF^VBCCF^BRS$"&AAADQ!5!=rBBB>"b#trviPPPDQ!4!<bAAAAAr   c            	      &   t           d ddf         t           dd df         }} t          |                                |                                 z
  t          j        d           t          j        || ddd          }t          |d         t          j        d           t          j        t           dd dd	f         t           d ddd	f         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
        g d
          ddt          j                  }t          j        t           dd dd	f         t           d ddd	f         g d
ddt          j
                  }t          j        t           dd dd	f         t           d ddd	f         g d
dt          j                  }t          j        t           dd dd	f         t           d ddd	f         g d
dt          j
                  }t          j        t           dd dd	f         t           d ddd	f         g d
          }t          j        t           dd dd	f         t           d dddf         g d
dd          }t          j        t           dd ddf         t           d dddf         g d
dd          }t          |d         d         |d         d         d           t          j        t           dd df         t           d ddf         g ddd          }t          j        t           dd df         t           d ddf         g dt          j        dd          d          }d S )Nr4   r5   rA   r.   r   r:   r;   r   r   )      r   r.   r.   r.   )r<   r8   r7   )valuer9      r/   rB   )r   r1   gffffffr.   r.      )rT   r   r[   tost_clinic_1_asymestimaterU   rw   rF   tost_clinic_all_no_multir	   expr   rV   	ttest_indrepeat)rb   rc   resaresallresa3_2s        r   test_tost_asymr     s   CRCF^VBCCF^B		BGGII-/A/JBOOO>"b$I>>>DQ!3!;R@@@ ^F233!8,fSbS!A#X.>9993"+- - -F q	#;#CRHHH ^F233!8,fSbS!A#X.>6"@"@"@AA3"+rv? ? ?F ^F233!8,fSbS!A#X.>9993"+rv? ? ?F vbcc1Q3h/QqS1A<<<c(*0 0 0F vbcc1Q3h/QqS1A<<<c(*0 0 0F ^F233!8,fSbS!A#X.>$B$B$BD D DF ^F233!8,fSbS!A#X.>9993yR R RFnVBCC1H-vcrc1Q3h/?9993yR R RGq	!gajmR@@@@^F2336NF3B36N9993yR R RF^F2336NF3B36N9999S++I? ? ?FFFr   c                     t           d ddf         t           dd df         }} g }t          j        | |dd          }|                    |t          f           t          j        | |dd          }|                    |t
          f           t          j        | |ddd          }|                    |t          f           |D ]?\  }}t          |d	         |j        d
           t          |d         |j	        d
           @t          j
        t          j        |           t          j        |                    }|                    dd          }	t          |	t          j        d
           |                    dd          }	t          |	t          j        d
           |                    dd          }	t!          |	t
          j        d
           |                    dd          }	t!          |	t          j        d
           t          j
        t          j        |           t          j        |                    }|j                            |j                  }
|j                            |          }|j                            t)          j        ||f                    }t-          |j        |
j        u            t-          |j        |j        u            t-          |j        |j        u            d S )Nr4   r5   largerr:   )alternativer<   smallerr/   )r   r<   r   r   rA   rB   z	two-sidedr   )rT   rU   r   appendttest_clinic_indep_1_gttest_clinic_indep_1_lttest_clinic_indep_1_l_mur   	statisticrF   CompareMeansrW   rY   ttest_clinic_indep_1_two_murj   "ttest_clinic_indep_1_two_mu_pooledr   d1get_compared2r	   hstackr   )rb   rc   	all_testst1t2t3rC   rE   cmcicm1cm2cm3s                r   
test_ttestr     s   CRCF^VBCCF^BI	BHY	G	G	GBb01222	BIi	H	H	HBb01222	BIi
! 
! 
!Bb34555 ? ?
dDGT^R@@@@DGT\2>>>>> 
	4+B//1A"1E1E	F	FB			k)		D	DB7@"MMMM			k(		C	CB>GQSTTTT			i			B	BBB 6 ?LLLL			hy		A	ABB 6 ?LLLL 
	4+B//1A"1E1E	F	FB
%

BE
"
"C
%

B

C
%

BIr"g..
/
/CBESVOBESVOBESVOr   z/shape mismatch between res1[1:] and res_sas[1:]T)reasonraisesstrictc                     t          j        d                                t                    } |                     dd          j        \  }}t          j        ||ddt           j                  }d}t          |d         |d         d	           t          |d
d          |d
d          d           t          |d         t          j        d           d S )Nz       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.80r   r5   r   r   r7   )a+ei?)g
ףp=
@r   )gg-C6
?r   r9   r/   rA   )r	   arraysplitfloatreshapeTrU   rV   r   r   tost_s_pairedrF   )rawr   r   rC   res_sass        r   test_tost_transform_pairedr   #  s     ( = >CUWWeM MC
 ;;r!DAqQ3???D8GQQ///QRR'!""+q111Q!6;;;;;r   )r   N)X__doc__numpyr	   numpy.testingr   r   r   pyteststatsmodels.stats.weightstatsstatsweightstatsrU   statsmodels.tools.testingr   r   r   
raw_clinicr   r   r   rT   rp   sampler\   ri   alpharh   dfepsilonresultrF   check_merS   r|   rv   r   r   r   r   r   r   	comp_namer   degr_fr	test_statlowerupper	margin_lo	margin_upbasemethod	var_equalFWERr   tost_clinic_all_multir_   r   	parameterrj   
null_valuer   	data_namettest_clinic_paired_1_linfr   r   r   r   r   rV   rC   rE   rw   rd   r>   rO   rn   rt   rz   r~   r   r   r   r   markxfailAssertionErrorr   rM   r   r   <module>r      s        D D D D D D D D D D  , , , , , , , , , - , , , , ,> > > >$< %*EGG= > 
*e	$	$	,	,R	2	2 VXX $  1  /    D       *  /  6   vxx !3  1  !  H    "  (  3   H  
 FHH (  /  .    B  (    )  .  5   fhh *   2  0     F  )  !  '  1  9  
 $VXX '9  $%7  "#'   %M  " "  %(  "$.  !%8  "&@  # $VXX '8  $%7  "#'   %L  " "  %(  "$2  !%5  "&>  # vxx !3  2  !  I    1  (  4   I   fhh  3  /     G  *  0  '  1  F   - +  A  * ! , B 
 "688 %*  "$,BH .. .. .. %/ %/  ! $,28 -+ -+ -+ $, $,    &.RX /' /' /' &( &(  " $,28 -4 -4 -4 $5 $5    "* +, +, +, "- "-   "* +/ +/ +/ "0 "0   &.RX / / / &  &   "%-RX / / / & &  " !  "+  %0  " $    $  1  .  0  0  -  -  #  "    %  *      "'  !) +. +. +. "/ "/   !) *+ *+ *+ !, !,   #+"( ,' ,' ,' #( #(   !) *3 *3 *3 !4 !4   'bh (- (- (- . .   'bh (. (. (. / /   #+"( ,# ,# ,# #$ #$  "*"( , , , # #    (  "-  !    "3  "$   1  !J  !3  #$   $/  !.  "L   !&(( $5  !$4  !"3  %'VG->#?   #=   %&  "&,  #!:  $N  !   #4   #3   !3  #6"?  "<  $%  !%.  " 9  #M      #4   #3   !2  $&F7,=">  "<  $%  !%+  " 9  #M    #FHH &8  #&6  #$8  !')vg/@%A  "%?  "'(  $(.  %#<   &P  #
 %fhh (:  %(8  %&9  #'M  $'A  $)*  &*5  '%>  "(R  % &,VXX "/A " ,/1 " ,-A " *.U " +.H " +01 " -1< " .,@ " )/Y " ,
 tQQsdSSStQQsdSSSdnVCRCF^VBCCF^T3yQQQM M M M M M M M( ( ( ( ( ( ( (@! ! ! ! ! ! ! !! ! ! ! ! ! ! !! ! ! ! ! ! ! !! ! ! ! !. ! ! !! ! ! ! !. ! ! !B B B)? )? )?V# # #L K(  7 7< <7 7< < <r   