Estimates survival probabilities and hazard rates for various parametric models.
XPT NOBS by NCOL matrix, each row of which contains the covariates for a group for which survival estimates are desired. (Input)
MODEL Model
option parameter. (Input)
MODEL specifies the
distribution of the response variable and the relationship of the linear model
to a distribution parameter.
MODEL |
Distribution |
0 |
Exponential |
1 |
Linear hazard |
2 |
Log-normal |
3 |
Normal |
4 |
Log-logistic |
5 |
Logistic |
6 |
Log least extreme value |
7 |
Least extreme value |
8 |
Log extreme value |
9 |
Extreme value |
10 |
Weibull |
For further discussion of the models, see the Description section.
TIME Beginning
of the time grid for which the survival estimates are desired.
(Input)
Survival probabilities and hazard rates are computed for each
covariate vector over the grid of time points TIME + i * DELTA for i =
0, 1,
,
NPT − 1.
NPT Number of points on the time grid for which survival probabilities are desired. (Input)
DELTA Increment between time points on the time grid. (Input)
IFIX Column
number in XPT
containing a constant to be added to the linear response. (Input)
The estimated linear response is
w + COEF(1) * z(1) + COEF(2) * z(2) +
+ COEF(NCOEF) * z(NCOEF), where z
is the design vector for the I-th observation
obtained from a row of XPT. w = XPT(I, IFIX) if IFIX is positive, and
w = 0 otherwise.
NCOEF Number of coefficients in the model. (Input)
COEF Vector of
length NCOEF
containing the model parameter estimates. (Input)
Usually routine
SVGLM is first called to estimate COEF as the first
column of matrix COEF in SVGLM. When present in
the model, the initial coefficient in COEF is a nuisance
parameter, and the remaining coefficients are parameters associated with the
linear model, beginning with the intercept, if present. Nuisance parameters
are as follows:
Model |
Nuisance Parameter |
1 |
Coefficient of the quadratic term in time, θ |
2 9 |
Scale parameter, σ |
10 |
Shape parameter, θ |
There is no nuisance parameter for model 0.
SPROB NPT by 2 * NOBS
+ 1 matrix. (Output)
SPROB(i, 2)
contains the estimated survival probability at time
SPROB(i, 1) = TIME + (i − 1) * DELTA for observations
with covariates given in row 1 of XPT. SPROB(i, 3)
contains the estimate for the hazard rate at this time point. Columns 4 and 5
contain the estimated survival probabilities and hazard rates for observations
with covariates given in the second row in XPT, etc., up to
columns
2 *
NOBS
and 2 * NOBS
+ 1, which contain these statistics for observations with covariates in the last
row of XPT.
XBETA Vector of
length NOBS
containing the estimated linear response
w + COEF(1) * z(1) +
+ COEF(NCOEF) * z(NCOEF ) for each row
of XPT.
(Output)
NOBS Number of
observations. (Input)
Default: NOBS = size (XPT,1).
NCOL Number of
columns in XPT.
(Input)
Default: NCOL = size (XPT,2).
LDXPT Leading
dimension of XPT
exactly as specified in the dimension statement of the calling
program. (Input)
Default: LDX = size (XPT,1).
INTCEP
Intercept option. (Input)
Default: INTCEP = 1.
INTCEP |
Action |
0 |
No intercept is in the model (unless otherwise provided for by the user). |
1 |
An intercept is automatically included in the model. |
NCLVAR Number
of classification variables. (Input)
Dummy or indicator variables
are generated for classification variables using the IDUMMY = 2 option of
routine GRGLM
(see Chapter 2, Regression;). See Comment 2.
Default: NCLVAR = 0.
INDCL Index
vector of length NCLVAR containing the
column numbers of X that are
classification variables. (Input, if NCLVAR is positive,
not used otherwise)
If NCLVAR is 0, INDCL is not
referenced and can be dimensioned of length 1 in the calling program.
NCLVAL Vector
of length NCLVAR
containing the number of values taken on by each classification variable.
(Input, if NCLVAR is positive,
not referenced otherwise)
NCLVAL(I) is the number of
distinct values for the I-th classification
variable. NCLVAL
is not referenced and can be dimensioned of length 1 in the calling program if
NCLVAR is
zero.
CLVAL Vector of
length NCLVAL(1)
+ NCLVAL(2) +
+ NCLVAL(NCLVAR) containing the
distinct values of the classification variables. (Input, if NCLVAR is positive;
not used otherwise)
The first NCLVAL(1) elements
contain the values for the first classification variables, the next NCLVAL(2) elements
contain the values for the second classification variable, etc. If NCLVAR is zero, then
CLVAL is not
referenced and can be dimensioned of length 1 in the calling program.
NEF Number of
effects in the model. (Input)
In addition to effects involving
classification variables, simple covariates and the product of simple covariates
are also considered effects.
Default: NEF = 0.
NVEF Vector of
length NEF that
contains the number of variables associated with each effect.
(Input, if NEF
is greater than 0; not referenced otherwise)
NVEF is not referenced
and can be dimensioned of length 1 in the calling program if NEF is zero.
INDEF Vector of
length NVEF(1) +
+ NVEF(NEF) that contains the
column numbers in X associated with each
effect. (Input, if NEF is greater than 0;
not used otherwise)
The first NVEF(1) elements of
INDEF contain
the column numbers in XPT for the variables
in the first effect. The next NVEF(2) elements in
INDEF contain
the column numbers for the second effect, etc.. If NCLVAR is zero, INDEF is not
referenced and can be dimensioned of length 1 in the calling program.
IPRINT Printing
option. (Input)
Default: IPRINT = 0.
IPRINT |
Action |
0 |
No printing is performed. |
1 |
Printing is performed. |
LDSPRO Leading
dimension of SPROB exactly as
specified in the dimension statement in the calling program.
(Input)
Default: LDSPRO = size (SPROB,1).
Generic: CALL STBLE (XPT, MODEL, TIME, NPT, DELTA, IFIX, NCOEF, COEF, SPROB, XBETA [, ])
Specific: The specific interface names are S_STBLE and D_STBLE.
Single: CALL STBLE (NOBS, NCOL, XPT, LDXPT, MODEL, TIME, NPT, DELTA, IFIX, INTCEP, NCLVAR, INDCL, NCLVAL, CLVAL, NEF, NVEF, INDEF, NCOEF, COEF, IPRINT, SPROB, LDSPRO, XBETA)
Double: The double precision name is DSTBLE.
Routine STBLE computes estimates of survival probabilities and hazard rates for the parametric survival/reliability models fit by routine SVGLM for one or more vectors of covariate values. Because estimates for the parameters of the model must be given, routine SVGLM is usually invoked to obtain these estimates prior to invoking STBLE.
Let η = xTβ be the linear parameterization, where x is a design vector obtained in STBLE via routine GRGLM (see Chapter 2, Regression;) from a row of XPT, and β is a vector of parameters associated with the linear model. Let T denote the random response variable and S(t) denote the probability that T > t. All models considered also allow a fixed parameter w (input in column IFIX of XPT). Use of this parameter is discussed in the document for routine SVGLM. There may also be nuisance parameters θ > 0, or σ > 0. Let Φ denote the cumulative normal distribution. The survival models available in STBLE are
Model |
Name |
S(t) |
0 |
Exponential |
|
1 |
Linear hazard |
|
2 |
Log-normal |
|
3 |
Normal |
|
4 |
Log-logistic |
|
5 |
Logistic |
|
6 |
Log least extreme value |
|
7 |
Least extreme value |
|
8 |
Log extreme value |
|
9 |
Extreme value |
|
10 |
Weibull |
|
Let λ(t) denote the hazard rate at time t. Then λ(t) and S(t) are related as
Models 0, 1, 2, 4, 6, 8, and 10 require that T > 0 (in which case, we assume λ(s) = 0 for s < 0), while the remaining models allow arbitrary values for T, −∞ < T < ∞. The computations proceed in routine STBLE as follows:
1. The input arguments are checked for consistency and validity.
2. For each row of XPT, the explanatory variables are generated from the classification and variables and the covariates using routine GRGLM with the IDUMMY = 2 option. (When IDUMMY is two, GRGLM assigns an indicator variable the value 1.0 when the observation is in the class, assigns the value 0.0 otherwise, and omits the last indicator variable from the design vector. See the manual documentation for GRGLM.) Given the explanatary variables x, η is computed as η = xTβ, where β in input in COEF.
For each time point requested in the time grid, the survival probabilities and hazard rates are computed.
1. Workspace may be explicitly provided, if desired, by use of S2BLE/DS2BLE. The reference is:
CALL S2BLE (NOBS, NCOL, XPT, LDXPT, MODEL, TIME, NPT, DELTA, IFIX, INTCEP, NCLVAR, INDCL, NCLVAL, CLVAL, NEF, NVEF, INDEF, NCOEF, COEF, IPRINT, SPROB, LDSPRO, XBETA, CHWK, Z, RWK)
The additional arguments are as follows:
CHWK CHARACTER * 10 work vector of length NCOL.
Z Work vector of length NCOEF.
RWK
Work vector of length MAX(7, NCOL) if IPRINT = 1, or of length 1 if
IPRINT = 0.
2. Dummy variables are generated for the classification variables as follows: The list of all distinct values of each classification variable is as stored in CLVAL. Dummy variables are generated for each but the last of these distinct values. Each dummy variable is zero unless the classification variable equals the list value corresponding to the dummy variable, in which case the dummy variable is one. See argument IDUMMY for IDUMMY = 2 in routine GRGLM (see Chapter 2, Regression;).
3. Informational errors
Type Code
3 1 Some survival probabilities are less than or equal to zero. The corresponding hazard values cannot be computed.
4 2 The specified number of coefficients, NCOEF, is incorrect.
4 3 The model specified is not defined for negative time.
The example is a continuation of the first example given for routine SVGLM. Prior to calling STBLE, SVGLM is invoked to compute the parameter estimates. The example is taken from Lawless (1982, page 287) and involves the mortality of patients suffering from lung cancer.
!
USE SVGLM_INT
USE SCOPY_INT
USE STBLE_INT
IMPLICIT NONE
INTEGER ICEN, IFIX, ILT, INFIN, IPRINT, IRT, LDCASE, &
LDCOEF, LDCOV, LDSPRO, LDX, LDXPT, MAXCL, &
MODEL, NCLVAR, NCOL, NEF, NOBS, NPT
REAL DELTA, TIME, XPWR
PARAMETER (DELTA=20.0, ICEN=2, IFIX=0, ILT=0, INFIN=0, IPRINT=1, &
IRT=1, LDCASE=40, LDCOEF=9, LDCOV=9, LDX=40, LDXPT=2, &
MAXCL=6, MODEL=0, NCLVAR=2, NCOL=7, NEF=5, NOBS=40, &
NPT=10, TIME=10.0, XPWR=0.0, LDSPRO=NPT)
!
INTEGER IADDS(NOBS), INDCL(NCLVAR), INDEF(5), NCLVAL(NCLVAR), &
NCOEF, NRMISS, NVEF(NEF)
REAL ALGL, CASE(LDCASE,5), CLVAL(MAXCL), COEF(LDCOEF,4), &
COV(LDCOV,LDCOV), GR(LDCOV), SPROB(LDSPRO,2*NOBS+1), &
X(LDX,NCOL), XBETA(NOBS), XMEAN(LDCOV), XPT(LDXPT,NCOL)
!
DATA X/411, 126, 118, 92, 8, 25, 11, 54, 153, 16, 56, 21, 287, &
10, 8, 12, 177, 12, 200, 250, 100, 999, 231, 991, 1, 201, &
44, 15, 103, 2, 20, 51, 18, 90, 84, 164, 19, 43, 340, 231, &
5*0, 1, 16*0, 1, 5*0, 1, 11*0, 7, 6, 7, 4, 4, 7, 7, 8, 6, &
3, 8, 4, 6, 4, 2, 5, 5, 4, 8, 7, 6, 9, 5, 7, 2, 8, 6, 5, 7, &
4, 3, 3, 4, 6, 8, 7, 3, 6, 8, 7, 64, 63, 65, 69, 63, 48, &
48, 63, 63, 53, 43, 55, 66, 67, 61, 63, 66, 68, 41, 53, 37, &
54, 52, 50, 65, 52, 70, 40, 36, 44, 54, 59, 69, 50, 62, 68, &
39, 49, 64, 67, 5, 9, 11, 10, 58, 9, 11, 4, 14, 4, 12, 2, &
25, 23, 19, 4, 16, 12, 12, 8, 13, 12, 8, 7, 21, 28, 13, 13, &
22, 36, 9, 87, 5, 22, 4, 15, 4, 11, 10, 18, 7*1, 7*2, 2*3, &
5*4, 7*1, 4*2, 3*3, 5*4, 21*0, 19*1/
DATA NVEF/1, 1, 1, 1, 1/, INDEF/3, 4, 5, 6, 7/, INDCL/6, 7/
!
CALL SVGLM (X, MODEL, ILT, IRT, MAXCL, NCOEF, COEF, ALGL, &
COV, XMEAN, CASE, GR, IADDS, ICEN=ICEN, &
NCLVAR=NCLVAR, INDCL=INDCL, NEF=NEF, NVEF=NVEF, &
INDEF=INDEF, NCLVAL=NCLVAL, CLVAL=CLVAL)
!
CALL SCOPY (NCOL, X(1:,1), LDX, XPT(1:,1), LDXPT)
CALL SCOPY (NCOL, X(2:,1), LDX, XPT(2:,1), LDXPT)
!
CALL STBLE (XPT, MODEL, TIME, NPT, DELTA, IFIX, &
NCOEF, COEF, SPROB, XBETA, NCLVAR=NCLVAR, INDCL=INDCL,&
NCLVAL=NCLVAL, CLVAL=CLVAL, NEF=NEF, NVEF=NVEF,&
INDEF=INDEF, IPRINT=IPRINT)
!
END
group
1
xpt
1
2
3
4
5
6
411
0
7
64
5
1
7
0
design vector
1
2
3
4
5
6
1
7
64
5
1
0
7
8
0
1
xbeta =
-5.57097
group
2
xpt
1
2
3
4
5
6
126
0
6
63
9
1
7
0
design vector
1
2
3
4
5
6
1
6
63
9
1
0
7
8
0
1
xbeta =
-5.03551
survival and hazard
estimates
(sprob)
time
s1
h1
s2
h2
10.00
0.9626
0.003807
0.9370
0.006503
30.00
0.8921
0.003807
0.8228
0.006503
50.00
0.8267 0.003807
0.7224
0.006503
70.00
0.7661
0.003807
0.6343
0.006503
90.00
0.7099
0.003807
0.5570
0.006503
110.00
0.6579
0.003807
0.4890
0.006503
130.00
0.6096 0.003807
0.4294
0.006503
150.00
0.5649
0.003807
0.3770
0.006503
170.00
0.5235
0.003807
0.3310
0.006503
190.00
0.4852
0.003807
0.2907 0.006503
Note that in simple exponential models the hazard rate is constant over time.
PHONE: 713.784.3131 FAX:713.781.9260 |