where
and
correspond to dummy variables generated from classification variables in columns 5 and 6 of x
. Respectively,
corresponds to column index 2,
corresponds to column index 3, and
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);
}
}
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.