§
    fŠtjÆU  ã                   óx   — d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	 d„ Z
 G d„ d¦  «        Z G d„ d	¦  «        ZdS )
é    N)Úassert_equalÚassert_allclose)Ústats)Ú	_survivalc                 óÜ  — dt           fdt          fg}t          j        d„ t	          | |¦  «        D ¦   «         |¬¦  «        }t          j        |d¬¦  «        }|d         } t          j        |d         ¦  «        }| j        }t          j        |dd¦  «        }t          j	        ||z
  |z  ¦  «        }t          j
        | d d d…         d	¬
¦  «        \  }}	| |	 dz
           }
||	 dz
           }|
|fS )NÚtimeÚcensoredc                 ó   — g | ]	\  }}||f‘Œ
S © r   )Ú.0ÚtÚds      ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/stats/tests/test_survival.pyú
<listcomp>z+_kaplan_meier_reference.<locals>.<listcomp>   s    € Ð=Ð=Ð=¡  1�a˜�VÐ=Ð=Ð=ó    )Údtype)r   r	   )Úorderr   éÿÿÿÿT)Úreturn_indexé   )ÚfloatÚintÚnpÚarrayÚzipÚsortÚlogical_notÚsizeÚarangeÚcumprodÚunique)Útimesr	   r   ÚdataÚdiedÚmÚnÚsfÚ_ÚindicesÚ	ref_timesÚref_sfs               r   Ú_kaplan_meier_referencer,      sö   € ð •eˆ_˜z­3Ð/Ð0€EÝŒ8Ð=Ð=­¨E°8Ñ(<Ô(<Ð=Ñ=Ô=ÀUÐKÑKÔK€DÝŒ7�4Ð3Ð4Ñ4Ô4€DØ�ŒL€EÝŒ>˜$˜zÔ*Ñ+Ô+€DàŒ
€AÝ
Œ	�!�Q˜ÑÔ€AÝ	Œ�Q˜‘X ‘NÑ	#Ô	#€Bõ ”˜5   2 œ;°TÐ:Ñ:Ô:�J€A€wØ�w�h ‘lÔ#€IØ��˜1‘Ô€FØ�fÐÐr   c            
       ó”  — e Zd Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z	g d¢Z
g d¢Zg d	¢Zg d
¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zej                             de
eefeeefeeefeeefeeefg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d S )!ÚTestSurvivalc                 ó�  — |                       |¦  «        }|                      dd|¦  «                             t          j        ¦  «        }|                      t          j        ||¦  «        ¦  «        }|                       |j        ¬¦  «        |                       ¦   «         k    }t          j	         
                    ||¦  «        }|||fS )Nr   é   ©r   )ÚrandomÚintegersÚastyper   Úint32ÚpermutedÚrepeatr   r   ÚCensoredDataÚright_censored)ÚrngÚn_uniqueÚunique_timesÚrepeatsr"   r	   Úsamples          r   Úget_random_samplezTestSurvival.get_random_sample(   sž   € ð —z’z (Ñ+Ô+ˆà—,’,˜q ! XÑ.Ô.×5Ò5µb´hÑ?Ô?ˆØ—’�RœY |°WÑ=Ô=Ñ>Ô>ˆØ—:’: 5¤:�:Ñ.Ô.°·²±´Ò=ˆÝÔ#×2Ò2°5¸(ÑCÔCˆØ�u˜hÐ&Ð&r   c                 ó  — d}t          j        t          |¬¦  «        5  t          j        dgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        t
          j        g¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        t          j         	                    dgdg¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        g d	¢¦  «        }t          j        t          |¬¦  «        5  |j
                             d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |j                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |j
                             d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |j                             ddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |j
                             ¦   «         }d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  |j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nz,`sample` must be a one-dimensional sequence.©Úmatchr   z`sample` must not contain nanz5Currently, only uncensored and right-censored data...T)r	   zmethod` must be one of...)r   é   é   z	ekki-ekki©ÚmethodÚ	shrubberyz2confidence_level` must be a scalar between 0 and 1r   ç      à?ç333333ã?z:The confidence interval is undefined at some observations.z.Confidence interval bounds do not implement...)ÚpytestÚraisesÚ
ValueErrorr   Úecdfr   ÚnanÚNotImplementedErrorr8   Úleft_censoredÚcdfÚconfidence_intervalr'   ÚwarnsÚRuntimeWarningÚlowÚhigh)ÚselfÚmessageÚresÚcis       r   Útest_input_validationz"TestSurvival.test_input_validation3   sõ  € Ø@ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ÝŒJ˜˜�uÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:¨WÐ5Ñ5Ô5ð 	ð 	ÝŒJ�q‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 2ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	!ð 	!ÝŒJ�œ�xÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð JˆÝŒ]Õ.°gÐ>Ñ>Ô>ð 	Oð 	OÝŒJ•uÔ)×7Ò7¸¸ÀtÀfÐ7ÑMÔMÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	Oð .ˆÝŒj˜˜˜Ñ#Ô#ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	<ð 	<ØŒG×'Ò'¨{Ð'Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åŒ]�:¨WÐ5Ñ5Ô5ð 	;ð 	;ØŒF×&Ò&¨kÐ&Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð GˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	,ð 	,ØŒG×'Ò'¨Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,åŒ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3ØŒF×&Ò&¨¨S zÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð OˆÝŒ\�.°Ð8Ñ8Ô8ð 	/ð 	/Ø”×,Ò,Ñ.Ô.ˆBð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð CˆÝŒ]Õ.°gÐ>Ñ>Ô>ð 	)ð 	)ØŒF×&Ò&Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)åŒ]Õ.°gÐ>Ñ>Ô>ð 	*ð 	*ØŒG×'Ò'Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*sÅ   žAÁAÁAÁ'BÂBÂBÂ0 CÃC Ã#C Ä6EÅE
ÅE
ÆF,Æ,F0Æ3F0ÇG:Ç:G>ÈG>È"I	É	IÉIÉ/JÊJÊJË K&Ë&K*Ë-K*ÌL4Ì4L8Ì;L8ÍNÎNÎNc                 ó,  — t          j        g ¦  «        }t          |j        j        g ¦  «         t          |j        j        g ¦  «         t          j        dg¦  «        }t          |j        j        dg¦  «         t          |j        j        dg¦  «         d S )Nr   )r   rM   r   rQ   Ú	quantilesÚprobabilities)rW   rY   s     r   Útest_edge_caseszTestSurvival.test_edge_casesY   s|   € ÝŒj˜‰nŒnˆÝ�S”WÔ&¨Ñ+Ô+Ð+Ý�S”WÔ*¨BÑ/Ô/Ð/åŒj˜!˜‰oŒoˆÝ�S”WÔ&¨¨Ñ,Ô,Ð,Ý�S”WÔ*¨Q¨CÑ0Ô0Ð0Ð0Ð0r   c                 óŒ  — g d¢}t          j        |¦  «        }t          j        t          j        |¦  «        ¦  «        }t          j        dd¦  «        dz  }d|z
  }t          |j        j        |¦  «         t          |j        j	        |¦  «         t          |j
        j        |¦  «         t          |j
        j	        |¦  «         d S )N)gìQ¸…ë@gR¸…ëQ@g=
×£p=@g®Gáz®@gÍÌÌÌÌÌ@r   é   é   )r   rM   r   r   r!   r   r   rQ   r]   r^   r'   ©rW   r>   rY   Úref_xÚref_cdfr+   s         r   Útest_uniquezTestSurvival.test_uniqueb   s¬   € à/Ð/Ð/ˆÝŒj˜Ñ Ô ˆÝ”�œ	 &Ñ)Ô)Ñ*Ô*ˆÝ”)˜A˜q‘/”/ AÑ%ˆØ�W‘ˆÝ�S”WÔ&¨Ñ.Ô.Ð.Ý�S”WÔ*¨GÑ4Ô4Ð4Ý�S”VÔ% uÑ-Ô-Ð-Ý�S”VÔ)¨6Ñ2Ô2Ð2Ð2Ð2r   c                 óˆ  — g d¢}t          j        |¦  «        }t          j        t          j        |¦  «        ¦  «        }t          j        g d¢¦  «        }d|z
  }t          |j        j        |¦  «         t          |j        j	        |¦  «         t          |j
        j        |¦  «         t          |j
        j	        |¦  «         d S )N)r   rC   r   rC   rD   r0   )gUUUUUUÅ?gUUUUUUÕ?gUUUUUUå?g«ªªªªªê?r   r   )r   rM   r   r   r!   r   r   rQ   r]   r^   r'   rc   s         r   Útest_nonuniquezTestSurvival.test_nonuniquen   s®   € à#Ð#Ð#ˆÝŒj˜Ñ Ô ˆÝ”�œ	 &Ñ)Ô)Ñ*Ô*ˆÝ”(Ð2Ð2Ð2Ñ3Ô3ˆØ�W‘ˆÝ�S”WÔ&¨Ñ.Ô.Ð.Ý�S”WÔ*¨GÑ4Ô4Ð4Ý�S”VÔ% uÑ-Ô-Ð-Ý�S”VÔ)¨6Ñ2Ô2Ð2Ð2Ð2r   c                 óZ  — t           j                             d¦  «        }|                      |d¦  «        \  }}}t	          j        |¦  «        }|j        j        }|t          j        ||d         dz   ¬¦  «        dz  z   }t          |j         
                    |¦  «        |j        j        ¦  «         t          |j         
                    |¦  «        |j        j        ¦  «         t          |j         
                    |d         dz
  ¦  «        d¦  «         t          |j         
                    t           j         t           j        g¦  «        ddg¦  «         t          |j         
                    |¦  «        |j        j        ¦  «         t          |j         
                    |¦  «        |j        j        ¦  «         t          |j         
                    |d         dz
  ¦  «        d¦  «         t          |j         
                    t           j         t           j        g¦  «        ddg¦  «         d S )Nl   ­I)û_ é   r   r   )ÚappendrC   r   )r   r2   Údefault_rngr?   r   rM   rQ   r]   Údiffr   Úevaluater^   Úinfr'   )rW   r:   r>   r(   rY   ÚxÚxrs          r   Útest_evaluate_methodsz"TestSurvival.test_evaluate_methodsz   s²  € åŒi×#Ò#Ð$7Ñ8Ô8ˆØ×-Ò-¨c°2Ñ6Ô6‰ˆ��1ÝŒj˜Ñ Ô ˆØŒGÔˆØ•”˜ 1 R¤5¨¡7Ð+Ñ+Ô+¨AÑ-Ñ-ˆå�S”W×%Ò% aÑ(Ô(¨#¬'Ô*?Ñ@Ô@Ð@Ý�S”W×%Ò% bÑ)Ô)¨3¬7Ô+@ÑAÔAÐAÝ�S”W×%Ò% a¨¤d¨1¡fÑ-Ô-¨qÑ1Ô1Ð1Ý�S”W×%Ò%­¬ wµ´Ð&7Ñ8Ô8¸1¸a¸&ÑAÔAÐAå�S”V—_’_ QÑ'Ô'¨¬Ô)=Ñ>Ô>Ð>Ý�S”V—_’_ RÑ(Ô(¨#¬&Ô*>Ñ?Ô?Ð?Ý�S”V—_’_ Q q¤T¨!¡VÑ,Ô,¨aÑ0Ô0Ð0Ý�S”V—_’_¥r¤v g­r¬vÐ%6Ñ7Ô7¸!¸Q¸Ñ@Ô@Ð@Ð@Ð@r   )
é%   é+   é/   é8   é<   é>   éG   éM   éP   éQ   )
r   r   r   r   r   r   r   r   r   r   )
r   r   ç      ì?ç      è?r~   r~   r~   rH   g      Ð?r   )
é   é   é   é   é   é   r   é    é   é(   )
r   r   r   r   r   r   r   r   r   r   )	çÍÌÌÌÌÌì?gžï§ÆK7é?çš™™™™™å?r‰   gHáz®Gá?gìQ¸…ëÙ?çHáz®GÑ?rŠ   rŠ   )
é!   é   é)   é0   rŽ   é   rs   rŽ   r�   rt   )
r   r   r   r   r   r   r   r   r   r   )r   r}   r~   r~   rI   rI   rI   )é   rD   é   é   r�   é   r‚   rC   é   é   r�   rƒ   r€   r   é
   é   ra   rb   é	   r•   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )çffffffî?r™   gNbX9´ì?ç5^ºIë?rš   rš   rš   rš   rš   rš   gR¸…ëQè?çoƒÀÊ¡å?r›   r›   r›   çÓMbX9à?rœ   )rD   rb   r   r–   rb   rb   r   r€   rj   r‚   rC   r‘   r–   r˜   r€   rb   r   r‘   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
gh‘í|?5î?g¦›Ä °rì?g´Èv¾Ÿç?çòÒMbXá?r�   r�   g´Èv¾Ÿ×?ç^ºI+Ç?rž   rž   Úcasec                 ó:  — |\  }}}t           j                             |t          j        |¦  «        ¦  «        }t          j        |¦  «        }t          |j        j        |d¬¦  «         t          |j        j
        t          j        t          j        |¦  «        ¦  «        ¦  «         t          |t          j        |¦  «        ¦  «        }t          |d         t          j        t          j        |¦  «        ¦  «        ¦  «         t          |d         |d¬¦  «         d S )Nçü©ñÒMbP?©Úatolr   r   )r   r8   r9   r   r   rM   r   r'   r^   r   r]   r   r!   r,   )rW   rŸ   r"   r$   Úrefr>   rY   s          r   Ú$test_right_censored_against_examplesz1TestSurvival.test_right_censored_against_examples¥   sæ   € ð  Ñˆˆt�SÝÔ#×2Ò2°5½"¼.ÈÑ:NÔ:NÑOÔOˆÝŒj˜Ñ Ô ˆÝ˜œÔ,¨c¸Ð=Ñ=Ô=Ð=Ý�S”VÔ%¥r¤w­r¬y¸Ñ/?Ô/?Ñ'@Ô'@ÑAÔAÐAõ & e­R¬^¸DÑ-AÔ-AÑBÔBˆÝ�S˜”V�RœW¥R¤Y¨uÑ%5Ô%5Ñ6Ô6Ñ7Ô7Ð7Ý˜˜Aœ ¨$Ð/Ñ/Ô/Ð/Ð/Ð/r   Úseed)l   €-øjï|Il   #}|4ÌIÝQl   ˆ>5Gnó?l   òe“ˆ5"c                 ó®  — t           j                             |¦  «        }|                     dd¦  «        }|                      ||¦  «        \  }}}t          j        |¦  «        }t          ||¦  «        }t          |j	        j
        |d         ¦  «         t          |j	        j        |d         ¦  «         t          j        |¬¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          |d         |j	        j
        ¦  «         t          |d         |j        j        d¬¦  «         t          |d         |j	        j        d¬¦  «         d S )	Nr–   éd   r   r   )Ú
uncensoredç›+¡†›„=©ÚrtolrC   )r   r2   rl   r3   r?   r   rM   r,   r   r'   r]   r^   r8   r   Ú_ecdf_right_censoredr   rQ   )	rW   r¦   r:   r;   r>   r"   r	   rY   r¤   s	            r   Ú4test_right_censored_against_reference_implementationzATestSurvival.test_right_censored_against_reference_implementation´   s'  € õ Œi×#Ò# DÑ)Ô)ˆØ—<’<  CÑ(Ô(ˆØ"&×"8Ò"8¸¸hÑ"GÔ"GÑˆ��xÝŒj˜Ñ Ô ˆÝ% e¨XÑ6Ô6ˆÝ˜œÔ(¨#¨a¬&Ñ1Ô1Ð1Ý˜œÔ,¨c°!¬fÑ5Ô5Ð5õ Ô#¨uÐ5Ñ5Ô5ˆÝÔ,¨VÑ4Ô4ˆÝŒj˜ÑÔˆÝ�S˜”V˜SœVÔ-Ñ.Ô.Ð.Ý˜˜Aœ ¤Ô 5¸EÐBÑBÔBÐBÝ˜˜Aœ ¤Ô 4¸5ÐAÑAÔAÐAÐAÐAr   c                 óþ  — | j         | j        }}t          j                             |t          j        |¦  «        ¦  «        }t          j        |¦  «        }g d¢}|j         	                    ¦   «         }|j
         	                    ¦   «         }|j        j        |j        j        z
  }t          ||d¬¦  «         t          |j        j        t          j        |j        j        |z
  dd¦  «        ¦  «         t          |j        j        t          j        |j        j        |z   dd¦  «        ¦  «         t          |j        j        t          j        |j
        j        |z
  dd¦  «        ¦  «         t          |j        j        t          j        |j
        j        |z   dd¦  «        ¦  «         g d¢}	g d¢}
|j         	                    d¬	¦  «        }t          |j        j        |	d
¬¦  «         t          |j        j        |
d
¬¦  «         d S )N)çú~j¼t“¸?r°   gHáz®GÁ?ç#Ûù~j¼Ä?r±   r±   r±   r±   r±   r±   g1¬ZdË?ç°rh‘í|Ï?r²   r²   r²   çmçû©ñÒÕ?r³   r¡   r¢   r   r   )çiÿ¬U;æ?r´   gLÅÆ¼Ž¸ä?çSX© ¢êâ?rµ   rµ   rµ   rµ   rµ   rµ   g•·#œ¼Ý?çvß1<ö³×?r¶   r¶   r¶   ç</OçŠÄ?r·   )ç–è,³Åï?r¸   gXÇñC%ï?çd–=	lNî?r¹   r¹   r¹   r¹   r¹   r¹   gGÿËµhí?çyÊjºžhë?rº   rº   rº   çò•@JìÚè?r»   úlog-logrE   g�íµ ÷Æ°>)Út4Úd4r   r8   r9   r   r   rM   r'   rR   rQ   r^   rU   r   ÚcliprV   )rW   r"   r$   r>   rY   Úref_allowanceÚsf_ciÚcdf_ciÚ	allowanceÚref_lowÚref_highs              r   Útest_right_censored_ciz#TestSurvival.test_right_censored_ciÉ   sú  € à”g˜tœwˆtˆÝÔ#×2Ò2°5½"¼.ÈÑ:NÔ:NÑOÔOˆÝŒj˜Ñ Ô ˆð.ð .ð .ˆð ”×*Ò*Ñ,Ô,ˆØ”×,Ò,Ñ.Ô.ˆØ”FÔ(¨5¬9Ô+BÑBˆ	å˜	 =°tÐ<Ñ<Ô<Ð<Ý˜œ	Ô/Ýœ ¤Ô 4°yÑ @À!ÀQÑGÔGñ	Iô 	Ið 	Iå˜œ
Ô0Ýœ ¤Ô 4°yÑ @À!ÀQÑGÔGñ	Iô 	Ið 	Iå˜œ
Ô0Ýœ ¤Ô 5¸	Ñ AÀ1ÀaÑHÔHñ	Jô 	Jð 	Jå˜œÔ1Ýœ ¤Ô 5¸	Ñ AÀ1ÀaÑHÔHñ	Jô 	Jð 	JðEð Eð EˆðFð Fð Fˆð ”×*Ò*°)Ð*Ñ<Ô<ˆÝ˜œ	Ô/°¸tÐDÑDÔDÐDÝ˜œ
Ô0°(ÀÐFÑFÔFÐFÐFÐFr   c                 ó¼  — | j         | j        }}t          j                             |t          j        |¦  «        ¦  «        }t          j        |¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }|j	         
                    d¬¦  «        }|j         
                    d¬¦  «        }t          |j        j        |d¬¦  «         t          |j        j        |d¬¦  «         t          |j        j        d|z
  d¬¦  «         t          |j        j        d|z
  d¬¦  «         g d¢}	g d	¢}
|j	         
                    dd
¬¦  «        }t          |j        j        |	¦  «         t          |j        j        |
¦  «         g d¢}	g d¢}
|j	         
                    d
¬¦  «        }t          |j        j        |	¦  «         t          |j        j        |
¦  «         d S )N)
gÂ4Så?g n À;ùã?g–Î‡g	2Ý?çœoD÷¬kÒ?rÈ   rÈ   g½§rÚSrÀ?ç?T1³Ÿ?rÉ   rÉ   )
gÕæ!S¾ï?gn‹2dï?g Ã|yöë?çU¯²¶©ç?rÊ   rÊ   gƒmÄ“ÝLã?ç^ô¤‹Û?rË   rË   r¼   rE   gñhãˆµøä>r¢   r   )
g”‹eÀÌç?gûõÔÀCòå?g’W�ä0à?çJµ’É|Õ?rÌ   rÌ   g c£a—vÄ?ç#êè£	§?rÍ   rÍ   )
g—–x‰ ¦ï?g]Õ^L"Øî?gD%V
§dë?ç×Ô’ˆÑæ?rÎ   rÎ   g[œ<\é+â?ç¾7Ô§xáØ?rÏ   rÏ   rˆ   )rF   Úconfidence_level)
g7A�˜caë?g|X›þ§‹è?gí1�ç�á?çä£/”Ö?rÑ   rÑ   gRï¼¯ŒÂ?ç        rÒ   rÒ   )
ç      ð?rÓ   g¡±¨Œüªì?ç8Ù’`§ç?rÔ   rÔ   gñ©à×Eyâ?ç,ËªÞ~O×?rÕ   rÕ   )rÐ   )Út5Úd5r   r8   r9   r   r   rM   r   r'   rR   rQ   r   rU   r^   rV   )rW   r"   r$   r>   rY   ÚlowerÚupperrÁ   rÂ   rU   rV   s              r   Ú test_right_censored_ci_example_5z-TestSurvival.test_right_censored_ci_example_5ó   s  € à”g˜tœwˆtˆÝÔ#×2Ò2°5½"¼.ÈÑ:NÔ:NÑOÔOˆÝŒj˜Ñ Ô ˆÝ”ð Lð Lð Lñ Mô Mˆå”ð Lð Lð Lñ Mô Mˆð ”×*Ò*°)Ð*Ñ<Ô<ˆØ”×,Ò,°IÐ,Ñ>Ô>ˆå˜œ	Ô/°¸TÐBÑBÔBÐBÝ˜œ
Ô0°%¸dÐCÑCÔCÐCÝ˜œ
Ô0°!°E±'ÀÐEÑEÔEÐEÝ˜œÔ1°1°U±7ÀÐFÑFÔFÐFð$ð $ð $ˆð$ð $ð $ˆð ”×*Ò*°)Ø<?ð +ñ Aô Aˆå˜œ	Ô/°Ñ5Ô5Ð5Ý˜œ
Ô0°$Ñ7Ô7Ð7ð/ð /ð /ˆðLð Lð Lˆð ”×*Ò*¸CÐ*Ñ@Ô@ˆÝ˜œ	Ô/°Ñ5Ô5Ð5Ý˜œ
Ô0°$Ñ7Ô7Ð7Ð7Ð7r   c           
      ó2  — | j         | j        }}t          j                             |t          j        |¦  «        ¦  «        }t          j        |¦  «        }g d¢}t
          j        ddddt
          j        g}t
          j        ddddt
          j        g}t          j	        |j
        j        |¦  «        }d	}	t          j        t          |	¬
¦  «        5  |j
                             ¦   «         }
d d d ¦  «         n# 1 swxY w Y   t!          |
j        j        |         dd …         |dd …         ¦  «         t!          |
j        j        |         dd …         |dd …         ¦  «         t
          j        ddddt
          j        g}t
          j        ddddt
          j        g}t          j	        |j
        j        |¦  «        }t          j        t          |	¬
¦  «        5  |j                             ¦   «         }
d d d ¦  «         n# 1 swxY w Y   t!          |
j        j        |         dd …         |dd …         ¦  «         t!          |
j        j        |         dd …         |dd …         ¦  «         dddddddddt
          j        g
}dddddddddt
          j        g
}t!          |
j        j        |¦  «         t!          |
j        j        |¦  «         t          j        t          |	¬
¦  «        5  |j                             d¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   t
          j        t
          j        dddddddt
          j        g
}t
          j        t
          j        ddddddd t
          j        g
}t!          |
j        j        |¦  «         t!          |
j        j        |¦  «         d S )!N)rs   ru   rv   rz   r{   r|   r   gµ!E±¯ûª?gÜ™{²k›Õ?gÕuOÂªÖ?gY®ešá?ga§çEPî?rÓ   z9The confidence interval is undefined at some observationsrA   r   g|EØžªä?g¡U<ÏÝËÜ?gs‘C±¯ûª?gå­ëEPî?g3Â&J2å?gÀgEØžªä?gG<ÏÝËÜ?g !E±¯ûª?rÒ   gæ­ëEPî?g3Â&J2å?r¼   rE   gökô´›ÄØ?gutz¼Ì%Ô?g€¼
àš´?gKuËÏ€…?gò/Ÿ8’gï?g(ÈyDëÉí?go¡â(Óqê?g9–'Ôòüä?)Út1Úd1r   r8   r9   r   r   rM   rN   ÚsearchsortedrQ   r]   rJ   rS   rT   rR   r   rU   r^   rV   r'   )rW   r"   r$   r>   rY   rp   ÚfloÚfupÚirX   rZ   rU   rV   s                r   Útest_right_censored_ci_nansz(TestSurvival.test_right_censored_ci_nans%  s  € à”g˜tœwˆtˆÝÔ#×2Ò2°5½"¼.ÈÑ:NÔ:NÑOÔOˆÝŒj˜Ñ Ô ˆð %Ð$Ð$ˆÝŒv�q˜!Ð.Ð0AÅ2Ä6ÐJˆÝŒv�} l°LÀ#ÅrÄvÐNˆÝŒO˜CœGÔ-¨qÑ1Ô1ˆàMˆÝŒ\�.°Ð8Ñ8Ô8ð 	/ð 	/Ø”×,Ò,Ñ.Ô.ˆBð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ 	˜œÔ,¨QÔ/°°°Ô3°S¸¸¸´WÑ=Ô=Ð=Ý˜œÔ-¨aÔ0°°°Ô4°c¸!¸"¸"´gÑ>Ô>Ð>õ Œv�} n°mÀQÍÌÐOˆÝŒv�s˜CÐ!2Ð4EÅrÄvÐNˆÝŒO˜CœGÔ-¨qÑ1Ô1ˆåŒ\�.°Ð8Ñ8Ô8ð 	.ð 	.Ø”×+Ò+Ñ-Ô-ˆBð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.õ 	˜œÔ,¨QÔ/°°°Ô3°S¸¸¸´WÑ=Ô=Ð=Ý˜œÔ-¨aÔ0°°°Ô4°c¸!¸"¸"´gÑ>Ô>Ð>ð �2Ð*Ð,?Ø"Ð$7Ð9LØ" B­¬ð0ˆð �B˜˜B  B¨Ð,>Ø"¥B¤Fð,ˆå˜œÔ,¨cÑ2Ô2Ð2Ý˜œÔ-¨tÑ4Ô4Ð4õ Œ\�.°Ð8Ñ8Ô8ð 	>ð 	>Ø”×+Ò+°9Ð+Ñ=Ô=ˆBð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>åŒv•r”vÐ2Ð4GØ"Ð$7Ð9LØ"Ð$7½¼ðAˆõ ”�œÐ 2Ð4FØ"Ð$6Ð8JØ"Ð$6½¼ð@ˆõ 	˜œÔ,¨cÑ2Ô2Ð2Ý˜œÔ-¨tÑ4Ô4Ð4Ð4Ð4s6   ÃC3Ã3C7Ã:C7ÇG6Ç6G:Ç=G:ËLÌLÌLc                 óº  — t           j                             d¦  «        }|                     ddd¬¦  «        }t          j        |¦  «        }d|t          j        |¦  «        <   t          j        |¦  «        }t          j        t          j         	                    ||¦  «        ¦  «        }t          |j        j        |j        j        ¦  «         t          |j        j        |j        j        ¦  «         t          |j        j        d d…         |j        j        d d…         ¦  «         t          |j        j        d d…         |j        j        d d…         d¬	¦  «         d S )
Nl   m"ê%ª< r–   r¨   iè  r1   Tr   rª   r«   )r   r2   rl   r3   Ú
zeros_likeÚargmaxr   rM   r8   r9   r   r'   r]   Ú_nÚ_dr   Ú_sf)rW   r:   r>   r	   rY   r¤   s         r   Ú&test_right_censored_against_uncensoredz3TestSurvival.test_right_censored_against_uncensoredk  s  € ÝŒi×#Ò#Ð$7Ñ8Ô8ˆØ—’˜b #¨D�Ñ1Ô1ˆÝ”= Ñ(Ô(ˆØ&*ˆ•”˜6Ñ"Ô"Ñ#ÝŒj˜Ñ Ô ˆÝŒj�Ô+×:Ò:¸6À8ÑLÔLÑMÔMˆÝ�S”VÔ% s¤vÔ'7Ñ8Ô8Ð8Ý�S”V”Y ¤¤	Ñ*Ô*Ð*Ý�S”V”Y˜s ˜s”^ S¤V¤Y¨s°¨s¤^Ñ4Ô4Ð4Ý˜œœ
 3 B 3œ¨¬¬°C°R°C¬¸uÐEÑEÔEÐEÐEÐEr   c                 óÜ  — t           j                             d¦  «        }|                     dd¦  «        }|                      ||¦  «        \  }}}t          j        |¦  «        }	 dd lm} |j	         
                    ¦   «          d S # t          t          f$ rT d}t          j        t          |¬¦  «        5  |j	         
                    ¦   «          d d d ¦  «         Y d S # 1 swxY w Y   Y d S w xY w)Nl   ‘u!u°\xD r–   r¨   r   z2matplotlib must be installed to use method `plot`.rA   )r   r2   rl   r3   r?   r   rM   Úmatplotlib.pyplotÚpyplotr'   ÚplotÚModuleNotFoundErrorÚImportErrorrJ   rK   )rW   r:   r;   r>   r(   rY   ÚpltrX   s           r   Útest_plot_ivzTestSurvival.test_plot_ivw  s7  € ÝŒi×#Ò#Ð$7Ñ8Ô8ˆØ—<’<  CÑ(Ô(ˆØ×-Ò-¨c°8Ñ<Ô<‰ˆ��1ÝŒj˜Ñ Ô ˆð	Ø+Ð+Ð+Ð+Ð+Ð+ØŒF�KŠK‰MŒMˆMˆMˆMøÝ#¥[Ð1ð 	ð 	ð 	ØKˆGÝ”Õ2¸'ÐBÑBÔBð ð Ø”—’‘”�ðð ð ñ ô ð ð ð ð ð ð ð ð øøøð ð ð ð ð ð ð ð	øøøs6   Á%B Â.C+Â4CÃC+ÃC 	Ã C+Ã#C 	Ã$C+Ã*C+N)#Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr?   r[   r_   rf   rh   rr   rÜ   rÝ   Úr1Út2Úd2Úr2Út3Úd3Úr3r½   r¾   Úr4rÖ   r×   Úr5rJ   ÚmarkÚparametrizer¥   r®   rÆ   rÚ   râ   ré   rñ   r   r   r   r.   r.   &   s<  € € € € € àð'ð 'ñ „\ð'ð$*ð $*ð $*ðL1ð 1ð 1ð
3ð 
3ð 
3ð
3ð 
3ð 
3ðAð Að Að& 
2Ð	1Ð	1€BØ	'Ð	'Ð	'€BØ	<Ð	<Ð	<€Bð 
0Ð	/Ð	/€BØ	'Ð	'Ð	'€BØ	BÐ	BÐ	B€BØ	1Ð	1Ð	1€BØ	'Ð	'Ð	'€BØ	.Ð	.Ð	.€Bð
.ð 
.ð 
.€Bà	EÐ	EÐ	E€Bð
Að 
Að 
A€Bð 
HÐ	GÐ	G€BØ	?Ð	?Ð	?€BØ	OÐ	OÐ	O€Bà„[×Ò˜V r¨2¨r l°R¸¸R°LÀ2ÀrÈ2À,Ø')¨2¨r l°R¸¸R°Lð&Bñ Cô Cð0ð 0ñCô Cð0ð „[×Ò˜Vð &Nð &Nð &Nñ Oô OðBð BñOô OðBð&(Gð (Gð (GðT08ð 08ð 08ðdD5ð D5ð D5ðL
Fð 
Fð 
Fðð ð ð ð r   r.   c            
       óÎ   — e Zd Zej                             dg d¢g d¢gg d¢g d¢gdg d¢fg d¢g d	¢gg d
¢g d¢gdg d¢fg d¢g d¢gg d¢g d¢gdg d¢fg¦  «        d„ ¦   «         Zd„ ZdS )ÚTestLogRankzx, y, statistic, pvalue)r   r€   r�   r‚   rƒ   r„   )r   r…   r†   r‡   )r‹   rŒ   r�   )rŽ   rŽ   r�   rs   rŽ   r�   rt   gK±è÷©@)gÜ‡í~�?gÆØá%Ýï?g �í~q?)r’   ra   rb   r0   )r†   r’   r•   r‚   )é   rƒ   é   )rƒ   rj   r”   r”   rb   g8v\¸ê?)g®ìÊÓ×?g‰hG:ê?gÝ]âÊÓÇ?)ra   r“   rƒ   é   rs   é&   é1   é2   é?   éO   éV   éb   éÊ   éÛ   )é   ru   r{   éR   r  é•   )r–   r–   r€   r“   r‚   rj   r  r•   r”   r†   r�   r�   r�   rŒ   r  r‹   é#   rs   r‡   r‡   é.   rŽ   éL   r|   r  é[   ép   éµ   )é"   r‡   éF   gð….ƒü@)gžJVáÚQy?g8j^áÚQi?g–¡%®æï?c                 óX  — t          j        |d         |d         ¬¦  «        }t          j        |d         |d         ¬¦  «        }t          g d¢¦  «        D ]S\  }}t          j        |||¬¦  «        }t	          |j        dz  |d¬¦  «         t	          |j        ||         d¬¦  «         ŒTd S )	Nr   r   )r©   Úright)z	two-sidedÚlessÚgreater)rp   ÚyÚalternativerC   g»½×Ùß|Û=r¢   )r   r8   Ú	enumerateÚlogrankr   Ú	statisticÚpvalue)rW   rp   r  r"  r#  rá   r  rY   s           r   Útest_log_rankzTestLogRank.test_log_rankˆ  s½   € õj Ô¨!¨A¬$°a¸´dÐ;Ñ;Ô;ˆÝÔ¨!¨A¬$°a¸´dÐ;Ñ;Ô;ˆå'Ð(HÐ(HÐ(HÑIÔIð 	?ð 	?‰NˆAˆ{Ý”- ! q°kÐBÑBÔBˆCõ
 ˜CœM¨1Ñ,¨i¸eÐDÑDÔDÐDÝ˜CœJ¨¨q¬	¸Ð>Ñ>Ô>Ð>Ð>ð	?ð 	?r   c                 ól  — t          j        ddg¦  «        }d}t          j        t          |¬¦  «        5  t          j        |ddgg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        ddgg|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rC   z`y` must berA   )rp   r  z`x` must be)r   r8   rJ   rK   rL   r!  )rW   r>   Úmsgs      r   Útest_raiseszTestLogRank.test_raisesÉ  s;  € ÝÔ# Q¨ FÑ+Ô+ˆàˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	0ð 	0ÝŒM˜F¨¨1 v hÐ/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	0ð 	0ÝŒM˜a ˜V˜H¨Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s#   ´AÁAÁ!AÂB)Â)B-Â0B-N)rò   ró   rô   rJ   rÿ   r   r$  r'  r   r   r   r  r  †  s  € € € € € à„[×ÒØ!ð4 'Ð&Ð&¨¨¨Ð8Øˆ|ˆ|Ð9Ð9Ð9Ð:àØHÐHÐHð
ð ˆ}ˆ}Ð.Ð.Ð.Ð/Øˆ{ˆ{Ð/Ð/Ð/Ð0ØØDÐDÐDð
ð IÐHÐHØ(Ð(Ð(ð*ðFð Fð Fàˆ|ˆ|ðð ØHÐHÐHð

ð!	ñ13ô 3ðh?ð ?ñi3ô 3ðh?ð	0ð 	0ð 	0ð 	0ð 	0r   r  )rJ   Únumpyr   Únumpy.testingr   r   Úscipyr   Úscipy.statsr   r,   r.   r  r   r   r   ú<module>r,     sÒ   ðØ €€€Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ðð ð ð<]ð ]ð ]ð ]ð ]ñ ]ô ]ð ]ð@L0ð L0ð L0ð L0ð L0ñ L0ô L0ð L0ð L0ð L0r   