
    M/Ph0                     x   d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlm	c mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZ g dZe j                            de          d	             Zd
 Z ddddddej!        fdfddddddej!        fdfddddddej!        fdfddddddej!        fdfddddddej!        fdfgZ"e j                            de"          d              Z# G d! d"          Z$g d#Z%e j                            de%          d$             Z&d%d&gZ'e j                            de'          d'             Z(g d(Z)e j                            de)          d)             Z*d* Z+g d+Z,e j                            de,          d,             Z-d- Z.d. Z/d/ Z0i d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVZ1e j                            d e2e13                                                    dW             Z4 G dX dY          Z5dZ Z6d[ Z7d\ Z8d] Z9d^ Z:dS )_    N)arange)assert_allcloseassert_equal)stats)PYTHON_IMPL_WASM)confint_poissontolerance_int_poissonconfint_quantile_poissonetest_poisson_2indepconfint_poisson_2indepnonequivalence_poisson_2indeppower_poisson_ratio_2indep power_equivalence_poisson_2indeppower_poisson_diff_2indeppower_equivalence_neginb_2indeppower_negbin_ratio_2indepmethod_names_poisson_1sampmethod_names_poisson_2indep)waldscoreexact-cwaldccvzsqrt-azsqrt-vmidp-csqrtmethodc                    d\  }}t          |||           }t          j        |||d         |           j        }t          j        |||d         |           j        }d}| dv rd}t	          |d	|
           t	          |d	|
           t          j        |||d         | d          j        }t          j        |||d         | d          j        }t	          |d|
           t	          |d|
           d S )N   i  r   r   valuer      绽|=)r   ư>皙?rtollarger)r!   r   alternativesmaller皙?)r   smrtest_poissonpvaluer   )r   countnobscipv1pv2r'   s          j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_rates_poisson.pytest_rate_poisson_consistencyr5   !   s,    KE4	V	4	4	4B

5$beF
C
C
C
JC

5$beF
C
C
C
JCDCD))))CD)))) 
5$beF'/1 1 117 

5$beF'02 2 228  CT****CT******    c                  h   d\  } }d}d}t          j        | |dd          }t          | |d          }t          |j        |d	           t          ||d	           d
}d}t          j        | |dd          }t          | |d          }t          |j        |d	           t          ||d	           d}t          | |d          }t          ||d	           d}t          | |d          }t          ||d	           d}t          | |d          }t          |d         |d         d	           d S )Nr   gVU?)g~ ~?gߪ?r%   r   r    r   -q=r&   g!s5?)gKE?gy]]?r   )gGs?g7Pޮ?jeff)gc?gx?r   )g_4y?gdk?r   r"   gh㈵>)r,   r-   r   r   r.   )r/   r0   r3   ci2rtr1   s         r4   test_rate_poisson_rr<   :   ss   KE4 C
2C		%T)	D	D	DB	Y	7	7	7BBIs////B%(((( C
2C		%T'	B	B	BB	W	5	5	5BBIs////B%(((( 3C	V	4	4	4BB%(((( 3C	V	4	4	4BB%((((
 3C	X	6	6	6BBqE3q6------r6   r   r   r"   )       r=   )r      r   )   #   r@   )r   !      d   )h      l   )r      )j      m   )r      r   )i   rJ   casec           	      :   d}d}| \  }}}}}}}	t          |||||dd          }
t          |
|           t          |||||dd          }
t          |
|	           t          |||||dd          }
t          |
|           |dvrLt          |||||d	d          }
t          j                            |||z  |z            }t          |
|           t          |||||dd          }t          |d
         |d
                    t          |||||dd          }t          |d
         |	d
                    d}t          |||||dd          }t          |d         |d                    t          |||||dd          }t          |d         |d                    d S )Ngffffff?g333333?r%   	two-sided)exposure_newr   alphar)   r(   r*   )r   gwJ?r"   r+   r   )r	   r   r   poissonintervalr
   )rN   probprob_onemethr/   exposurerQ   r2rsrltir1   ciqprob_lows                 r4   test_tol_intr_   u   s2    DH6:3D%<R	xL4[
: 
: 
:B R	x4X
7 
7 
7B R	x4Y
8 
8 
8B R ;"8TwKA A A ]##D%(*:\*IJJR #x4[: : :C QA
"x4X7 7 7C QA H
"x4[: : :C QA
"x4Y8 8 8C QAr6   c                       e Zd Zej                            ded                   d             Zej                            ded                   d             ZdS )TestMethodsCompar1samprW   testc                 p    d\  }}t          j        |||dd          }t          |j        dd           d S )N<   33333@皙?rP   r   r!   r)   g      ?r&   )r,   r-   r   r.   )selfrW   count1n1tsts        r4   	test_testz TestMethodsCompar1samp.test_test   sL     
vr$c+68 8 8 	
Ds333333r6   confintc                 ^    d\  }}t          |||d          }t          |ddgd           d S )Nrd   r%   )r   rR   gbX9ȶ?gMbX9?rg   r&   )r   r   )ri   rW   rj   rk   r1   s        r4   test_confintz#TestMethodsCompar1samp.test_confint   s@     
VRDAAAUEN555555r6   N)	__name__
__module____qualname__pytestmarkparametrizer   rm   rp    r6   r4   ra   ra      s~         [V%?%GHH4 4 IH4 [V%?	%JKK6 6 LK6 6 6r6   ra   )r   r   r   c           
         d\  }}}}t          ||||| d          }t          j        |||||d         | d          j        }t          j        |||||d         | d          j        }d}| dv rd	}t	          |d
|           t	          |d
|           t          j        |||||d         | dd          j        }t          j        |||||d         | dd          j        }t	          |d|           t	          |d|           d S )N   g      D@   g      >@diffr   comparer   r!   r   r~   r"   r#   )r   r$   r%   r&   r(   r!   r   r~   r)   r*   r+   r   r,   test_poisson_2indepr.   r   )	r   rj   rk   count2n2r1   r2   r3   r'   s	            r4   "test_rate_poisson_diff_consistencyr      s}    7FB	FBv(.
0 
0 
0B

!&"fb1)/A A AAG 

!&"fb1)/A A AAG  DCD))))CD)))) 
!&"fb1)/*0.68 8 8 9?  
!&"fb1)/*0.79 9 9 :@ 
 CT****CT******r6   wald-log	score-logc           
         d}d\  }}}}t          ||||| |          }t          j        |||||d         | |          j        }t          j        |||||d         | |          j        }d}	| dv rd	}	t	          |d
|	           t	          |d
|	           t          j        |||||d         | |d          j        }t          j        |||||d         | |d          j        }t	          |d|	           t	          |d|	           d S )Nratiory   r}   r   r   r"   r#   )r   r   r$   r%   r&   r(   r   r*   r+   r   )
r   r~   rj   rk   r   r   r1   r2   r3   r'   s
             r4   #test_rate_poisson_ratio_consistencyr      s   G6FB	FBv(/
1 
1 
1B

!&"fb1)/B B BBH 

!&"fb1)/B B BBH  D'''CD))))CD)))) 
!&"fb1)/*1.68 8 8 9?  
!&"fb1)/*1.79 9 9 :@ 
 CT****CT******r6   )r   r   etest
etest-waldc           	         d\  }}}}t          j        ||||| d          }t          j        ||||| d          }t          |j        |j        d           t          j        ||||| dd          }t          j        ||||| dd          }t          |j        |j        d           t          j        ||||| dd	          }t          j        ||||| dd	          }t          |j        |j        d           d S )
Nry   r   r}   r|   vIh%<=r&   r(   )r   r~   r)   r*   )r,   r   r   tuple)r   rj   rk   r   r   t1t2s          r4   (test_rate_poisson_diff_ratio_consistencyr     sW    7FB		 VR(.
A 
A 
AB		 VR(.
@ 
@ 
@B BHbhU3333		 VR(.-5
7 
7 
7B 
	 VR(.-5
7 
7 
7B BHbhU3333		 VR(.-6
8 
8 
8B 
	 VR(.-6
8 
8 
8B BHbhU333333r6   c            	         d\  } }}}t          j        | |||d          \  }}d}t          ||dz  dd           t          |d	dd
           t          j        | |||d          \  }}d}	t          ||	dz  dd           t          |ddd
           t          j        | |||d          \  }}d}	t          ||	dz  dd           t          |ddd
           t          j        | |||d          \  }}d}	t          ||	dz  dd           t          |ddd
           t          j        | |||d          \  }}d}	t          ||	dz  dd           t          |ddd
           d\  } }}}t          j        | |||dd          \  }}d}t          ||dz  dd           t          |ddd
           t          j        | |||dd          \  }}d}	t          ||	dz  dd           t          |ddd
           t          j        | |||dd          \  }}d }	t          ||	dz  dd           t          |d!dd
           t          j        t
                    5  t          j        | |||dd"          \  }}d d d            n# 1 swxY w Y   d#}	t          ||	dz  dd           t          |d$dd
           t          j        | |||dd          \  }}d%}	t          ||	dz  dd&           t          |d'dd
           d\  } }}}t          j        | |||dd()          \  }}d}t          ||dd           t          j        | |||dd()          \  }}d}	t          ||	dd           t          j        | |||dd()          \  }}d}	t          ||	dd           t          j        | |||d*d+d(,          \  }}d-}	t          ||	dd           t          j        | |||d.d+d(,          \  }}d/}	t          ||	dd           t          | |||dd()          \  }
}d0}t          ||dd           t          | |||dd()          \  }
}d0}t          ||dd           d\  } }}}t          j        | |||ddd(,          \  }}d}t          ||dd           t          j        | |||ddd(,          \  }}d}	t          ||	dd           t          j        | |||ddd(,          \  }}d%}	t          ||	dd           t          j        | |||d*dd(,          \  }}d1}	t          ||	dd           t          j        | |||d.dd(,          \  }}d2}	t          ||	dd           t          | |||ddd(,          \  }
}d3}t          ||dd           t          | |||ddd(,          \  }
}d3}t          ||dd           d S )4Nre       "@rz   ffff@r   r   gX|[T7?   r   h㈵>r'   atolg&qVDM@)r   r'   r   g:`4?gGV@r   gyCn;?g-C
@r   -C6*?g&S@-C6
?r   gvꭁ2?gUގpZ@)   jm  r   IJ        ?)r   r!   g<R!?Mb@?g:%Ȉ?gW2ı?grj?g?߾?gׁsF?)r   
ratio_nullg
h"lxz?gV-?gx#?{Gzt?gdxg?r(   )r   r)   
exact-condr"   rh   g() <?	cond-midpgMP4?gA3?gT?g\(\?gڊe?)r,   r   r   rt   warnsFutureWarningr   )rj   rk   r   r   s1r2   pv1rs2r3   pv2r_pve1pve1rpve2pve2rs                  r4   test_twosample_poissonr   3  sR    6FB%fb&"VLLLGBDCaad3333Bqt4444%fb&"WMMMGBDCaad3333Bqt4444%fb&"-79 9 9GBDCaad3333BQT2222%fb&"-8: : :GBDCaad3333BQT2222%fb&"VLLLGBDCaad3333Bqt4444
 2FB%fb&"V,/1 1 1GBDCaad3333Bqt4444%fb&"W,/1 1 1GBDCaad3333Bqt4444%fb&"-7sD D DGBDCaad3333BQT2222	m	$	$ N N)&"fb1<N N NCN N N N N N N N N N N N N N N DCaad3333BQT2222%fb&"V,/1 1 1GBDCaad3333Bqt4444 6FB%fb&"V2:< < <GBDCAD1111%fb&"W2:< < <GBDCAD1111%fb&"V2:< < <GBDCAD1111 %fb&"-9,-8E E EGB DCAD1111%fb&"-8,-8E E EGB DCAD1111"62vr*1/79 9 9GAt ED%ad3333"62vr*0/79 9 9GAt ED%ad3333 2FB%fb&"V,/XG G GGBDCAD1111%fb&"W,/XG G GGBDCAD1111%fb&"V,/XG G GGBDCAD1111 %fb&"-9,/XG G GGB DCAD1111%fb&"-8,/XG G GGB DCAD1111"62vr*1),(D D DGAt ED%ad3333"62vr*0),(D D DGAt ED%ad333333s   #JJJ))r   )9@g?߾?):pΈ?g?W[?)r   )着& @g&?)(~k	?gaۢ?)r   )r   gHPsג?)r   pUj?)zetest-score)r   gd`T?)r   r   c                    | \  }}}d\  }}}}d}t          j        ||||||ddd 	  	        }	t          |	j        |	j        f|d           d}t          j        ||||||ddd 	  	        }	t          |	j        |	j        f|d	           d S )
Nr   r   r|   r(   )r!   r   r~   r)   
etest_kwdsga2U0*C?r   r   gǺF?)r,   r   r   	statisticr.   )
rN   rW   res1res2rj   	exposure1r   	exposure2r!   ts
             r4   test_twosample_poisson_diffr     s    
 D$+?(FIvyE	69&+'+V,4	G 	G 	GA Q[!(+T????E	69&+'+V,4	G 	G 	GA Q[!(+T??????r6   c            	      z   ddl m} m} d\  }}}}| }t          j        ||||d          }t          |j        |j        d           t          |j        |j	        d           t          |j        |j                   |}t          j        ||||d          }t          |j        |j        d	d
           t          |j        |j	        d           t          |j        |j                   d}t          j        ||||ddd          }	t          |	j        |d           d}t          j        ||||ddd          }	t          |	j        |d           d}t          j        ||||ddd          }	t          |	j        |d           d}t          j        ||||ddd          }	t          |	j        |d           d S )Nr"   )res_pexact_condres_pexact_cond_midpr   r   r   r   r&   r   r   r   r   gC?333333?r*   rh   r8   g8t?r(   gݠ">{?gBbw?)results.results_ratesr   r   r,   r   r   r.   p_valuer   estimater   r   
null_value)
r   r   rj   rk   r   r   r   r   r3   rests
             r4   test_twosample_poisson_rr     s   LLLLLLLL 6FBD"62vr,OOODDKE::::DJE::::$/222D"62vr+NNNDDKADAAAADJE::::$/222 C"62vr+),)E E EDDK51111 C"62vr+),(D D DDDK51111 C"62vr,),(D D DDDK51111 C"62vr,),)E E EDDK5111111r6   c            
      "   d\  } }}}t          | |||dddd          }d}t          ||d	           d
}t          ||d           t          | |||dddd          }d}t          ||d	           t          | |||ddd          }d}t          ||d	           t          | |||ddd          }d}t          ||d	           |dz  }|dz  }t          | |||dddd          }d}t          ||d	           t          | |||ddd          }d}t          ||d	           t          ||| |dddd          }d}t          ||d	           d}t          ||d	           t          ||| |dddd          }d}t          ||d	           d S )Nr   moverr   rg   r9   )r   r~   rR   method_mover)gPkw?g?ܵ|@r%   r   )gw?g%xCx@gMbP?r&   r   )g8d`?gͪV@waldccr   r~   rR   )g[<?g	@r   )gBY?g@-
@r     r|   )gc.?g8VQ?r   )ga9?g.u?)gbgp8hԿ)gClg8gDioԿ)gYڊgH}8gԿg~jtx?r   r   )rj   r   r   r   r1   ci1s         r4   test_confint_poisson_2indepr   #  sn    ,D(FIvy		69'.s-3
" 
" 
"B CB$'''' CB%((((		69'.s-4
" 
" 
"B CB$''''		69'/
" 
" 
"B CB&))))		69'.t
" 
" 
"B CB$'''' II		69'.d-3
" 
" 
"B !CB%((((		69'.d
" 
" 
"B
 CB$'''' 
 	69'.c-3
" 
" 
"B /CB%((((
CB%((((		69'.c-3
" 
" 
"B CB%((((((r6   c            
          d\  } }}}d\  }}t          j        | |||||d          }t          |j        dd           g d}|D ]4}t          j        | ||||||          }t          |j        dd	
           5d S )Nr   )gido?gh_@r   r   r+   r8   r&   )r   r   r   r   r   g{Gz?r   )r,   tost_poisson_2indepr   r.   )	rj   rk   r   r   lowuppresmethodsrW   s	            r4   test_tost_poissonr   s  s    5FB3HC

!&"fb#s)57 7 7C CJE2222BBBG  6 6%fb&"c3-13 3 3
E555556 6r6   )rP   r   g6D?)rP   r   gZ4?)rP   r   g-ф?)rP   r   g   ?)rP   r   g  p޷?)rP   r   g>+.?)rP   r   g妱?)r(   r   g6D?)r(   r   gZ4?)r(   r   g-ф?)r(   r   g??)r(   r   g_5c?)r(   r   g[S@f?)r(   r   g =f?)r*   r   g@Ʊ?)r*   r   gVާ?)r*   r   g"Mg?g  <*?g  	p?g@k?gu?))r*   r   )r*   r   )r*   r   )r*   r   c           	          | \  }}d\  }}}}t          j        |||||d|          \  }}t          |t          |          d           d S )N)   g     I@r"   g      K@r   rh   r   r&   )r,   r   r   	cases_alt)	rN   altrW   rj   rk   r   r   r   pvs	            r4   test_alternativer     sg     IC+FB#FB4*-3@ @ @EArB	$e444444r6   c                       e Zd Zej                            dd ed         d         D             d ed         d         D             z             d             Zej                            dd ed	         d         D             d
 ed	         d         D             z             d             Zej                            dd ed         d         D             d ed         d         D             z             d             Z	dS )TestMethodsCompare2indepzcompare, methc                     g | ]}d |fS r   rw   .0rW   s     r4   
<listcomp>z#TestMethodsCompare2indep.<listcomp>  (     	: 	: 	:T'4 	: 	: 	:r6   rb   r   c                     g | ]}d |fS r|   rw   r   s     r4   r   z#TestMethodsCompare2indep.<listcomp>  (     	9 	9 	9D&$ 	9 	9 	9r6   r|   c                    d\  }}}}t          j        ||||||d d          }t          |j        dd           |dk    r
d}d	|z  |}
}	nd
}| |}
}	t	          |||||	|
||          }d|v sd|v rd}nd}t          |j        |j        |           t
          sPt          j        t                    5  t          j        ||d|||d d           d d d            d S # 1 swxY w Y   d S d S )Nre   rf   (   gV-@rP   r   r~   r!   r)   gJ+?g?r&   r         ?r"           r}   condr   rg   r8   r   )	r,   r   r   r.   r   r   rt   r   RuntimeWarning)ri   rW   r~   rj   rk   r   r   rl   fr   r   vtst2r'   s                 r4   rm   z"TestMethodsCompare2indep.test_test  s    ">FB%fb&"T.5,0kK K K 	
F5555 gA1uaCCAr1C,VRS#485<> > > T>>W__DDDSZd;;;;   	n--  'B2d#K                    	 	s   2CC #C c                     g | ]}d |fS r   rw   r   s     r4   r   z#TestMethodsCompare2indep.<listcomp>  s(     	= 	= 	=T'4 	= 	= 	=r6   rn   c                     g | ]}d |fS r   rw   r   s     r4   r   z#TestMethodsCompare2indep.<listcomp>  s(     	< 	< 	<D&$ 	< 	< 	<r6   c           	          d\  }}}}|dk    rddg}nddg}t          ||||||d          }t          ||d	
           d S )Nr   r   gp=
ף?gQ@g+eXw?g#~j?r%   r   rg   r&   r   )	ri   rW   r~   rj   rk   r   r   ci_valr1   s	            r4   rp   z%TestMethodsCompare2indep.test_confint  sr     ">FBgD\FFe_F#FB4,34A A AF------r6   c                     g | ]}d |fS r   rw   r   s     r4   r   z#TestMethodsCompare2indep.<listcomp>  r   r6   c                     g | ]}d |fS r   rw   r   s     r4   r   z#TestMethodsCompare2indep.<listcomp>  r   r6   c           
         d|v rt          j        d           d\  }}}}t          j        ||g          }t          j        ||g          }d}	t          j        |||	z  gt                    }
t          j        |||	z  g          }|||
|f\  }}}}|dk    r
d}d|z  |}}nd}| |}}t          ||||||||	          }|j        j        d
k    sJ |j        j        d
k    sJ d|v s<d|v s8t          j
        ||||||d d          }t          |j        |j        d           |dk    r
d}d|z  |}}nd}| |}}t          j        |d         |d         |d         |d         ||||	          }t          j        |d         |d         |d         |d         ||||	          }t          j        ||||||||	          }|j        j        d
k    sJ |j        j        d
k    sJ t          |j        d         |j        d           t          |j        d         |j        d           t          |j        d         |j        d           t          |j        d         |j        d           d S )Nr   z#nonequivalence etest not vectorizedr   r   )dtyper   r"   r   r}   )r   r   rP   r   r8   r&   r         ?r   )rt   skipnparrayintr   r   shaper.   r,   r   r   r   )ri   rW   r~   rj   rk   r   r   count1vn1vnfactcount2vn2vr   r   r   r   r   rl   tst0tst1s                       r4   test_test_vectorizedz-TestMethodsCompare2indep.test_test_vectorized  s    d??K=>>>!=FB(FF+,,hBx  (FFUN33???hBJ'((!(#w!;FB gA1uaCCAr1C,VRS#485<> > > ~#t++++{ D(((($'T//)&"fb2904+O O OC DK%@@@@ gA1uaCCAr1C&vay"Q%BqE'*C.2/68 8 8 &vay"Q%BqE'*C.2/68 8 8
 &vr62sC.2/68 8 8 ~#t++++{ D((((q)4>FFFFA%@@@@q)4>FFFFA%@@@@@@r6   N)
rq   rr   rs   rt   ru   rv   r   rm   rp   r  rw   r6   r4   r   r     s        [	: 	:'/8	: 	: 	:	9 	9'/7	9 	9 	9	9
 
! !
 
!F [	= 	='	27;	= 	= 	=	< 	<'	26:	< 	< 	<	<
 
	. 	.
 
	. [	: 	:'/8	: 	: 	:	9 	9'/7	9 	9 	9	9
 
=A =A
 
=A =A =Ar6   r   c                     t          d          } t          dddd|           \  }}t          |dd	           t          d
ddd|           \  }}t          |dd	           t          dddddg          \  }}t          |dd	           d S )Nr   re   r   rz   r   y_gridg2DYB?gV瞯<r   r   r   r   r   gv6]?r"   ǵR?)r   r   r   )r  r   r   s      r4   test_y_grid_regressionr  1  s    D\\F Wb'&IIIEArB,59999 UBfEEEEArB+%8888 Aq!QC888EArB*777777r6   c                     t          j        d           t          j        d          5 } t          dddddg           d d d            n# 1 swxY w Y   t	          |           dk    sJ t          | d         j        t                    sJ dt          | d         j	                  v sJ t          j        t                    5 }t          ddddd           d d d            n# 1 swxY w Y   d	t          |j                  v sJ d S )
NalwaysT)recordr"   )ygridr   r  r  r  )warningssimplefiltercatch_warningsr   len
issubclasscategoryr   strmessagert   raises
ValueErrorr!   )wes     r4   test_invalid_y_gridr"  >  s~   (###		 	-	-	- 4Q1as33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4q66Q;;;;adm]33333c!A$,'''''' 
z	"	" 3aQ1a22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3s17||######s#   AAAC&&C*-C*c                     d\  } }d\  }}d}d}d\  }}d}g d}	|	D ]d}
|
\  } }}}t          | ||||||z  |||	  	        }t          ||d	
           t          | ||||||z  ||d|
  
        }t          ||d           eg d}	d}|	D ]c}
|
\  } }}}t          | ||||z  ||ddd	  	        }t          ||d	
           t          | ||||z  ||ddd	  	        }t          ||d	
           dt          | ||||z  || |z  ddd	  	        }t          |dd	
           g d}	d} d}|	D ]}
|
\  }}}}t          | ||||z  ||ddd	  	        }t          ||d	
           t          | ||||z  ||dddd
  
        }t          ||d           t          | ||||z  ||ddd	  	        }t          ||d	
           t          | ||||z  ||dddd
  
        }t          ||d           d S )N)皙@r$  )_   r%  r+         @)g?g      ?r"   ))ffffff?  r(  gv7Ou?)g       @   r)  goG8-x?)r$  r%  r%  grt?)r&    r*  gܵ|?)
nobs_ratiorX   rR   
dispersionr   r   r   )r+  rX   rR   
method_varr,  r   r&   ))g?   r.  g4c?)r'  '   r/  gRQ?)r$  s   r0  g=If?)g333333@  r1  g/
?r   r*   )r+  rX   r!   rR   r,  r)   r%   rP   r$  g?r(   )r+  rX   r!   rR   r-  r,  r)   )r   r   r   )rate1rate2nobs1nobs2rR   rX   r   r   r,  casesrN   ppow_pow_2s                 r4   test_poisson_power_2ratior:  M  s\    LE5LE5EHHCJ  E  - -!%ueQ/5%cu}U!	# # #
 	ad++++ 15%cu}!# # # 	qt,,,,,
  E C , ,!%ueQ)5%EEMS!!# # #
 	ad++++)5%EEMSk3 3 3 	ad+++++ &5%EEMUU]1+? ? ?D D$T****  E E
C - -!%ueQ)5%EEMSh0 0 0 	ad++++ +5%EEMSh	0 0 0
 	qt,,,,)5%EEMSk3 3 3 	ad++++ +5%EEMSk	3 3 3
 	qt,,,,,9- -r6   c                  >   d\  } }|| z  }d\  }}t          ||| |ddddd	  	        }t          |j        d	d
           t          ddddddddd	  	        }t          |j        dd
           t          ddddddddd	  	        }t          |j        dd
           d S )N)r      )r   
   r%   r   r   r(   T)r+  rR   r!   r-  r)   return_resultsg3k?r   r   g333333?a   r   333333?r+   r*   r   )r!   rR   r)   r-  r>  g5|ݮ?   gUUUUUU?gU+~?)r   r   power)r4  r5  r+  r2  r3  r8  s         r4   test_power_poisson_equalrC    s     LE5JLE5$ue
$ahtE E ED DJd3333 %S"e  D DJt4444$S#u  D DJd333333r6   c                     d\  } }d\  }}d}d}d\  }}d}d}	t          | ||||||z  |||d	
  
        }
t          |
|	d
           d\  }}d}	t          | ||||||z  |||d	
  
        }
t          |
|	d
           d}	t          | ||||||z  |||d	
  
        }
t          |
|	d
           d\  }}} }}d}	t          || |||z  |d|dddd          }
t          |
|	d           d}	||}}t          || |||z  |d|dddd          }
t          |
|	d           d}	t          || |||z  |d|dddd          }
t          |
|	d           t          || |||z  |d|dddd          }t          ||	d           t          ||
d           d}	t          || |||z  |d|dddd          }
t          || |||z  |d|dddd          }t          ||	d           t          ||
d           t          | ||||z  |d|dd dd          }
t          | ||||z  |d|dd dd          }t          ||	d           t          ||
d           d S )!N)r&  r&  )  rE  r%   g?)g      ?g$I$I?gffffff?gXf,?r   )r+  rX   rR   r,  r-  r   r   )  rF  g o_?ftotalgԕ?r   )r@  2   r   rD   r   g/2$?r"   r   rP   F)r+  rX   r!   rR   r,  r)   r-  r>  g}w?g uAX2?r   Tr   r&   gvL]?r*   r(   )r   r   r   r   )r2  r3  r4  r5  rR   rX   r   r   r,  pow1r8  pow_ps               r4   test_power_negbinrK    s    LE5LE5EHHCJD*ueS#5=%1 1 1D D$T****LE5D*ueS#5=(4 4 4D D$T****D*ueS#5='3 3 3D D$T**** ,@(E5%D$ue5=	
 	
 	
D D$T**** D%5E$ue5=  D D$T****
 D$ue5={  D D$T****&ue5={  E E4d++++E4e,,,, D$ue5=y  D 'ue5=y  E E4d++++E4e,,,, %ue5=x  D 'ue5=x  E E4d++++E4e,,,,,,r6   );rt   r  numpyr  r   numpy.testingr   r   scipyr   statsmodels.compat.pythonr   statsmodels.stats.ratesratesr,   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   ru   rv   r5   r<   infcases_tolintr_   ra   methods_diffr   methods_ratior   methods_diff_ratior   r   cases_diff_ngr   r   r   r   r   listkeysr   r   r  r"  r:  rC  rK  rw   r6   r4   <module>rZ     sf               7 7 7 7 7 7 7 7       7 6 6 6 6 6 % % % % % % % % %                             "  
 7+++ + ,++0/. /. /.f RAwBFW5b!Q!RVg6S#sJbfx@c3Z#rvAS#zC=(C ..:  :  /.: z6 6 6 6 6 6 6 6*   <00+ + 10+> [  =11+ + 21+@    #5664 4 764:[4 [4 [4|   //@ @ 0/@,/2 /2 /2dM) M) M)`6 6 6&.. -  !3	
  3 /  !4 + , + 1 0 - 2" +#$ ,%& +'(  20,1/  	6 inn&6&6!7!7885 5 985CA CA CA CA CA CA CA CAL
8 
8 
8$ $ $q- q- q-h+4 +4 +4\Q- Q- Q- Q- Q-r6   