ó
î&]\c           @` sÆ   d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z m	 Z	 m
 Z
 m Z d  d l m Z d  d l m Z d  d l m Z m Z m Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d S(   i    (   t   divisiont   print_functiont   absolute_importN(   t   assert_equalt   assert_array_equalt   assert_array_almost_equalt   assert_approx_equalt   assert_allclose(   t   raises(   t   xlogy(   t   marginst   expected_freqt   chi2_contingencyc          C` s	  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 d d d	 d d
 d g 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 d d d d g g g ƒ } t | | ƒ t | | ƒ t | | ƒ d  S(   Ni   i    i   i   i   i   i3   i   i
   i   i   i   i   i   iB   iÒ   i<   i\   i|   iH   iN   (   t   npt   arrayR
   R   t   lenR   t   aranget   reshape(   t   at   mt   m0t   m1t	   expected0t	   expected1t   m2t	   expected2(    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_margins   s2    
$!$!c          C` sý   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 d d d g d d d g g ƒ }  t |  ƒ } t j d d d g d	 d	 d
 g g ƒ } t | | ƒ d  S(   Ni   g      ð?i   i    i
   i   g      (@g      0@g      2@g      8@(   R   R   R   R   t	   ones_likeR   (   t   observedt   et   correct(    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_expected_freq+   s    "N''c          C` sá   t  j d d g d d g g ƒ }  t |  d t ƒ\ } } } } t | d ƒ t | d ƒ t | d ƒ t |  | ƒ t  j d d d g ƒ }  t |  d t ƒ\ } } } } t | d ƒ t | d ƒ t | d ƒ t |  | ƒ d  S(   Ni   i   t
   correctiong        g      ð?i   i    (   R   R   R   t   FalseR   R   (   t   obst   chi2t   pt   doft   expected(    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_chi2_contingency_trivial8   s    !c          C` s  d }  d } t  j d d d g d d d g d d	 d
 g d d d g g d d d g d d d g d d d g d
 d d g g g ƒ } t | ƒ \ } } } } t | d d d ƒt | d d d ƒt | d ƒ d }  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 d ƒt | d  d d ƒt | d ƒ d  S(!   Ns
  
    # Data vector.
    data <- c(
      12, 34, 23,     4,  47,  11,
      35, 31, 11,    34,  10,  18,
      12, 32,  9,    18,  13,  19,
      12, 12, 14,     9,  33,  25
      )

    # Create factor tags:r=rows, c=columns, t=tiers
    r <- factor(gl(4, 2*3, 2*3*4, labels=c("r1", "r2", "r3", "r4")))
    c <- factor(gl(3, 1,   2*3*4, labels=c("c1", "c2", "c3")))
    t <- factor(gl(2, 3,   2*3*4, labels=c("t1", "t2")))

    # 3-way Chi squared test of independence
    s = summary(xtabs(data~r+c+t))
    print(s)
    sÏ   
    Call: xtabs(formula = data ~ r + c + t)
    Number of cases in table: 478
    Number of factors: 3
    Test for independence of all factors:
            Chisq = 102.17, df = 17, p-value = 3.514e-14
    i   i"   i   i#   i   i   i    i	   i   i   i/   i
   i   i   i   i!   i   g{®GáŠY@t   significanti   g"„j,5È#=i   sb  
    # Data vector.
    data <- c(
        #
        12, 17,
        11, 16,
        #
        11, 12,
        15, 16,
        #
        23, 15,
        30, 22,
        #
        14, 17,
        15, 16
        )

    # Create factor tags:r=rows, c=columns, d=depths(?), t=tiers
    r <- factor(gl(2, 2,  2*2*2*2, labels=c("r1", "r2")))
    c <- factor(gl(2, 1,  2*2*2*2, labels=c("c1", "c2")))
    d <- factor(gl(2, 4,  2*2*2*2, labels=c("d1", "d2")))
    t <- factor(gl(2, 8,  2*2*2*2, labels=c("t1", "t2")))

    # 4-way Chi squared test of independence
    s = summary(xtabs(data~r+c+d+t))
    print(s)
    sÏ   
    Call: xtabs(formula = data ~ r + c + d + t)
    Number of cases in table: 262
    Number of factors: 4
    Test for independence of all factors:
            Chisq = 8.758, df = 11, p-value = 0.6442
    i   i   i   i   gj¼t“„!@g“©‚QIä?(   R   R   R   R   R   (   t   Rcodet   RoutputR"   R#   R$   R%   R&   (    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_chi2_contingency_RL   s<    				c          C` sC  t  j d d g d d g g ƒ }  t |  d d d t ƒ\ } } } } t | d t |  |  | ƒ j ƒ  ƒ t |  d d d t ƒ\ } } } } |  t  j d d	 g d	 d g g ƒ } t | d t | | | ƒ j ƒ  ƒ t  j d
 d d
 g d d
 d
 g g ƒ }  t |  d d ƒ\ } } } } t | d t |  |  | ƒ j ƒ  ƒ d  S(   Ni   i<   iZ   t   lambda_s   log-likelihoodR    i   g      à¿g      à?i
   i   (   R   R   R   R!   R   R	   t   sumt   True(   t   ct   gR$   R%   R   t   c_corr(    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_chi2_contingency_g«   s    !$$$%$'c          C` s…   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(   Niÿÿÿÿi
   i   i   i    i   (   i    i   (   R   R   t   assert_raisest
   ValueErrorR   t   empty(   R"   (    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   test_chi2_contingency_bad_args¹   s    !!(   t
   __future__R    R   R   t   numpyR   t   numpy.testingR   R   R   R   R   t   pytestR   R3   t   scipy.specialR	   t   scipy.stats.contingencyR
   R   R   R   R   R'   R+   R2   R6   (    (    (    sA   lib/python2.7/site-packages/scipy/stats/tests/test_contingency.pyt   <module>   s   (				_	