Example: ProportionalHazards

The following example is taken from Lawless (1982, page 287) and involves the survival of lung cancer patients based upon their initial tumor types and treatment type. In the example, the likelihood is maximized with no strata present in the data. This corresponds to Example 7.2.3 in Lawless (1982, page 367). The model is given as:

\textup{ln}(\lambda)=\beta_1x_1+\beta_2x_2+\beta_3x_3+\alpha_i+\gamma_j

where \alpha_i and \gamma_j correspond to dummy variables generated from classification variables in columns 5 and 6 of x . Respectively, x_1 corresponds to column index 2, x_2 corresponds to column index 3, and x_3 corresponds to column index 4 of x . Column 0 of x contains the response and column 1 of x contains the censoring code. Logging is used to print output statistics.

import com.imsl.stat.*;
import com.imsl.math.PrintMatrix;
import java.util.logging.*;

public class  ProportionalHazardsEx1 {
    public static void main(String args[]) throws Exception{
        
        double[][] x = {
            {411, 0, 7, 64,  5, 1, 0},
            {126, 0, 6, 63,  9, 1, 0},     
            {118, 0, 7, 65, 11, 1, 0},
            { 92, 0, 4, 69, 10, 1, 0}, 
            {  8, 0, 4, 63, 58, 1, 0},
            { 25, 1, 7, 48,  9, 1, 0}, 
            { 11, 0, 7, 48, 11, 1, 0},
            { 54, 0, 8, 63,  4, 2, 0}, 
            {153, 0, 6, 63, 14, 2, 0},
            { 16, 0, 3, 53,  4, 2, 0},
            { 56, 0, 8, 43, 12, 2, 0},
            { 21, 0, 4, 55,  2, 2, 0}, 
            {287, 0, 6, 66, 25, 2, 0},
            { 10, 0, 4, 67, 23, 2, 0},  
            {  8, 0, 2, 61, 19, 3, 0},
            { 12, 0, 5, 63,  4, 3, 0},
            {177, 0, 5, 66, 16, 4, 0},
            { 12, 0, 4, 68, 12, 4, 0},
            {200, 0, 8, 41, 12, 4, 0},
            {250, 0, 7, 53,  8, 4, 0},
            {100, 0, 6, 37, 13, 4, 0},
            {999, 0, 9, 54, 12, 1, 1},
            {231, 1, 5, 52,  8, 1, 1},
            {991, 0, 7, 50,  7, 1, 1},
            {  1, 0, 2, 65, 21, 1, 1},
            {201, 0, 8, 52, 28, 1, 1}, 
            { 44, 0, 6, 70, 13, 1, 1},
            { 15, 0, 5, 40, 13, 1, 1},
            {103, 1, 7, 36, 22, 2, 1},
            {  2, 0, 4, 44, 36, 2, 1},
            { 20, 0, 3, 54,  9, 2, 1},
            { 51, 0, 3, 59, 87, 2, 1},
            { 18, 0, 4, 69,  5, 3, 1},
            { 90, 0, 6, 50, 22, 3, 1},
            { 84, 0, 8, 62,  4, 3, 1},
            {164, 0, 7, 68, 15, 4, 1},
            { 19, 0, 3, 39,  4, 4, 1},
            { 43, 0, 6, 49, 11, 4, 1},
            {340, 0, 8, 64, 10, 4, 1},
            {231, 0, 7, 67, 18, 4, 1}
        };
        int indef[] = {2, 3, 4, 5, 6};
        int nvef[] = {1, 1, 1, 1, 1};
        int indcl[] = {5, 6};
        int maxcl = 6, icen = 1;
        double ratio = 10000.0;
        
        ProportionalHazards ph = new ProportionalHazards(x, nvef, indef);
        ph.setMaxClass(maxcl);
        ph.setCensorColumn(icen);
        ph.setClassVarColumns(indcl);
        ph.setStratumRatio(ratio);

        // Level.FINER prints most output statistics
        
        Logger logger = ph.getLogger();
        ConsoleHandler ch = new ConsoleHandler();
        
        // Set ConsoleHandler Level to ALL
        
        ch.setLevel(Level.ALL);         
        logger.setLevel(Level.FINER);
        logger.addHandler(ch);
        ch.setFormatter(new com.imsl.IMSLFormatter());

        double coef[][] = ph.getParameterStatistics();
        new PrintMatrix("\nFinal Coefficient Matrix").print(coef);
    }
}

Output

Initial Estimates
   0  
0  0  
1  0  
2  0  
3  0  
4  0  
5  0  
6  0  


Method  Iteration  Step       Maximum scaled     Log
                   Size        coef. update      likelihood
  Q-N        0                              -102.40056551567265
  Q-N        1      1.0  0.503384047154466 -91.04395077806367
  Q-N        2      1.0  0.5781995573157527 -88.06808499091763
  N-R        3      1.0  0.11310452893592865 -87.92233446871525
  N-R        4      1.0  0.0695795111007413 -87.88778754387496
  N-R        5      1.0  8.149048655014991E-4 -87.88778009939108
Log-Likelihood = -87.888
                      Coefficient Statistics
   Coefficient  Std. error  Asymptotic z-stat  Asymptotic p-value  
0    -0.5846      0.1368         -4.2721             0             
1    -0.0131      0.0206         -0.6342             0.526         
2     0.0008      0.0118          0.0645             0.9486        
3    -0.367       0.4848         -0.7572             0.449         
4    -0.0077      0.5068         -0.0152             0.9878        
5     1.1129      0.6331          1.758              0.0787        
6     0.3797      0.4058          0.9357             0.3494        


                Asymptotic Coefficient Covariance
     0        1        2        3        4        5        6     
0  0.0187   0.0003   0.0003   0.0057   0.0097   0.0043   0.0021  
1           0.0004  -0       -0.0017  -0.0008  -0.0031  -0.0029  
2                    0.0001   0.0008  -0.0018   0.0006   0.0017  
3                             0.235    0.098    0.1184   0.0373  
4                                      0.2568   0.1253  -0.0194  
5                                               0.4008   0.0629  
6                                                        0.1647  


                               Case Analysis
    Survival Prob.  Influence  Residual  Cumulative hazard  Prop. constant  
 0      0.0022       0.0414     2.0531         6.1032           0.3364      
 1      0.2988       0.1088     0.7409         1.2078           0.6134      
 2      0.3424       0.1184     0.3576         1.0719           0.3336      
 3      0.4336       0.1554     1.5272         0.8357           1.8274      
 4      0.9555       0.5567     0.0933         0.0455           2.0499      
 5      0.7365       ?          0.1272         0.3058           0.4158      
 6      0.9204       0.3729     0.0346         0.083            0.4164      
 7      0.5876       0.2637     0.1446         0.5317           0.2719      
 8      0.2577       0.1173     1.196          1.3561           0.882       
 9      0.8457       0.1486     0.9656         0.1676           5.7608      
10      0.5481       0.3133     0.2135         0.6012           0.3551      
11      0.7365       0.2108     0.9551         0.3058           3.1232      
12      0.0293       0.0602     3.018          3.5289           0.8552      
13      0.9382       0.0935     0.173          0.0638           2.7135      
14      0.9555       0.1595     1.3142         0.0455          28.8855      
15      0.8854       0.2322     0.5864         0.1217           4.8164      
16      0.1814       0.0918     2.6217         1.707            1.5358      
17      0.8854       0.1869     0.3258         0.1217           2.6765      
18      0.1414       0.2303     0.7187         1.9565           0.3673      
19      0.0522       0.0943     1.6591         2.9529           0.5618      
20      0.3899       0.2212     1.1745         0.9419           1.2469      
21      0            0          1.7281        21.1049           0.0819      
22      0.0806       ?          2.1865         2.5177           0.8684      
23      0.0001       0.0049     2.4603         8.8921           0.2767      
24      0.9892       0.3072     0.0462         0.0108           4.2758      
25      0.1074       0.1724     0.3406         2.2311           0.1527      
26      0.664        0.2513     0.1573         0.4095           0.3841      
27      0.8655       0.2215     0.1472         0.1444           1.0196      
28      0.3899       ?          0.4533         0.9419           0.4812      
29      0.9781       0.2495     0.0561         0.0222           2.531       
30      0.769        0.2556     1.0257         0.2627           3.9045      
31      0.6291       0.3509     1.7991         0.4635           3.8817      
32      0.8233       0.2598     1.0635         0.1944           5.4705      
33      0.4739       0.26       1.6474         0.7468           2.2058      
34      0.5104       0.3191     0.3886         0.6725           0.5779      
35      0.2173       0.183      0.485          1.5267           0.3177      
36      0.7979       0.2642     1.0764         0.2258           4.7675      
37      0.7          0.16       0.2598         0.3567           0.7282      
38      0.0094       0.2267     0.8668         4.6642           0.1858      
39      0.0806       0.2045     0.8122         2.5177           0.3226      


Last Coefficient Update
              
0  -5.835E-8  
1   1.401E-9  
2  -8.597E-9  
3  -2.822E-7  
4  -4.566E-8  
5   1.256E-7  
6   1.058E-8  


Covariate Means
           
0   5.65   
1  56.575  
2  15.65   
3   0.35   
4   0.275  
5   0.125  
6   0.525  


Distinct Values For Each Class Variable
Variable 0:	1	2	3	4
Variable 1:	0	1
Stratum Numbers For Each Observation
       
 0  1  
 1  1  
 2  1  
 3  1  
 4  1  
 5  1  
 6  1  
 7  1  
 8  1  
 9  1  
10  1  
11  1  
12  1  
13  1  
14  1  
15  1  
16  1  
17  1  
18  1  
19  1  
20  1  
21  1  
22  1  
23  1  
24  1  
25  1  
26  1  
27  1  
28  1  
29  1  
30  1  
31  1  
32  1  
33  1  
34  1  
35  1  
36  1  
37  1  
38  1  
39  1  


Number of Missing Values = 0
    
Final Coefficient Matrix
     0       1      2       3    
0  -0.585  0.137  -4.272  0      
1  -0.013  0.021  -0.634  0.526  
2   0.001  0.012   0.064  0.949  
3  -0.367  0.485  -0.757  0.449  
4  -0.008  0.507  -0.015  0.988  
5   1.113  0.633   1.758  0.079  
6   0.38   0.406   0.936  0.349  

Link to Java source.