README file:  Double Censoring Programs

1.  "DoubleCensoring"  is a  C  application written by 
    Piet Groeneboom to implement the methods discussed
    in the paper
   
        Wellner, J. A. and Zhan, Y. (1997)
        A hybrid algorithm for computation 
        of the NPMLE from censored data (with Y. Zhan).
        J. Amer. Statist. Assoc. 92, 945 - 959.

2.  The model for "Doubly-censored data" treated here means that:
    (a)  X_1 , ... , X_n  are i.i.d. with d.f.  F
    (b)  (U_1, V_1), ... , (U_n, V_n) are i.i.d. pairs with U_i < V_i .
    (c)  observations consist of (Z_i, D_i), i = 1, ... , n where
         Z_i =  U_i   if  X_i <= U_i ,          D_i = 1,
         Z_i =  X_i   if  U_i < X_i <= V_i ,    D_i = 2, 
         Z_i =  V_i   if  V_i < X_i    ,        D_i = 3 .

2.  Methods available in the program:
        EM algorithm
        Hybrid algorithm (alternating steps of EM and ICM,
              or Iterative Convex Minorant).
        One can choose to do either EM or Hybrid in the menu
        "Algorithms". The default is set on the Hybrid algorithm.
        One can also switch between the two by the keyboard equivalents
        "command-1" and "command-2".
            
3.  Data included and generated in the application:
     (i)  the data sets of size n = 3000, 4000, and 5000 
          analyzed in Wellner and Zhan, and called
          doub.3, doub.4 and doub.5, respectively.
     (ii) Monte-Carlo generation routines for the same
          situation analyzed in Wellner and Zhan
     One can choose to use input files or to generate random samples
     by the menu "Samples".

4.  User-specified data is allowed; input files should be in 
    the form of two columns, the first for Z_i, the second for D_i,
    see the format of the example files doub.3, doub.4 and doub.5.
    
5.  For running one of the algorithms on either input files or randomly
	generated data, press "command-r" or use the menu "Run".

6.  Output: 
      (i) values of the Fenchel conditions and log-likelihood for successive
          iterations of the algorithm. For more information on the Fenchel
          conditions, see the reference above: Wellner and Zhan (1997)
          The iterations can be stopped at any time (particularly needed
          for the EM algorithm) by pressing "command-period" (="apple-period").
          The iterations are stopped automatically if the criteria are zero in
          6 decimals. The text output of the iterations can be saved if desired,
          the name can be specified in the dialog box that will appear.
		  The value of the estimator at the end of the iterations
          is written to a file called "NPMLE" giving the NPMLE at the 
          jump times (not at all observations).
      (ii) a plot of the estimated d.f., which can be saved as a PICT
           file via the menu or "command-s". The PICT file can be opened
           by SimpleText or applications like Adobe Illustrator or Mathematica.
           One can exit the plot by pressing return or clicking the "go-away" box.
      
      Because the output files are large for big n, usually bigger 
      than 32K, the program uses a freeware replacement of the Apple
      toolbox Text Edit routines. At the time that the program was written
      (1996), the toolbox Text Edit routines still had the limitation of 32K.
      Since in Mac OS 8.1 SimpleText still refuses to open files bigger than 32K,
      we fear that the situation in this respect still has not changed,
      which is an absolute disgrace in this day and age!
      The replacement of the Apple toolbox Text Edit routines is called TE32K.c 
      and was written by Roy Wood and Michael J. Lowe, whose contribution
      (given unknowingly) is gratefully acknowledged. The text files that are
      produced can be read by any editor that can handle text files bigger than 32K
      (in which case they cannot be read by SimpleText!), like BBEdit or Textures.
          
7.  For more information on Macintosh compatible 
    C source code for this program, please contact
    either Jon Wellner or Piet Groeneboom.  
    (Copyright issues are involved in making source code available.)

Written by Jon Wellner and Piet Groeneboom,  June 1998.