U
    Ãmœdž^  ã                   @   s~  d Z ddlZddlmZmZmZ ddlZddlm	  m
Z ddlmZ d§dd„Zd ¡ Ze ee¡ d	d
¡Zeƒ Zde_de_de_de_de_de_de_de_de_de_eƒ Z de _de _de _de _de _de _de _de _de _eƒ Z!de!_de!_de!_de!_de!_de!_de!_de!_d e!_d!e!_eƒ Z"de"_de"_d"e"_de"_d#e"_d$e"_de"_de"_d%e"_d&e"_eƒ Z#de#_d'e#_de#_d(e#_d)e#_de#_de#_d*e#_d&e#_eƒ Z$de$_de$_de$_d+e$_d)e$_de$_de$_d,e$_d!e$_eƒ Z%d-e%_d.e%_de%_d/e%_de%_d0e%_de%_d1e%_d2e%_eƒ Z&d3e&_d4e&_de&_d5e&_d6e&_d0e&_de&_d7e&_d8e&_eƒ Z'd9e'_d:e'_de'_d;e'_d<e'_d0e'_de'_d=e'_d>e'_eƒ Z(d?e(_)e d@dAdBdCdDg¡e(_*e dEdFdGdHdIg¡e(_+e dJdKdLdMdNg¡e(_,e dOdPdQdRdSg¡e(_e dTdUdVdWdXg¡e(_-e dYdZd[d\d]g¡e(_.e d	d	d^d^d^g¡e(_/e dddddg¡e(_0d_e(_1d`e(_2dae(_3de(_4eZ5d?e5_)d@e5_*dEe5_+dJe5_,dOe5_dTe5_-dYe5_.d^e5_/de5_0d_e5_1d`e5_2dae5_3de5_4eƒ Z6d?e6_)e d@dAdBdCdDg¡e6_*e dEdFdGdHdIg¡e6_+e dbdcdLdMdNg¡e6_,e dddedfdgdhg¡e6_e dTdUdidjdkg¡e6_-e dYdZdldmdng¡e6_.e dodod^d^d^g¡e6_/e dddddg¡e6_0d_e6_1d`e6_2dae6_3de6_4eƒ Z7dpe7_8de7_9dqe7_dre7_:de7_*de7_;dse7_<dte7_2due7_=eƒ Z>dve>_8d$e>_9dwe>_ej? dxfe>_:dye>_*de>_;dze>_<d{e>_2due>_=eƒ Z@dve@_8d$e@_9d|e@_d}ej?fe@_:dye@_*de@_;d~e@_<d{e@_2due@_=eƒ ZAdveA_8d$eA_9dweA_ej? dxfeA_:dyeA_*deA_;dzeA_<d{eA_2dueA_=eƒ ZBdeB_8d$eB_9d€eB_ej? dxfeB_:dyeB_*d_eB_;dzeB_<d{eB_2dueB_=eƒ ZCdeC_8d$eC_9d�eC_d‚eC_:dyeC_*d_eC_;dseC_<d{eC_2dueC_=eƒ ZDdƒeD_8d)eD_9d„eD_d…eD_:dyeD_*d_eD_;dseD_<d†eD_2dueD_=ejEedd‡…dˆf ed‡d…dˆf d‰dddŠ�ZFejEedd‡…d‹f ed‡d…d‹f d‰dddŠ�ZGejHedd‡…d‹f ed‡d…d‹f d‰ddŒd��ZIG dŽd�„ d�ƒZJG d�d‘„ d‘eJƒZKG d’d“„ d“eJƒZLG d”d•„ d•eJƒZMG d–d—„ d—eJƒZNG d˜d™„ d™eJƒZOG dšd›„ d›eJƒZPdœd�„ ZQdždŸ„ ZRd d¡„ ZSejTjUd¢eVd£d¤�d¥d¦„ ƒZWdS )¨z>

Created on Wed Oct 17 09:48:34 2012

Author: Josef Perktold
é    N)Úassert_almost_equalÚassert_equalÚassert_)ÚHolderé   c                 C   sx   t  | ¡} t  |¡}tt  | ¡t  |¡ƒ tt  | ¡t  |¡ƒ tt  | ¡t  |¡ƒ t| t  | ¡ |t  |¡ ƒ d S )N)ÚnpZ
atleast_1dr   ZisposinfZisneginfÚisnanr   Úisfinite)ÚxÚyÚdecimalÚmsg© r   úZ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/stats/tests/test_tost.pyÚassert_almost_equal_inf   s    

r   aÝ  1     1 2.84 4.00 3.45 2.55 2.46
2     1 2.51 3.26 3.10 2.82 2.48
3     1 2.41 4.14 3.37 2.99 3.04
4     1 2.95 3.42 2.82 3.37 3.35
5     1 3.14 3.25 3.31 2.87 3.41
6     1 3.79 4.34 3.88 3.40 3.16
7     1 4.14 4.97 4.25 3.43 3.06
8     1 3.85 4.31 3.92 3.58 3.91
9     1 3.02 3.11 2.20 2.24 2.28
10    1 3.45 3.41 3.80 3.86 3.91
11    1 5.37 5.02 4.59 3.99 4.27
12    1 3.81 4.21 4.08 3.18 1.86
13    1 4.19 4.59 4.79 4.17 2.60
14    1 3.16 5.30 4.69 4.83 4.51
15    1 3.84 4.32 4.25 3.87 2.93
16    2 2.60 3.76 2.86 2.41 2.71
17    2 2.82 3.66 3.20 2.49 2.49
18    2 2.18 3.65 3.87 3.00 2.65
19    2 3.46 3.60 2.97 1.80 1.74
20    2 4.01 3.48 4.42 3.06 2.76
21    2 3.04 2.87 2.87 2.71 2.87
22    2 3.47 3.24 3.47 3.26 3.14
23    2 4.06 3.92 3.18 3.06 1.74
24    2 2.91 3.99 3.06 2.02 3.18
25    2 3.59 4.21 4.02 3.26 2.85
26    2 4.51 4.21 3.78 2.63 1.92
27    2 3.16 3.31 3.28 3.25 3.52
28    2 3.86 3.61 3.28 3.19 3.09
29    2 3.31 2.97 3.76 3.18 2.60
30    2 3.02 2.73 3.87 3.50 2.93éÿÿÿÿé   ZpairedgÍ>|†]â?gv½îÐ¸Ï?çš™™™™™©?)gjë6€/&À?g½Âê,/ùï?é   ç333333ã?znot rejectedgŒi4­<Ü?)gfJÅÙ‡Ïà?r   g¯Ž	ÌÅ?g{6DVM`Á?)gô»; ³¿g­}†Q×Ù?ZrejectedgTŠ§�nñi?)gÆ×\HšRÑ¿g<33333ã?ZindependentgÈ>|†]â?g.ãD³„Ë?)g¨ŽóÈ?gæ™±úÅí?gŸ§)8@g)@èö�¢Û?)g]JÅÙ‡Ïà?r   gâhïæÐ3Ð?)ç¦¾ hcÑ¿ç¬&Ã—ã?gàZÌMœ¿:@g4ë@ÃÙ¨?)g¸×\HšRÑ¿r   gähïæÐ3Ð?)gV¹ÞXÑ¿g$t;ðã?é   g¤„´)B·¨?)g‘)Aù€5É?g)3¨ÎZµí?gõ,R­Ý Û?g÷[ÏY!¦?gð‹M$eŽ£?)g5‚]F^»˜¿g€¼fëøB¼?ç#ššÇ÷�Ì?gM¬ÆüÏ%?)gÎë²ç…Á¿gÉ™šÇ÷�Ì?gà[ÏY!¦?gZKþÑqÑ²?)gZÇJûü´¿góZKRŽˆÅ?gt”¿ûœœ;@gŸ¢J~¾q…?)g:ì²ç…Á¿g*ššÇ÷�Ì?gk’üM¯?gnawž›¨?)gdŽÍÂRš¿g¸°€àÍÂ?é   gâTßåi?)gÝ¡8Aßº¿r   z2-1g¯Ž	ÌÅ¿gÈ>|†]â¿gÊèmY«Ó¿g`s!iJÅá¿g�·e­Ž	Þ¿gæZÌMœ¿:@g¤§)8@g]*›Ã„æ7@gr¾÷ƒ·9@giß¿áeâ8@g“{¼2å)@gíë;F @gMr7=6@gƒøá*b€@gÖ>ì«¹I@gð7lÁd„f?g6}9™,›?gL§)à×f.?gý –H½_?gŒFÝd.Œ?g¬&Ã—ã¿gæ™±úÅí¿gëküé×æ¿g½‰þ<�í¿gªnž‘Nì¿g¦¾ hcÑ?g¨ŽóÈ¿gø�àóc³?gtµP_íÇ¿g¨�t¼´¯¿ç      ø¿é   zstep.upÚFALSEg.íŽw1õ?gÐ–¨Æ§Ò¿g©q‘~'¹?gi™Æé¡ã?gx=è!ÍF?g¿˜pöÍ‡1?géô¥Ë"i5?gc,“BIê¿gÅ}¥7§ð¿gÙÒCTòð¿gK‰©R¿_É?gšY¿Ç5á±¿gŸpÙ¯b±?ç      à¿gÄùØOthó?g�»Œ¶bÏ?)g‹~:žÜ0À¿göÍ&m:,Ý?z	two.sidedzPaired t-testz(clinic$var1[1:15] and clinic$var1[16:30]g:kdÐä?gg’‹­(ªç?r   )g–C‹lçû@gªªªªªª
@ÚlesszWelch Two Sample t-testg,Ûè¤®«Ð?r   ZgreatergŸüG–�e
Àg$
ÂÇh|V?g$
ÂÇh|f?)g…š5ƒv¸Ö¿gœ”ŸP!æå?gœüG–�e
Àga�°63§e?)guoºm„¦Ö¿gÿáE(Ýå?z Two Sample t-testé   é   ç333333ã¿©Ú	transformé   Úunequal©Úusevarc                   @   s   e Zd Zdd„ ZdS )ÚCheckTostMixinc                 C   s   t | jj| jjdd� d S ©Né   ©r   )r   Úres1ÚpvalueÚres2Úp_value©Úselfr   r   r   Ú	test_pvalv  s    zCheckTostMixin.test_pvalN)Ú__name__Ú
__module__Ú__qualname__r3   r   r   r   r   r)   t  s   r)   c                   @   s    e Zd Zedd„ ƒZdd„ ZdS )Ú
TestTostp1c                 C   sž   t | _td d…df tdd …df  }}tƒ | _tj||ddd d�}|d | j_tj|| d dd�}| 	d¡| j_
| 	d	¡| j_|j| j_|j| j_t| _d S )
Nr    r!   r"   r   r#   r   )ÚweightsZddofgš™™™™™¹?r   )Útost_clinic_paired_1r/   Úclinicr   r-   ÚsmwsÚttost_pairedr.   ÚDescrStatsWZtconfint_meanÚtconfint_diffÚ
confint_05ÚmeanÚ	mean_diffZstd_meanÚstd_mean_diffÚttest_clinic_paired_1Úres2b)ÚclsÚx1Úx2ÚresZres_dsr   r   r   Úsetup_class|  s    "

zTestTostp1.setup_classc                 C   s\   t | jj| jjdd� t | jj| jjdd� t | jj| jjdd� t | jj| j	j
dd� d S r*   )r   r-   r>   r/   Úci_diffrA   rB   Úse_diffr?   rD   Úconf_intr1   r   r   r   Útest_special�  s    ÿÿÿÿzTestTostp1.test_specialN)r4   r5   r6   ÚclassmethodrI   rM   r   r   r   r   r7   z  s   
r7   c                   @   s   e Zd Zedd„ ƒZdS )Ú
TestTostp2c                 C   sT   t | _td d…df tdd …df  }}tƒ | _tj||ddd d�}|d | j_d S )Nr    r%   r"   r   r#   r   )Útost_clinic_pairedr/   r:   r   r-   r;   r<   r.   ©rE   r
   r   rH   r   r   r   rI   œ  s
    "zTestTostp2.setup_classN©r4   r5   r6   rN   rI   r   r   r   r   rO   š  s   rO   c                   @   s   e Zd Zedd„ ƒZdS )Ú
TestTosti1c                 C   sT   t | _td d…df tdd …df  }}tƒ | _tj||dddd�}|d | j_d S )Nr    r!   r"   r   r&   r'   r   )Útost_clinic_indep_1r/   r:   r   r-   r;   Ú	ttost_indr.   rQ   r   r   r   rI   ¥  s
    "zTestTosti1.setup_classNrR   r   r   r   r   rS   ¤  s   rS   c                   @   s   e Zd Zedd„ ƒZdS )Ú
TestTosti2c                 C   sT   t | _td d…df tdd …df  }}tƒ | _tj||dddd�}|d | j_d S )Nr    r%   r"   r   r&   r'   r   )Útost_clinic_indepr/   r:   r   r-   r;   rU   r.   rQ   r   r   r   rI   ®  s
    "zTestTosti2.setup_classNrR   r   r   r   r   rV   ­  s   rV   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestTostip1c                 C   sT   t | _td d…df tdd …df  }}tƒ | _tj||dddd�}|d | j_d S )Nr    r!   r"   r   Úpooledr'   r   )Útost_clinic_indep_1_pooledr/   r:   r   r-   r;   rU   r.   rQ   r   r   r   rI   ·  s
    "zTestTostip1.setup_classNrR   r   r   r   r   rX   ¶  s   rX   c                   @   s   e Zd Zedd„ ƒZdS )ÚTestTostip2c                 C   sT   t | _td d…df tdd …df  }}tƒ | _tj||dddd�}|d | j_d S )Nr    r%   r"   r   rY   r'   r   )Útost_clinic_indep_2_pooledr/   r:   r   r-   r;   rU   r.   rQ   r   r   r   rI   À  s
    "zTestTostip2.setup_classNrR   r   r   r   r   r[   ¿  s   r[   c                  C   sx   t d d…df t dd …df  } }tj| |ddtjd�}t|d tjdƒ tj| |ddtjdd	�}t|d t	jdƒ d S )
Nr    r!   çš™™™™™é?ç      ô?r#   r   r+   r&   )r$   r(   )
r:   r;   r<   r   Úlogr   Útost_clinic_1_pairedr0   rU   Útost_clinic_1_indep)rF   rG   ÚrespZresir   r   r   Útest_tost_logÊ  s
    "rc   c               
   C   s  t d d…df t dd …df  } }t| ¡ |  ¡  tjdƒ tj|| dddd�}t|d tjdƒ tjt dd …dd	…f t d d…dd	…f d
d
dddgddd�}t|d tjdƒ tjt dd …dd	…f t d d…dd	…f t	 
d
d
dddg¡ddt	jd�}tjt dd …dd	…f t d d…dd	…f d
d
dddgddt	j
d�}tjt dd …dd	…f t d d…dd	…f d
d
dddgdt	jd�}tjt dd …dd	…f t d d…dd	…f d
d
dddgdt	j
d�}tjt dd …dd	…f t d d…dd	…f d
d
dddgd�}tjt dd …dd	…f t d d…dd…f d
d
dddgddd�}tjt dd …dd…f t d d…dd…f d
d
dddgddd�}t|d d |d d dd� tjt dd …df t d d…df d
ddddgddd�}tjt dd …df t d d…df d
ddddgt	 dd¡dd�}d S )Nr    r!   r+   r   r   r&   r'   r   r   g      ð¿)r(   r$   r#   )Úvaluer%   é   r   r,   r   gffffffæ¿é   )r:   r   r@   Útost_clinic_1_asymÚestimater;   rU   r0   Útost_clinic_all_no_multir   Úexpr_   r<   Ú	ttest_indÚrepeat)rF   rG   ZresaZresallZresa3_2r   r   r   Útest_tost_asymÓ  sp    "( þ(  þ(  þ( þ( þ(ÿ(  ÿ(  ÿ   ÿ 
 þrm   c                  C   sÊ  t d d…df t dd …df  } }g }tj| |ddd�}| |tf¡ tj| |ddd�}| |tf¡ tj| |dddd�}| |tf¡ |D ]0\}}t|d	 |jd
d� t|d |j	d
d� qŒt 
t | ¡t |¡¡}|jddd�}	t|	tjd
d� |jddd�}	t|	tjd
d� |jddd�}	t|	tjd
d� |jddd�}	t|	tjd
d� t 
t | ¡t |¡¡}|j |j¡}
|j |¡}|j t ||f¡¡}t|j|
jkƒ t|j|jkƒ t|j|jkƒ d S )Nr    r!   Zlargerr&   )Úalternativer(   Zsmallerr   )rn   r(   rd   r   r+   r,   z	two-sidedrY   )r:   r;   rk   ÚappendÚttest_clinic_indep_1_gÚttest_clinic_indep_1_lÚttest_clinic_indep_1_l_mur   Ú	statisticr0   ZCompareMeansr=   r>   Úttest_clinic_indep_1_two_murL   Ú"ttest_clinic_indep_1_two_mu_pooledr   Zd1Zget_compareZd2r   Zhstackr   )rF   rG   Z	all_testsÚt1Út2Út3r-   r/   ÚcmÚciZcm1Zcm2Zcm3r   r   r   Ú
test_ttestþ  s:    "ÿr{   z/shape mismatch between res1[1:] and res_sas[1:]T)ÚreasonZraisesÚstrictc                  C   s‚   t  d ¡ t¡} |  dd¡j\}}tj||ddt jd�}d}t	|d |d d	ƒ t	|d
d … |d
d … dƒ t	|d t
jdƒ d S )Nz­       103.4 90.11  59.92 77.71  68.17 77.71  94.54 97.51
       69.48 58.21  72.17 101.3  74.37 79.84  84.44 96.06
       96.74 89.30  94.26 97.22  48.52 61.62  95.68 85.80r   r!   r]   r^   r#   )çaÃÓ+ei?)g
×£p=
@r~   )gš™™™™™Àg-Cëâ6
?r   r%   r   r+   )r   ÚarrayÚsplitÚfloatÚreshapeÚTr;   r<   r_   r   Útost_s_pairedr0   )Úrawr
   r   r-   Zres_sasr   r   r   Útest_tost_transform_paired$  s    
ýr†   )r   N)XÚ__doc__Únumpyr   Znumpy.testingr   r   r   ZpytestZstatsmodels.stats.weightstatsÚstatsZweightstatsr;   Zstatsmodels.tools.testingr   r   r€   Z
raw_clinicr   r�   r‚   r:   rP   ÚsamplerA   rK   ÚalpharJ   ZdfÚepsilonÚresultr0   Zcheck_mer9   rW   rT   rZ   r\   r`   ra   r„   ri   Z	comp_namerh   Zdegr_frZ	test_statÚlowerÚupperZ	margin_loZ	margin_upÚbaseÚmethodZ	var_equalZFWERrg   Ztost_clinic_all_multirC   rs   Z	parameterrL   Z
null_valuern   Z	data_nameZttest_clinic_paired_1_lÚinfrp   rq   rr   rt   ru   r<   r-   r/   rU   rH   r)   r7   rO   rS   rV   rX   r[   rc   rm   r{   ÚmarkZxfailÚAssertionErrorr†   r   r   r   r   Ú<module>   sŽ  
	   þ   þ   þ   þ   þ   þ    ÿ    ÿ   þ   þ   þ   þ   þ   þ    ÿ    ÿ,,, 
				+& ÿ