
    Ug                     *   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mZmZmZ d Zd Zd Zd	 Zd
 Zd Zd Zej                            dddg          d             Zd Zej                            dg d          d             ZdS )    N)assert_equalassert_array_equalassert_array_almost_equalassert_approx_equalassert_allclose)raises)xlogy)marginsexpected_freqchi2_contingencyassociationc                  J   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                              dd          } t          |           \  }}t          j        dgdgg          }t          j        g dg          }t          ||           t          ||           t          j        d	                              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          ||           d S )N   r               3   )r      
   r                  B      <   \   |   )r   r   H   N   )nparrayr
   r   lenr   arangereshape)amm0m1	expected0	expected1m2	expected2s           a/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/stats/tests/test_contingency.pytest_marginsr1      s   
!A

AQ	
1Br28QC==)))
1#AQZZFB1#I1#Ir9%%%r9%%%
	"a##AQZZFB2$&&I000122Ir9%%%r9%%%
	"aA&&AJBBB4&C5'*++IB4"u-.//I+++,-..Ir9%%%r9%%%r9%%%%%    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          ||           d S )	Nr         ?r   r   )r   r      )r5   r5   r5   )      (@r6   g      0@)      2@r7   g      8@)r   r   r#   r$   	ones_liker   )observedecorrects      r0   test_expected_freqr<   +   s    }aS))28SE??;;;x1a&1a&)QFQF+;q!fq!f=MNOOHhAq",x00111x|||455HhAh9::Ga)))))r2   c                     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	          | |           d S )	Nr   r   F
correctiong        r4   )r   r   r   r   )r#   r$   r   r   r   obschi2pdofexpecteds        r0   test_chi2_contingency_trivialrF   8   s     (QFQF#
$
$C-ceDDDD!S(sCasH%%% (999

C-ceDDDD!S(sCasH%%%%%r2   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           d S )N)r   "      )#         )r       	   )r   r   r   )r   /   rL   )rH   r      )rP         )rN   !      g{GY@   )significantg"j,5#=r      r   rL   r   r   rI         r   gjt!@gQI?)r#   r$   r   r   r   r@   s        r0   test_chi2_contingency_RrZ   L   sy   < (
,,
,,
++
,,
 ++
,,
,,
++
		 C .c22D!S(f!44449!4444bL (8888
 8888
		 C .c22D!S(e33336q1111br2   c            	      t   t          j        ddgddgg          } t          | dd          \  }}}}t          |dt	          | | |z                                            z             t          | dd          \  }}}}| t          j        d	d
gd
d	gg          z   }t          |dt	          |||z                                            z             t          j        g dg dg          } t          | d          \  }}}}t          |dt	          | | |z                                            z             d S )Nr   r   Z   zlog-likelihoodF)lambda_r?   r   Tg      g      ?)r   r   r   )r   r   r   )r]   )r#   r$   r   r   r	   sum)cgrC   rD   r:   c_corrs         r0   test_chi2_contingency_grb      sM   
2r(RH%&&A#A/?/46 6 6LAq#qAqq!A#**,,,---#A/?/35 5 5LAq#qD#;d4555FAqvvax0044666777
,,,-..A#A/?@@@LAq#qAqq!A#**,,,-----r2   c                  8   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          |            d S )Nr   r   r   r   )r   r   )r#   r$   assert_raises
ValueErrorr   empty)rA   s    r0   test_chi2_contingency_bad_argsrh      s     (RHq!f%
&
&C*.444 (QFQF#
$
$C*.444 (6

C*.44444r2   c                      t          j        ddgddgg          } t          |           d         }t          |dd           d S )Ni%  r   r   r   r   g-q=)rtol)r#   r$   r   r   )r9   rC   s     r0   #test_chi2_contingency_yates_gh13875rk      sM     x$QF+,,H""1%AAqu%%%%%%r2   r?   FTc                     t          j        ddgddgg          }t          ||           }t          |j        |j        |j        |j        f|           d S )Nr   r   r>   )r#   r$   r   r   	statisticpvaluerD   r   )r?   rA   ress      r0   test_resultrp      sX    
(QFQF#
$
$C
3:
6
6
6C#-SWc6GH#NNNNNr2   c            	      L   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           d S )Nr   r   r   r   Xcramerrd   r   dd)dtype)re   rf   r   r#   r$   object r2   r0   test_bad_association_argsrx      s    *kQFQF+;SAAA*kaVH1vh+?JJJ*kRHq!f+=xHHH*k(QFT1I.f===xI I I I Ir2   zstat, expected))rs   g?)	tschuprowg:ǰ`ڳ?)pearsong!2q܍?c                     t          j        g dg dg dg          }t          ||           }t          ||           d S )N)r   rQ   r   r   r   )rW   r   rP   rR   rL   )rN   r   r   r   rL   )r9   method)r#   r$   r   r   )statrE   obs1r(   s       r0   
test_assocr      s_     8))))))(((* + +D 	T$///AAx     r2   )numpyr#   numpy.testingr   r   r   r   r   pytestr   re   scipy.specialr	   scipy.stats.contingencyr
   r   r   r   r1   r<   rF   rZ   rb   rh   rk   markparametrizerp   rx   r   rw   r2   r0   <module>r      s      , , , , , , , , , , , , , ,  * * * * * *      D D D D D D D D D D D D& & &>
* 
* 
*& & &(\ \ \~. . . 5 5 5"& & & t}55O O 65O	I 	I 	I )< < <= =! !	= =! ! !r2   