L iEXddlZddlZddlZddlmZddlmZddlm Z m Z GddZ y)N)assert_allclose)stats)_pvalue_dunnett DunnettResultceZdZgdgdgdddgdggZgdZgdZgd Zgd Zgd Zgd Z gd gdgZ gdZ gdZ e eeeZe e e e Ze eee eeZgdgdgZgdZddgZddgZddgZddgZddgZd d!gd"d#ggZd$d%gZd&d'gZe eeeZe eeeZe eeeeeZgd(gd)gd*gZgd+Zgd,Z gd-Z!gd.Z"gd/Z#gd0Z$gd1gd2gZ%gd3Z&gd4Z'e e!e#e"Z(e e%e'e&Z)e eee$e(e)Z*gd5gd6gZ+gd7Z,d8d9gZ-d:d;gZ.dd?gZ0d@dAgZ1dBdCgdDdEggZ2dFdGgZ3dHdIgZ4e e.e0e/Z5e e2e4e3Z6e e+e,e1e5e6Z7e8jrjudJdKdLdMdNdOdPdQdRdSdTdUdVdWgdXdYgdZfd[d\d]d^d_d`dadbdSdTdUdcddgdXdYgdefgdfZ;e8jrjudgeeee feeeefeee e$fe+e,e-e1fgdhZe8jrjudqeee*e7ge8jrjudigdrdsZ?e8jrjudigdjdtZ@duZAdvZBe8jrjdwe8jrjudxgdydzZDy{)| TestDunnett)8@;@g@@@@<@3@gB@?@B@rA@C@r rr ) :@r r9@=@g=@0@rgF@)rr r r4@r )@2@.@r0@g1@r,@rrrrrrr6@r5@r$@rg&@g"@rr1@rg/@g-@rrr g6@rg8@rrg2@rg:@*@rrrrr r rrrr r g7@rrrrrrrr r r r r)gCRݓ>gG!ɬ?g0[wT?@ޫV&?gۅ:?)-C6?geI)?g pU?r gi?)r!gmFA?gd;O?g9x&?gφ3x?)r"g1%?g`|?r )g @g>yX5M@gezFw?gQH?g:ǀ?)g#t@gX?gw퉥 g@Rr'g')gg!O$/@gj s+@g"4P*@g@RrI-@g9@)gS@g.Ĩf?gbHgڨ %g61#)g@y.@g 4r*@gy.ꕯ(@g*@g]f7@)twosidedlessgreater)samplescontrol statisticpvaluescis)gQ#@g!@gQ@gQ"@)g)@g\(\#@gRQ(@gffffff"@g%@)g@g!@g@g{Gz @gGz#@gp= ף @g?gw?gE&?g$_w?g8n?gǥ&g?gHV?gqt?g-l?ǧ @g,CgSE/:?g(s@g=pF]@gQglvm?gЬ̺$@g}Q@)7@r,)r+14)2,))r+/0)g&S?g{?gX2ı.?)g4?gZՒr?gڧ1?)gr4?g(?gnŨk?)gAJi?gŬC9?gT?)g vй@g$~?g&lscz)gv:?gX~ gX~.)gI,A?5@gX~(@g$8 @)gB 8@g_cg/1+)ga33@gO7f2%@g=m @)gffffff@g@g@g333333@)gffffff@g333333 @g @g@g@)333333@g@g@g@g @g ?g[ A?g(D!T?g77',?gMbX?g=,Ԛ?g_Fj?g )"*?gGz?g}iƢgQ2Ng`lg{Ug[?gxk|?g쑿Wg!%-L$gH0K?gC7v?z1rho, n_groups, df, statistic, pvalue, alternative)?r" g(\?皙?r%)r5r6gQ@r7r%)r5gףp= ?r7r%)r5r:gp= ף@r7r%)r5 g(\ @{Gz?r%)r5r=g{Gz @r>r%)r5r9<gQ@r>r%)r5r<r@(\@r>r%r5r<r@rAgGz@r>r7r%)r5r"r6gףp= @r7 two-sided)r5r8r6g{Gz@r7rB)r5r9r:g(\@r7rB)r5r8g(\@r7rB)r5r<r=gGz@r>rB)r5r?r=gRQ@r>rB)r5r9r@r4r>rB)r5r<r@Q @r>rBrDgffffff@rBctjjd}tj||f|}tj|dtj |}t |||||}t||dy)Nl <~(zh.W )|r")rhodfr( alternativerng{Gzt?atol)nprandom default_rngfull fill_diagonalarrayrr) selfrFn_groupsrGr(pvaluerHrIress f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/stats/tests/test_multicomp.pytest_critical_valuesz TestDunnett.test_critical_valuessq:ii##$KLggx*C0 a HHY' i#  V$/z#samples, control, pvalue, statisticctjjd}tj|||d}t |t sJt|j|dt|j|ddy)Nl suVP}v*dr'rIg-C6 ?)rtolr>r!r\rL) rMrNrOrdunnett isinstancerrr(rU)rSr&r'rUr(rIrVs rW test_basiczTestDunnett.test_basics]ii##$JKmmWg3?#}--- yt< FDArYrH)rBr$r%ctjjd}tdD]}|j ddd}|j ddd}t j ||||}t j|||}t|j|jd d t|j|jd d y) N Qyp^\j.sUr6dr6size)r'rH random_state)rHgMbP?h㈵>r]) rMrNrOrangeintegersrr^ ttest_indrr(rU)rSrHrI_sampler'rVrefs rWtest_ttest_indzTestDunnett.test_ttest_indsii##$KLr JA\\$%\8Fll45l9G--'cC//'C CMM3==t$ O CJJ D I JrYzalternative, pvaluer$rr"ctjjd}|jddd}|jddd}|jdd d}t j ||||| }t |j|d |j}|d k(rjtj|jjsJd|jdcxkrdksJJd|jdcxkrdksJJy|dk(rjd|jdcxkrdksJJd|jdcxkrdksJJtj|jjsJy|dk(rud|jdcxkrdksJJd|jdcxkrdksJJd|jdcxkrdksJJd|jdcxkrdksJJyy)NrbrrCrerfPrdr'rHrIgHz>rKr$rcir@r"r%rB)rMrNrOrkrr^rrUconfidence_intervalisneginflowallhighisposinf) rSrHrUrI sample_lessr'sample_greaterrVcis rWtest_alternativeszTestDunnett.test_alternativessii##$KLll1bul5 ,,r3U,3c3U;mm #   F6  $ $ & & ;;rvv&**, ,,"''!**s* ** ** (S( (( (( I %"&&))c) )) ))q 'C' '' '';;rww'++- -- K '"&&))c) )) ))q 'C' '' ''"''!**s* ** ** (S( (( (( (rYcaser$r%rBctjjd}|d}|d}dddd}|d|jd d }t j ||||d }t |j|d d |d||} |dk(r| tjg} n|dk(rtj | g} |jJ|jJ|jd} t | j| dd dt | j| dd d|j| usJ|jdk(sJ|jd} | | usJy)N >|j|j}}tjtd5t j ||dddddtj|}|dg|d<tjtd5t j |d|idddtj|}|g}tjtd5t j |d|idddtj|}g|d<tjtd 5t j |d|idddg}tjtd 5t j |d|idddt j |d|i}tjtd 5|jd dddy#1swYxYw#1swYBxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw) Nzalternative must berbob)r'rHrzmust be 1D arraysr'r"zat least 1 observationzConfidence level mustr8r) rrrraises ValueErrorrr^copydeepcopyrv)rSr&r'samples_control_rVs rW test_raiseszTestDunnett.test_raiseshs>>4>>]]:-B C H MM7G G H==){m ]]:-@ A 6 MM8 5W 5 6==): ]]:-@ A 6 MM7 5H 5 6==) ]]:-E F 6 MM8 5W 5 6 ]]:-E F 6 MM7 5H 5 6mmW6g6 ]]:-D E 8  # #Q # 7 8 87 H H  6 6  6 6  6 6  6 6 8 8sGG G"G/0G;+H9HG"G,/G8;HHHz$ignore:Computation of the confidence n_samples)r"r9r8ctjjd}|j|df}|jd}t j |||d}|j j|fk(sJ|jj|fk(sJ|j}|jj|fk(sJ|jj|fk(sJy)NlV=0(Lr6rfr[) rMrNrOnormalrr^r(shaperUrvrxrz)rSrrIr&r'rVr~s rW test_shapeszTestDunnett.test_shapessii##$67**9b/*2**"*%mmWg3?}}""yl222zzI<///  $ $ &vv|| |+++ww}} ,,,rYN)E__name__ __module__ __qualname__ samples_1 control_1pvalue_1 p_1_twosided p_1_greaterp_1_less statistic_1 ci_1_twosided ci_1_greater ci_1_lessdict pvalues_1cis_1case_1 samples_2 control_2pvalue_2 p_2_twosided p_2_greaterp_2_less statistic_2 ci_2_twosided ci_2_greater ci_2_less pvalues_2cis_2case_2rrpvalue_3 p_3_twosided p_3_greaterp_3_less statistic_3 ci_3_twosided ci_3_greater ci_3_less pvalues_3cis_3case_3 samples_4 control_4pvalue_4 p_4_twosided p_4_greaterp_4_less statistic_4 ci_4_twosided ci_4_greater ci_4_less pvalues_4cis_4case_4rmark parametrizerXr`rprrrrrfilterwarningsrrYrWrr skF  ? t  II@H=L@K/H?K<:;M9L5Il;OI -i NE )Y+#0F*+LMI4IHy)Li(K!HG$K&8%79M$o6L /2Il;OI -i NE )Y+#0F|\:II'H1L0K*H.KKJLMILEIl;OI -i NE )Y+#0F&'@AI)IHW%LG$K!HH%K&(89%79M$&68L /2Il;OI -i NE )Y+#0F [[; 0 / / / / / / / !R$d|Y ? 1 1 1 1 1 1 1 1 !R$d|[ A+ 4 054 0 [[-  8[ 9  8[ 9  8[ 9  8[ 9  BB [[(J J, [[ aV  A  1a& ! ))> [[Vffff%EF [[],LMNG< [[],LM$N$.% 8D [[ FG [[[)4 -5H -rYr) rnumpyrMr numpy.testingrscipyrscipy.stats._multicomprrrrrYrWrs#  )AJ-J-rY