Ë
    âQ(h¹*  ã                   óÚ   — d dl Zd dlmZmZmZmZmZ d dlZd dlm	Z
 d dlmZ d dlmZ d dlmZmZmZmZ d„ Zd„ Z G d	„ d
«      Zd„ Zej0                  j3                  dg d¢«      d„ «       Zy)é    N)Úassert_equalÚassert_array_equalÚassert_array_almost_equalÚassert_approx_equalÚassert_allclose)Úraises)Ústats)Úxlogy)ÚmarginsÚexpected_freqÚchi2_contingencyÚassociationc                  óÚ  — t        j                  dg«      } t        | «      }t        t	        |«      d«       |d   }t        |t        j                  dg«      «       t        j                  dgg«      } t        | «      \  }}t        j                  dgg«      }t        j                  dgg«      }t        ||«       t        ||«       t        j                  d«      j                  dd«      } t        | «      \  }}t        j                  dgdgg«      }t        j                  g d¢g«      }t        ||«       t        ||«       t        j                  d	«      j                  dd
d«      } t        | «      \  }}}t        j                  dggdggg«      }t        j                  dgdgdggg«      }t        j                  g d¢gg«      }t        ||«       t        ||«       t        ||«       y )Né   r   é   é   é   é   é3   )r   é   é
   r   é   é   é   é   é   éB   éÒ   é<   é\   é|   )r   r   éH   éN   )ÚnpÚarrayr   r   Úlenr   ÚarangeÚreshape)ÚaÚmÚm0Úm1Ú	expected0Ú	expected1Úm2Ú	expected2s           ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/stats/tests/test_contingency.pyÚtest_marginsr2      s“  € Ü
�‰�!�‹€AÜ�‹
€AÜ”�Q“˜ÔØ	
ˆ1‰€BÜ�rœ2Ÿ8™8 Q C›=Ô)ä
�‰�1�#�‹€AÜ�Q‹Z�F€BˆÜ—‘˜1˜#˜“€IÜ—‘˜1˜#˜“€IÜ�r˜9Ô%Ü�r˜9Ô%ä
�	‰	�"‹×Ñ˜a Ó#€AÜ�Q‹Z�F€BˆÜ—‘˜2˜$  ˜Ó&€IÜ—‘Ò0Ð1Ó2€IÜ�r˜9Ô%Ü�r˜9Ô%ä
�	‰	�"‹×Ñ˜a  AÓ&€AÜ˜“�J€BˆˆBÜ—‘˜B˜4˜& C 5 'Ð*Ó+€IÜ—‘˜B˜4 " ¨ uÐ-Ð.Ó/€IÜ—‘Ò+Ð,Ð-Ó.€IÜ�r˜9Ô%Ü�r˜9Ô%Ü�r˜9Õ%ó    c                  óš  — t        t        dg«      t        j                  dg«      «       t        j                  ddgddggddgddggddgddggg«      } t        | «      }t        |t        j                  | «      «       t        j                  g d¢g d¢g«      } t        | «      }t        j                  g d¢g d¢g«      }t        ||«       y )	Nr   ç      ð?r   r   )r   r   é   )r6   r6   r6   )ç      (@r7   g      0@)ç      2@r8   g      8@)r   r   r$   r%   Ú	ones_liker   )ÚobservedÚeÚcorrects      r1   Útest_expected_freqr=   ,   s°   € Ü”} a SÓ)¬2¯8©8°S°E«?Ô;ä�x‰x˜1˜a˜& 1 a &Ð)¨Q°¨F°Q¸°FÐ+;¸qÀ!¸fÀqÈ!ÀfÐ=MÐNÓO€HÜ�hÓ€AÜ�qœ"Ÿ,™, xÓ0Ô1ä�x‰xš¢|Ð4Ó5€HÜ�hÓ€AÜ�h‰hšªÐ9Ó:€GÜ˜a Õ)r3   c                   óR  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d	„ «       Zej                  j                  d
„ «       Zej                  j                  ej                  j                  dej                  ej                   f«      d„ «       «       Zd„ Zy)ÚTestChi2Contingencyc                 óp  — t        j                  ddgddgg«      }t        |d¬«      \  }}}}t        |d«       t        |d«       t        |d«       t	        ||«       t        j                  g d¢«      }t        |d¬«      \  }}}}t        |d«       t        |d«       t        |d«       t	        ||«       y )	Nr   r   F©Ú
correctiong        r5   )r   r   r   r   )r$   r%   r   r   r   ©ÚselfÚobsÚchi2ÚpÚdofÚexpecteds         r1   Útest_chi2_contingency_trivialz1TestChi2Contingency.test_chi2_contingency_trivial:   s©   € ô �h‰h˜˜A˜  A Ð'Ó(ˆÜ!1°#À%Ô!HÑˆˆa��hÜ�T˜3ÔÜ�Q˜ÔÜ�S˜!ÔÜ˜3 Ô)ô �h‰h’yÓ!ˆÜ!1°#À%Ô!HÑˆˆa��hÜ�T˜3ÔÜ�Q˜ÔÜ�S˜!ÔÜ˜3 Õ)r3   c                 ó¨  — t        j                  g d¢g d¢g d¢g d¢gg d¢g d¢g d¢g d¢gg«      }t        |«      \  }}}}t        |d	d
¬«       t        |dd¬«       t	        |d«       t        j                  ddgddggddgddgggddgddggddgddgggg«      }t        |«      \  }}}}t        |dd¬«       t        |dd¬«       t	        |d«       y )N)r   é"   é   )é#   é   é   )r   é    é	   )r   r   r   )r   é/   rP   )rL   r   é   )rT   é   é   )rR   é!   é   g{®GáŠY@é   )Úsignificantg"„j,5È#=r   é   r   rP   r   r   rM   é   é   r   gj¼t“„!@g“©‚QI�ä?)r$   r%   r   r   r   rC   s         r1   Útest_chi2_contingency_Rz+TestChi2Contingency.test_chi2_contingency_RM   s  € ô< �h‰hÚÚÚÚðò ÚÚÚðð	óˆô "2°#Ó!6Ñˆˆa��hÜ˜D &°aÕ8Ü˜A˜y°aÕ8Ü�S˜"ÔôL �h‰hØ�BˆxØ�Bˆxðà�BˆxØ�Bˆxððð �BˆxØ�Bˆxðà�BˆxØ�Bˆxððð	óˆô "2°#Ó!6Ñˆˆa��hÜ˜D %°QÕ7Ü˜A˜v°1Õ5Ü�S˜"Õr3   c           	      ó  — t        j                  ddgddgg«      }t        |dd¬«      \  }}}}t        |dt	        |||z  «      j                  «       z  «       t        |dd¬«      \  }}}}|t        j                  d	d
gd
d	gg«      z   }t        |dt	        |||z  «      j                  «       z  «       t        j                  g d¢g d¢g«      }t        |d¬«      \  }}}}t        |dt	        |||z  «      j                  «       z  «       y )Nr   r   éZ   zlog-likelihoodF)Úlambda_rB   r   Tg      à¿g      à?)r   r   r   )r   r   r   )ra   )r$   r%   r   r   r
   Úsum)rD   ÚcÚgrG   rH   r;   Úc_corrs          r1   Útest_chi2_contingency_gz+TestChi2Contingency.test_chi2_contingency_g«   s   € Ü�H‰H�r˜2�h  R Ð)Ó*ˆÜ'¨Ð3CØ38ô:‰ˆˆ1ˆc�1ä˜˜1œU 1 a¨¡c›]×.Ñ.Ó0Ñ0Ô1ä'¨Ð3CØ37ô9‰ˆˆ1ˆc�1à”R—X‘X  c˜{¨S°$¨KÐ8Ó9Ñ9ˆÜ˜˜1œU 6¨6°!©8Ó4×8Ñ8Ó:Ñ:Ô;ä�H‰H’l¢LÐ1Ó2ˆÜ'¨Ð3CÔD‰ˆˆ1ˆc�1Ü˜˜1œU 1 a¨¡c›]×.Ñ.Ó0Ñ0Õ1r3   c                 ó  — t        j                  ddgddgg«      }t        t        t        |«       t        j                  ddgddgg«      }t        t        t        |«       t        j
                  d«      }t        t        t        |«       y )Néÿÿÿÿr   r   r   r   )r   r   )r$   r%   Úassert_raisesÚ
ValueErrorr   Úempty)rD   rE   s     r1   Útest_chi2_contingency_bad_argsz2TestChi2Contingency.test_chi2_contingency_bad_argsº   ss   € ô �h‰h˜˜R˜ 1 a &Ð)Ó*ˆÜ”jÔ"2°CÔ8ô �h‰h˜˜A˜  A Ð'Ó(ˆÜ”jÔ"2°CÔ8ô �h‰h�vÓˆÜ”jÔ"2°CÕ8r3   c                 ór   — t        j                  ddgddgg«      }t        |«      d   }t        |dd¬«       y )Ni%  r   r   r   r   gê-�™—q=©Úrtol)r$   r%   r   r   )rD   r:   rG   s      r1   Ú#test_chi2_contingency_yates_gh13875z7TestChi2Contingency.test_chi2_contingency_yates_gh13875Ê   s:   € ô —8‘8˜d A˜Y¨¨A¨Ð/Ó0ˆÜ˜XÓ& qÑ)ˆÜ˜˜1 5Ö)r3   rB   FTc                 óÄ   — t        j                  ddgddgg«      }t        ||¬«      }t        |j                  |j
                  |j                  |j                  f|«       y )Nr   r   rA   )r$   r%   r   r   Ú	statisticÚpvaluerH   r   )rD   rB   rE   Úress       r1   Útest_resultzTestChi2Contingency.test_resultÑ   sN   € ä�h‰h˜˜A˜  A Ð'Ó(ˆÜ˜s¨zÔ:ˆÜ�c—m‘m S§Z¡Z°·±¸#×:KÑ:KÐLÈcÕRr3   c                 ó^  — t        j                  d«      j                  dd«      }t        |d¬«      j                  }t        j                  |«      j                  }t        j                  d¬«      }t        |d|¬«      }t        |j                  |«       t        |j                  |d¬	«       y )
Nr   r   FrA   iPÃ  )Ún_resamples©rB   ÚmethodgVçž¯Ò<rn   )r$   r'   r(   r   rr   r	   Úfisher_exactrs   ÚPermutationMethodr   r   )rD   ÚtableÚref_statisticÚ
ref_pvaluery   rt   s         r1   Útest_exact_permutationz*TestChi2Contingency.test_exact_permutation×   s€   € ä—	‘	˜!“×$Ñ$ Q¨Ó*ˆÜ(¨¸5ÔA×KÑKˆÜ×'Ñ'¨Ó.×5Ñ5ˆ
Ü×(Ñ(°UÔ;ˆÜ˜u°¸vÔFˆÜ�S—]‘] MÔ2Ü˜Ÿ
™
 J°UÖ;r3   ry   c                 óî  — t         j                  j                  d«      }g d¢}g d¢}t        j                  |||¬«      j                  «       }t        |d ||¬«      ¬«      }t        |d¬«      }t        |j                  |j                  «       t        |j                  |j                  d	¬
«       t        |j                  t         j                  «       t        |j                  |j                  «       y )Nl   ½{5 )i,  iè  é   )éÈ   i�  r�   i¼  )ÚseedF)Úrngrx   rA   g{®Gázt?)Úatol)r$   ÚrandomÚdefault_rngr	   Úrandom_tableÚrvsr   r   rr   r   rs   rH   Únanr   )rD   ry   r„   ÚrowsÚcolsr|   rt   Úrefs           r1   Útest_resampling_randomizedz.TestChi2Contingency.test_resampling_randomizedá   s«   € ô �i‰i×#Ñ# JÓ/ˆâˆÚ#ˆÜ×"Ñ" 4¨°CÔ8×<Ñ<Ó>ˆÜ˜u°¹vÈ#¼ÔOˆÜ˜u°Ô7ˆÜ�S—]‘] C§M¡MÔ2Ü˜Ÿ
™
 C§J¡J°TÕ:Ü�S—W‘WœbŸf™fÔ%Ü�S×&Ñ&¨×(9Ñ(9Õ:r3   c                 óô  — t        j                  d«      j                  ddd«      }t        j                  «       }d}t        j                  t        |¬«      5  t        |d|¬«       d d d «       t        j                  d«      j                  dd«      }t        j                  «       }d}t        j                  t        |¬«      5  t        ||¬	«       d d d «       t        j                  «       }d
}t        j                  t        |¬«      5  t        |dd|¬«       d d d «       d}d}t        j                  t        |¬«      5  t        |d|¬«       d d d «       t        j                  t        j                  j                  ¬«      }d}t        j                  t        |¬«      5  t        |d|¬«       d d d «       y # 1 sw Y   �ŒXxY w# 1 sw Y   ŒøxY w# 1 sw Y   Œ»xY w# 1 sw Y   Œ‘xY w# 1 sw Y   y xY w)Nr   r   z7Use of `method` is only compatible with two-way tables.)ÚmatchFrx   r   z+`correction=True` is not compatible with...)ry   z%`lambda_=2` is not compatible with...)rB   ra   ry   Úherringz;`method='herring'` not recognized; if provided, `method`...)r‰   z4If the `method` argument of `chi2_contingency` is...)r$   r'   r(   r	   r{   Úpytestr   rj   r   ÚMonteCarloMethodÚnormr‰   )rD   r|   ry   Úmessages       r1   Útest_resampling_invalid_argsz0TestChi2Contingency.test_resampling_invalid_argsñ   s¡  € Ü—	‘	˜!“×$Ñ$ Q¨¨1Ó-ˆä×(Ñ(Ó*ˆØKˆÜ�]‰]œ:¨WÔ5ñ 	EÜ˜U¨u¸VÕD÷	Eô —	‘	˜!“×$Ñ$ Q¨Ó*ˆä×(Ñ(Ó*ˆØ?ˆÜ�]‰]œ:¨WÔ5ñ 	3Ü˜U¨6Õ2÷	3ô ×'Ñ'Ó)ˆØ9ˆÜ�]‰]œ:¨WÔ5ñ 	PÜ˜U¨u¸aÈÕO÷	Pð ˆØOˆÜ�]‰]œ:¨WÔ5ñ 	EÜ˜U¨u¸VÕD÷	Eô ×'Ñ'¬E¯J©J¯N©NÔ;ˆØHˆÜ�]‰]œ:¨WÔ5ñ 	EÜ˜U¨u¸VÕD÷	Eð 	E÷-	Eñ 	Eú÷	3ð 	3ú÷
	Pð 	Pú÷
	Eð 	Eú÷
	Eð 	Eús<   ÁF=ÃG
ÄGÅG"Æ%G.Æ=GÇ
GÇGÇ"G+Ç.G7N)Ú__name__Ú
__module__Ú__qualname__rJ   r^   rf   rl   rp   r’   ÚmarkÚparametrizeru   Úslowr   r	   r{   r“   rŽ   r–   © r3   r1   r?   r?   9   s¼   „ ò*ò&\ò|2ò9ò *ð ‡[�[×Ñ˜\¨E°4¨=Ó9ñSó :ðSð
 ‡[�[×Ññ<ó ð<ð ‡[�[×ÑØ‡[�[×Ñ˜X¨×(?Ñ(?Ø(-×(>Ñ(>ð(@ó Añ;óAó ð;óEr3   r?   c            	      ó  — t        t        t        ddgddggd«       t        t        t        ddggddgggd«       t        t        t        ddgddggd«       t        t        t        t        j                  ddgd	dggt
        ¬
«      d«       y )Nr   r   r   r   ÚXÚcramerrh   r   Údd)Údtype)ri   rj   r   r$   r%   Úobjectr�   r3   r1   Útest_bad_association_argsr¤     s�   € ä”*œk¨Q°¨F°Q¸°FÐ+;¸SÔAä”*œk¨a°¨V¨H¸¸1°v°hÐ+?ÀÔJä”*œk¨R°¨H°q¸!°fÐ+=¸xÔHä”*œkÜ—(‘(˜Q ˜F T¨1 IÐ.´fÔ=¸xõIr3   zstat, expected))r    gÀŽ¾ûÿ›·?)Ú	tschuprowg:Ç°¼`Ú³?)Úpearsong!Ã2qÜ�À?c                 ór   — t        j                  g d¢g d¢g d¢g«      }t        || ¬«      }t        ||«       y )N)r   rU   r   r   r   )r[   r   rT   rV   rP   )rR   r   r   r   rP   )r:   ry   )r$   r%   r   r   )ÚstatrI   Úobs1r)   s       r1   Ú
test_assocrª     s8   € ô �8‰8Ò)Ú)Ú(ð*ó +€Dô 	˜T¨$Ô/€AÜ�A�xÕ r3   )Únumpyr$   Únumpy.testingr   r   r   r   r   r’   r   ri   Úscipyr	   Úscipy.specialr
   Úscipy.stats.contingencyr   r   r   r   r2   r=   r?   r¤   rš   r›   rª   r�   r3   r1   ú<module>r°      sv   ðÛ ÷,õ ,ó Ý *Ý Ý ÷Dó Dò&ò>
*÷TEñ TEòn	Ið ‡�×ÑÐ)ò<ó=ñ!ó	=ñ!r3   