
    M/Phl                     &   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 Zd Zd	 Zd
 Z G d d          Z G d d          Z G d d          Zd Z G d d          Zd Zd Zd Zd Z G d d          Z G d de          Z G d de          Z  G d de          Z! G d  d!e          Z" G d" d#e          Z# G d$ d%e          Z$ G d& d'e          Z% G d( d)e          Z& G d* d+e"          Z'dS ),    )assert_series_equalassert_frame_equal)StringIO)dedentN)assert_equal)rosc                      t          d          } t          j        |           }|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qualNDcensored)r   pandasread_csvloc)raw_csvdfs     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/imputation/tests/test_ros.pyload_basic_datar      sb    	A G 
	!	!B5	BF111f9vJ$.BF111j=I    c                     t          j        g dddddddddddddddddddddd	d
dddd	d
ddddddddddddddddddddddddddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddd ddd!d
dddd"d
dddd#ddddd#ddddd$ddddd%dd
ddd&ddddd'ddddd(ddddd)ddddd*ddddd+dd ddd,dd-d          } | S ).NT      @   )r   r   det_limit_indexrank         @      @         #@         &@   F       @r   @{Gz@HzG@p=
ף@q=
ףp@皙@Q@)\(@      @      (\B!@   Qk!@	   {G!@
   33333#@p=
ף%@     &@ffffff(@ףp=
-@Q0@(\1@)\(3@q=
ף03@p=
ף3@Gz.4@Q6@   r   	DataFramer   s    r   load_intermediate_datarF       s'   		 $31aHH$31aHH$ 31aHH$ 4AqII	$
 31aHH$ 31aHH$ 4AqII$ CAqII$ CAqII$ DQJJ$ DQJJ$ DQJJ$ DQJJ$ DQJJ$ DQJJ$  DQJJ!$" CAqII#$$ CAqII%$& CAqII'$( DQJJ)$* DQJJ+$, DQKK-$. DQJJ/$0 EaKK1$2 EaKK3$4 EaKK5$6 DQJJ7$8 EaKK9$: EaKK;$< EaKK=$> EaKK?$@ EaKKA$B EaKKC$D EaLLE$F EaLLG$ $
 $
BL Ir   c            
         t          j        g ddddddddddddd	dd
ddd	ddddddddddddddddddddddd	dddddddddddddddddd ddd	dd!dd"dd#ddd$dd%d	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          } | S )rNgCB!Tr   r   g$F?)Zprelimr   r   r   plot_posr   gXHg6iqx?r   gJ@r   g$F?gI@r   r   g$F?gXr    r!   gs?gW'>ٿg__?gz0zʿr"   r#   s?g{Fr$   r   g6iqx?r%   g?r&   g)YUZ?gL{br'   <8 E?gMQnr(   g!Rkf?g#ܿr)   gGGt)?g!6|Rf׿r*   g j`?g@>(xҿr+   gL_?g?	$R˿r,   gr8-?g@Dr-   g+$?g?V$kmg{?r.   g.+NƷ?gϋ~K3?r/   gȎE?r0   g+(?r1   g[ T?r2   gj?r3   go4%?r4   g?r5   g?r6   gU	?g?糼k?r7   gyڽN?g?r8   g~?g&.Ef?gyy?gXu?r9   gPuPu?gU?r:   gKK?gK4?r;   g""""""?g?r<   g?gM?r=   g<<?g۸?r>   g]ʥ\ʥ?g%͢?r?   gW|W|?g1_B?r@   g.R.R?gj2
?rA   gr)r)?rB   rC   rE   s    r   load_advanced_datarL   J   s   		 G'T3*=q	J 	JG (T3*=q	J 	JG
 'D#*=q	J 	JG (T4*<a	I 	IG (T3*=q	J 	JG (T3*=q	J 	JG )dD*=q	J 	JG (UC*>	K 	KG" (UC*=q	J 	J#G& (UD*=q	J 	J'G* (UD*=q	J 	J+G. (UD*=q	J 	J/G2 )eT*<a	I 	I3G6 )eT*=q	J 	J7G: )eT*=q	J 	J;G> )eT*<a	I 	I?GB (UC*<a	I 	ICGF )eS*<a	I 	IGGJ )eS*<a	I 	IKGN (UD*<a	I 	IOGR (UD*<a	I 	ISGV (UD*;R	I 	IWGZ 'E4*<a	I 	I[G^ 'E5*<a	I 	I_Gb 'E5*<a	I 	IcGf 'E5*<a	I 	IgGj 'E4*<a	I 	IkGn 'E5*<a	I 	IoGr 'E5*<a	I 	IsGv 'E5*<a	I 	IwGz 'E5*<a	I 	I{G~ 'E5*<a	I 	IGB &5%*<a	I 	ICGF &5%*<b	J 	JGGJ 'E5*<b	J 	JKG G
 G
BR Ir   c                     t          j        dddddddddddddddd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_dlK?r         @r         "@      $@܄?r          5@]R0?r"         8@AA?)r   rD   numpyinfnan)cohns    r   load_basic_cohnre      s    3#	G 	G31DRU	W 	W31DRV	X 	XC2DRU	W 	W41DRV	X 	XD2ESXS\	^ 	^Yeiuys		S 	S  D  Kr   c                        e Zd Zd Zd Zd ZdS )Test__ros_sortc                    t                      | _        t          j        g ddddddddddddddddddddddd	ddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd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         | _        | j        j        d d$         | _        d S )%NTr   )r   r   r   r   r    r"   Fr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r0   r2   r4   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   r   )r   r   r   rD   expected_baselineilocexpected_with_warningselfs    r   setup_methodzTest__ros_sort.setup_method   s   !##!'!1 3
,,3
=AC0P0P3
,,3
=AD0Q0Q3
 ,,3
 >BC0P0P3
 --	3
 >CC0P0P	3

 ,,3

 >CD0Q0Q3
 --3
 >CD0Q0Q3
 --3
 >CD0Q0Q3
 --3
 >CD0Q0Q3
 ,,3
 >CC0P0P3
 ,,3
 >CD0Q0Q3
 --3
 >CD0Q0Q3
 --3
 >CE0R0R3
 ..3
 >CE0R0R3
 --3
 >CE0R0R3
 ..3
 >CE0R0R3
  ..!3
  >CE0R0R!3
" ..#3
" >CE0R0R#3
$ ..%3
 " "& J'"!* &*%;%@"%E"""r   c                 f    t          j        | j        dd          }t          || j                   d S )Nr   r   )r   	_ros_sortr   r   rj   rn   results     r   test_baselinezTest__ros_sort.test_baseline   s0    tw
;;64#9:::::r   c                     | j                                         }|d                                         }d|j        |df<   t	          j        |dd          }t          || j                   d S )Nr   Tr   )r   copyidxmaxr   r   rq   r   rl   )rn   r   max_rowrs   s       r   test_censored_greater_than_maxz-Test__ros_sort.test_censored_greater_than_max   sc    W\\^^V*##%%&*w
"#r6:6664#=>>>>>r   N)__name__
__module____qualname__ro   rt   ry    r   r   rg   rg      sD        F F F4; ; ;? ? ? ? ?r   rg   c                        e Zd Zd Zd Zd ZdS )Test_cohn_numbersc                 n   t                      | _        g d| _        t          j        ddddddddddddd	dd	d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 )N)rR   rW   rU   rT   rS   rV   r$   rN   rO   rP   r   rQ   rX   r   rY   r   rZ   r[   r\   r    r]   r^   r"   r_   r`   )	r   r   
final_colsr   rD   ra   rb   rc   rj   rm   s    r   ro   zTest_cohn_numbers.setup_method   s   !##< < < "(!1Cs ScK KCs 5HVY[ [Cs 5HVZ\ \S!6HVY[ [Ct 5HVZ\ \S!6IW\W`b b%)59"Y3EIW W3
 " " ?"r   c                 h    t          j        | j        dd          }t          || j                   d S )Nr   r   observations
censorship)r   cohn_numbersr   r   rj   rr   s     r   rt   zTest_cohn_numbers.test_baseline   s4    !$':VVV64#9:::::r   c                     | j                                         }d|d<   t          j        |dd          }|j        dk    sJ d S )NFr   r   r   )r   r.   )r   rv   r   r   shape)rn   _dfrs   s      r   test_no_NDszTest_cohn_numbers.test_no_NDs   sJ    gllnnF!#FvNNN|v%%%%%%r   N)rz   r{   r|   ro   rt   r   r}   r   r   r   r      sA          .; ; ;& & & & &r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )Test__detection_limit_indexc                     t                      | _        t          j        t	          j        d                    | _        d S )N)r   r/   )re   rd   r   rD   ra   empty
empty_cohnrm   s    r   ro   z(Test__detection_limit_index.setup_method   s/    #%%	 *5;v+>+>??r   c                 V    t          t          j        d | j                  d           d S Nr   )r   r   _detection_limit_indexr   rm   s    r   
test_emptyz&Test__detection_limit_index.test_empty   s'    S/doFFJJJJJr   c                     t          t          j        d| j                  d           t          t          j        d| j                  d           t          t          j        d| j                  d           d S )N      @r   rY   r         (@r#   )r   r   r   rd   rm   s    r   test_populatedz*Test__detection_limit_index.test_populated   se    S/TY??CCCS/TY??CCCS/di@@!DDDDDr   c                     t          j        t                    5  t          j        d| j                   d d d            d S # 1 swxY w Y   d S r   )pytestraises
IndexErrorr   r   rd   rm   s    r   test_out_of_boundsz.Test__detection_limit_index.test_out_of_bounds  s    ]:&& 	5 	5&q$)444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   AA	AN)rz   r{   r|   ro   r   r   r   r}   r   r   r   r      sY        @ @ @K K KE E E
5 5 5 5 5r   r   c            	         t          j        dgdz  t          d          t          d          z   t          t          d                    d          } t	          j        | dd          }t          j        g dd	
          }t          |                    t                    |                    t                               d S )Nr      AABCCCDEDCBA)dl_idxparamsvaluesr   r   )r   r   r   r   r   r   r   r   r   r!   r   r   r   )name)
r   rD   listranger   _ros_group_rankSeriesr   astypeint)r   rs   expecteds      r   test__ros_group_rankr     s    		#(z""T&\\1uRyy//  
 
B  Xx88F}AAAOOOHc**HOOC,@,@AAAAAr   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )Test__ros_plot_posc                 ,    t                      | _        d S )N)re   rd   rm   s    r   ro   zTest__ros_plot_pos.setup_method  s    #%%			r   c                 h    dddd}t          j        |d| j                  }t          |d           d S )NFr   r   r   r   r   r   rK   r   _ros_plot_posrd   r   rn   rowrs   s      r   test_uncensored_1z$Test__ros_plot_pos.test_uncensored_1  s>     QBB"3
DI>>V011111r   c                 h    dddd}t          j        |d| j                  }t          |d           d S )NFr   r   r   r   g}?r   r   s      r   test_uncensored_2z$Test__ros_plot_pos.test_uncensored_2  s>     QCC"3
DI>>V011111r   c                 h    dddd}t          j        |d| j                  }t          |d           d S )NTr#   r!   r   r   g__?r   r   s      r   test_censored_1z"Test__ros_plot_pos.test_censored_1!  s>    AqAA"3
DI>>V/00000r   c                 h    dddd}t          j        |d| j                  }t          |d           d S )NTr!   r   r   r   rJ   r   r   s      r   test_censored_2z"Test__ros_plot_pos.test_censored_2&  s>    AqAA"3
DI>>V011111r   N)rz   r{   r|   ro   r   r   r   r   r}   r   r   r   r     s_        & & &2 2 2
2 2 2
1 1 1
2 2 2 2 2r   r   c                      t          j        g d          } t          j        g d          }t	          j        | |           d S )N)r   r   r   r!   )gT]?g`>?gO:`?gyj?)r   _norm_plot_posra   arraynptassert_array_almost_equal)rs   r   s     r   test__norm_plot_posr   ,  sE    --F{GGGHHH!&(33333r   c                      t                      } t                      }t          j        | d|          }t	          j        g d          }t          j        ||           d S )Nr   )#g@,U?眤Uqx?^c@?r   g?g_?g?gaˀqx?r   gBUZ?geL$E?gKnf?g*?gh	?gޮ_?gqo-?g> ?g{X={?gK3?g m(?g(?g1^?g?g}N?g"}?gCy?g&(Nu?gC"
K?g`C#""?g p?g!R<?gB4_ʥ?gb W|?g!/R?gr)?)rF   re   r   plotting_positionsra   r   r   r   )r   rd   resultsr   s       r   test_plotting_positionsr   2  sg    		!	!BD$RT::G{     H !'844444r   c                      t          j        g d          } t                      }t          j        |ddt           j        t           j                  }|d         j        }t          j	        ||            d S N)#gC@gَ@7!/@r   g@gKڿx@gQP@r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r-   r-   r0   r2   r4   r6   r7   r8   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   r   final)
ra   r   rL   r   _imputelogexpr   r   r   r   r   rs   s      r   test__imputer   C  so    { 
 
 
 
 
H 
		B	RUY		B	BB[F!&(33333r   c                      t          j        g d          } t                      }t          j        |ddt           j        t           j                  }|d         j        }t          j	        ||            d S r   )
ra   r   r   r   _do_rosr   r   r   r   r   r   s      r   test__do_rosr   U  so    { 
 
 
 
 
H 
		B	RUY		B	BB[F!&(33333r   c                        e Zd Zd Zd Zd ZdS )CheckROSMixinc                     t          j        | j        | j        | j                  }t          j        t          |          t          | j                  | j	                   d S NrE   )decimal)
r   
impute_rosrescolcencolr   r   r   sortedexpected_finalr   rr   s     r   test_ros_dfzCheckROSMixin.test_ros_dfi  s^    T[TWEEE%6NN4&''L	
 	
 	
 	
 	
 	
r   c                     t          j        | j        | j                 | j        | j                 d           }t          j        t          |          t          | j                  | j	                   d S r   )
r   r   r   r   r   r   r   r   r   r   rr   s     r   test_ros_arrayszCheckROSMixin.test_ros_arraysq  sj     4dgdk6JtTTT%6NN4&''L	
 	
 	
 	
 	
 	
r   c                     g d}t          j        | j        | j        | j                  }t          t          j        ||         d          t          j        | j        |         d                     d S )NrU   rT   rS   rV   r   )	r   r   r   r   r   r   nproundexpected_cohn)rn   colsrd   s      r   	test_cohnzCheckROSMixin.test_cohny  su    
 
 
 dkBBHT$Z##HT'-q11	
 	
 	
 	
 	
r   N)rz   r{   r|   r   r   r   r}   r   r   r   r   h  sA        
 
 

 
 


 

 

 

 

r   r   c            	          e Zd ZdZdZ ej        g d          Z ej        g d          ZdZ	dZ
 ej        e	ee
ei          Z ej        g d          Z ej         ej        dd	ej        g           ej        d	d
ej        g           ej        d	dej        g           ej        g d          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   rP   rP   rP   rP   rP   rP   r[   r[   r[   rO         @rZ   r         .@      4@      ;@     @@      I@)TTTTTTTTTFFFFFFFFFobscen)gGz?g333333?g(\?gRQ?g)\(?gQ@g      @rO   g=
ףp=@g333333@r   rZ   r   r   r   r   r   r   rO   rY   r   )g%?g1ZGU?rN   r   Nrz   r{   r|   __doc__r   ra   r   r
   r   r   r   r   rD   r   r   rc   r   r}   r   r   r   r     s,        
 G
%+     C %+     C
 FF		634	5	5B U[ " " "  N
 %F$#S#uy$9::!ek3ei"899!ek3UY"788&5;'>'>'>??	& &  MMMr   r   c                      e Zd ZdZdZ ej        g d          Z ej        g d          ZdZ	dZ
 ej        e	ee
ei          Z ej        g d          Z ej         ej        dd	d
d
ej        g           ej        ddddej        g           ej        dd	ddej        g           ej        g d          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   )皙	@ffffff@r$   r$   r$   r$   r$   r$   r$   r$   333333?      ?rP   rP   rP   rP   ?r   ffffff?r   333333?      ?r   r   )FFTTTTTTTTFFTTTTFTFFFFFFr   r   )r   r   gQ?g=
ףp=?gffffff?Q?g(\?g=
ףp=?gq=
ףp?gffffff?r   r   g\(\?gRQ?g(\?g=
ףp=?r   gQ?r   r   r   r   r   r   rY   rP   r$   rN   r   r   g      6@      @       @)rP   g      ?g=m?g&S?rN   r   Nr   r}   r   r   r   r     s8         G
%+     C %+     C FF		634	5	5B U[ " " "  N %F$#S#sC$CDD!ek3T4"CDD!ek3S#uy"ABB&5;'J'J'JKK	& &  MMMr   r   c            
       ^   e Zd ZdZ e ed                    ZdZdZ e	j
        ed          Z ej        g d          Z e	j         ej        dd	d
ej        g           ej        dddej        g           ej        dddej        g           ej        g d          d          ZdS )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+)sep)2g6j?g}%?gM"?gB`"۹?g rh?g(\?gsh|??g r?gT㥛 ?g"~j?gS㥛?gK7?gJ	c?πz3*?gN?g&V?g7F?gV?gqC/7?gɹEGϹ?rP   gzc?gfD̙+?gcT?r  g-?g",(?gG4L?gL6S?g?ΰ(W~?gR*?gZKfd?gJE?g?r$   r$   gZd;@gzG@rO   rO   gp=
ף@r  r   gףp=
@rY   gB`"@g      0@gK1@g      9@g     I@rZ   rN   g      2@rO   r   g      @@      1@)gzG?
ףp=
?r  r   r   N)rz   r{   r|   r   r   r   
datastringr   r   r   r   r   ra   r   r   rD   rc   r   r}   r   r   r  r    s        G&& 3" 3 3 3 3Jh FF		0	0	0B U[ " " "  N %F$#Rc59$=>>!ek2sC";<<!ek2r3	":;;&5;'<'<'<==	& &  MMMr   r  c                   z   e Zd ZdZej                            d           dZej                            e          Z	dgez  Z
dZdZ ej        ee	ee
i          Z ej        g d          Z ej         ej        g            ej        g            ej        g            ej        g           d	          Zd
S )Test_NoOp_ZeroNDr   r      )sizeFr   r   )RQ?Q?r   Q?r   Gz?ffffff?Q?ffffff?ףp=
?)\(?(\?Q@Q@HzG@Q@ףp=
@\(\@zG@"@r   N)rz   r{   r|   r   ra   randomseedN	lognormalr
   r   r   r   r   rD   r   r   r   r   r}   r   r   r  r    s        G	La
A
,
 
 a
 
(
(C'A+CFF		634	5	5B U[ " " "  N %F$#B!ek"oo!ek"oo&5;r??	& &  MMMr   r  c            	       v   e Zd ZdZ ej        g d          Z ej        g d          ZdZdZ	 e
j        eee	ei          Z ej        g d          Z e
j         ej        dej        g           ej        dej        g           ej        dej        g           ej        d	d
g          d          ZdS )Test_ROS_OneNDr   r   )TFFFFFFFFFFFFFFFFFr   r   )gQ?rP   rP   rP   rP   rP   r[   r[   r[   rO   r   rZ   r   r   r   r   r   r   r  rP   g~!<8?rN   r   Nrz   r{   r|   r   ra   r   r
   r   r   r   r   rD   r   r   rc   r   r}   r   r   r%  r%  2  s       G
%+     C %+     C
 FF		634	5	5B U[ " " "  N
 %F$#T59$566!ek3	"233!ek3	"233&5;~66	& &  MMMr   r%  c                      e Zd ZdZ ej        g d          Z ej        g d          ZdZdZ	 e
j        eee	ei          Z ej        g d          Z e
j         ej        ddddddddej        g	           ej        d	d
ddddddej        g	           ej        d	dddddddej        g	           ej        dgdz  dgz             d          ZdS )Test_HalfDLs_80pctNDsr   r   )TTTTTTTTTTTTTTTFFFvaluer   )r   r   r   r   r   r   r   r   r   r   r   g      @rY   r-   r[   r   r   r   rN   rO   rY   r   r  rZ   r   g      *@g      ,@r   rP   gKqU?r1   r   Nr&  r}   r   r   r(  r(  M  sJ       G
%+     C %+     C
 FF		634	5	5B U[ " " "  N
 %F$#RRRRUY$OPP!ek2r2r3S#uy"QRR!ek2r2r2r2r59"MNN&5;y1}t';<<	& &  MMMr   r(  c            	       |   e Zd ZdZ ej        g d          Z ej        g d          ZdZdZ	 e
j        eee	ei          Z ej        g d          Z e
j         ej        ddej        g           ej        d	d
ej        g           ej        d	dej        g           ej        g d          d          ZdS )Test_HaflDLs_OneUncensoredr   )rP   rP   r   r   )TTTFr)  r   )r   r   rY   r   rN   rP   r$   rO   )      ?r,  rN   r   Nr&  r}   r   r   r+  r+  h  s        G
%+,,,
-
-C
%+000
1
1CFF		634	5	5B U[!:!:!:;;N$F$#RUY$788!ek2r59"566!ek2r59"566&5;'7'7'788	& &  MMMr   r+  c                   V    e Zd Z ej        g d          Z ej        g d          ZdS )Test_ROS_MaxCen_GT_MaxUncen)rP   rP   rP   rP   rP   rP   r[   r[   r[   rO   r   rZ   r   r   r   r   r   r   <   F   )TTTTTTTTTFFFFFFFFFTTN)rz   r{   r|   ra   r   r
   r   r}   r   r   r.  r.  y  sT        
%+     C
 %+     CCCr   r.  c                   d    e Zd Zej                            d           dZg dZdgez  ddgz   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  r[   r[   FTN)	rz   r{   r|   ra   r   r!  r"  r
   r   r}   r   r   r2  r2    sP        	La
A  C
 7Q;4,
&CCCr   r2  )(statsmodels.compat.pandasr   r   ior   textwrapr   ra   r   numpy.testingtestingr   r   r   r   statsmodels.imputationr   r   rF   rL   re   rg   r   r   r   r   r   r   r   r   r   r   r   r  r  r%  r(  r+  r.  r2  r}   r   r   <module>r9     s   M M M M M M M M                        & & & & & &   & & & & & &  ' ' 'TJ J JZ  ($? $? $? $? $? $? $? $?N &  &  &  &  &  &  &  &F5 5 5 5 5 5 5 5$	B 	B 	B2 2 2 2 2 2 2 224 4 45 5 5"4 4 4$4 4 4&
 
 
 
 
 
 
 
<    }   @$ $ $ $ $] $ $ $NK K K K K K K K\    }   .    ]   6    M   6       "
 
 
 
 
": 
 
 
' ' ' ' '"2 ' ' ' ' 'r   