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.

using System;
using Imsl.Stat;
using Imsl.Math;
using Imsl;

public class ProportionalHazardsEx1
{
    public static void  Main(string[] args)
    {
        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.MaxClass = maxcl;
        ph.CensorColumn = icen;
        ph.SetClassVarColumns(indcl);
        ph.StratumRatio = ratio;
        
        // Level.FINER prints most output statistics
        
        Logger logger = ph.Logger;
        logger.LogLevel = Logger.Level.Finer;
        double[,] coef = ph.GetParameterStatistics();
        new PrintMatrix("\nFinal Coefficient Matrix").Print(coef);
    }
}

Output

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


ProportionalHazards: Method  Iteration  Step       Maximum scaled     Log
ProportionalHazards:                    Size        coef. update      likelihood
ProportionalHazards:   Q-N        0                              -102.400565515673
ProportionalHazards:   Q-N        1      1  0.503384047154466 -91.0439507780637
ProportionalHazards:   Q-N        2      1  0.578199557315753 -88.0680849909176
ProportionalHazards:   N-R        3      1  0.113104528935929 -87.9223344687152
ProportionalHazards:   N-R        4      1  0.0695795111007414 -87.887787543875
ProportionalHazards:   N-R        5      1  0.000814904865501336 -87.8877800993911
ProportionalHazards: Log-Likelihood = -87.8877800993911
ProportionalHazards:                       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        


ProportionalHazards:                 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  


ProportionalHazards:                                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       NaN        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       NaN        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       NaN        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       


ProportionalHazards: 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  


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


ProportionalHazards: Distinct Values For Each Class Variable
ProportionalHazards: Variable 0:	1	2	3	4
ProportionalHazards: Variable 1:	0	1
ProportionalHazards: 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  


ProportionalHazards: Number of Missing Values = 0
                                
Final Coefficient Matrix
             0                    1                    2                    3            
0  -0.584594437935942     0.136840243992857   -4.27209438450326    1.93645575283785E-05  
1  -0.0130519374088305    0.0205802738950756  -0.634196487149451   0.525952599824556     
2   0.000761767774242064  0.0118179341006006   0.0644586243041712  0.948605051586236     
3  -0.36704523412352      0.484770317924572   -0.757152863019617   0.448958286523091     
4  -0.00772085680226222   0.506751409428954   -0.0152359848608269  0.987843913222082     
5   1.11293966441439      0.633058877893231    1.75803500002743    0.0787415542394656    
6   0.379709386883123     0.405801960576063    0.935701213331005   0.34942704574484      


Link to C# source.