
    !gB                        d Z ddlZddlZddlmZmZmZmZm	Z	 ddl
ZddlZddlmc mZ ddlmZ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 dd	d
dddZej>                  jA                  de      ej>                  jA                  de      d               Z!ej>                  jA                  de      d        Z"d Z#d Z$d Z%d Z&d Z' G d d      Z( G d de(      Z)d Z*d Z+d Z,d Z-d Z.d  Z/d! Z0d" Z1d# Z2d$ Z3d% Z4d& Z5d' Z6d( Z7d) Z8ej>                  jA                  d* ejr                  d+d,d-            ej>                  jA                  d e:ejw                               d.gz         ej>                  jA                  d/d0d1g      d2                      Z<ej>                  jA                  d3d4d5g      ej>                  jA                  d* ejr                  d6            ej>                  jA                  d/d0d1g      d7                      Z=d8 Z>ej>                  jA                  d* ejr                  d+d,d-            ej>                  jA                  d e:ejw                               d.gz         d9               Z?y):z>

Created on Fri Mar 01 14:56:56 2013

Author: Josef Perktold
    N)assert_allcloseassert_almost_equalassert_array_lessassert_equalassert_raises)confint_proportions_2indepmultinomial_proportions_confintpower_proportions_2indepproportion_confint%samplesize_proportions_2indep_onetailscore_test_proportions_2indep)HypothesisTestWarning)Holder)	res_binomres_binom_methodszagresti-coull
asymptoticexactwilsonbayes)agresti_coullnormalbetar   jeffreyscasemethodc                 *   |\  }}t        j                  t        |          }t        |   j                  |   }t        |   j
                  |   }t        j                  |      st        j                  |      rt        j                  d       |dk(  s||k(  r| dk(  rt        j                  d       | dk(  r|dk(  rt        j                  d       t        ||d|       }t        |d      }t        |d	      }t        |||gd
t        |      | z          y )NzSkipping due to NaN valuer   r   z%Skipping nobs 0 or count and jeffreys   z<Skipping nobs is 30 and jeffreys due to extreme case problem皙?alphar         decimalerr_msg)r   indexprobci_methodsr   ci_lowci_uppnpisnanpytestskipr   maxminr   repr)r   r   countnobsidxres_lowres_uppcis           d/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/stats/tests/test_proportion.pytest_confint_proportionr8   (   s     KE4

!
!."8
9Co$$S)Go$$S)G	xxBHHW-/0
etm:)=;<
RS	E4tF	CB'1oG'1oGWg. $T
V 35    c                 N   t        j                  d      j                  dd      }dt        j                  d      z  }t	        j
                  |      }t	        j
                  |      }t        ||d|       }t        ||d|       }t        ||d   j                  |d	   j                  fd
       t        |d   |d   d|       }t        |d   j                  d   |d	   j                  d   f|d
       t        |d   d   |d	   d   f|d
       t        |j                         |j                         d|       }t        ||d   |d	   fd
       t        |j                  d   |j                  d   d|       }	t        |	d   j                  |	d	   j                  f|d   j                  d   |d	   j                  d   fd
       t        ||d   d|       }
t        |
d   d   |d	   d   f|d
       t        |dz   |d   d|       }
t        |
d   d   |d	   d   f|d       y )Nr"         
   )r;   r<   r   r   r   r!   vIh%<=rtol)r!   r;   -C6?)r*   arangereshapeonespd	DataFramer   r   valuestolistiloc)r   r1   r2   count_pdnobs_pdci_arrci_pdci12ci_lici_pdsci_arr2s              r7   test_confint_proportion_ndimrR   ?   s    IIaL  A&ED||E"H||D!Gt4GFx&,.EFU1X__eAhoo>UKeDk4:T%+-DU1X__T*E!HOOD,ABD VAYt_fQio65I u||~t{{}D&,.EFU1XuQx0u=  a 0',,q/&*6;FVAY%%vay'7'781X__Q'q);<5J !T
$(.0GWQZ%vay7EJ !tDz(.0G WQZ%vay7DIr9   c                      d} t        j                  d| dd      }t        j                  d| z  |d   |d   z
  d	z        }t        || d
       y )N      r   r   r   g      (@r!   r   r;      r$   )smpropr   samplesize_confint_proportionr   )r2   r6   ress      r7   'test_samplesize_confidenceinterval_propr[   k   sP    D		"	"2t4	IB

.
.s4x"Q%"Q%-19L
MCT2.r9   c                  L    t        j                  dd      } t        | dd       y )N      ?皙?gAJ?rV   rW   )rX   proportion_effectsizer   )ess    r7   test_proportion_effect_sizera   r   s!    		%	%c3	/B.;r9   c            
          ddl m}  | j                         D ]I  \  \  }}}t        |j                  d|      }t        |j                  ||j                  d| d|        K y )Nr!   )res_multinomialr   r   "z
" method, r#   )'results.results_multinomial_proportionsrc   itemsr	   proportionsr   cis	precision)rc   r   descriptionrG   ri   s        r7   $test_confint_multinomial_proportionsrl   w   sg    H+:+@+@+B 9'	&+-f.@.@$5;=JJV%5%5xz+7	99r9   c                      dD ]  } t        t        t        dgdz  |         t        t        t        t        j                  d      dz
         dD ]  }t        t
        t        dgdz  |        y )N)皙r   r!   g?   2   r    r!   )unknown_methodsisok_methodzunknown-glazrd   )r   
ValueErrorr	   r*   rB   NotImplementedErrorr   s     r7   #test_multinomial_proportions_errorsrv      ss    ! -j"AcBhe	-- *=))B-!#% E /)+JcBhv	//r9   c                     t        j                  g d      j                  dd      } t        j                  g d      j                  dd      }t        j                  ddg      }g d}t        j                  |dd	
      }g d}t        j                  |dd	
      }t        || d       t        |t        j                  ||z
  d      d       t        ||d       y )N)gnvB?gTw?L?        g&Od¨?gsʊ~?g"?gc@?gVE?g/E~ܻ?gW$U>?g\P?gG\+?gYfE?g a?r;   )g/x$?g"1?rx   gh?g:]?gu"?gx?g@?g6?gaS ?gy\?gDU?g|E?g]F?g<d?gQgښd?)8   皙?I   ;   >   W   :   r   
sison_glazrd   )rz   r   r|   r}   r~   r   r   h㈵>atolr   Mb@?)r*   arrayrC   rX   r	   r   maximum)ci01ci0	ci0_shiftpci_01ci_0s         r7   *test_confint_multinomial_proportions_zerosr      s     88   %WR] 	 ((   %WR]  +{34I%A221d:FHE#A11!T9EGD E4d+D"**S9_a8tDE4d+r9   c                       e Zd Zd Zd Zd Zy)CheckProportionMixinc                 *   t        j                  | j                  | j                  d       }t	        |d   | j
                  j                  d       t	        |d   | j
                  j                  d       t        j                  | j                  | j                  | j                  j                  d         }t	        |d   | j                  j                  d       t	        |d   | j                  j                  d       t        j                  | j                  d   | j                  d   | j                  j                        }t	        |d   | j                  j                  d       t	        |d   | j                  j                  d       y )Nvaluer   rV   rW   r!   )rX   proportions_chisquare	n_successr2   r   res_prop_test	statisticp_valueres_prop_test_val
null_valueres_prop_test_1)selfpts     r7   test_proptestz"CheckProportionMixin.test_proptest   s0   ))$..$))4PBqE4#5#5#?#?LBqE4#5#5#=#=rJ ))$..$))*.*@*@*K*KA*NPBqE4#9#9#C#CRPBqE4#9#9#A#A2N ))$..*;TYYq\*.*>*>*I*IKBqE4#7#7#A#A2NBqE4#7#7#?#?Lr9   c                 
   t        j                  | j                  | j                  d       }t	        |j
                  | j                         t        j                  | j                  | j                  d      }t	        |j                         | j                         t        j                  | j                  | j                  d      }t	        |j
                  |j
                  d t        | j                        dz
   d       y )Nmultitest_methodhhommelr!   rV   rW   )rX   proportions_chisquare_allpairsr   r2   r   	pvals_rawres_ppt_pvals_rawpval_correctedres_ppt_pvals_holm"proportions_chisquare_pairscontrollen)r   pptpptds      r7   test_pairwiseproptestz*CheckProportionMixin.test_pairwiseproptest   s    33DNNDII379CMM4+A+AB33DNNDII368C..0$2I2IJ88"&))hHDNNCMM:M3tyy>A;M,N$&	(r9   c                     t        j                  | j                  d d | j                  d d d       }t	        t        |j                        d       g d}t        |j                  | j                  |          y )Nr<   r   )r   r!   r<   )	rX   r   r   r2   r   r   r   r   r   )r   r   r3   s      r7   test_number_pairs_1493z+CheckProportionMixin.test_number_pairs_1493   sc    33DNN2A4F48IIbqMEIK 	S'+CMM4+A+A#+FGr9   N)__name__
__module____qualname__r   r   r    r9   r7   r   r      s    M$(Hr9   r   c                       e Zd Zd Zd Zd Zy)TestProportionc                 p   t        j                  g d      | _        t        j                  g d      | _        t        j                  g d      | _        t        j                  g d      | _        t               }d|_        d|_        d|_	        t        j                  g d      j                  d	d
d      |_        d|_        d|_        d|_        d|_        d|_        || _        t               }t        j                  dg      j                  d
d
d      |_        t        j                  d	g      j                  d
d
d      |_        d|_	        t        j                  g d      j                  d	d
d      |_        t        j                  g d      j                  d	d
d      |_        d|_        d|_        d|_        d|_        || _        t               }d|_        d
|_        d|_	        d|_        d|_        t        j                  ddg      |_        d|_        d|_        d|_        || _        y )N)r|   Z   r   K   )V   ]      R   )gDu?n?gC?ggn`?g۾?gws?)gwGT?r   绶ws?g)?r   r   g3O b =&@r<   guJ?)Κ)?g{?g?gEJԮD?   r!   F)orderNULL	two.sidedzG4-sample test for equality of proportions without continuity correctionzsmokers2 out of patientsg~g*@gv R%?)?r   r   r   zA4-sample test for given proportions without continuity correctionz;smokers2 out of patients, null probabilities rep(c(0.9), 4)g_@gv´?r   r   g]'$OD?g
8s?z71-sample proportions test without continuity correctionz4smokers2[1] out of patients[1], null probability 0.9)r*   r   r   r2   r   r   r   r   	parameterr   rC   estimater   conf_intalternativer   	data_namer   r   r   )r   r   r   r   s       r7   setup_methodzTestProportion.setup_method   s4   "67HH12	!# + " #%(( , #
 "3"# 4!# + " wq#w& 	 $. !+$/! ?"<* #H&(hh0 'wq#w& 	# ')hh0 'wq#w& 	# %6!%'XX / & wq#w& 	" (*xx 1 (wq#w& 	$ &0"(3%#f &c#!2 !($5!$%!"3#4 %("#%88->-?-A $B &1#!Z$Z!.r9   c                     t        j                  ddg      }t        j                  ddg      }t        j                  ||d       \  }}t	        |d       t	        |d       y )Nro   rU   S   c   r   gyt/yg;u`?)r*   r   rX   proportions_ztestr   )r   r1   r2   statpvals        r7   test_default_valuesz"TestProportion.test_default_values$  sT    !R!xxR!--eTF
dD"56D"56r9   c                     d}d}d}t        j                  |||      \  }}t        |d       t        |d       t        t        t         j                  ||d        y )Nro   r   r   r   gu?g}r'=?)rX   r   r   r   rt   )r   r1   r2   r   r   r   s         r7   test_scalarzTestProportion.test_scalar,  sS    --eTG
dD.1D.1j&":":E4tTr9   N)r   r   r   r   r   r   r   r9   r7   r   r      s    A/H7Ur9   r   c                  X   t               } d| _        d| _        d| _        ddg| _        d| _        d| _        d| _        d	| _        d
| _	        t               }d|_        d|_        d|_        ddg|_        d|_        d|_        d|_        d	|_        d
|_	        t               }d|_        d|_        d|_        ddg|_        d|_        d|_        d|_        d	|_        d
|_	        d|fd| fd|fg}|D ]6  \  }}t        j                  ddd|      }t        ||j                  d       8 t        j                  dddd      }t        j                  dddd      \  }}	t        ||j                  d       t        |	| j                  d   d       t        ||j                  d   d       y )N3      g-$Ǻl?r   g&dB?g	jZ?gUUUUUU?lesszExact binomial testz
51 and 235gs0,j.?g.6?r!   greatergJfJ"f?gK-A?g+H3?r   largersmaller	two-sidedpropr   rV   rW   r   r   r   r{   )r   r   r   r   r   r   r   r   r   r   rX   
binom_testr   r   )
binom_test_lessbinom_test_greaterbinom_test_2sidedalltestsaltres0rZ   ci_2sr(   r)   s
             r7   test_binom_testr   7  s    hO "O #O/O !#56O1O!'O"(O2O ,O  #% #& !4#5q"9"4$*!%." 5#/  "$"% 2"46H!I!3#) $/!4".-.O,/02H  ;	TCf#FCr:	; %%b#T&IE..r3c6<>NFF0992F 8 8 ;RH 2 ; ;A >Kr9   c                  \   d} d}d}d}t        j                  ||| |      \  }}t        ||       t        j                  ||||      }t	        ||        t        j                  |dz   |||      }t	        | |       d}t        j                  ||| |      \  }}t        |d	       t        j                  ||||      }t	        ||        t        j                  |dz
  |||      }t	        | |       d
}t        j                  ||| |      \  }}t        j                  ||||      }t	        ||        t        j                  |dz
  |||      }t	        | |       t        j                  ||||      }t	        ||        t        j                  |dz
  |||      }t	        | |       y )Nr      333333?r   )r    r   r   r!   r   r   r   )rX   binom_test_reject_intervalr   r   r   )r    r2   r   r   r(   r)   r   s          r7   test_binom_rejection_intervalr   r  s    EDDK66tTCNPNFFVT.9;DdE"VaZD.9;DeT"K66tTCNPNFFVT.9;DdE"VaZD.9;DeT"K66tTCNPNFFVT)46DdE"VaZD)46DeT"VT)46DdE"VaZD)46DeT"r9   c                  P   t        j                  dddd      } t        j                  ddg|  }t        |dgdz  d	       t        j                  d
ddd      } t        j                  d
dg|  }t        |dgdz  d	       t        j                  t	        j
                  dd      ddd      } t        j                  t	        j
                  dd      d| d   | d         }t	        j                  |      }t        |dt	        j                  |j                        z  d	       y )Nr=   rT   r   r{   )r   r    r   r<   rU   rW   ro   r!   r   皙?)	rX   r   
binom_tostr   r*   rB   asarrayrD   shape)r6   bts     r7   test_binom_tostr     s     
	"	"2r&	DB			2r	'B	'BTFQJ3		"	"1bs	CB			1b	&2	&BTFQJ3 
	"	"299Q#3R)-
/B			299Q+RA1	>B	BBEBGGBHH$55rBr9   c                     dt        j                  ddd      z   } t        j                  ddd| d	      }t        j                  g d
      }t        ||d       t        j                  ddd      }d}t        ||       t        j                  ddd      }t        j                  dd|dd	      }t        j                  g d      }t        t        j                  |d      |d       y )Nr   r   g
ףp=
?r=   r]   gffffff?i  r   )p_altr    )
gS?g+?g rh?g&W?g%u?gNё\C?g?W[?g??g%u?g(?r   rW   )i  iL  rT      r^   
rx   rx   rx   RI&¶?Gx$(?n4@?JY?6>W[?z6>W[?7d?)
r*   linspacerX   power_binom_tostr   r   binom_tost_reject_intervalr   rB   r   )r   power	res_powerrej_intres_rej_intr2   s         r7   test_power_binom_tostr    s    "++ar**E##CcdKE = >Iy!4//S#>GK+&
 99Rb!D##Cd#TJE 5 6I 

5!,iCr9   c                  |   t        j                  ddddddd      d	   } t        | d
d       t        j                         5  t        j
                  dt               t        j                  ddt        j                  ddd      dddd      d	   } t        j                  g d      }t        t        j                  | d	      |d       t        j                  ddt        j                  ddd      ddddd dd
      d	   } t        j                  g d      }t        t        j                  | d	      |d       t        j                  ddt        j                  ddd      dddddd	      d	   } t        j                  g d      }t        t        j                  | d	      |d       d d d        y # 1 sw Y   y xY w)Nr{   r   r=   r   r   Tbinom)r   r    discretedistr   gm4@?r   rW   ignorer^   rT   r   r]   F)
rx   rx   rx   r   r   gI+?gV-?r   g rh?r   r;   r!   r   r    r
  r  variance_prop
continuitycritval_continuityr   )r   r    r
  r  r  r  )
rx   rx   rx   r   r   r   r   r   r   gRI&?)rX   power_ztost_propr   warningscatch_warningssimplefilterr   r*   rB   r   r   r  r  s     r7   test_power_ztost_propr    s   ##Cb4"&W6679Evq1		 	 	" Hh(=>''S"))BR2H.1-46679 HH & '	 	BJJua0)QG ''S"))BR2H.1-4D34L MNO
 HH 6 7	 	BJJua0)QG''S"))BR2H.1-4C;<> ?@A
 HH 6 7	 	BJJua0)QG=H H Hs   E'F22F;c                      t        j                  ddgddg      } ddlm}m}  || dd      }t        |dd	gd
        || ddd      }t        |d   d   dd
       t        |d   d   dd
       t        |d   d       y )Nr!   r      i  )zconfintztostr{   )r    ddofgAf?gL7A`?r   g
ףp=
?gRQ?)r  g"@r;   g~zrA   )r*   repeatstatsmodels.stats.weightstatsr  r  r   r   )xfairr  r  r   rZ   s        r7   
test_ztostr    s    IIq!fsGn-E >E1-D/3
tT
*CAq	61-Aq	7A.c!ff%r9   c                  6   t        j                  t              5  t        j                  ddt        j                  ddd      dddddd	d	

      d	   } d d d        t        j                  g d      }t        t        j                   d	      |d       t        j                  t              5  t        j                  ddt        j                  ddd      ddddddd	

      d	   } d d d        t        j                  g d      }t        t        j                  | d	      |d       t        j                  t              5  t        j                  ddt        j                  ddd      ddddddd	

      d	   } d d d        t        j                  g d      }t        t        j                  | d	      |d       t        j                  t              5  t        j                  ddt        j                  ddd      ddddddd

      d	   } d d d        t        j                  g d      }t        t        j                  | d	      |d       t        j                  t              5  t        j                  ddt        j                  ddd      ddddd d	d	

      d	   } d d d        t        j                  g d      }t        t        j                  | d	      |d       y # 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   xY w# 1 sw Y   vxY w)Nr^   r   rT   r   r]   r   Fnormr   r  )
rx   rx   rx   gݼiO?gk?g?g-9?gmb?gn?gFm?r   rW   r!   )
rx   rx   g= P?gs=?gd-v?gvȋT1x?g,Ѝ?gxhG?gv10?g@ I?T)
rx   rx   rx   ʶ?a\q/?ʔ?g[7?SX#?F=D[?gN8P?)
rx   rx   rx   r"  r#  r$  gSii?r%  r&  gs?)
rx   rx   rx   rx   gY'WF]J?g Y?g6?g 7D?g =J?go0J?)
r,   warnsr   rX   r  r*   rB   r   r   r   r  s     r7   test_power_ztost_prop_normr(    s    
+	, O''S"))BR2H.1-3334L MNOO  J KI 

5!,iC 
+	, O''S"))BR2H.1-3334L MNOO  & 'I 

5!,iC 
+	, O''S"))BR2H.1-3334L MNOO  J KI 

5!,iC 
+	, O''S"))BR2H.1-3334L MNOO  J KI 

5!,iC 
+	, O''S"))BR2H.1-3434L MNOO  H II 

5!,iCuO OO OO OO OO Os;   8K,8K)>8K68L"8LK&)K36L LLc                     t        j                  dddd      } t        j                  ddd      }t        | d   |d   d       t        j                  t	        j
                  dd	g      t	        j
                  dd
g      dd       } t        j                  t	        j
                  dd	g      t	        j
                  dd
g            }t        | d   |d   d       t        j                  t	        j
                  dd	g      t	        j
                  d
dg      dd       } t        j                  t	        j
                  dd	g      t	        j
                  d
dg            }t        | d   |d   d       t        d|d   d          y )N   g      4@r]   )r   prop_varr   r!   rV   rW   r=   rT   r   iP  ry   )rX   r   r   r   r*   r   r   )res1res2s     r7   test_proportion_ztestsr.  A  sM    ##B3ED''Cs;DQa"5##BJJBx$8$&JJRy$9*+d<D ''

B8(<(*

C9(=?D Qa"5 ##BJJBx$8$&JJE{$;*+d<D ''

B8(<(*

B;(?AD Qa"5ab!%r9   c            	         d\  } }d\  }}	 t        | |||ddd      }t        |ddgd	
       t        | |||ddd      }t        |ddgd	
       t        | |||ddd      }t        |ddgd	
       t        | |||ddd      }t        |ddgd       t        | |||dd      }t        |ddgd       t        | |||dd      }t        |dd gd       t        | |||ddd!      }t        |d"d#gd       t        | |||d$d%      }t        |d&d'gd       t        | |||d$d(      }t        |d)d*gd       t        | |||d$d+      }t        |d&d,gd       t        | |||d-dd      }t        |d.d/gd       y )0N   "   r!   r2  newcombdiffr   )r   comparer    g~jt?g(\?g{Gzt?r   waldgV-?g#~j?agresti-caffog~jt?gS㥛?scoreTr6  r   
correctiongy&1?gʡE?gQ?r?   ratiologr6  r   gQ?6   g{Gz?log-adjustedgq=
ףp?   Fg\(\?+   orlogitgGz?J   logit-adjustedg\(\?&   logit-smoothed<   
odds-ratiog)?g+O ;L@r   r   )count1nobs1count2nobs2r6   s        r7   test_confint_2indeprP  \  s    MFEMFE8 
$FE65+4,2$
@B BU3	#FE65+1,2$
@B BU3	#FE65+:,2$
@B BU3	#FE65,2+2t
EB BT2 
$FE65,3+0
2B Br
.	#FE65,3+9
;B Br
.	#FE65,3+2u
FB Br
. 
$FE65,0+2
4B Br
.	#FE65,0+;
=B Br
.	#FE65,0+;
=B Br
.	#FE65,8+2t
EB B9-D9r9   c            	      j   d\  } }d\  }}d}t        | |||ddd      }t        ||d	       d
}t        | |||dd      }t        ||d	       d}t        | |||ddd      }t        ||d	       d}t        | |||ddd      }t        ||d       d}t        | |||ddd      }t        ||d	       y )Nr0  r3  )g˰?g.B@?r5  r9  Tr:  gMb`?r   )g.7Ǉ?gfYr?r8  r>  gv!>)g`ţޝ?g`$0?r7  F)g^?g`9>L@rJ  r   r?   )gh'?g۞ IE@r<  rK  )rL  rM  rN  rO  r6   ci1s         r7   test_confint_2indep_propcisrS    s     MFEMFE 
B
$VUFE-3,3FC C%(	B
$VUFE-3,;=C C$'	B
$VUFE-3,2uFC C$' 
B
$VUFE-9,3FC C$' 
B
$VUFE-4,3GC C$'r9   c            
         d\  } }d\  }}dD ]  }t        | ||||      }t        |j                  |j                  d       |dk(  rdnd	}t        | |||||d
      d d \  }}t        | |||||dz   d
      d d \  }	}
t        ||	d       t        ||
d       t        | |||||dz
  d
      d d \  }	}
t        ||	d       t        ||
d        y )Nr0  r3  )r5  r<  rC  )r6  绽|=r?   r5  r         ?F)r6  r   return_resultsr;   :0yE>)r   r   
prop1_null
prop2_null)rL  rM  rN  rO  corZ   vals0pv0s1pv1s              r7   test_score_test_2indepra    s   MFEMFE% -+FE65468UC <aR/vu8:#?DFFHqJC 0vu8:#+?DFFHqJC 	BT*St,/vu8:#+?DFFHqJC 	BT*St,'-r9   c                     d} d\  }}d\  }}g d}|D ]  \  }}t        ||||||| d      \  }}	t        j                  |||||||d      }
t        |
j                  | d	       t        j                  |||||	||d      }
t        |
j                  | d	       t        j                  |||||	||d
dd
      \  }}t        || dz  d	       t        j                  |||||||ddd
      \  }}t        || dz  d	        d\  }}t        ||||||| d      \  }}	t        j                  |||||||d      }
t        |
j                  | d	       y )Nr   r0  r3  
)r5  r8  )r5  r9  )r5  r7  )r<  r=  )r<  r@  r<  r9  )rJ  rD  )rJ  rF  )rJ  rH  )rJ  r9  Fr6  r   r    r;  )r   r6  r   r;  rU  r   r   )r   r6  r   r   r;  rW  r;   r   rd  T)r   rX   test_proportions_2indepr   pvalue)r    rL  rM  rN  rO  methods_bothr[  r   lowupprZ   _pvs                r7   test_test_2indeprm    s    EMFEMFEL # 3
F-feVU6849eMS ,,vuC%1 	

E6,,vuC%1 	

E6..E65R!y$U<2 	EAIE2..E65R!x$U<2 	EAIE2338 "JB)&%24V05$HHC 
(
(E65Rd,C CJJE2r9   c                     d} d\  }}d\  }}ddgd}}ddgd}}g d}	|	D ]  \  }
}t        |||||
|d| z  d	
      \  }}t        j                  ||||||dz  |
|d		      }t        |j                  | d       t        j                  |||||dz  ||
|d		      }t        |j                  | d       |dk(  r y |}t        j                  |||||dz  ||
|d		      }t        |j                  d   | d        y )Nr   r0  r3  r1  r!   r2  rc  r;   Fre  g?r:  rU  r   gffffff?rH  r   )r   rX   tost_proportions_2indepr   rg  )r    rL  rM  rN  rO  count1vnobs1vcount2vnobs2vrh  r[  r   ri  rj  rZ   r,  s                   r7   test_equivalence_2indeprt  2  s>    EMFEMFE!fbVG!fbVGL # :
F-feVU6845I9>@S ,,vuc3:r%1 	

E6,,vucDj#r%1 	

E6 %%,,&#*c2%1 	

1u593:r9   c                  z   d\  } }d\  }}t               }g d|_        ddg|_        t        j                  ||| |d      }t        |j                  |j                  d	       t        |j                  |j                  d
	       g d}t        j                  |d      }ddg}t        |j                  |d
	       y )N)   P   )$   (   )g6[?gsA?ga4?gQ@gS㥛@r   rq   r   r   r<   )C   	   r1  rv  g6^?gLMw?)	r   p0_rootsr   rX   _confint_riskratio_koopmanr   _p_rootsconfint_confint_riskratio_paired_nam)	x0n0x1n1results_namrZ   tablerespci_olds	            r7   test_score_confint_koopman_namr  e  s     FBFB (K3K!5>K

+
+BB4
HCCLL+"6"6Q?CKK!5!5A>E//TBD"FDLL&q1r9   c            	      d   t        ddd      } t        | j                  dd       t        dddddd	d
      }t        |dd       t        dddd       t        | j                  dd       t        dddd      } t	        | j                  d       t        ddddd      } t        | dd       t        dddd      } t        | dd       t        dddddd	d
      }t        |dd       d	dlm} t        dddd      }t        |j                  dd         |ddd!|j                  |j                  "      }t        |dd       t        dddddd	d
      }t        ||d#$       d%}d&}t        d'd(|d)      }t        |j                  |d        t        d'd(|d*      }t        ||d+$       y ),Ng      пg      ?g8b->-S@r   rX  r   r!   r   r   r   )r<  r    r   r   r   g*O@r   )r   g      ?r]   r   F)r   rW  g333333ÿg?g#T@)rW  )normal_sample_size_one_tailgy&1gQ?i&  rV  )r<  gB	ܺ?gHz>r   )std_nullstd_alternativer>   r?   g,KE?   rn   g?g       @r;   rA   )	r
   r   r  r   r   statsmodels.stats.powerr  r  std_alt)pow_nr  rZ   n2pwr_sts         r7   test_power_2indepr    s   #E4:DDJJ$/-eT3a48:E	GA Axd+UD(	JDJJ$/#D#xYODdjj$'#D#xX38:DD#D)#E4ODD#D)-eT3a48:E	GA AwT* D
"65#R
@CCIIyt4#FIx-0\\47KK	AA As&	.vui56d!;F
HB B&  FA
"4ar
:CCIIvD1	.tS&	JBB%r9   r1   r=   r   ro   r   
array_likeFTc           
          |r| gdz  n| }d}t        | ||      }t        || z
  ||      }t        t        j                  |      dt        j                  |d d d         z
         y )Nr<   d   rd   rV  ry   r   r   r*   r   )r1   r   r  _countr  abs          r7   test_ci_symmetryr    s`     'eWq[EFA5!F3A1u9a7ABHHQKrxx$B$'8!89r9   r2   /   rp   0   c           
          |r|gdz  n|}|r	| |z
  gdz  n| |z
  }t        || d      }t        || d      }t        t        j                  |      dt        j                  |d d d         z
         y )Nr<   r   rd   rV  ry   r  )r2   r1   r  r  nobs_m_countr  r  s          r7   test_ci_symmetry_binom_testr    so     'eWq[EF)3D5L>A%L64=A<lCABHHQKrxx$B$'8!89r9   c                     t        j                  t              5  t        ddd       d d d        t        j                  t              5  t        ddd       d d d        t        j                  t              5  t        t	        j
                  dg      dd       d d d        t        dd	d      } t        d
d	d      }t        d
dd      }t        | |       t        | |       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   dxY w)Ng      %@rT   r   rd   r=   g     4@g$@g      5@r     g     G@)r,   raisesrt   r   r*   r   r   )r  r  cs      r7   test_int_checkr    s    	z	" :4L9:	z	" :2tL9:	z	" F288TF+REF 	4L9A2r,7A2tL9AAqAq: :: :F Fs#   C(
C4:#D (C14C= D	c           
          d}t        | | g||      }t        || z
  || z
  g||      }t        t        j                  |      dt        j                  |d d d         z
         y )Nr  rd   rV  ry   r  )r1   r   r  r  r  s        r7   test_ci_symmetry_arrayr    s^    
 	AE5>1V<AAIq5y11VDABHHQKrxx$B$'8!89r9   )@__doc__r  numpyr*   numpy.testingr   r   r   r   r   pandasrE   r,   statsmodels.stats.proportionstats
proportionrX   r   r	   r
   r   r   r   statsmodels.tools.sm_exceptionsr   statsmodels.tools.testingr   2statsmodels.stats.tests.results.results_proportionr   r   r'   markparametrizer8   rR   r[   ra   rl   rv   r   r   r   r   r   r   r  r  r  r(  r.  rP  rS  ra  rm  rt  r  r  rB   listkeysr  r  r  r  r   r9   r7   <module>r     s        - -  B , [#2(!$%	 	*.15 2 +5* >2(J 3(JV/<
9/#,L(H (HVUU) UUp8Lv+#^C&D,#HL&"=D@&6S:l&(R-693x0:f262&j )"))BA"67d>&&()\N: t}5: 6 8
: "b*)"))B-0t}5: 6 1 +:  )"))BA"67d>&&()\N:: 8:r9   