
    !g                     f   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	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 j6                  j9                  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 j6                  j9                  de       d        Z! G d  d!      Z"g d"Z#e j6                  j9                  de#      d#        Z$d$d%gZ%e j6                  j9                  de%      d&        Z&g d'Z'e j6                  j9                  de'      d(        Z(d) Z)g d*Z*e j6                  j9                  de*      d+        Z+d, Z,d- Z-d. Z.i d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUZ/e j6                  j9                  d e0e/jc                                     dV        Z2 G dW dX      Z3dY Z4dZ Z5d[ Z6d\ Z7d] Z8y)^    N)arange)assert_allcloseassert_equal)stats)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|
       y )N   i  r   r   valuer      绽|=)r   ư>皙?rtollarger)r    r   alternativesmaller皙?)r   smrtest_poissonpvaluer   )r   countnobscipv1pv2r&   s          g/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_rates_poisson.pytest_rate_poisson_consistencyr4       s     KE4	V	4B


5$beF
C
J
JC


5$beF
C
J
JCDCD)CD) 

5$beF'/117 


5$beF'0228&  CT*CT*    c                     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	       y )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.   r/   r2   ci2rtr0   s         r3   test_rate_poisson_rr;   9   s   KE4 C
2C			%T)	DB	Y	7BBIIs/B%( C
2C			%T'	BB	W	5BBIIs/B%( 3C	V	4BB%( 3C	V	4BB%(
 3C	X	6BBqE3q6-r5   r   r   r!   )       r<   )r      r   )   #   r?   )r   !      d   )h      l   )r      )j      m   )r      r   )i   rI   casec           	         d}d}| \  }}}}}}}	t        |||||dd      }
t        |
|       t        |||||dd      }
t        |
|	       t        |||||dd      }
t        |
|       |dvrDt        |||||d	d      }
t        j                  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          y )Ngffffff?g333333?r$   	two-sided)exposure_newr   alphar(   r'   r)   )r   gwJ?r!   r*   r   )r   r   r   poissonintervalr	   )rM   probprob_onemethr.   exposurerP   r2rsrltir0   ciqprob_lows                 r3   test_tol_intr^   t   s    DH6:3D%<R	xL4[
:B R	x4X
7B R	x4Y
8B R ;"8TwKA ]]##D%(*:\*IJR #x4[:C QA
"x4X7C QA H
"x4[:C QA
"x4Y8C QAr5   c                       e Zd Zej                  j                  ded         d        Zej                  j                  ded         d        Zy)TestMethodsCompar1samprV   testc                 r    d\  }}t        j                  |||dd      }t        |j                  dd       y )N<   33333@皙?rO   r   r    r(   g      ?r%   )r+   r,   r   r-   )selfrV   count1n1tsts        r3   	test_testz TestMethodsCompar1samp.test_test   s8     
vr$c+68 	

Ds3r5   confintc                 L    d\  }}t        |||d      }t        |ddgd       y )Nrc   r$   )r   rQ   gbX9ȶ?gMbX9?rf   r%   )r   r   )rh   rV   ri   rj   r0   s        r3   test_confintz#TestMethodsCompar1samp.test_confint   s+     
VRDAUEN5r5   N)	__name__
__module____qualname__pytestmarkparametrizer   rl   ro    r5   r3   r`   r`      sZ     [[V%?%GH4 I4 [[V%?	%JK6 L6r5   r`   )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|       y )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   ri   rj   count2n2r0   r1   r2   r&   s	            r3   "test_rate_poisson_diff_consistencyr      s.    7FB	FBv(.
0B

!
!&"fb1)/AAG 

!
!&"fb1)/AAG  DCD)CD) 
!
!&"fb1)/*0.68 9?  
!
!&"fb1)/*0.79 :@ 
 CT*CT*r5   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|	       y )Nratiorx   r|   r   r~   r!   r"   )r   r   r#   r$   r%   r'   r   r)   r*   r   )
r   r}   ri   rj   r   r   r0   r1   r2   r&   s
             r3   #test_rate_poisson_ratio_consistencyr      s2   G6FB	FBv(/
1B

!
!&"fb1)/BBH& 

!
!&"fb1)/BBH&  D''CD)CD) 
!
!&"fb1)/*1.68 9?  
!
!&"fb1)/*1.79 :@ 
 CT*CT*r5   )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       y )
Nrx   r   r|   r{   vIh%<=r%   r'   )r   r}   r(   r)   )r+   r   r   tuple)r   ri   rj   r   r   t1t2s          r3   (test_rate_poisson_diff_ratio_consistencyr     s    7FB		 	 VR(.
AB		 	 VR(.
@B BHHbhhU3		 	 VR(.-5
7B 
	 	 VR(.-5
7B BHHbhhU3		 	 VR(.-6
8B 
	 	 VR(.-6
8B BHHbhhU3r5   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        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       y # 1 sw Y   xY w)4Nrd       "@ry   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!   rg   g() <?	cond-midpgMP4?gA3?gT?g\(\?gڊe?)r+   r   r   rs   warnsFutureWarningr
   )ri   rj   r   r   s1r1   pv1rs2r2   pv2r_pve1pve1rpve2pve2rs                  r3   test_twosample_poissonr   2  s    6FB%%fb&"VLGBDCaad3Bqt4%%fb&"WMGBDCaad3Bqt4%%fb&"-79GBDCaad3BQT2%%fb&"-8:GBDCaad3BQT2%%fb&"VLGBDCaad3Bqt4
 2FB%%fb&"V,/1GBDCaad3Bqt4%%fb&"W,/1GBDCaad3Bqt4%%fb&"-7sDGBDCaad3BQT2	m	$ N))&"fb1<NCN DCaad3BQT2%%fb&"V,/1GBDCaad3Bqt4 6FB%%fb&"V2:<GBDCAD1%%fb&"W2:<GBDCAD1%%fb&"V2:<GBDCAD1 %%fb&"-9,-8EGB DCAD1%%fb&"-8,-8EGB DCAD1"62vr*1/79GAt ED%ad3"62vr*0/79GAt ED%ad3 2FB%%fb&"V,/XGGBDCAD1%%fb&"W,/XGGBDCAD1%%fb&"V,/XGGBDCAD1 %%fb&"-9,/XGGB DCAD1%%fb&"-8,/XGGB DCAD1"62vr*1),(DGAt ED%ad3"62vr*0),(DGAt ED%ad3IN Ns   +T88U))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	       y )
Nr   r   r{   r'   )r    r   r}   r(   
etest_kwdsga2U0*C?r   r   gǺF?)r+   r   r   	statisticr-   )
rM   rV   res1res2ri   	exposure1r   	exposure2r    ts
             r3   test_twosample_poisson_diffr     s    
 D$+?(FIvyE	69&+'+V,4	GA Q[[!((+T?E	69&+'+V,4	GA Q[[!((+T?r5   c            	         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       y )Nr!   )res_pexact_condres_pexact_cond_midpr   r   r   r   r%   r   r   r   r   gC?333333?r)   rg   r7   g8t?r'   gݠ">{?gBbw?)results.results_ratesr   r   r+   r   r   r-   p_valuer   estimater   r   
null_value)
r   r   ri   rj   r   r   r   r   r2   rests
             r3   test_twosample_poisson_rr     s   L 6FBD""62vr,ODDKKE:DJJE:$//2D""62vr+NDDKKADADJJE:$//2 C""62vr+),)EDDKK51 C""62vr+),(DDDKK51 C""62vr,),(DDDKK51 C""62vr,),)EDDKK51r5   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	       y )Nr   moverr   rf   r8   )r   r}   rQ   method_mover)gPkw?g?ܵ|@r$   r   )gw?g%xCx@gMbP?r%   r   )g8d`?gͪV@waldccr   r}   rQ   )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   )ri   r   r   r   r0   ci1s         r3   test_confint_poisson_2indepr   "  s    ,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%(r5   c            
         d\  } }}}d\  }}t        j                  | |||||d      }t        |j                  dd       g d}|D ]6  }t        j                  | ||||||      }t        |j                  dd	
       8 y )Nr   )gido?gh_@r   r   r*   r7   r%   )r   r   r   r   r   g{Gz?r   )r+   tost_poisson_2indepr   r-   )	ri   rj   r   r   lowuppresmethodsrV   s	            r3   test_tost_poissonr   r  s    5FB3HC

!
!&"fb#s)57C CJJE2BG  6%%fb&"c3-13

E56r5   )rO   r   g6D?)rO   r   gZ4?)rO   r   g-ф?)rO   r   g   ?)rO   r   g  p޷?)rO   r   g>+.?)rO   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       y )N)   g     I@r!   g      K@r   rg   r   r%   )r+   r   r   	cases_alt)	rM   altrV   ri   rj   r   r   r   pvs	            r3   test_alternativer     sO     IC+FB##FB4*-3@EArB	$e4r5   c            
       R   e Zd Zej                  j                  ded   d   D  cg c]  }d|f c}} ed   d   D  cg c]  }d|f c}} z         d        Zej                  j                  ded   d   D  cg c]  }d|f c}} ed   d   D  cg c]  }d|f c}} z         d        Zej                  j                  ded   d   D  cg c]  }d|f c}} ed   d   D  cg c]  }d|f c}} z         d        Z	y	c c}} w c c}} w c c}} w c c}} w c c}} w c c}} w )
TestMethodsCompare2indepzcompare, methra   r   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        j                  t              5  t        j                  ||d|||d d      }d d d        y # 1 sw Y   y xY w)Nrd   re   (   gV-@rO   r   r}   r    r(   gJ+?g?r%   r         ?r!           r|   condr   rf   r7   r   )r+   r   r   r-   r   rs   r   RuntimeWarning)rh   rV   r}   ri   rj   r   r   rk   fr   r   vtst2r&   s                 r3   rl   z"TestMethodsCompare2indep.test_test  s    ">FB%%fb&"T.5,0kK 	

F5 gA1uaCAr1C,VRS#485<> T>W_DDSZZd; \\.) 	O))&"aD2904+OC	O 	O 	Os   .CCrm   c           	      n    d\  }}}}|dk(  rddg}nddg}t        ||||||d      }t        ||d	
       y )Nr   r   gp=
ף?gQ@g+eXw?g#~j?r$   r   rf   r%   r   )	rh   rV   r}   ri   rj   r   r   ci_valr0   s	            r3   ro   z%TestMethodsCompare2indep.test_confint  sR     ">FBgD\Fe_F#FB4,34AF-r5   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 sCd|v s?t        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       y )Nr   z#nonequivalence etest not vectorizedr   r   )dtyper   r!   r   r|   )r   r   rO   r   r7   r%   r         ?r   )rs   skipnparrayintr   r   shaper-   r+   r   r   r   )rh   rV   r}   ri   rj   r   r   count1vn1vnfactcount2vn2vr   r   r   r   r   rk   tst0tst1s                       r3   test_test_vectorizedz-TestMethodsCompare2indep.test_test_vectorized  s    d?KK=>!=FB((FF+,hhBx ((FFUN33?hhBJ'(!(#w!;FB gA1uaCAr1C,VRS#485<> ~~##t+++{{  D((($'T/))&"fb2904+OC DKK%@ gA1uaCAr1C&&vay"Q%BqE'*C.2/68 &&vay"Q%BqE'*C.2/68
 &&vr62sC.2/68 ~~##t+++{{  D(((q)4>>FA%@q)4>>FA%@r5   N)
rp   rq   rr   rs   rt   ru   r   rl   ro   r   ).0rV   s   00r3   r   r     sn    [['/8	:T'4 	: (/7	9D&$ 	9	9
O
O@ [['	27;	=T'4 	= (	26:	<D&$ 	<	<
	.
	. [['/8	:T'4 	: (/7	9D&$ 	9	9
=A
=A}	:	9J	=	< 	:	9s"   DD;DDD)D#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	       y )Nr   rd   r   ry   r   y_gridg2DYB?gV瞯<r   r   r   r   r   gv6]?r!   ǵR?)r   r
   r   )r  r   r   s      r3   test_y_grid_regressionr  -  sv    D\F Wb'&IEArB,59 UBfEEArB+%8 Aq!QC8EArB*7r5   c                     t        j                  d       t        j                  d      5 } t        dddddg       d d d        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        d	t        j                        v sJ y # 1 sw Y   xY w# 1 sw Y   /xY w)
NalwaysT)recordr!   )ygridr   r  r  r  )warningssimplefiltercatch_warningsr
   len
issubclasscategoryr   strmessagers   raises
ValueErrorr    )wes     r3   test_invalid_y_gridr  :  s    (#		 	 	- 4Q1as34q6Q;;admm]333c!A$,,'''' 
z	" 3aQ1a23s177|###4 43 3s   C*C)C&)C2c                  L   d\  } }d\  }}d}d}d\  }}d}g d}	|	D ]T  }
|
\  } }}}t        | ||||||z  |||	      }t        ||d	
       t        | ||||||z  ||d|
      }t        ||d       V g d}	d}|	D ]S  }
|
\  } }}}t        | ||||z  ||ddd	      }t        ||d	
       t        | ||||z  ||ddd	      }t        ||d	
       U t        | ||||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        y )N)皙@r  )_   r  r*         @)g?g      ?r!   ))ffffff?  r  gv7Ou?)g       @   r  goG8-x?)r  r  r  grt?)r    r  gܵ|?)
nobs_ratiorW   rQ   
dispersionr   r   r   )r  rW   rQ   
method_varr  r   r%   ))g?   r!  g4c?)r  '   r"  gRQ?)r  s   r#  g=If?)g333333@  r$  g/
?r   r)   )r  rW   r    rQ   r  r(   r$   rO   r  g?r'   )r  rW   r    rQ   r   r  r(   )r   r   r   )rate1rate2nobs1nobs2rQ   rW   r   r   r  casesrM   ppow_pow_2s                 r3   test_poisson_power_2ratior-  I  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 	ad+,  &5%EEMUU]1+?D D$T*E E
C -!%ueQ)5%EEMSh0 	ad+ +5%EEMSh	0
 	qt,)5%EEMSk3 	ad+ +5%EEMSk	3
 	qt,9-r5   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
       y )N)r      )r   
   r$   r   r   r'   T)r  rQ   r    r   r(   return_resultsg3k?r   r   g333333?a   r   333333?r*   r)   r   )r    rQ   r(   r   r1  g5|ݮ?   gUUUUUU?gU+~?)r   r   power)r'  r(  r  r%  r&  r+  s         r3   test_power_poisson_equalr6    s     LE5JLE5$ue
$ahtED DJJd3 %S"eD DJJt4$S#uD DJJd3r5   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       y )!N)r  r  )  r8  r$   g?)g      ?g$I$I?gffffff?gXf,?r   )r  rW   rQ   r  r   r   r   )  r9  g o_?ftotalgԕ?r   )r3  2   r   rC   r   g/2$?r!   r   rO   F)r  rW   r    rQ   r  r(   r   r1  g}w?g uAX2?r   Tr   r%   gvL]?r)   r'   )r   r   r   r   )r%  r&  r'  r(  rQ   rW   r   r   r  pow1r+  pow_ps               r3   test_power_negbinr>    s    LE5LE5EHHCJD*ueS#5=%1D D$T*LE5D*ueS#5=(4D D$T*D*ueS#5='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,r5   )9rs   r	  numpyr   r   numpy.testingr   r   scipyr   statsmodels.stats.ratesratesr+   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   rt   ru   r4   r;   infcases_tolintr^   r`   methods_diffr   methods_ratior   methods_diff_ratior   r   cases_diff_ngr   r   r   r   r   listkeysr   r   r  r  r-  r6  r>  rv   r5   r3   <module>rL     sE       7  & %   "
 7++ ,+0/.f RAwBFFW5b!Q!RVVg6S#sJbffx@c3Z#rvvAS#zC=(C .:  /: z6 6* <0+ 1+> [  =1+ 2+@  #564 74:[4| /@ 0@,/2dM)`6&.. -  !3	
  3 /  !4 + , + 1 0 - 2" +#$ ,%& +'(  20,1/	6 inn&6!785 95@A @AF
8$q-h+4\Q-r5   