U
    Ãmœdül  ã                   @   sŽ  d dl mZmZ d dlmZ d dlmZ d dlZd dl	m
Z d dlZd dl	mZ d dlZd dlZd dlmZ dd„ Zd	d
„ Zdd„ Zdd„ ZG dd„ dƒZG dd„ dƒZG dd„ dƒZdd„ ZG d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G d%d&„ d&eƒZ G d'd(„ d(eƒZ!G d)d*„ d*eƒZ"G d+d,„ d,eƒZ#G d-d.„ d.eƒZ$G d/d0„ d0eƒZ%G d1d2„ d2eƒZ&G d3d4„ d4e"ƒZ'dS )5é    )Úassert_series_equalÚassert_frame_equal)ÚStringIO)ÚdedentN)Úassert_equal)Úrosc                  C   sF   t dƒ} t | ¡}|d |jd d …df< |d dk|jd d …df< |S )Na  res,qual
2.00,=
4.20,=
4.62,=
5.00,ND
5.00,ND
5.50,ND
5.57,=
5.66,=
5.75,ND
5.86,=
6.65,=
6.78,=
6.79,=
7.50,=
7.50,=
7.50,=
8.63,=
8.71,=
8.99,=
9.50,ND
9.50,ND
9.85,=
10.82,=
11.00,ND
11.25,=
11.25,=
12.20,=
14.92,=
16.77,=
17.81,=
19.16,=
19.19,=
19.64,=
20.18,=
22.97,=
ÚresÚconcÚqualZNDÚcensored)r   ÚpandasÚread_csvÚloc)Zraw_csvÚdf© r   ú^/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/imputation/tests/test_ros.pyÚload_basic_data   s    ÿ
r   c               )   C   s²  t  dddddœdddddœdddddœdddddœdd	d
ddœdd	d
ddœdddddœdddddœdddddœdddddœdddddœdddddœdddddœdddddœdddddœdddd
dœdddddœdddddœdddddœdddddœdddddœdddd dœdd!d
ddœdd"d
ddœdd#dddœdd#dddœdd$dddœdd%dd
dœdd&dddœdd'dddœdd(dddœdd)dddœdd*dddœdd+dd dœdd,dd-dœg#¡} | S ).NTç      @é   )r   r	   Údet_limit_indexÚranké   ç      @ç      @é   ç      #@é   ç      &@é   Fç       @r   çÍÌÌÌÌÌ@ç{®Gáz@çHáz®G@ç¤p=
×£@çq=
×£p@çš™™™™™@ç…ëQ¸@ç)\�Âõ(@ç      @é   é   çÃõ(\�B!@é   çìQ¸…k!@é	   ç{®Gáú!@é
   ç33333³#@ç¤p=
×£%@ç     €&@çffffff(@ç×£p=
×-@ç…ëQ¸Å0@ç�Âõ(\Ï1@ç)\�Âõ(3@çq=
×£03@ç¤p=
×£3@ç®Gáz.4@ç¸…ëQø6@é   ©r   Ú	DataFrame©r   r   r   r   Úload_intermediate_data    sL    Ý&rA   c               +   C   s>  t  dddddddœdddddd	dœd
ddd	dddœdddddddœdddddddœdddddd	dœdddddddœdddddddœddd ddd	dœd!dd"dd#ddœd$dd%d	d&ddœd'dd(d	d)d	dœd*dd+dd,ddœd-dd.dd/d	dœd0dd1dd2ddœd3dd4dd5ddœd6dd7dd8ddœd9dd7dd:d;dœd<dd7dd=d>dœd?dd@ddAdBdœdCddDddEdFdœdGddHddIdJdœdKddLddMddœdNddOddPd	dœdQddRddSddœdTddRddUd	dœdVddWddXddœdYddZdd[ddœd\dd]dd^ddœd_dd`ddad;dœdbddcdddd>dœdeddfddgdBdœdhddiddjdFdœdkddlddmdJdœdnddoddpdqdœg#¡} | S )rNg¹¯CªB!÷¿Tr   r   g�$ˆFöú²?)ZZprelimr   r	   r   Zplot_posr   gêXH‹…ó¿gÔ6Ìiqx¼?r   gJÏÝ@³ð¿r   g�$ˆFöúÂ?gIÏÝ@³ð¿r   r   gŽ$ˆFöúÂ?g—ï©Xóé¿r   r   g«ÁsŠ¶Ê?g´W'>æÙ¿g_ñ_ñÕ?g»ˆz0z²Ê¿r   r   ç«ÁsŠ¶Ú?gäø˜¤÷{ù¿Fr   r   gÔ6Ìiqx¬?r    g¿?Æõðî¿r!   g)YUZÅ?gÍÈL{bßå¿r"   çì<8 E¢Ï?gËåMÅQnã¿r#   g‚!RkfÑ?g˜«Ž#ÅÜ¿r$   gGGt)ÄåÔ?g!6|Rf‹×¿r%   g j`’ÐÖ?g@>(¼xÒ¿r&   g¹ŒLï_»Ø?g‰?	$RË¿r'   gr¯8Ò-¦Ú?gÒ@¼DÁ¿r(   g+Ò$µû�Ü?gË?V$km®¿gäô˜É{Þ?r)   g.+NÆ·�?gÏ‹~½K3à?r*   gËÈŽãE·?r+   g+�ô®²(á?r,   g[© µŠTÅ?r-   gˆ®j â?r.   go4«ç%Ï?r/   gä¿à‘€ã?r0   g´áö×?r1   gÜUŠ	º«ä?g?Ÿç³¼kÛ?r2   gyÚ½�ŒNå?gÙ›ûâá?r3   gìÇ~ìÇæ?g&¥á.Efä?gèyžçyžç?gXuÓã…ç?r4   gPuPuè?g³¬U¿Ûé?r5   g¹”K¹”Ké?gøKâ4ãì?r6   g""""""ê?g¿ƒŽ®ð?r7   g‹¯øŠ¯øê?gûâ‘çMóñ?r8   gô<Ïó<Ïë?g±Û¸Ãøô?r9   g]Ê¥\Ê¥ì?gÓãÜ%Í¢ö?r:   gÅW|ÅW|í?g1_ËB�ôù?r;   g.åR.åRî?gjÚŒ2
ÿ?r<   g˜r)—r)ï?r=   r>   r@   r   r   r   Úload_advanced_dataJ   sd     ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ»IrD   c                  C   sŠ   t  dddddddœdddddddœddd	ddd
dœd
ddddddœdddddddœdddddtjdœtjtjtjtjdtjdœg¡} | S )Nr   ç        ç      @ç      ð?r   ©Úlower_dlÚ
ncen_equalÚ
nobs_belowÚnuncen_aboveÚprob_exceedanceÚupper_dlçKòŒ¥ãáè?r   ç      @r   ç      "@ç      $@ç¹í»Ü„‚æ?r   ç      5@ç]Rù0î×?r   ç      8@çÔAÔAÔ?)r   r?   ÚnumpyÚinfÚnan)Úcohnr   r   r   Úload_basic_cohn—   sL      ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿór\   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTest__ros_sortc              '   C   sJ  t ƒ | _t dddœdddœdddœdddœdddœdddœdddœdd	dœdd
dœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdddœdd dœdd!dœg#¡d"d#g | _| jjd d$… | _d S )%NTr   )r   r	   r   r   r   r   Fr   r    r!   r"   r#   r$   r%   r&   r'   r(   r+   r-   r/   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r	   r   éÿÿÿÿ)r   r   r   r?   Úexpected_baselineZilocÚexpected_with_warning©Úselfr   r   r   Úsetup_method¬   sR                     îízTest__ros_sort.setup_methodc                 C   s    t  | jdd¡}t|| jƒ d S )Nr	   r   )r   Ú	_ros_sortr   r   r_   ©rb   Úresultr   r   r   Útest_baselineÆ   s    zTest__ros_sort.test_baselinec                 C   sB   | j  ¡ }|d  ¡ }d|j|df< t |dd¡}t|| jƒ d S )Nr	   Tr   )r   ÚcopyZidxmaxr   r   rd   r   r`   )rb   r   Zmax_rowrf   r   r   r   Útest_censored_greater_than_maxÊ   s
    
z-Test__ros_sort.test_censored_greater_than_maxN)Ú__name__Ú
__module__Ú__qualname__rc   rg   ri   r   r   r   r   r]   «   s   r]   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTest_cohn_numbersc                 C   s¬   t ƒ | _ddddddg| _t dddd	d
ddœdddddddœdd
dddddœdd
dddddœdddddddœdd
dddtjdœtjtjtjtjdtjdœg¡| j | _d S )NrI   rN   rL   rK   rJ   rM   r   rE   rF   rG   r   rH   rO   r   rP   r   rQ   rR   rS   r   rT   rU   r   rV   rW   )	r   r   Z
final_colsr   r?   rX   rY   rZ   r_   ra   r   r   r   rc   Ó   sX     ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿóñzTest_cohn_numbers.setup_methodc                 C   s"   t j| jddd�}t|| jƒ d S )Nr	   r   ©ZobservationsZ
censorship)r   Úcohn_numbersr   r   r_   re   r   r   r   rg   ê   s    zTest_cohn_numbers.test_baselinec                 C   s4   | j  ¡ }d|d< tj|ddd�}|jdks0t‚d S )NFr
   r	   rn   )r   r)   )r   rh   r   ro   ÚshapeÚAssertionError)rb   Z_dfrf   r   r   r   Útest_no_NDsî   s    
zTest_cohn_numbers.test_no_NDsN)rj   rk   rl   rc   rg   rr   r   r   r   r   rm   Ò   s   rm   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTest__detection_limit_indexc                 C   s   t ƒ | _t t d¡¡| _d S )N)r   r*   )r\   r[   r   r?   rX   ÚemptyÚ
empty_cohnra   r   r   r   rc   ö   s    z(Test__detection_limit_index.setup_methodc                 C   s   t t d | j¡dƒ d S ©Nr   )r   r   Ú_detection_limit_indexru   ra   r   r   r   Ú
test_emptyú   s    z&Test__detection_limit_index.test_emptyc                 C   s@   t t d| j¡dƒ t t d| j¡dƒ t t d| j¡dƒ d S )Nç      @r   rP   r   ç      (@r   )r   r   rw   r[   ra   r   r   r   Útest_populatedý   s    z*Test__detection_limit_index.test_populatedc              	   C   s(   t  t¡� t d| j¡ W 5 Q R X d S rv   )ÚpytestZraisesÚ
IndexErrorr   rw   r[   ra   r   r   r   Útest_out_of_bounds  s    z.Test__detection_limit_index.test_out_of_boundsN)rj   rk   rl   rc   rx   r{   r~   r   r   r   r   rs   õ   s   rs   c                  C   sz   t  dgd tdƒtdƒ ttdƒƒdœ¡} t | dd¡}t jdddddd	dddd
dd	gdd�}t| t	¡| t	¡ƒ d S )Nr   é   ZAABCCCDEZDCBA)Údl_idxÚparamsÚvaluesr€   r�   r   r   r   r   )Úname)
r   r?   ÚlistÚranger   Z_ros_group_rankZSeriesr   ZastypeÚint)r   rf   Úexpectedr   r   r   Útest__ros_group_rank  s    
ý&rˆ   c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚTest__ros_plot_posc                 C   s   t ƒ | _d S )N)r\   r[   ra   r   r   r   rc     s    zTest__ros_plot_pos.setup_methodc                 C   s*   ddddœ}t  |d| j¡}t|dƒ d S )NFr   r   ©r   r   r   r   rC   ©r   Z_ros_plot_posr[   r   ©rb   Úrowrf   r   r   r   Útest_uncensored_1  s    z$Test__ros_plot_pos.test_uncensored_1c                 C   s*   ddddœ}t  |d| j¡}t|dƒ d S )NFr   r   rŠ   r   gý·}—›à?r‹   rŒ   r   r   r   Útest_uncensored_2  s    z$Test__ros_plot_pos.test_uncensored_2c                 C   s*   ddddœ}t  |d| j¡}t|dƒ d S )NTr   r   rŠ   r   g_ñ_ñõ?r‹   rŒ   r   r   r   Útest_censored_1!  s    z"Test__ros_plot_pos.test_censored_1c                 C   s*   ddddœ}t  |d| j¡}t|dƒ d S )NTr   r   rŠ   r   rB   r‹   rŒ   r   r   r   Útest_censored_2&  s    z"Test__ros_plot_pos.test_censored_2N)rj   rk   rl   rc   rŽ   r�   r�   r‘   r   r   r   r   r‰     s
   r‰   c                  C   s4   t  ddddg¡} t ddddg¡}t | |¡ d S )	Nr   r   r   r   gÖT…]Ä?gò`‹Ý>«Ø?g‡O:‘`ªã?gyÊjºžèê?)r   Z_norm_plot_posrX   ÚarrayÚnptÚassert_array_almost_equal)rf   r‡   r   r   r   Útest__norm_plot_pos,  s    r•   c               %   C   sz   t ƒ } tƒ }t | d|¡}t dddddddddd	d
dddddddddddddddddddddd d!d"g#¡}t ||¡ d S )#Nr   g@,ÝUöú²?gœ¤ØUqx¼?g^�c@öúÂ?gœ¢Èÿ‰¶Ê?gˆà_ñÕ?gœ¢Èÿ‰¶Ú?gaÂË€qx¬?gæBUZÅ?g‰eL$E¢Ï?gÊK£nfÑ?gœõ*ÄåÔ?gh†	’ÐÖ?g¥Þ®ò_»Ø?gqoŸÑ-¦Ú?g> �°û�Ü?g{X=šÉ{Þ?g¤ô–¼K3à?gÂ m±²(á?g(éå â?g�1^�€ã?g¹ùº«ä?g}Á�ŒNå?g¥"Â}ìÇæ?gÂC¤èyžç?g&(Nuè?gC"
¹”Ké?g`Cì#""ê?gÄ p‰¯øê?gá!Rô<Ïë?gþB4_Ê¥ì?gb ¸ÄW|í?g!š/åRî?gãÞ•r)ï?)rA   r\   r   Zplotting_positionsrX   r’   r“   r”   )r   r[   Úresultsr‡   r   r   r   Útest_plotting_positions2  sR                                ù	r—   c               %   C   s†   t  dddddddddd	d
ddddddddddddddddddddddddg#¡} tƒ }t |d d!t jt j¡}|d" j}t 	|| ¡ d S ©#NgùýCç@gøÙŽÊÙ@gƒ7½î!/@g®Òþƒ×@gKÚ¿x�@gÒQP‚åé@r   r    r!   r"   r#   r$   r%   r&   r'   r(   r+   r-   r/   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r	   r   Úfinal)
rX   r’   rD   r   Z_imputeÚlogÚexpr‚   r“   r”   ©r‡   r   rf   r   r   r   Útest__imputeC  sR                              ÷
r�   c               %   C   s†   t  dddddddddd	d
ddddddddddddddddddddddddg#¡} tƒ }t |d d!t jt j¡}|d" j}t 	|| ¡ d S r˜   )
rX   r’   r   r   Z_do_rosrš   r›   r‚   r“   r”   rœ   r   r   r   Útest__do_rosU  sR                              ÷
rž   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚCheckROSMixinc                 C   s6   t j| j| j| jd�}tjt|ƒt| jƒ| j	d� d S ©Nr@   )Údecimal)
r   Ú
impute_rosÚrescolÚcencolr   r“   r”   ÚsortedÚexpected_finalr¡   re   r   r   r   Útest_ros_dfi  s    ýzCheckROSMixin.test_ros_dfc                 C   s@   t j| j| j | j| j d d�}tjt|ƒt| jƒ| j	d� d S r    )
r   r¢   r   r£   r¤   r“   r”   r¥   r¦   r¡   re   r   r   r   Útest_ros_arraysq  s     ýzCheckROSMixin.test_ros_arraysc                 C   sH   ddddg}t  | j| j| j¡}tt || d¡t | j| d¡ƒ d S )NrL   rK   rJ   rM   r   )	r   ro   r   r£   r¤   r   ÚnpÚroundÚexpected_cohn)rb   Úcolsr[   r   r   r   Ú	test_cohny  s      þþzCheckROSMixin.test_cohnN)rj   rk   rl   r§   r¨   r­   r   r   r   r   rŸ   h  s   rŸ   c                   @   s  e Zd ZdZdZe dddddddddddddd	d
dddg¡Ze ddddddddddddddddddg¡ZdZ	dZ
e e	ee
ei¡Ze dddddddddddddd	d
dddg¡Ze e ddejg¡e ddejg¡e ddejg¡e dddg¡dœ¡Zd S )!ÚTest_ROS_HelselAppendixBzÀ
    Appendix B dataset from "Estimation of Descriptive Statists for
    Multiply Censored Water Quality Data", Water Resources Research,
    Vol 24, No 12, pp 1997 - 2004. December 1988.
    r   rG   rR   rF   ç      @rQ   rz   ç      .@ç      4@ç      ;@ç     €@@ç      I@TFÚobsÚceng®GázÞ?g333333ë?gÃõ(\�Âñ?gR¸…ëQô?g)\�Âõ(ü?g¸…ëQ¸@g      @g=
×£p=@g333333@rP   g‚çÞÃ%Çá?g¾¤1ZGUÕ?rE   ©rL   rK   rJ   rM   N©rj   rk   rl   Ú__doc__r¡   rX   r’   r   r¶   r£   r¤   r   r?   r   r¦   rZ   r«   r   r   r   r   r®   †  sŽ                   þ               ý                þür®   c                   @   s6  e Zd ZdZdZe ddddddddddddddddd	d	d
d
ddddg¡Ze ddddddddddddddddddddddddg¡ZdZ	dZ
e e	ee
ei¡Ze ddddddddddddddddd	dd
d
ddddg¡Ze e ddddejg¡e dd d!d"ejg¡e ddd#d$ejg¡e dd%d&d'dg¡d(œ¡Zd)S )*ÚTest_ROS_HelselArsenica!  
    Oahu arsenic data from Nondetects and Data Analysis by
    Dennis R. Helsel (John Wiley, 2005)

    Plotting positions are fudged since relative to source data since
    modeled data is what matters and (source data plot positions are
    not uniformly spaced, which seems weird)
    r   gš™™™™™	@gffffff@r   g333333û?ç      ø?rG   çÍÌÌÌÌÌì?gffffffæ?g333333ã?ç      à?FTrµ   r¶   g¸…ëQ¸ö?g=
×£p=ò?gffffffî?çìQ¸…ëé?gÃõ(\�Âå?g=
×£p=â?gq=
×£pÝ?gffffffÖ?g\�Âõ(\ï?gR¸…ëQè?g�Âõ(\�â?g=
×£p=Ú?g…ëQ¸…ã?rP   rE   r¯   rz   g      6@ç      @ç       @g      Ô?g=îÎÚmË?g¥½Á&Sµ?r·   Nr¸   r   r   r   r   rº   ¦  s²                        ý                    ü                     ýürº   c                4   @   sò   e Zd ZdZeedƒƒZdZdZe	j
edd�Ze ddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d(d)d*d+d+d,d-d.d/d0d1d2d3d4d5g2¡Ze	 e d6d7d8ejg¡e d+d9d:ejg¡e d+d+d;ejg¡e d<d=d=d>g¡d?œ¡Zd@S )AÚTest_ROS_RNADAdatar   a÷          res cen
        0.090  True
        0.090  True
        0.090  True
        0.101 False
        0.136 False
        0.340 False
        0.457 False
        0.514 False
        0.629 False
        0.638 False
        0.774 False
        0.788 False
        0.900  True
        0.900  True
        0.900  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000 False
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.000  True
        1.100 False
        2.000 False
        2.000 False
        2.404 False
        2.860 False
        3.000 False
        3.000 False
        3.705 False
        4.000 False
        5.000 False
        5.960 False
        6.000 False
        7.214 False
       16.000 False
       17.716 False
       25.000 False
       51.000 Falser   r¶   z\s+)Úsepg•6j®‰“?g}ìË%—£?gÍM"¯?gB`åÐ"Û¹?gœÄ °rhÁ?gÃõ(\�ÂÕ?gsh‘í|?Ý?g¦›Ä °rà?gTã¥›Ä ä?gÑ"Ûù~jä?gøSã¥›Äè?gžï§ÆK7é?gJ	â¸c¶?gžÏ€z3*Ð?g—€N÷ð»â?gÄ&ðV¯…‘?g¢”µò7F¡?gV†«â«?gqC/7³?gÉ¹EGÏ¹?rG   gz”cãºÀ?g·fDÌ™+Å?gàcTÊ?g-ªÓ?gž",Ï(Â×?g…G4äL‘Ü?gL6�Sá?g?Î°(W~ä?gåR*µ†è?gZäKfdí?g¸JE�˜©ñ?gš™™™™™ñ?r   g¬Zd;@gáz®Gá@rF   g¤p=
×£@r¿   r   g×£p=
×@rP   gB`åÐ"Û@g      0@gžï§ÆK·1@g      9@g     €I@rQ   rE   g      2@r°   g      @@ç      1@gáz®Gáê?g
×£p=
×?r   r·   N)rj   rk   rl   r¡   r   r   Z
datastringr£   r¤   r   r   r   rX   r’   r¦   r?   rZ   r«   r   r   r   r   rÁ   Í  s~   4                                        öürÁ   c                   @   s°   e Zd ZdZej d¡ dZejjed�Z	dge Z
dZdZe ee	ee
i¡Ze dd	d
dddddddddddddddddg¡Ze e g ¡e g ¡e g ¡e g ¡dœ¡ZdS )ÚTest_NoOp_ZeroNDr   r   é   )ÚsizeFrµ   r¶   çR¸…ëQØ?ç…ëQ¸…Û?r¾   ç…ëQ¸…ë?r¼   ç®Gázò?çffffffò?çìQ¸…ëõ?çffffffö?ç×£p=
×÷?ç)\�Âõ(ø?çö(\�Âõø?ç…ëQ¸@ç¸…ëQ¸@çHáz®G@ç…ëQ¸@ç×£p=
×@ç\�Âõ(\@çáz®Gá@çÍÌÌÌÌÌ"@r·   N)rj   rk   rl   r¡   rX   ÚrandomÚseedÚNZ	lognormalr   r¶   r£   r¤   r   r?   r   r’   r¦   r«   r   r   r   r   rÄ     sH   
                 ýürÄ   c                   @   sö   e Zd ZdZe ddddddddddddddd	d
ddg¡Ze ddddddddddddddddddg¡ZdZdZ	e
 eee	ei¡Ze ddddddddddddddd	d
ddg¡Ze
 e dejg¡e dejg¡e dejg¡e ddg¡dœ¡ZdS )ÚTest_ROS_OneNDr   rG   rR   rF   r¯   rQ   rz   r°   r±   r²   r³   r´   TFr	   r¶   g¸…ëQ¸Î?rÃ   g~!<Ú8î?rE   r·   N©rj   rk   rl   r¡   rX   r’   r   r¶   r£   r¤   r   r?   r   r¦   rZ   r«   r   r   r   r   rÜ   2  sŒ                   þ               ý                þürÜ   c                   @   s(  e Zd ZdZe ddddddddddddddd	d
ddg¡Ze ddddddddddddddddddg¡ZdZdZ	e
 eee	ei¡Ze dddddddddddddddd
ddg¡Ze
 e ddddddddejg	¡e ddddddddejg	¡e ddddddddejg	¡e dgd dg ¡dœ¡ZdS ) ÚTest_HalfDLs_80pctNDsr   rG   rR   rF   r¯   rQ   rz   r°   r±   r²   r³   r´   TFÚvaluer
   r½   r   r»   ry   g      @rP   r(   rE   rÀ   g      *@g      ,@g…¶œKqUÅ?r,   r·   NrÝ   r   r   r   r   rÞ   M  sŒ                   þ               ý                þürÞ   c                
   @   sª   e Zd ZdZe ddddg¡Ze ddddg¡ZdZdZ	e
 eee	ei¡Ze d	d	d
dg¡Ze
 e ddejg¡e ddejg¡e ddejg¡e dddg¡dœ¡ZdS )ÚTest_HaflDLs_OneUncensoredr   rG   rz   r°   TFrß   r
   r½   rP   rE   r   rF   g      Ð?r·   NrÝ   r   r   r   r   rà   h  s   ürà   c                   @   sp   e Zd Ze dddddddddddddddd	d
dddg¡Ze ddddddddddddddddddddg¡ZdS )ÚTest_ROS_MaxCen_GT_MaxUncenrG   rR   rF   r¯   rQ   rz   r°   r±   r²   r³   r´   é<   éF   TFN)rj   rk   rl   rX   r’   r   r¶   r   r   r   r   rá   y  sX                    ý                 ýrá   c                   @   s^   e Zd Zej d¡ dZddddddd	d
ddddddddddddddgZdge ddg ZdS )ÚTest_ROS_OnlyDL_GT_MaxUncenr   rÅ   rÇ   rÈ   r¾   rÉ   r¼   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   rR   FTN)	rj   rk   rl   rX   rÙ   rÚ   rÛ   r   r¶   r   r   r   r   rä   †  s4                      ýrä   )(Zstatsmodels.compat.pandasr   r   Úior   Útextwrapr   rX   r©   Znumpy.testingÚtestingr“   r   r   r|   Zstatsmodels.imputationr   r   rA   rD   r\   r]   rm   rs   rˆ   r‰   r•   r—   r�   rž   rŸ   r®   rº   rÁ   rÄ   rÜ   rÞ   rà   rá   rä   r   r   r   r   Ú<module>   s@   *M'# 'N