L iLddlmZddlZddlZddlZddlZddlmZm Z m Z m Z ddlm Z ddlmZddlmZddlmZmZmZmZmZmZmZddlmZmZmZdd lmZdd lm Z dd l!m"Z"m#Z#Gd d Z$GddZ%GddZ&Gdde Z'GddZ(GddZ)GddZ*GddZ+GddZ,GddZ-Gd d!Z.y)")productN)assert_ assert_equalassert_allcloseassert_almost_equal)raises) distributions)epps_singleton_2sampcramervonmises_cdf_cvmcramervonmises_2samp_pval_cvm_2samp_exact barnard_exactboschloo_exact) mannwhitneyu _mwu_state_MWU)check_named_results)_TestPythranFunc)SmallSampleWarningtoo_small_1d_not_omitc0eZdZdZdZdZdZdZdZy)TestEppsSingletonctjgd}tjgd}t||\}}t|ddt|ddy)N) gffffffֿgffffff@gGz?\(\?ffffff?gQ@gq= ףp?gGzgGz׿gp= #(@) gffffffg333333ÿgףp= @g @gGz @g)\(@g@g(\@g(\ @333333!@gHzG.@rdecimalgQ,r?)nparrayr rselfxywps f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/stats/tests/test_hypotests.pytest_statistic_1z"TestEppsSingleton.test_statistic_1sR HH7 8 HH4 5#Aq)1Aua0Aw2ctjd}tjd}t||\}}t|ddt |ddy) N)rrr.r.r.r!r!r!r!r0r0r0 r2r2r2)r2r/rr0r2r2rr0r1r2r!rr3rrr0r4r2g!@MbP?atolg&J?r!r)r"r#r rrr$s r*test_statistic_2z"TestEppsSingleton.test_statistic_2%sP HH" # HH  !#Aq)15u-Aw2r,ctjjdtjdtjd}}t t |t |\}}t t |t |\}}t ||\}}t||cxk(xr|k(nct||cxk(xr |k(ycy)N)r"randomseedaranger listtupler) r%r&r'w1p1w2p2w3p3s r*test_epps_singleton_array_likez0TestEppsSingleton.test_epps_singleton_array_like/s tyy}biim1%d1gtAw7B%eAha9B%a+BbBbBr,cBdtjd}}tjtt 5t ||}t|jtjt|jtjdddy#1swYyxYw)Nrr.r!r/r2match) r"r?pytestwarnsrrr r statisticnanpvaluer%r&r'ress r*test_epps_singleton_sizez*TestEppsSingleton.test_epps_singleton_size:shRYYr]1 \\,4I J -&q!,C  / RVV , - - -s ABBcdddddtjftjd}}ttt ||y)Nrr.r!r/r0r2)r"infr? assert_raises ValueErrorr r%r&r's r*test_epps_singleton_nonfinitez/TestEppsSingleton.test_epps_singleton_nonfiniteBs31aArvv& " 1j"61=r,ctjdtjd}}t||}d}t||y)Nr;)rOrQ)r"r?r r)r%r&r'rS attributess r* test_nameszTestEppsSingleton.test_namesGs6yy}biim1"1a(, C,r,N) __name__ __module__ __qualname__r+r8rHrTrZr^r,r*rrs  33  -> -r,rceZdZdZdZdZdZdZdZdZ dZ e jjd d d ggd Zd ZdZy)TestCvmc<ttgddgddy)N)gy;i?g#^ ?gE>?g D )?r/{Gz?皙??g+?-C6?r6rr r%s r* test_cdf_4zTestCvm.test_cdf_4Rs=qA( r,c<ttgddgddy)N)g8*5?g@߾?gHm?g%1 ?r2)rgrhrig333333?rjr6rkrls r* test_cdf_10zTestCvm.test_cdf_10Xs=rB( r,c<ttgddgddy)N)g}tg?g`?gI5o?gׁsF?rfrjr6rkrls r* test_cdf_1000zTestCvm.test_cdf_1000^s=tD( r,c:ttgdgddy)N)a+e?+?&pn?+MJA?rfrjr6rkrls r* test_cdf_infzTestCvm.test_cdf_infds=>( r,clttddgdddgttddgdddgy) NgX(~$?gUUUUU5f@irrgaah?g"@)rr rls r*test_cdf_supportzTestCvm.test_cdf_supportjs6Xz5137!Q@X ;R@1a&Ir,cNttgddtgddy)N)rtrurvrwd'rjr6rkrls r*test_cdf_large_nzTestCvm.test_cdf_large_nos!BEJBC r,ctdtddcxkxrdknctdtdcxkxr dkycy)NgwJ?gt@rq?)rr rls r* test_large_xzTestCvm.test_large_xvs9 (5$/5#56(5//C/0/0r,cd}ttj|dzd}tt |j |dkDt |jdy)N 皙?normrr)r r"onesrr rOrrQ)r%nrSs r* test_low_pzTestCvm.test_low_psG RWWQZ^V4*S01SZZ#r,r&rb?ctjtt5t |d}t |j tjt |jtjdddy#1swYyxYw)NrKr) rMrNrrr rrOr"rPrQr%r&rSs r*test_invalid_inputzTestCvm.test_invalid_inputsW \\,4I J - F+C  / RVV , - - -s AA>>Bcztgdd}t|jddt|jddtgddd}t|jddt|jd dtgd d }t|jd dt|jd dy)N)g333333r.rg?r/皙?333333?rgZ %q?ư>r6gE ж?)r!rg!O!W*?gz"W`?) rr.r0ffffff?gQ? ?@exponge.?gnz\(r?)r rrOrQ)r%rSs r* test_values_RzTestCvm.test_values_Rs;VD xd; ID9;VXN yt< Kd;CWM yt< Kd;r,ctjdd}}t|tjj }t|d}t |j|jf|j|jft|tjj |}t|d|}t |j|jf|j|jfy)Nr0)rffffff?rbeta) r"r?r r rcdfrrOrQr)r%r&argsr1r2s r*test_callable_cdfzTestCvm.test_callable_cdfs))A, 4 A}2266 7 Aw 'bllBII.ryy0IJ A}1155t < Avt ,bllBII.ryy0IJr,N)r_r`rarmrorrrxr{rrrrMmark parametrizerrrrbr,r*rdrdNsa    J 1$ [[S2u+.-/- <$Kr,rdceZdZejj ddgidgiggdgdZdZdZgdZ gd Z d d d d gdd d dgdd d dgd dd dgddd dgddd dggZ ejj de dZ d dddgddddgddddgd dddgddddgdddd ggZ ejj de d!Zd"Zgd#gd$gd%d&Zgd'gd(gd)gd*d+Zgd,gd-gd.gd/gd0d1Zgd2gd3gd4gd5gd6gd7d8Zd9Zd:Zd;Zd d d dgd dd ds@) g#hA{@glz@gcDf@gdz*h@gZA@gI9^YQa@g`@g՞p@g:q@g&@gZ |@g`r@gMc3g@ two-sidedrrr) +?less)r +?greater)r缌%c?r)rg9:?)rg9:?)rg*::?)kwdsexpectedc^t|j|jfi|}t||yN)rr&r'rr%rrrSs r* test_basiczTestMannWhitneyU.test_basic s%4664662T2X&r,T)rr)r)rr)rrF)rgl,KNh?)rgiژ?)rgl,KNh?cbt|j|jfddi|}t||y)Nrr)rr'r&rrs r*test_continuityz TestMannWhitneyU.test_continuity2s,466466G,G$GX&r,c^gd}tjgd}tjgddz}tjgddz}|dz ||z ||z |||z||z|dzg}t||dd}gd }gd }t|j|t |j |y) NrJrr.r!r/r0)rrrrrrg)rrrrrr)rr)r2 !@r4rr3r1)rg]U?g[?gi\ ?gZX<_?gx.?g ?)r"r#rrrOrrQ) r%r&y0dydy2r'rS U_expected p_expecteds r*test_tie_correctz!TestMannWhitneyU.test_tie_correct@s  XXo & XXo &t +hh', WbeRVRCB4 @1ab>/ I S]]J/ J/r,)g?rig?)r皙?皙?r)rhrrrrig?rr.r!)rrr)gx&?g/$?gJ +?rr)y&1?v/?gv/?rgjt?~jt?ʡE?) gy&1?gV-?rrgS?gv?gʡE?g'1Z?gm?rJ)gK7A`?gZd;O?rigMbX?)Mb?RQ?RQ?M?rr) g;On?;On?V-?g?gJ +?rgx&?rigCl?) Mb?Mb?Mb?gy&1?rM?g|?5^?gn?g\(\?!rh?K7?)Mbp?rrr~jt?g333333?g"~j?ףp= ?gzG?K7?gGz?gl?rigI +?r)rrg1Zd?r)rrr1Zd?g%C?rr) g~jt?g~jt?rgsh|??gS㥛?rrg +?rr) g{Gzt?rgg~jt?gL7A`?rgjt?gPn?gI +?gX9v?gQ?gMb?gsh|??gK7A`?)Mb`?rg;On?gQ?g9v?gˡE?gT㥛 ?gbX9ȶ?grh|?gQ?rgx&?gv/?gMbX?g(\?gQ?)r5rrrg9v?g/$?rrgL7A`?g ףp= ?gQ?rgK7?g`"?g7A`?rgV-?gjt?gˡE?)rr.r!r/r0r1c ttdtdd|j|j|j |j d}|jD]\}}|jD]w\}}tjdt|}tjj||ttjj||dtjd||zdz}ttjj|tjj|ztjj!|z dtjj!|}t||dddtjj||tjj!|} t|| zy) Nsr)r!r/r0r1kr5r6rr)setattrrrpn3pn4pm5pm6itemsr"r?lenr set_shapesrrsfpmf) r%p_tablesrtablemr)uu2rpmf2s r*test_exact_distributionz(TestMannWhitneyU.test_exact_distributionpsw Ca,xxDHHdhhG ( +HAu  +1IIaQ( ''1- 0 01 0 5qtDYYq!A#a%( 0 02 0 6",,,//B/"7!8",,,"2"2R"2"8!9:;= !ll&&&,S2Y/ ''1-!||''"'-T*) + +r,cjtjjd}|jd}|jd}t||d}t||d}|j|jk(sJtj |j |j z dkDsJ|jd}|jd}t||d}t||d}|j|jk(sJtj |j |j z dksJy) Ni0r0rrrrg(r5)r"r= default_rngrrOabsrQ)r%rr&r'res1res2s r*test_asymptotic_behaviorz)TestMannWhitneyU.test_asymptotic_behaviorsii##E* JJqM JJqMAq1Aq6~~///vvdkkDKK/04777 JJrN JJrNAq1Aq6~~///vvdkkDKK/04777r,ctgdddgdd}tgdddgdd}t|j|j|jdkDsJtgdddgd d}t|d y) Nrr@rrrrrir)r!r)rrrQ)r%res_lres_grSs r*test_exact_U_equals_meanz)TestMannWhitneyU.test_exact_U_equals_meanswYc $+-Yc $+-U\\5<<0||c!!!9sCjk")+S&!r,rr)rri)rg郡E?)rresultc.ttdi||y)Nrr.)rr)r%rrs r*test_scalar_dataz!TestMannWhitneyU.test_scalar_datas  2T2F;r,cttddddttddddttdddddtjfy) Nrrr)rirrF)rrri)rrr"rPrls r*test_equal_scalar_dataz'TestMannWhitneyU.test_equal_scalar_datasP \!Qw7B\!Q|rrrQshaperOmoveaxisndim broadcast_tozerosrrangetestingr)r%rrrrr&r'rSr statisticspvaluesiindicesxiyitemps r*test_gh_12837_11113z$TestMannWhitneyU.test_gh_12837_11113s q1 IINN1a # IINN1aA & ,1aT:zz5(((}}""e+++{{1dB'Qb)A1 iLvv OOAut| , OOAut| ,wws|u$$$wws|u$$$XXe_ ((5/5 9aq 9: +G7B7BBv6D"&..Jw #{{GG   +  G4  z:!:sH7cgd}gd}t||}tj|d<t||}t|j|jt|j |j tj |d<t||}t|jtj t|j tj y)NrJ) r!r1r3r4rr!r.rr/r/r0r/)rr"rVrrOrQrP)r%r&r'r r res3s r* test_gh_11355zTestMannWhitneyU.test_gh_11355s  -Aq!vv!Aq!T^^T^^4T[[$++.vv!Aq!T^^RVV,T[["&&)r,r!r1r3r4r.rr/r0r2g+zQ?rg}$k\?g1@g!˛G*?rg,s?8@gFHQ?)r&r'rOrQct||d}t|j|dt|j|dy)Nrr-q=r6)rrrOrQ)r%r&r'rOrQrSs r*test_gh_11355bzTestMannWhitneyU.test_gh_11355b s21a 5 yu= F7r,)Trrg&?)TrrgO?)TrrgO?)Frrg9@VN!x?)Frrg9M>?)Frrg9M>?)Trrg?UV?)TrrgߺVJH?)TrrgVJH?)rrr pvalue_expcd}d}d}t|||||}t|j|t|j|y)N#) rg(\?g= ףp=?gp= ף?g333333?gGz?g(\?g= ףp=?rg\(\?)gffffff?g)\(?rgGz?g\(\?rrr)rrrOrrQ) r%rrrr3 statistic_expr&r'rSs r* test_gh_9184zTestMannWhitneyU.test_gh_91841sE. H *1a'26CS]]M2 J/r,c,tjtjtjtjtjtjg}tjtjtjtjtjtjg}t||}t |j tjt |j tjyr)r"r#rPrrrOrQ)r%abrSs r* test_gh_4067zTestMannWhitneyU.test_gh_4067Ps HHbffbffbffbffbff= > HHbffbffbffbffbff= >1a S]]BFF+SZZ(r,rr)r!ga׀}?)r!r)rg?h?)rr)r.g5&#\?)r.r)r&r'rrc@t||d|d}t||dy)NTrr6r1rtol)rr)r%r&r'rrrSs r* test_gh_2118zTestMannWhitneyU.test_gh_2118hs%1a+".0XE2r,ctjjd}d\}}|j|}|j|}ttdt ddtj jtj||d}tj jj}|dt|j||z|jz d zk(sJtj||d|tj jjk(sJtj jtj|d|zdd tj jj}|dd k(sJtjd|z|dd |tj jjk(sJy) Ng>mjK)r0rsizerrrrrrr)rr)r"r=r rrrrresetstatsrconfigurationsrminrO)r%rrrr&r'rSrs r*test_gh19692_smaller_tablez+TestMannWhitneyU.test_gh19692_smaller_tablepsq ii##$781 JJAJ  JJAJ  Ca,   Ag6 ++11RyC qsS]]/BCaGGGG 1a0 3399999   1ac'yI ++11RyA~~ 1Q3'yI 3399999r,r)rrrctjjd}|jd}|jd}tj||tj |d}tj||d|d}t |j|jd t |j|jd y) NrB)r.r0rC)r.r1r)rrrrV瞯) r"r=r rFrPermutationMethodrrOrQ)r%rrr&r'rSr s r*test_permutation_methodz(TestMannWhitneyU.test_permutation_methodsii##$78 JJFJ # JJFJ #  Ae.E.E.G-8qB!!!Qw.9C t~~EB DKKe)+$-A)+ ,K [[1;?'@'*5M.0)/4H.0)2dK.0)4N.0)/5I.0)2eL.0 1 [[13CD 'E '0, $8. 0C"A<K MC)7K2<  =C+?19G$ %C+88* "$&1LI%+|D%.,G(*%0GDfM%+w?J%.'BFKML [[/><?< H [[X g'>?);@);V*&!1aAq!Q:)!1aAq!Q?)+2661%1aAq!Q:/+2661%1aAq!Q?)*1aAq!Q?/+,K  [[> L8M8 ?BC@CE:=?AJ [[67AC0C0:)sCj)5IJsCj&2FGsCj+x@qc9.CDqc6+@Aqc;9q6Aq69.ABq6Aq66+>?q6Aq6;79J [[BJO3P3:: [[],LM =N =r,rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z ejj!d d dZejj$dZy) TestSomersDc|j|jz|_tjd|j|jzftjd|j|jzfd|_|j Dcgc]}|j |d}}t jtjd|_ |j||_ ycc}w)Nr2rrrr) ALL_INTEGER ALL_FLOATdtypesr"r? arguments functoolspartialrFsomersd partialfuncr)r%idx input_arrays r* setup_methodzTestSomersD.setup_methods&&7  iim"..?A iim"..?AB:>H#t~~c*1-H H %,,U]]9DF(((+6 IsC)c|j|}t|j|jjdt|j|jjdy)NrKr6)r^rrOrrQr%rrSs r* pythranfunczTestSomersD.pythranfuncsHd% t}}'>'>UK DMM$8$8uEr,c6gdgdgdg}tj|}|jtj}tj|fi|}t|j|jdt|j |j dy)N)rzr3r)r3rgr5r)rr!r.r3rKr6)rFr]get_optional_argsrrOrQ)r%rr  optional_argsr s r*test_pythranfunc_keywordsz%TestSomersD.test_pythranfunc_keywordssm#%8:JK}}U#..u}}= }}U4m4UC T[[u=r,c gd}gd}d}tj||}t|j|ddt|j|ddgd}gd }d}tj||}t|j|ddt|j|ddgd }gd }d }tj||}t|j|ddt|j|ddt j d }t j d }d}tj||}t|j|ddt|j|ddt j d }t jgd}d}tj||}t|j|ddt|j|ddt j d }t j d ddd}d}tj||}t|j|ddt|j|ddt j d }t jgd}d}tj||}t|j|ddt|j|ddgd}gd}d}tj||}t|j|ddt|j|ddtjgdgd}t|jt jt|jt jtjgdgd}t|jt jt|jt jtjgdgd}t|jt jt|jt jtjdgdg}t|jt jt|jt jtjgg}t|jt jt|jt jt j d}t j d}tttj||y)N)r0r.rr!r1r/r3r4)r0r.r1r!rr4r3r/rrrKr6r) rr0r.rr!r1r/r3r4) r0r.rr1r!rr4r3r/)r0r.rr!r1r/r3)r0r.r1r!rr3r/)g+$I$I¿g=/3n+?r2rr) rr.rr!r/r1r0r3r4r)gs'}'?ror)gr) rr3r4r1r0r!r/r.rr)g}'}'ro)rr.rrr.)rr/r3rr)g.ʂ?)r.r.r.)r.rr.g$@4@) rFr]rrOrQr"r?r#rPrWrX)r%r&r'rrSx1x2s r*test_like_kendalltauz TestSomersD.test_like_kendalltaus % $9mmAq! x{? HQKe< ( '9mmAq! x{? HQKe< " !:mmAq! x{? HQKe< IIbM IIbM*mmAq! x{? HQKe< IIbM HH3 49mmAq! x{? HQKe< IIbM IIbM$B$ +mmAq! x{? HQKe< IIbM HH3 4;mmAq! x{? HQKe< :mmB# x{? HQKe<mmIy1 rvv. BFF+mmIy1 rvv. BFF+mmIy1 rvv. BFF+mmQC!% rvv. BFF+mmB# rvv. BFF+ IIcN IIcNj%--A6r,cgd}gd}d}d}d}tj||}t|j|dt|j|dt |j jd tj||}t|j|dt|j|dt |j jd y) N)rrrr.r.r.r.r.r!r!rr.r.r.r.r.r.r.r!r!r!r!r!r!)rrrrrrrrrrr.r.r.r.r.r.r.r.r.r.r.r.r.r.gCE]t?g^_?gO((Ƿ?rKr6rj)r!r.r.r!)rFr]rrOrQrrr)r%r&r'd_crd_rcr)rSs r*test_asymmetryzTestSomersD.test_asymmetry)s 1 1!  mmAq! t%8 AD1SYY__f-mmAq! t%8 AE2SYY__f-r,c^tjddgddgddgddgddgg}|j}d}tt j |j |tjd d gd d gd d gg}d \}}tt j |j |tt j |jj |tjd d gd d gd d gg}d}tt j |jj |y)Nr4r.r1r0r!r/rgHHHHHH?rfrUr;)gM&w?rgtE]t)r"r#TrrFr]rO)r%rdyxdxys r*test_somers_originalz TestSomersD.test_somers_originalBs 1a&1a&1a&1a&1a&AB e,66<2q'B7QG45'S e,66< egg.88#>2q'Ar7RG45 egg.88#>r,cd}d}tj|}tjjd}tj j |tj||z |j|}t j|}tj|dtj|dd}t j|}tj|dtj|dd} t j| } tj|dtj|ddzd} t j| } t|jdd t|j|jt|j| jt|j| jt|jd d t|j|jt|j| jt|j| jy) Nr}r/r1rr) random_stater.rrgayrKr6gPj$?)r"prodr=rrF multinomialrvsrreshaper]insertr!rrOrQ) r%NrrDrrrSs2r s3r-s4res4s r**test_contingency_table_with_zero_rows_colsz6TestSomersD.test_contingency_table_with_zero_rows_colsXs wwu~ii##A&    ! !!rwwt}T'9/2 " 44;GEN mmA YYq!RXXeAh/a 8}}R  YYq!RXXeAh/a 8}}R  YYr1bhhuQxz2 ;}}R   '9F t~~6 t~~6 t~~6 $5EB DKK0 DKK0 DKK0r,c"d}d}tj|}tjjd}tj j |tj||z |j|}|dz }d}tt|5t j|ddd|dz}d }tt|5t j|dddd }tt|5t jggdddtt|5t jd ggdddtjd } tt|5t j| dddd | d <tt|5t j| dddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYoxYw#1swYyxYw)Nr}rrrr.z:All elements of the contingency table must be non-negativerKrgz5All elements of the contingency table must be integerz?At least two elements of the contingency table must be nonzero.r)r!r!r) r"rr=r rFrrrrrWrXr]r!) r%rrrDrrs5messages6s7s r*test_invalid_contingency_tablesz+TestSomersD.test_invalid_contingency_tablesxs wwu~ii##A&    ! !!rwwt}T'9/2 " 44;GEN UN :W 5  MM"  XI :W 5  MM"  , :W 5 MM2$  :W 5 ! MMA3%  !XXf  :W 5  MM"  4 :W 5  MM"   +         ! !    sHGG?G!/G-5G9)HGG!G*-G69HHc:gd}ddtjg}gd}ddtj g}tj||}tj||}t |j |j t |j |j y)Nrrg@)r!r.rrrq)r"rVrFr]rrOrQ)r%r&rtr'y2rSr s r*test_only_ranks_matterz"TestSomersD.test_only_ranks_mattersr #rvv  w mmAq!}}R$S]]DNN3SZZ-r,ctjd}tjd}tj||}t |j tj dy)Nr2)r"r?rFr]rreyerRs r*test_contingency_table_returnz)TestSomersD.test_contingency_table_returnsB IIbM IIbMmmAq!SYYr +r,cLgd}gd}tj||d}|jdkDsJtj||d}t|j|jt |j d|j dz z tj||d }t|j|jt |j |j dz |j tj||d}|jdksJtj||d }t|j|jt |j d|j dz z tj||d}t|j|jt |j |j dz tjtd 5tj||d dddy#1swYyxYw) Nr)r0r1r3r4r3rrrrrr.rz`alternative` must be...rK ekki-ekki) rFr]rOrrrQreverserMrrX)r%rsrtrrSs r*test_somersd_alternativez$TestSomersD.test_somersd_alternatives ==R[A!!A%%%mmB7S]]H$6$67 A1)<$=>mmB :S]]H$6$67 HOOa$78 ==R[A!!A%%%mmB :S]]H$6$67 A1)<$=>mmB7S]]H$6$67 HOOa$78 ]]:-G H ; MM"bk : ; ; ;s 8HH#positive_correlation)FTctjd}|r|ntj|}|rdnd}tj||d}|j |k(sJ|j dk(sJtj||d}|j |k(sJ|j |rdndk(sJtj||d}|j |k(sJ|j |rdndk(sJy) Nr2rrrrrrr)r"r?fliprFr]rOrQ)r%rrsrtexpected_statisticrSs r* test_somersd_perfect_correlationz,TestSomersD.test_somersd_perfect_correlations YYr]'RRWWR["6QBmmB <}} 2222zzQmmB7}} 2222zz#7aQ???mmB :}} 2222zz#7aQ???r,cddg}d}tjdtj||}tj||}d}tj||j }t ||dy) Nrr.@Bi_rgHz YrKr6)r=r>choicesrFr]rOr)r%classes n_samplesr&r' val_sklearn val_scipys r*!test_somersd_large_inputs_gh18132z-TestSomersD.test_somersd_large_inputs_gh18132sia&  G NN7i 0 NN7i 0, MM!Q'11  YU;r,N)r_r`rarardrlrurzrrrrrrrMrrr thread_unsaferrbr,r*rUrUs 7F >m7^.2?,1@"H .,';R [[3]C@D@0 [[<TestBarnardExactz8Some tests to show that barnard_exact() works correctly.input_sample,expected+r r2')gXyq @g{2s&Q7?r}r.rqr0)gllgEA]0K?r3r4)*)1%g_?r)g_c1?g=?r\)g5PyQgQ@2?rrf)ggJ"?)g_c1gwݝل?rr/)g7@g?r!)g~t,?3O?r1)gr?~CY7?cft|}|j|j}}t||g|y)zThe expected values have been generated by R, using a resolution for the nuisance parameter of 1e-6 : ```R library(Barnard) options(digits=10) barnard.test(43, 40, 10, 39, dp=1e-6, pooled=TRUE) ``` NrrOrQrr% input_samplerrSrOrQs r* test_precisezTestBarnardExact.test_precise s.2L)MM3::6 F+X6r,)g7\@gA2?)gXS;gh?)g>!Ɏg6?)gSy@?g^F?)g-gXI#?)gaЍgo?)gb]?gFugH ?)g 6ҭ@g?)gi( r)gNXzrcjt|d}|j|j}}t||g|y)zThe expected values have been generated by R, using a resolution for the nuisance parameter of 1e-6 : ```R library(Barnard) options(digits=10) barnard.test(43, 40, 10, 39, dp=1e-6, pooled=FALSE) ``` F)pooledNrrs r*test_pooled_paramz"TestBarnardExact.test_pooled_param*s02L7MM3::6 F+X6r,c d}tt|5tddgddggddddd }tt|5ttjd j dddddd }tt|5td dgddggdddd }tt|5tddgddggddddy#1swYxYw#1swYqxYw#1swYPxYw#1swYyxYw)N7Number of points `n` must be strictly positive, found 0rKrr.r!r/rr,The input `table` must be of shape \(2, 2\).r1*All values in `table` must be nonnegative.rzI`alternative` should be one of {'two-sided', 'less', 'greater'}, found .* not-correct)rWrXrr"r?rr% error_msgs r* test_raiseszTestBarnardExact.test_raisesGs  F :Y 7 1 Aq6Aq6*a 0 1E :Y 7 6 "))A,..q!4 5 6A :Y 7 - B7QF+ , -   :Y 7 ; Aq6Aq6*M : ; ;% 1 1  6 6  - - ; ;/C/C" C.:C:C"C+.C7:Drpct|}|j|j}}t||dt||dyNrrrrOrQrrs r*test_edge_casesz TestBarnardExact.test_edge_casesas;L)MM3::6 VXa[)Y ,r,rct|}|j|j}}t||dt||dyrrrs r*test_row_or_col_zeroz%TestBarnardExact.test_row_or_col_zeroms;L)MM3::6 VXa[)Y ,r,)rgE\/??,)ggQ5ror<i)g&X}>rorrrc|\}}|dk(r"tj|dddddf}| }t||}|j|j}}t ||g||gdy)a "The expected values have been generated by R, using a resolution for the nuisance parameter of 1e-6 : ```R library(Barnard) options(digits=10) a = barnard.test(2, 7, 8, 2, dp=1e-6, pooled=TRUE) a$p.value[1] ``` In this test, we are using the "one-sided" return value `a$p.value[1]` to test our pvalue. rNrrHz>r6)r"r#rrOrQr) r%rrr expected_statless_pvalue_expectrSrOrQs r*test_less_greaterz"TestBarnardExact.test_less_greaterzsp,-5) ) ) #88L1!TrT':L*NMLkBMM3::6   -1C!D4 r,N)r_r`ra__doc__rMrrrrrrr"rPrrrbr,r*rr suB [[2hR !#C DAhq "$E F!fq!f @ A!fr2h !A B"gBx "C D"gBx "C D1gAw !B C!fq!f ? @!fq!f @ A!fq!f @ A!fq!f @ A  7! 7 [[2hR !#C DAhq "$E F!fq!f @ A!fr2h !A B"gBx "C D"gBx "C D1gAw !B C!fq!f ? @!fq!f @ A!fq!f @ A!fq!f @ A  7! 7;4 [[!fq!f x (  -  -  [[!fq"g bff .!fr1g bff . --  [[!fq!f @ A#ha !#: ;2hq "$; <  [[]Y,?@ A r,rceZdZdZdZej jdddgddggdfdd gd d ggd fdd gd dggdfd dgd d ggdfddgd dggdfdd gddggdfddgddggdfddgddggdfd dgddggdfg dZej jdddgd dggdfddgddggd fdd gd d ggd!fdd"gd d ggd#fdd gd dggd$fddgd dggd%fdd gddggdfddgd&dggdfddgddggd fddgddggd'fd dgddggd(fg d)Z ej jdddgd dggd*fddgddggd+fdd gd d ggd,fdd gd dggd-fddgd dggd.fdd gddggd/fddgddggd+fddgddggd0fgd1Z d2Z ej jdddgdd gge je jffddgd dgge je jffgd3Zd4Zej jd5d6d7Zy8)9TestBoschlooExactz9Some tests to show that boschloo_exact() works correctly.rrr.r3r4)<vB\?g/??r0rr2)gM?gA>?rr\rf)_VѶ?g֭?)u%?gc'?rr/rrr!)rig?r)+f?gXc}v?%)gZыD?ggi]?ct|d}|j|j}}t||g||jy)aThe expected values have been generated by R, using a resolution for the nuisance parameter of 1e-8 : ```R library(Exact) options(digits=10) data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE) a = exact.test(data, method="Boschloo", alternative="less", tsmethod="central", np.interval=TRUE, beta=1e-8) ``` rrr6NrrOrQrATOLrs r* test_lesszTestBoschlooExact.test_lesss62\v>MM3::6 F+XDIIFr,rr r) k\2?g0,%?)gKv?gN3?)rg'&5?r)gw@_?g7?)gi{?gɑ)z?)օa?g1|?r1)gY<;?gND?)ge?gG`?ct|d}|j|j}}t||g||jy)aThe expected values have been generated by R, using a resolution for the nuisance parameter of 1e-8 : ```R library(Exact) options(digits=10) data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE) a = exact.test(data, method="Boschloo", alternative="greater", tsmethod="central", np.interval=TRUE, beta=1e-8) ``` rrr6Nrrs r* test_greaterzTestBoschlooExact.test_greaters66\yAMM3::6 F+XDIIFr,)rgqQS,5?)rgG?/??)rgKE`?)rghr1ֽ?)rgrfb?)rig?)rgP:pRv?ct|dd}|j|j}}t||g||jy)aThe expected values have been generated by R, using a resolution for the nuisance parameter of 1e-8 : ```R library(Exact) options(digits=10) data <- matrix(c(43, 10, 40, 39), 2, 2, byrow=TRUE) a = exact.test(data, method="Boschloo", alternative="two.sided", tsmethod="central", np.interval=TRUE, beta=1e-8) ``` r@)rrr6Nrrs r*test_two_sidedz TestBoschlooExact.test_two_sideds80\{bIMM3::6 F+XDIIFr,c d}tt|5tddgddggddddd }tt|5ttjd j dddddd }tt|5td dgddggdddd }tt|5tddgddggddddy#1swYxYw#1swYqxYw#1swYPxYw#1swYyxYw)NrrKrr.r!r/rrrr1rrzK`alternative` should be one of \('two-sided', 'less', 'greater'\), found .*r)rWrXrr"r?rrs r*rzTestBoschlooExact.test_raisess  F :Y 7 2 QFQF+q 1 2E :Y 7 7 299Q<//15 6 7A :Y 7 . RGaV, - .  % :Y 7 < QFQF+] ; < <% 2 2  7 7  . . < >R}q   C[ 9 @ @Syyr,r)rrcddgddgg}t||j}tj||d}t ||y)Nr.r3r4rr)rrOrF fisher_exactr)r%rr boschloo_statfisher_ps r*test_against_fisher_exactz+TestBoschlooExact.test_against_fisher_exact,sI1v1v&s DNN %%c{CAF x0r,N)r_r`rarrrMrrrrrrr"rPrrrrbr,r*rrsC D [[!fq!f 8 9!fr2h !7 8"gBx ": ;1gAw !8 9!fq!f v &!fq!f ~ .!fq!f 8 9"g1v  8 92hR !#9 :   G  G [[2hR !#? @!fq!f 5 6!fr2h !8 9"gBx "8 9"gBx "7 8!fq!f 8 9!fq!f v &!fq!f v &!fq!f 5 6"g1v  6 72hR !#9 :  G! G [[2hR !#? @!fq!f 7 8!fr2h !7 8"gBx "8 9!fq!f 7 8!fq!f } -!fq!f 7 8"g1v  8 9  G G <4 [[!fq"g  0 1!fr1g  0 1 --  [[],?@1A1r,rcBeZdZejj dgejdfejddgfgdZdZ dZ dZ ejj dgd d Z ejjd Zd Zd ZdZy) TestCvm_2samprr0rc tjtt5t |}t |j tjt |jtjdddy#1swYyxYw)NrK) rMrNrrr rrOr"rPrQrcs r*test_too_small_inputz"TestCvm_2samp.test_too_small_input7sW\\,4I J -&-C  / RVV , - - -s AA::Bctjd}d}tjt|5t ||ddddy#1swYyxYw)Nr0z/method must be either auto, exact or asymptoticrKxyz)r"r?rMrrXr )r%r'msgs r*rz TestCvm_2samp.test_invalid_input?sC IIaL? ]]:S 1 . Au - . . .s A  Acgd}gd}t||}ttj|tj|}t|j|j f|j|j fy)N)r.r!r/r3r1)rrrrh)r r"r#rrOrQr%r&r'rrs r*test_list_inputzTestCvm_2samp.test_list_inputEsX   !!Q ' !"((1+rxx{ ;bllBII.ryy0IJr,cgd}gd}t||}t|jddt|jddy)N) gffffff@g @rgffffff!@皙"@g#@g333333$@g333333%@gffffff&@)g@g@g@@333333@gffffff @g333333"@g#@g%@g&@g'@g(@g)@g*@g333333-@gS㥛?r5r6g ףp= ?rg)r rrOrQ)r%r&r'rs r*test_example_conoverz"TestCvm_2samp.test_example_conoverLs< =  A & U6$T2r,zstatistic, m, n, pval))ir0r1gcj`?)iir3r3gtE]t?)i@r/r1g88?)ir1r3gXwS?c2tt||||yr)rr)r%rOrrpvals r*test_exact_pvaluezTestCvm_2samp.test_exact_pvalueVs *9a;TBr,ctjjd}tjj d|}tjj d|}t ||}td|jcxkxrdknct ||dz}td|jcxkxr dkycy)Nir)rDri rrr) r"r=r r rrr rrQ)r%rr&r'rs r*test_large_samplezTestCvm_2samp.test_large_sampleasii##D)    " "c " B    " "S " A A &AHH q ! AcE *AHH q ! !r,cBtjjd}|jd}|jd}t ||d}t ||d}t |j |j t|j|jdy) Nrr3r4rrrrgr6) r"r=rrr rrOrrQ)r%rr&r'rrs r*test_exact_vs_asymptoticz&TestCvm_2samp.test_exact_vs_asymptoticmsrii##A& HHQK HHQK !!Qw 7 !!Q| <R\\2<<0 29948r,cPtjd}gd}t||d}t||d}t|j|jtjd}t||d}t||d}t|j|jy)Nr\)rig@g333333*@rrrrr)r"r?r rrQrs r*test_method_autozTestCvm_2samp.test_method_autovs} IIbM  !!Qw 7 !!Qv 6RYY * IIbM !!Q| < !!Qv 6RYY *r,ctjd}t||}t|j|j fdt|dd|dd}t|j|j fdy)Nrrnr/)r"r?r rrOrQrs r*test_same_inputzTestCvm_2samp.test_same_inputsc IIbM"1a(cmmSZZ0*="1Ra5!BQ%0cmmSZZ0*=r,N)r_r`rarMrrr"r?rrrrr xslowr rrrrbr,r*rr6s [[Vr9299Q<&8'0ryy|aS&9&;<-<- . K3 [[456 C 6 C  [[ " "9 + >r,rceZdZgdgdgdfZgdgdgdfZgdgdgdfZdZdZd Ze jjd eed feed feed ffgd dZ dZ dZe jjd ee dfeedffddgdZdZdZdZdZdZdZdZe jjddd Ze jjd!gd"d#Zd$Zy%)& TestTukeyHSD)r/7@ffffff:@皙;@fffff=@)ffffff<@皙A@=@皙@@皙>@)g:@gL<@gL8@g333333:@g;@)r/rgHzG:@rrrrr)r/rr) rrrrrrrrrraK Comparison LowerCL Difference UpperCL Significance 2 - 3 0.6908830568 4.34 7.989116943 1 2 - 1 0.9508830568 4.6 8.249116943 1 3 - 2 -7.989116943 -4.34 -0.6908830568 1 3 - 1 -3.389116943 0.26 3.909116943 0 1 - 2 -8.249116943 -4.6 -0.9508830568 1 1 - 3 -3.909116943 -0.26 3.389116943 0 aS Comparison LowerCL Difference UpperCL Significance 2 - 1 0.2679292645 3.645 7.022070736 1 2 - 3 0.5934764007 4.34 8.086523599 1 1 - 2 -7.022070736 -3.645 -0.2679292645 1 1 - 3 -2.682070736 0.695 4.072070736 0 3 - 2 -8.086523599 -4.34 -0.5934764007 1 3 - 1 -4.072070736 -0.695 2.682070736 0 aS Comparison LowerCL Difference UpperCL Significance 2 - 3 1.561605075 4.34 7.118394925 1 2 - 1 2.740784879 6.08 9.419215121 1 3 - 2 -7.118394925 -4.34 -1.561605075 1 3 - 1 -1.964526566 1.74 5.444526566 0 1 - 2 -9.419215121 -6.08 -2.740784879 1 1 - 3 -5.444526566 -1.74 1.964526566 0 zdata,res_expect_str,atolrjg|=)equal size sampleunequal sample sizezextreme sample size differencesidsc"tj|jddjddtj d}t j|}|j}|D]\}}} } } } t|dz t|dz }}t|j||f| |t|j||f| |t|j||f| |t|j||fd k| dk(y) a SAS code used to generate results for each sample: DATA ACHE; INPUT BRAND RELIEF; CARDS; 1 24.5 ... 3 27.8 ; ods graphics on; ODS RTF;ODS LISTING CLOSE; PROC ANOVA DATA=ACHE; CLASS BRAND; MODEL RELIEF=BRAND; MEANS BRAND/TUKEY CLDIFF; TITLE 'COMPARE RELIEF ACROSS MEDICINES - ANOVA EXAMPLE'; ods output CLDiffs =tc; proc print data=tc; format LowerCL 17.16 UpperCL 17.16 Difference 17.16; title "Output with many digits"; RUN; QUIT; ODS RTF close; ODS LISTING;  -  r0Ndtype)r1r1rr6rhr"asarrayreplacesplitfloatrrF tukey_hsdconfidence_intervalintrlowrOhighrQ) r%datares_expect_strr7 res_expect res_tukeyconfr&jlrhsigs r*test_compare_saszTestTukeyHSD.test_compare_sassBZZ 6 6uc B H H J12 N&+--4WV_ OOT* ,,.", G Aq!Q3q6A:s1vzqA DHHQTNAD 9 I//15qt D DIIadOQT : Y--ad3s:SAX F  Gr,z 1 2 -8.2491590248597 -4.6 -0.9508409751403 0.0144483269098 1 3 -3.9091590248597 -0.26 3.3891590248597 0.9803107240900 2 3 0.6908409751403 4.34 7.9891590248597 0.0203311368795 z 1 2 -7.02207069748501 -3.645 -0.26792930251500 0.03371498443080 1 3 -2.68207069748500 0.695 4.07207069748500 0.85572267328807 2 3 0.59347644287720 4.34 8.08652355712281 0.02259047020620 r1rr zunequal size samplectj|jtj d}t j |}|j}|D]\}}} } } } t|dz t|dz }}t|j||f| |t|j||f| |t|j||f| |t|j||f| |y)an vals = [24.5, 23.5, 26.4, 27.1, 29.9, 28.4, 34.2, 29.5, 32.2, 30.1, 26.1, 28.3, 24.3, 26.2, 27.8] names = {'zero', 'zero', 'zero', 'zero', 'zero', 'one', 'one', 'one', 'one', 'one', 'two', 'two', 'two', 'two', 'two'} [p,t,stats] = anova1(vals,names,"off"); [c,m,h,nms] = multcompare(stats, "CType","hsd"); r'r!r1rr6N)r"r*r,r-rrFr.r/r0rr1rOr2rQ) r%r3r4r7r5r6r7r&r8r9rr:r)s r*test_compare_matlabz TestTukeyHSD.test_compare_matlabsZZ 4 4 6&+--4WV_ OOT* ,,. * B Aq!Q1q6A:s1vzqA DHHQTNAD 9 I//15qt D DIIadOQT : I,,QT2AD A  Br,c4d}tj|jddjddtj d}gdgd gd f}t j|}|j}|D]\}}}} } } t|d z t|d z }}t|j||f| d t|j||f|d t|j||f| d t|j||f| d y)a+ Testing against results and p-values from R: from: https://www.rdocumentation.org/packages/stats/versions/3.6.2/ topics/TukeyHSD > require(graphics) > summary(fm1 <- aov(breaks ~ tension, data = warpbreaks)) > TukeyHSD(fm1, "tension", ordered = TRUE) > plot(TukeyHSD(fm1, "tension")) Tukey multiple comparisons of means 95% family-wise confidence level factor levels have been ordered Fit: aov(formula = breaks ~ tension, data = warpbreaks) $tension z diff lwr upr p adj 2 - 3 4.722222 -4.8376022 14.28205 0.4630831 1 - 3 14.722222 5.1623978 24.28205 0.0014315 1 - 2 10.000000 0.4401756 19.55982 0.0384598 r%r&r0Nr'r>)r;6rfF43rACrzrgrG)r\,)rhrrGrirrhr5r;$*rArHrrr<rrrG)rLrrrhr2rr<rrAr\rrrirrrrr<rrr6rh㈵>r)) r%str_resr5r3r6r7r&r8rr9r:r)s r*test_compare_rzTestTukeyHSD.test_compare_r s  ZZs ; A A CAB G&+--4WV_ 555 6OOT* ,,. * B Aq!Q1q6A:s1vzqA DHHQTNAD 9 I//15qt D DIIadOQT : I,,QT2AD A  Br,cgd}gd}gd}gd}tj||||}|j}tjgdgdgdgdg}tjgd gd gd gdg}d D]I\} } t |j | | f|| | fd t |j| | f|| | fd Ky)zp Example sourced from: https://www.itl.nist.gov/div898/handbook/prc/section4/prc471.htm )皙@g@333333@gffffff@g@)g @rg333333@gffffff"@r)g @g%@g333333 @rRr)rSgffffff@gffffff@gffffff@g@)rrrg)g(\?rgq= ףpgp= ף?)gGz?rrg ףp= ?)rrrr)rrrgzG?)gzG@rg?g= ףp=@)g= ףp=@rrg@)rr)r.r)rr!rrwrgr6N)rFr.r/r"r*rr1r2) r%group1group2group3group4rSr7lowerupperr&r8s r*test_engineering_stat_handbookz+TestTukeyHSD.test_engineering_stat_handbook5s +*+*ooffff=&&(       !    ? EFQ DHHQTNE!Q$Kd C DIIadOU1a4[t D Er,cBtjjdtjjdd}t j |}|j }t|j|jj ttj|j|jdttj|j|jdt|j|jj ttj|jdt|j|jjttj|jdy)Nr:r!r}rrrr)r"r=r>rrFr.r/rr1r2r}diagonalrOrQ)r%r3rSr7s r*test_rand_symmzTestTukeyHSD.test_rand_symmOs tyy~~a%oot$&&(TXX |, R[[+TYYt_=R[[*DHHTN;S]]S]]__$45R[[/3SZZ.R[[,a0r,cttd5tjgddtj ggddddy#1swYyxYw)Nz...must be finite.rKrr.)r1r3r!)rWrXrFr.r"rVrls r* test_no_infzTestTukeyHSD.test_no_infbs: :-A B ? OOI266{I > ? ? ?s ,AActtd5tjddgddggddggddddy#1swYyxYw)Nz...must be one-dimensionalrKrr.r!r0)r0rr1rWrXrFr.rls r* test_is_1dzTestTukeyHSD.test_is_1dfsG :-I J B OOaVaV,q!fj A B B Bs "=Acttd5tjgddggddddy#1swYyxYw)Nz...must be greater than onerKr.r0)r/r0r1rcrls r* test_no_emptyzTestTukeyHSD.test_no_emptyjs6 :-J K 3 OOBA 2 3 3 3s 7Acd}tt|5tjgdddgddgd dddy#1swYyxYw) Nz(Expected a boolean value for 'equal_var'rKrr.r0r1r3False) equal_var)rW TypeErrorrFr.)r%rs r*test_equal_var_input_validationz,TestTukeyHSD.test_equal_var_input_validationnsD8 9C 0 J OOI1v1v I J J Js =Anargsrcttd5tjgdg|zdddy#1swYyxYw)Nz...more than 1 treatment.rKrr3r!rc)r%rls r*test_not_enough_treatmentsz'TestTukeyHSD.test_not_enough_treatmentsss5 :-H I 5 OOzlU2 4 5 5 5s4=cl)rqrrr.cttd5tjgdddgddg}|j |dddy#1swYyxYw)Nzmust be between 0 and 1rKrnr!r/r)rWrXrFr.r/)r%rprs r*test_conf_level_invalidz$TestTukeyHSD.test_conf_level_invalidxsJ :-F G & QFQF;A ! !" % & & &s /A  Ac tj|jdd}tj|jdd}t |j |j dt |j |j dy)Nr.rrT)rFr.data_diff_size ttest_indrrQ)r%r6 res_ttests r*test_2_args_ttestzTestTukeyHSD.test_2_args_ttest~snOOT%8%8!%<= OOT%8%8!%<=  (()*:*:4*@A (()*:*:4*@Ar,N)r_r`radata_same_sizert extreme_size sas_same_size sas_diff_size sas_extremerMrrr< matlab_sm_sizmatlab_diff_szr?rPr[r_rardrfrkrorrrwrbr,r*rrs4446NH446N'24L MMK [[7-}dC-}dC+[%@ "E F#GF#GJ M  N  [[7-}eD-~tDF"5"7"9: B : B*'BRE41&?B3J  [[Wf-5.5 [[T>2&3& Br,rc0eZdZgdgdgdfZgdgdgdgdfZdZd Zejjejjd eefeeffd d g dZ dZ dZ ejjd ee fee ffd d g dZy)TestGamesHowell)g8@7@g?@I@)gA@2@rg:@)g1@gQ@gM@g@)g>@rr)g@TgQ@g;gO@)gE@g&@g=@g3@gI@)rg6@rrrg"@aK Mean Diff Lower Bound Upper Bound Sig 0 - 1 8.25000000 -16.5492749527311 33.0492749527311 0.558733632413559 0 - 2 -5.50000000 -63.6702454316458 52.6702454316458 0.941147750599221 1 - 2 -13.7500000 -74.3174374251372 46.8174374251372 0.682983914946841 a+ Mean Diff Lower Bound Upper Bound Sig 0 - 1 28.16666667 -141.985416377670 198.318749711003 0.8727542747886180 0 - 2 4.466666667 -37.2830676783904 46.2164010117237 0.9752628408671710 0 - 3 16.26666667 -35.0933112382470 67.6266445715803 0.4262506151302880 1 - 2 -23.70000000 -195.315617201249 147.915617201249 0.9148950609000590 1 - 3 -11.90000000 -188.105478728519 164.305478728519 0.9861432250093960 2 - 3 11.80000000 -16.2894857524254 39.8894857524254 0.4755344436335670 zdata, res_expect_strr r!r"ctj|jddjddtj dd}t j|dd i}|j}|D]\}}}} } } t|t|}}t|j||f|d t|j||f| d t|j||f| d t|j||f| d y)a^ DATA LIST LIST /Group (F1.0) Value (F8.2). BEGIN DATA 0 24 0 23 0 31 0 51 1 34 1 18 1 18 1 26 2 17 2 68 2 59 2 7 END DATA. ONEWAY Value BY Group /MISSING ANALYSIS /POSTHOC=GH ALPHA(0.05). r%r&r3Nr'rr1riFg:0yE>r6rrN)r"r*r+r,r-rrFr.r/r0rrOrQr1r2) r%r3r4r5 res_gamesr7r&r8rr9r:r)s r*test_compare_spssz!TestGamesHowell.test_compare_spsss8ZZ  " "5# . 4 4 6qr : Q OOT;U; ,,. * ; Aq!Q1q63q6qA I//15qt D I,,QT2AD A DHHQTNAD 9 DIIadOQT :  ;r,z q value Pr(>|q|) 1 - 0 == 0 -1.5467805948856344 0.55873362851759 2 - 0 == 0 0.4726721776628535 0.94114775035993 2 - 1 == 0 1.246837541297872 0.68298393799782 aw q value Pr(>|q|) 1 - 0 == 0 -1.0589317485313876 0.87275427357438 2 - 0 == 0 -0.5716222106144833 0.97526284087419 3 - 0 == 0 -2.6209678382077000 0.42625067714691 2 - 1 == 0 0.8971899898179028 0.91489506061850 3 - 1 == 0 0.4579447210555352 0.98614322544695 3 - 2 == 0 -2.198800177874794 0.47553444364614 cftj|jddjddjddtj dd}t j|d d i}|D];\}}}}}t|t|}}t|j||f|d =y) a; games-howell is provided by PMCMRplus package https://search.r-project.org/CRAN/refmans/PMCMRplus/html/gamesHowellTest.html > library("PMCMRplus") > options(digits=16) > table = data.frame( values = c(24., 23., 31., 51., 34., 18., 18., 26., 17., 68., 59., 7.), groups = c("0", "0", "0", "0", "1", "1", "1", "1", "2", "2", "2", "2") ) > table$groups = as.factor(table$groups) > fit <-aov(values ~ groups, table) > res = gamesHowellTest(fit) > summary(res) r%r&z == r!Nr'rr0riFrr6) r"r*r+r,r-rrFr.r0rrQ) r%r3r4r5rr8r&_r)s r*rPzTestGamesHowell.test_compare_rs(ZZ  " "5# . WVS !%%'!" .!Q OOT;U; ( BMAq!Qq63q6qA I,,QT2AD A Br,N)r_r`rarxrtspss_same_sizespss_diff_sizerMrrrr r_same_size r_diff_sizerPrbr,r*rrs***,N&,/.0N NN [[ [[3,n=+^<>!4!6!89 !; 9 !;FKK [[3,k:+[9;!4!6!89 B 9 Br,rc eZdZejj dgdgdfdZejj dgdgdgdgd gd gd gd gd fdZdZdZ dZ y)TestPoissonMeansTestzc1, n1, c2, n2, p_expect)rr}r!r}gea?)r.r}r1r}g c?cdtj||||}t|j|dy)Nrjr6rFpoisson_means_testrrQ)r%c1n1c2n2p_expectrSs r*test_paper_examplesz(TestPoissonMeansTest.test_paper_exampless* &&r2r26 H48r,z c1, n1, c2, n2, p_expect, alt, d)r\r2r\r2g{}?rr)r2r2r2r2goPF?rr)2rrrgae?rrh)r!r}r\rg/V-=?rr)r!rr/r\g")?rr)r/r\r!r}g_'Qm~?rr)r/r\r!r2g|?rr)rrrrg 0ݷ?rrcltj||||||}t|j|ddy)N)rdiffg>gؗҜ<r7r?r) r%rrrrraltdrSs r*test_fortran_authorsz)TestPoissonMeansTest.test_fortran_authors s0$&&r2r23QO H4eDr,ctd\}}d\}}tj||||}t|jdy)N)r~r~rrr%count1count2nobs1nobs2rSs r*test_different_resultsz+TestPoissonMeansTest.test_different_resultss:&# u&&vufeD A&r,ctd\}}d\}}tj||||}t|jdy)Nr]rrrrs r*test_less_than_zero_lambda_hat2z4TestPoissonMeansTest.test_less_than_zero_lambda_hat2's: u&&vufeD A&r,cd\}}d\}}d}tt|5tjd|||dddtt|5tj||d|dddd}tt|5tjd|||dddtt|5tj||d|dddd}tt|5tj|d||dddtt|5tj|||ddddd }tt|5tj||||d dddd }tt|5tjd d d d ddddy#1swYuxYw#1swYPxYw#1swY)xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)Nr]rz`k1` and `k2` must be integers.rKrz1`k1` and `k2` must be greater than or equal to 0.rz%`n1` and `n2` must be greater than 0.z(diff must be greater than or equal to 0.)rzAlternative must be one of ...rr.errorr)rWrjrFrrX)r%rrrrrs r*rz*TestPoissonMeansTest.test_input_validation/s u4 9G 4 ?  $ $R > ? 9G 4 ?  $ $VUB > ?F :W 5 ?  $ $R > ? :W 5 ?  $ $VUB > ?: :W 5 @  $ $VR ? @ :W 5 @  $ $VUFB ? @= :W 5 L  $ $VUFE K L3 :W 5 F  $ $Q1aW E F F5 ? ? ? ?  ? ? ? ?  @ @ @ @  L L  F Fs_F*F7G6G*GG*G6H*F47GGGG'*G36G?H N) r_r`rarMrrrrrrrrbr,r*rrs [[7  : 9  9 [[? =<=>9; 66B"E#"E''!Fr,rceZdZdZdZej jdgddZej jdgddZ dZ d Z y ) TestBWSTestcltjjd}|jd\}}d}tjt |5t j||g||gdddd}tjt |5t jtjg|dddd}tjt |5t j|gdddd}tjt |5t j||d dddd }tjt |5t j||d dddy#1swYxYw#1swYxYw#1swYxYw#1swYmxYw#1swYyxYw)N " &nnQ{; u48SZZ)r,)rrOrQ))rg -?g4B/?)r -g0&v?)rrg(?ctjjd}|jd\}}tj|||}t |j |dt |j|dd y) NrrrCrvIh%<=r>rgrrr"r=r rFrrrOrQr%rrOrQrr&r'rSs r*test_against_RzTestBWSTest.test_against_Rysaii##$78zzvz&1nnQ{; yu= FDAr,))rgD5H?gdԕ?)r`ч?gȲךX?)rrg4)?ctjjd}|jd}|jd}tj|||}t |j |dt |j|dd y) Nl.sZrrCr4rrr>rgrrrrs r*test_against_R_imbalancedz%TestBWSTest.test_against_R_imbalancedsmii##$78 JJAJ  JJAJ nnQ{; yu= FDAr,c tjjd}|jd\}}tjjd}tjd|}tj |||}t |jdk(sJtjjd}tjd|}tj |||}t|j|jtjjd}tjd|}tj |||}tj|j|jrJy)N/HN()r.r2rCr2) n_resamplesrrlVC A) r"r=r rFrLrrnull_distributionrallclose)r%rr&r'rr r r-s r* test_methodzTestBWSTest.test_methods(ii##$78zzwz'1ii##$78((RSA~~a624))*b000ii##$78((RSA~~a62..0F0FGii##$78((RSA~~a62;;t55t7M7MNNNNr,ctjjd}|jd}|dz }tj||d}|j dkDsJt |jdt|jz tj||d}|j dkDsJt |jdtj||d}|j dksJt |jdt|jz tj||d}|j dksJt |jdy) Nrr0rCrrrrr) r"r=r rFrrOrrQrr)r%rr&r'rSs r*test_directionszTestBWSTest.test_directionssii##$78 JJAJ  EnnQy9}}q   SZZS)>)>%?!?@nnQv6}}q   SZZ#nnQv6}}q   SZZS)>)>%?!?@nnQy9}}q   SZZ#r,N) r_r`rarrrMrrrrrrrbr,r*rrSsw,4* [[CNO B O B [[CNO B O BO.$r,r)/ itertoolsrnumpyr"r=r[rM numpy.testingrrrrrrW scipy.statsrFr scipy.stats._hypotestsr r r r rrrscipy.stats._mannwhitneyurrr common_testsrscipy._lib._testutilsrscipy.stats._axis_nan_policyrrrrdrrUrrrrrrrrbr,r*rs  00*%444ED-2R4-4-nZKZKzl=l=^m<"m<` P P fV1V1rU>U>puBuBpsBsBrQFQFht$t$r,