U
    Ãmœd`¨  ã                   @   sx  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  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  de¡ej  de¡dd„ ƒƒZ!ej  de¡dd„ ƒZ"dd„ Z#dd„ Z$dd„ Z%dd„ Z&dd„ Z'G dd„ dƒZ(G d d!„ d!e(ƒZ)d"d#„ Z*d$d%„ Z+d&d'„ Z,d(d)„ Z-d*d+„ Z.d,d-„ Z/d.d/„ Z0d0d1„ Z1d2d3„ Z2d4d5„ Z3d6d7„ Z4d8d9„ Z5d:d;„ Z6d<d=„ Z7d>d?„ Z8ej  d@e 9dAdBdC¡¡ej  de:e ;¡ ƒdDg ¡ej  dEdFdGg¡dHdI„ ƒƒƒZ<ej  dJdKdLg¡ej  d@e 9dM¡¡ej  dEdFdGg¡dNdO„ ƒƒƒZ=dPdQ„ Z>ej  d@e 9dAdBdC¡¡ej  de:e ;¡ ƒdDg ¡dRdS„ ƒƒZ?dS )Tz>

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-coullZ
asymptoticÚexactÚwilsonZbayes)Zagresti_coullÚnormalÚbetar   ÚjeffreysÚcaseÚmethodc                 C   sÐ   |\}}t  t|  ¡}t| j| }t| j| }t |¡sFt |¡rPt 	d¡ |dks`||krr| dkrrt 	d¡ | dkrŒ|dkrŒt 	d¡ t
||d| d�}t|dƒ}t|d	ƒ}t|||gd
t|ƒ|  d� d S )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ÚidxZres_lowZres_uppÚci© r0   ú`/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_proportion.pyÚtest_confint_proportion)   s     





ÿr2   c                 C   sÊ  t  d¡ dd¡}dt  d¡ }t |¡}t |¡}t||d| d�}t||d| d�}t||d j|d	 jfd
d� t|d |d d| d�}t|d jd |d	 jd f|d
d� t|d d |d	 d f|d
d� t| 	¡ | 	¡ d| d�}t||d |d	 fd
d� t|j
d |j
d d| d�}	t|	d j|	d	 jf|d jd |d	 jd fd
d� t||d d| d�}
t|
d d |d	 d f|d
d� t|d |d d| d�}
t|
d d |d	 d f|dd� d S )Nr   é   é   é
   )r3   r4   r   r   r   r   ç‚vIhÂ%<=©Zrtol)r   r3   ç-Cëâ6?)r%   ÚarangeÚreshapeÚonesÚpdZ	DataFramer
   r   ÚvaluesÚtolistZiloc)r   r,   r-   Zcount_pdZnobs_pdZci_arrZci_pdZci12Zci_liZci_pdsZci_arr2r0   r0   r1   Útest_confint_proportion_ndim@   sH    

ÿÿÿ"ÿ ÿ ÿÿ"ÿr?   c                  C   sH   d} t jd| ddd�}t  d|  |d |d  d	 ¡}t|| d
d� d S )Né   é   r   r   r   g      (@r   r   r3   é   ©r   )Úsmpropr
   Zsamplesize_confint_proportionr   )r-   r/   Úresr0   r0   r1   Ú'test_samplesize_confidenceinterval_propl   s     rF   c                  C   s   t  dd¡} t| ddd� d S )Nç      à?çš™™™™™Ù?gAâJªÆÉ?rB   rC   )rD   Zproportion_effectsizer   )Úesr0   r0   r1   Útest_proportion_effect_sizes   s    rJ   c                  C   sR   ddl m}  |  ¡ D ]8\\}}}t|jd|d�}t|j||jd||f d� qd S )Nr   )Úres_multinomialr   ©r   z"%s" method, %sr   )Z'results.results_multinomial_proportionsrK   Úitemsr   Zproportionsr   ÚcisÚ	precision)rK   r   Údescriptionr=   rN   r0   r0   r1   Ú$test_confint_multinomial_proportionsx   s    ÿ  
þrQ   c                  C   sZ   dD ]} t ttdgd | d� qt ttt d¡d ƒ dD ]}t ttdgd |d� q:d S )N)çš™™™™™¹¿r   r   gš™™™™™ñ?é   é2   ©r   r   )Zunknown_methodZsisok_methodzunknown-glazrL   )r   Ú
ValueErrorr   r%   r9   ÚNotImplementedErrorr   r0   r0   r1   Ú#test_multinomial_proportions_errors‚   s     ÿÿ ÿrX   c                  C   sè   t  ddddddddd	d
ddddg¡ dd¡} t  ddddddddddddddg¡ dd¡}t  ddg¡}d d!d"d#d$d%d&g}tj|d'd(d)�}d d*d"d#d$d%d&g}tj|d'd(d)�}t|| d+d,� t|t  || d*¡d+d,� t||d-d,� d S ).Ngœnv÷Bù·?gTw?¸LÈ?ç        g&Oþ“dÂ¨?g×sÊŠ~Á?gÝË"¹¡ÎÍ?gc@‰àê¹?gVèÍò†EÉ?gï/«E~Ü»?gWÂ$¦U>Ê?gó\P¥Æ?gG\ÔÝ+Ñ?g¸YÝfE¹?g õ°a—òÈ?éÿÿÿÿr3   g/x$ º ¸?g®â"1 È?gè”hê©?gï:]¢ÒÁ?gÿ´Ëu"Î?g»“x’º?g“@Þ™É?gØýø…6„¼?gýaS ï‘Ê?gy‰¹½\Æ?g¶ýDÈíUÑ?g|E‰Žì¹?g±”]FÉ?gÿ¶ó<½d?g„QgóÚšd?é8   çš™™™™™¹?éI   é;   é>   éW   é:   r   Z
sison_glazrL   r   çñhãˆµøä>©Zatolçü©ñÒMb@?)r%   Úarrayr:   rD   r   r   Úmaximum)Úci01Zci0Z	ci0_shiftÚpZci_01Zci_0r0   r0   r1   Ú*test_confint_multinomial_proportions_zeros�   sd           ù ù	       ù ùÿÿri   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚCheckProportionMixinc                 C   sØ   t j| j| jd d�}t|d | jjdd� t|d | jjdd� t j| j| j| jj	d d�}t|d | jjdd� t|d | jjdd� t j| jd | jd | j
j	d�}t|d | j
jdd� t|d | j
jdd� d S )N©Úvaluer   rB   rC   r   )rD   Úproportions_chisquareÚ	n_successr-   r   Úres_prop_testÚ	statisticÚp_valueÚres_prop_test_valÚ
null_valueÚres_prop_test_1)ÚselfÚptr0   r0   r1   Útest_proptest¶   s    
ÿÿz"CheckProportionMixin.test_proptestc                 C   s‚   t j| j| jd d�}t|j| jƒ t j| j| jdd�}t| ¡ | jƒ t j	| j| jdd�}t|j|jd t
| jƒd … dd� d S )N©Zmultitest_methodÚhZhommelr   rB   rC   )rD   Úproportions_chisquare_allpairsrn   r-   r   Ú	pvals_rawÚres_ppt_pvals_rawZpval_correctedÚres_ppt_pvals_holmZ"proportions_chisquare_pairscontrolÚlen)ru   ÚpptZpptdr0   r0   r1   Útest_pairwiseproptestÈ   s    ÿÿ ÿÿz*CheckProportionMixin.test_pairwiseproptestc                 C   sT   t j| jd d… | jd d… d d�}tt|jƒdƒ dddg}t|j| j| ƒ d S )Nr4   rx   r   r   )	rD   rz   rn   r-   r   r~   r{   r   r|   )ru   r   r.   r0   r0   r1   Útest_number_pairs_1493Ö   s    þ
z+CheckProportionMixin.test_number_pairs_1493N)Ú__name__Ú
__module__Ú__qualname__rw   r€   r�   r0   r0   r0   r1   rj   µ   s   rj   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestProportionc                 C   s¢  t  ddddg¡| _t  ddddg¡| _t  d	d
ddddg¡| _t  dd
ddddg¡| _tƒ }d|_d|_d|_	t  ddddg¡j
dddd�|_d|_d|_d|_d|_d |_|| _tƒ }t  d!g¡j
dddd�|_t  dg¡j
dddd�|_d"|_	t  ddddg¡j
dddd�|_t  d#d#d#d#g¡j
dddd�|_d|_d|_d$|_d%|_|| _tƒ }d&|_d|_d'|_	d|_d#|_t  d(d)g¡|_d|_d*|_d+|_|| _d S ),Nr]   éZ   ér   éK   éV   é]   éˆ   éR   gû±D�Ýu?gßünó¥ê?g–³”CÈ?ggÆnš`?gÙÚÛ¾íÂÀ?g¸¶w£sŒ»?gwGÝóT›?g»¶w£sŒÛ?g¨)¦çˆ?g3O b =&@r4   gËuÃJº†?gÎš²¦¬)ë?gøÞ{ï½÷î?gÒÒÒÒÒÒê?gEíJÔ®Dí?é   r   ÚF)ÚorderZNULLú	two.sidedzG4-sample test for equality of proportions without continuity correctionzsmokers2 out of patientsg«œ~Ýög*@g·©v R%…?çÍÌÌÌÌÌì?zA4-sample test for given proportions without continuity correctionz;smokers2 out of patients, null probabilities rep(c(0.9), 4)gÕê_¥@gvÂ´é½?g]'$O…Dè?g
üÈ8sí?z71-sample proportions test without continuity correctionz4smokers2[1] out of patients[1], null probability 0.9)r%   re   rn   r-   r|   r}   r   rp   Ú	parameterrq   r:   Úestimaters   Úconf_intÚalternativer   Ú	data_namero   rr   rt   )ru   ro   rr   rt   r0   r0   r1   Úsetup_methodá   s¸        þ    þ  þ  ýÿ  þÿ  þ  þ  ý   ÿ  þÿzTestProportion.setup_methodc                 C   sH   t  ddg¡}t  ddg¡}tj||d d�\}}t|dƒ t|dƒ d S )NrS   rA   éS   éc   rk   gÞyt/y†ö¿gäœ;u`Ä?)r%   re   rD   Úproportions_ztestr   )ru   r,   r-   ÚstatÚpvalr0   r0   r1   Útest_default_values%  s
    
z"TestProportion.test_default_valuesc                 C   sL   d}d}d}t j|||d�\}}t|dƒ t|dƒ ttt j||d d� d S )NrS   r˜   r   rk   gÏu»Â—Ù?gÌ}r'=æ?)rD   rš   r   r   rV   )ru   r,   r-   rl   r›   rœ   r0   r0   r1   Útest_scalar-  s    

zTestProportion.test_scalarN)r‚   rƒ   r„   r—   r�   rž   r0   r0   r0   r1   r…   à   s   Dr…   c            
      C   sj  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 ]*\}}t
jddd|d�}t||jdd� qÚt
jddddd�}t
jddddd�\}}	t||jdd� t|	| jd dd� t||jd dd� d S )Né3   éë   g-$ËÇºlï?r   g&d¾»BÑ?g	èÁjZÇË?gUUUUUUÅ?ÚlesszExact binomial testz
51 and 235gs0ê,j.›?g.ªšˆ6Æ?r   ZgreatergÛJfJ"f¦?g¤·K-�AÅ?gŠ+H3ÿ�Ñ?r�   ÚlargerÚsmallerú	two-sided©Úpropr•   rB   rC   r   r   r   r\   )r   rp   r’   rq   r”   r“   rs   r•   r   r–   rD   Ú
binom_testr   r
   )
Zbinom_test_lessZbinom_test_greaterZbinom_test_2sidedZalltestsZaltZres0rE   Zci_2sr#   r$   r0   r0   r1   Útest_binom_test8  sX    


þ
ÿ
r¨   c                  C   sb  d} d}d}d}t j||| |d�\}}t||ƒ t j||||d�}t|| ƒ t j|d |||d�}t| |ƒ d}t j||| |d�\}}t|d	ƒ t j||||d�}t|| ƒ t j|d |||d�}t| |ƒ d
}t j||| |d�\}}t j||||d�}t|| ƒ t j|d |||d�}t| |ƒ t j||||d�}t|| ƒ t j|d |||d�}t| |ƒ d S )Nr   éÈ   ç333333ã?r£   )r   r•   r¥   r   r¢   r   r¤   )rD   Zbinom_test_reject_intervalr   r§   r   )r   r-   r¦   r•   r#   r$   rœ   r0   r0   r1   Útest_binom_rejection_intervals  sb    
ÿ


ÿ
ÿ

ÿ


ÿ
ÿ

ÿ

ÿ
ÿ

ÿ
ÿr«   c                  C   sÊ   t jddddd�} t jd| žŽ }t|dgd dd	� t jd
dddd�} t jd| žŽ }t|dgd dd	� t jt dd¡dddd�} t  t dd¡d| d | d ¡}t |¡}t|dt |j¡ dd	� d S )Nr5   r@   r   r\   )r   r   r   r4   rA   rC   rS   r   r   çš™™™™™™?)r5   r@   )rS   r@   )	rD   r
   Z
binom_tostr   r%   r9   Úasarrayr;   Úshape)r/   Zbtr0   r0   r1   Útest_binom_tost¢  s    ÿ 
r¯   c                  C   sÈ   dt  ddd¡ } tjddd| dd	�}t  d
dddddddddg
¡}t||dd� t ddd¡}d}t||ƒ t  ddd¡}tjdd|ddd	�}t  ddddddddd d!g
¡}tt  	|d¡|dd� d S )"Nrª   r   g
×£p=
·?r5   rG   gffffffæ?iô  r   )Úp_altr   gÙÎ÷Sãï?g+‡ÙÎï?gœÄ °rhï?g�&Â†§Wî?g%ušì?gNÑ‘\þCè?g?W[±¿ìâ?g?ÆÜÙ?g%ušÎ?g¸¯çŒ(½?r�   rC   )i  iL  r@   éÒ   rH   rY   çRI�€&Â¶?çGx$(Î?çn4€·@‚Ö?çØðôJY†Ü?ç6«>W[±ã?çz6«>W[å?çµ7øÂdªè?)
r%   ZlinspacerD   Zpower_binom_tostre   r   Zbinom_tost_reject_intervalr   r9   rf   )r°   ÚpowerÚ	res_powerZrej_intZres_rej_intr-   r0   r0   r1   Útest_power_binom_tostµ  s(       ÿ
  ÿr»   c                  C   sh  t jdddddddd�d	 } t| d
dd� t ¡ ��* t dt¡ t jddt ddd¡ddddd�d	 } t 	ddddddddddg
¡}tt 
| d	¡|dd� t jddt ddd¡ddddd ddd�
d	 } t 	ddddddddd dg
¡}tt 
| d	¡|dd� t jddt ddd¡ddddddd!�	d	 } t 	ddddddddd d"g
¡}tt 
| d	¡|dd� W 5 Q R X d S )#Nr\   r‘   r5   rª   r   TZbinom)r°   r   ÚdiscreteÚdistr   gÆm4€·@ê?r�   rC   ÚignorerH   r@   r±   rG   FrY   r²   r³   gºI+‡Þ?gV-²á?r¶   gÅ °rh‘ç?r¸   r3   r   ©r°   r   r¼   r½   Úvariance_propZ
continuityÚcritval_continuityr´   rµ   r·   )r°   r   r¼   r½   rÀ   rÁ   gRI�€&Âæ?)rD   Úpower_ztost_propr   ÚwarningsÚcatch_warningsÚsimplefilterr   r%   r9   re   rf   ©r¹   rº   r0   r0   r1   Útest_power_ztost_propË  sp     ÿÿ  þþ  ÿ    ýý  ÿ   ýý  ÿrÇ   c                  C   sŒ   t  ddgddg¡} ddlm}m} || ddd�}t|dd	gd
ƒ || dddd�}t|d d dd
ƒ t|d d dd
ƒ t|d dƒ d S )Nr   r   éä   i  )ÚzconfintÚztostr\   )r   Úddofg×òAÏfÑ?gL7‰A`åÔ?r�   g
×£p=
Ç?gR¸…ëQØ?)rË   gåÐ"Ûù¾@r3   g—ÿ�~ûzÀr8   )r%   ÚrepeatZstatsmodels.stats.weightstatsrÉ   rÊ   r   r   )ZxfairrÉ   rÊ   rg   rE   r0   r0   r1   Ú
test_ztostñ  s    rÍ   c                  C   sR  t  t¡�2 tjddt ddd¡dddddd	d	d
�
d	 } W 5 Q R X t ddddddddddg
¡}tt 	| d	¡|dd� t  t¡�2 tjddt ddd¡ddddddd	d
�
d	 } W 5 Q R X t ddddddddddg
¡}tt 	| d	¡|dd� t  t¡�2 tjddt ddd¡ddddddd	d
�
d	 } W 5 Q R X t ddddd d!d"d#d$d%g
¡}tt 	| d	¡|dd� t  t¡�2 tjddt ddd¡dddddddd
�
d	 } W 5 Q R X t ddddd d!d&d#d$d'g
¡}tt 	| d	¡|dd� t  t¡�2 tjddt ddd¡ddddd d	d	d
�
d	 } W 5 Q R X t ddddd(d)d*d+d,d-g
¡}tt 	| d	¡|dd� d S ).NrH   rª   r@   r±   rG   r   FZnormr   r¿   rY   gÝ¼iáO½?g÷ÅkãÂÑ?gÿ¶Ä±ŽÚ?gãž-9ñà?gm�½böã?g¡£ònæ?gF¶ëmè?r�   rC   r   g=‰ ŽÚP›?gÔs=—Ê×É?gd®-¸vÖ?gvÈ‹T1xÞ?g¿�þ,Ð�â?gËx„hGå?g¸v10ç?gî@¾ ÒIé?Tgà®Ê¶?ga”¹\q/Î?gÊ”ƒ—è…Ö?g[”Å7³á?gS©ŸX#²ã?g²F=D£[å?gN²8P©è?gSii‰Ü?g½ë¦sÉÁæ?gY'WF]JÄ?g¢ Y¡«¡Ú?g•ò6€à?g æÜ7Dâ?gÔ =J�æ?go÷0ƒJ¿ç?)
r'   Zwarnsr   rD   rÂ   r%   r9   re   r   rf   rÆ   r0   r0   r1   Útest_power_ztost_prop_norm  sÀ        ýý   ÿ    ýý   þ    ýý   ÿ    ýý   ÿ    ýý   ÿrÎ   c                  C   s  t jddddd�} t jdddd�}t| d |d dd� t jt dd	g¡t dd
g¡dd d�} t  t dd	g¡t dd
g¡¡}t| d |d dd� t jt dd	g¡t d
dg¡dd d�} t  t dd	g¡t d
dg¡¡}t| d |d dd� td|d d ƒ d S )Né   g      4@rG   )rl   Zprop_varrk   r   rB   rC   r5   r@   r   iPÃ  rZ   )rD   rš   rm   r   r%   r­   r   )Úres1Zres2r0   r0   r1   Útest_proportion_ztestsB  s,     þÿ þÿrÑ   c               	   C   sÂ  d\} }d\}}t | |||dddd�}t|ddgd	d
� t | |||dddd�}t|ddgd	d
� t | |||dddd�}t|ddgd	d
� t | |||dddd�}t|ddgdd� t | |||ddd�}t|ddgdd� t | |||ddd�}t|dd gdd� t | |||ddd!d�}t|d"d#gdd� t | |||d$d%d�}t|d&d'gdd� t | |||d$d(d�}t|d)d*gdd� t | |||d$d+d�}t|d&d,gdd� t | |||d-ddd�}t|d.d/gdd� d S )0N©é   é"   ©r   rÔ   ZnewcombÚdiffr   )r   Úcomparer   gÛù~j¼t“?gÃõ(\�ÂÕ?g{®Gázt?rc   ÚwaldgV-²�?g#Ûù~j¼Ô?úagresti-caffogú~j¼t“ˆ?gÏ÷Sã¥›Ô?ÚscoreT©r×   r   Ú
correctiongyé&1¬œ?gÁÊ¡E¶óÕ?g¸…ëQ¸ž?r7   ÚratioÚlog©r×   r   g…ëQ¸í?é6   g{®Gáz„?úlog-adjustedgq=
×£pí?é   Fg\�Âõ(\ó?é+   ÚorÚlogitg®Gáz®ï?éJ   úlogit-adjustedg\�Âõ(\ï?é&   úlogit-smoothedé<   ú
odds-ratiogö•é)òó?g+O ì;L@©r   r   )Úcount1Únobs1Úcount2Únobs2r/   r0   r0   r1   Útest_confint_2indep]  s~    
 þ
 þ
 þ
 þ
þ
þ
 þ
þ
þ
þ
 þrñ   c               	   C   sÚ   d\} }d\}}d}t | |||dddd�}t||dd	� d
}t | |||ddd�}t||dd	� d}t | |||dddd�}t||dd	� d}t | |||dddd�}t||dd� d}t | |||dddd�}t||dd	� d S )NrÒ   rÕ   )g€«†Ë°›?gž.æB@Ö?rÖ   rÚ   TrÛ   gü©ñÒMb`?rc   )g•.7÷ÛÇ‡?gfYr—Ô?rÙ   rß   gvƒôõ!¤>)g`íÅ£–Þ�?g`$0­¸Ô?rØ   F)g^»´áðó?g`Í‚9>L@rë   rd   r7   )gh“Ã'�ˆó?gùÛž ±IE@rÝ   rì   )rí   rî   rï   rð   r/   Zci1r0   r0   r1   Útest_confint_2indep_propcis³  sH    
 þ
þ
 þ
 þ
 þrò   c               
   C   sø   d\} }d\}}dD ]Þ}t | ||||d�}t|j|jdd� |dkrHdnd	}t | |||||d
d�d d… \}}t | |||||d d
d�d d… \}	}
t||	dd� t||
dd� t | |||||d d
d�d d… \}	}
t||	dd� t||
dd� qd S )NrÒ   rÕ   )rÖ   rÝ   rä   )r×   ç»½×Ùß|Û=r7   rÖ   r   ç      ð?F)r×   rl   Úreturn_resultsr3   ç:Œ0âŽyE>)r   r   Z
prop1_nullZ
prop2_null)rí   rî   rï   rð   ÚcorE   ÚvalÚs0Zpv0Ús1Zpv1r0   r0   r1   Útest_score_test_2indepÜ  sB    
ÿ
 þþ

 þþ

 þþ
rû   c                  C   sd  d} d\}}d\}}dddddd	d
dddg
}|D ]à\}}t ||||||| dd�\}}	tj|||||||dd�}
t|
j| dd� tj|||||	||dd�}
t|
j| dd� tj|||||	||dddd�
\}}t|| d dd� tj|||||||dddd�
\}}t|| d dd� q0d	\}}t ||||||| dd�\}}	tj|||||||dd�}
t|
j| dd� d S )Nr   rÒ   rÕ   ©rÖ   rÙ   ©rÖ   rÚ   ©rÖ   rØ   ©rÝ   rÞ   ©rÝ   rá   ©rÝ   rÚ   ©rë   rå   ©rë   rç   ©rë   ré   ©rë   rÚ   F©r×   r   r   rÜ   )rl   r×   r   rÜ   ró   rc   r£   )rl   r×   r   r•   rÜ   rõ   r3   r¢   T)r   rD   Ztest_proportions_2indepr   Úpvalue)r   rí   rî   rï   rð   Úmethods_bothr÷   r   ÚlowÚupprE   Ú_Úpvr0   r0   r1   Útest_test_2indep÷  s®    õ
  þ
      þ      þ       ý
       ý

  þ
      þr  c                  C   s   d} d\}}d\}}ddgd }}ddgd }}ddd	d
ddddddg
}	|	D ]Î\}
}t |||||
|d|  dd�\}}tj||||||d |
|dd�	}t|j| dd� tj|||||d ||
|dd�	}t|j| dd� |dkrâ d S |}tj|||||d ||
|dd�	}t|jd | dd� qLd S )Nr   rÒ   rÕ   rÓ   r   rÔ   rü   rý   rþ   rÿ   r   r  r  r  r  r  r3   Fr  gÍÌÌÌÌÌð?rÛ   ró   rc   gffffffî?ré   r   )r   rD   Ztost_proportions_2indepr   r  )r   rí   rî   rï   rð   Zcount1vZnobs1vZcount2vZnobs2vr  r÷   r   r	  r
  rE   rÐ   r0   r0   r1   Útest_equivalence_2indep3  s|    õ
 ý
       þ       þ       þr  c            	      C   sš   d\} }d\}}t ƒ }dddg|_ddg|_tj||| |dd	�}t|j|jd
d� t|j|jdd� ddddg}tj|dd	�}ddg}t|j|dd� d S )N)é   éP   )é$   é(   gëâ6À[À?gs×òAÏÒ?g÷äa¡Ö4ß?g…ëQ¸…@gÏ÷Sã¥›@r   rU   r�   rc   r4   éC   é	   rÓ   r  gÚç6á^í?gí¹LM‚wò?)	r   Zp0_rootsr”   rD   Z_confint_riskratio_koopmanr   Z_p_rootsZconfintZ_confint_riskratio_paired_nam)	Zx0Zn0Úx1Zn1Zresults_namrE   ÚtableÚrespZci_oldr0   r0   r1   Útest_score_confint_koopman_namf  s    
r  c               	   C   sœ  t dddƒ} t| jddd� tdddddd	d
d�}t|ddd� t ddddd� t| jddd� t ddddd�} t| jdƒ t dddddd�} t| ddd� t ddddd�} t| ddd� tdddddd	d
d�}t|ddd� d	dlm} t ddddd�}t|jdd d� |ddd!|j|jd"�}t|ddd� tdddddd	d
d�}t||d#d$� d%}d&}t d'd(|d)d�}t|j|d d� td'd(|d*d�}t||d+d$� d S ),Ng      Ð¿g      è?gÚ8b->-S@r‘   rö   rc   r   r   r   r¤   )rÝ   r   rl   r•   rb   g�½Þýñ*O@r£   )r•   g      Ð?rG   r¢   F)r•   rõ   g333333Ã¿gÍÌÌÌÌÌä?gœ¢#¹üÛT@)rõ   )Únormal_sample_size_one_tailgyé&1¬Œ¿g¸…ëQ¸Ž?i&  rô   )rÝ   gB²€	Üºç?gH¯¼šò×z>r¬   )Ústd_nullZstd_alternativer6   r7   gƒ,KE–é?éš   rR   gš™™™™™É?g       @r3   r8   )	r	   r   r¹   r   r   Zstatsmodels.stats.powerr  r  Zstd_alt)Zpow_Únr  rE   Zn2Zpwr_str0   r0   r1   Útest_power_2indep�  sZ    
 þ
ÿ
 þþ  þr  r,   r5   r†   rS   r§   Ú
array_likeFTc              	   C   s^   |r| gd n| }d}t | ||d�}t ||  ||d�}tt |¡dt |d d d… ¡ ƒ d S )Nr4   éd   rL   rô   rZ   ©r
   r   r%   re   )r,   r   r  Ú_countr  ÚaÚbr0   r0   r1   Útest_ci_symmetry¶  s
    r$  r-   é/   rT   é0   c              	   C   sp   |r|gd n|}|r$| | gd n| | }t || dd�}t || dd�}tt |¡dt |d d d… ¡ ƒ d S )Nr4   r§   rL   rô   rZ   r   )r-   r,   r  r!  Znobs_m_countr"  r#  r0   r0   r1   Útest_ci_symmetry_binom_testÃ  s
    r'  c               	   C   s¶   t  t¡� tdddd� W 5 Q R X t  t¡� tdddd� W 5 Q R X t  t¡� tt dg¡ddd� W 5 Q R X tdd	dd�} td
d	dd�}td
ddd�}t| |ƒ t| |ƒ d S )Ng      %@r@   r§   rL   r5   g     €4@gš™™™™™$@g      5@r%  é   g     €G@)r'   ZraisesrV   r
   r%   re   r   )r"  r#  Úcr0   r0   r1   Útest_int_checkÎ  s     
r*  c              	   C   sX   d}t | | g||d�}t ||  ||  g||d�}tt |¡dt |d d d… ¡ ƒ d S )Nr  rL   rô   rZ   r   )r,   r   r  r"  r#  r0   r0   r1   Útest_ci_symmetry_arrayÞ  s    r+  )@Ú__doc__rÃ   Únumpyr%   Znumpy.testingr   r   r   r   r   Zpandasr<   r'   Zstatsmodels.stats.proportionÚstatsZ
proportionrD   r   r   r	   r
   r   r   Zstatsmodels.tools.sm_exceptionsr   Zstatsmodels.tools.testingr   Z2statsmodels.stats.tests.results.results_proportionr   r   r"   ÚmarkZparametrizer2   r?   rF   rJ   rQ   rX   ri   rj   r…   r¨   r«   r¯   r»   rÇ   rÍ   rÎ   rÑ   rñ   rò   rû   r  r  r  r  r9   ÚlistÚkeysr$  r'  r*  r+  r0   r0   r0   r1   Ú<module>   sz    ü
+
&+X;/&@V)<35 ÿ ÿ