public class KaplanMeierEstimates extends Object implements Serializable, Cloneable
Class KaplanMeierEstimates
computes KaplanMeier (or productlimit) estimates of
survival probabilities for a sample of failure times that can be right censored
or exact times. A survival probability S(t) is defined as 1  F(t),
where F(t) is the cumulative distribution function of the failure
times t. Greenwood's estimate of the standard errors of the survival
probability estimates are also computed. (See Kalbfleisch and Prentice, 1980,
pages 13 and 14.)
Let (, ), for i = 1,..., n
denote the failure censoring times and the censoring codes for the n observations
in a single sample. Here, is a failure time if
is 0, where .
Also, is a right censoring time if is 1.
Rows in x
containing values other than 0 or 1 for are
ignored. Let the number of observations in the sample that have not failed by time
be denoted by , where
is an ordered (from smallest to largest) listing of the distinct failure times (censoring
times are omitted). Then the KaplanMeier estimate of the survival probabilities is
a step function, which in the interval from to
(including the lower endpoint) is given by
where denotes the number of failures occurring at time , and is the number of observations that have not failed prior to .
Note that one row of x
may correspond to more than one failed (or censored)
observation when the frequency option is in effect (see setFrequencyColumn
). The
KaplanMeier estimate of the survival probability prior to time
is 1.0, while the KaplanMeier estimate of the survival probability after the
last failure time is not defined.
Greenwood's estimate of the variance of
in the interval from to is given as
KaplanMeierEstimates
computes the single sample estimates of the
survival probabilities for all samples of data included in x
during
a single call. This is accomplished through the stratum column of
x
, which if present, must contain a distinct code for each sample
of observations (see setStratumColumn
). If a stratum column is not specified, there is no grouping
, and all observations are assumed to come from the same sample.
When failures and rightcensored observations are tied and the data are to
be sorted by KaplanMeierEstimates
(setSorted(true)
is not used), KaplanMeierEstimates
assumes that the time of censoring
for the tiedcensored observations is immediately after the tied failure (within
the same sample). When setSorted(true)
is used, the data are assumed
to be sorted from smallest to largest according to the response time column of
x
within each stratum (see setResponseColumn
). Furthermore, a small increment of time is
assumed (theoretically) to elapse between the failed and censored observations
that are tied (in the same sample). Thus, when setSorted(true)
is
used, the user must sort all of the data in x
from smallest to largest
according to the response time column (and the stratum column, if set).
By appropriate sorting of the observations, the user can handle censored and
failed observations that are tied in any manner desired.
Constructor and Description 

KaplanMeierEstimates(double[][] x)
Constructor for
KaplanMeierEstimates . 
Modifier and Type  Method and Description 

int 
getCensorColumn()
Returns the column index of
x containing the
optional censoring code for each observation. 
int 
getFrequencyColumn()
Returns the column index of
x containing the frequency of
response for each observation. 
int 
getGroupTotal(double groupValue)
Returns the total number in the group for the specified group value.

double 
getLogLikelihood(double groupValue)
Returns the KaplanMeier loglikelihood of the group with the specified group value.

int[] 
getNumberAtRisk()
Returns the number of individuals at risk at each failure point.

int[] 
getNumberOfFailures()
Returns the number of failures which occurred at each failure point.

int 
getNumberOfRowsMissing()
Returns the number of rows of data in
x that contain
missing values in one or more specific columns of x . 
int 
getResponseColumn()
Returns the column index of
x containing the
response time for each observation. 
double[] 
getStandardErrors()
Returns Greenwood's estimated standard errors.

int 
getStratumColumn()
Returns the column index of
x containing the stratum number
for each observation. 
double[] 
getSurvivalProbabilities()
Returns the estimated survival probabilities.

int 
getTotalNumberOfFailures(double groupValue)
Returns the total number failing in the group for the specified group value.

void 
setCensorColumn(int censorIndex)
Sets the column index of
x containing the
optional censoring code for each observation. 
void 
setFrequencyColumn(int frequencyIndex)
Sets the column index of
x containing the frequency of
response for each observation. 
void 
setResponseColumn(int responseIndex)
Sets the column index of
x containing the
response time for each observation. 
void 
setSorted(boolean isSorted)
Sets the
boolean to indicate that the column of response times in x are
already sorted. 
void 
setStratumColumn(int stratumIndex)
Sets the column index of
x containing the stratum number
for each observation. 
public KaplanMeierEstimates(double[][] x)
KaplanMeierEstimates
.x
 a double
matrix containing the data,
including optional data. By default it is assumed the
response times are in column 0.public int getCensorColumn()
x
containing the
optional censoring code for each observation.int
specifying the column index of x
containing the optional censoring code for each observation.public int getFrequencyColumn()
x
containing the frequency of
response for each observation.int
specifying the column index of x
containing the frequency of
response for each observation.public int getGroupTotal(double groupValue)
groupValue
 a double
specifying the group value.int
representing the total number in the group
which has value groupValue
.public double getLogLikelihood(double groupValue)
The KaplanMeier loglikelihood is computed as:
where the sum is with respect to the distinct failure times .
groupValue
 a double
specifying the group value.double
representing the KaplanMeier loglikelihood of the group
which has value groupValue
.public int[] getNumberAtRisk()
int
array containing
the number of individuals at risk at each failure point.public int[] getNumberOfFailures()
int
array containing
the number of failures which occurred at each failure point.public int getNumberOfRowsMissing()
x
that contain
missing values in one or more specific columns of x
.int
scalar representing the number of rows of
data in x
that contain missing values in one or
more specific columns of x
.public int getResponseColumn()
x
containing the
response time for each observation.int
specifying the column index of x
containing the response time for each observation.public double[] getStandardErrors()
double
array containing Greenwood's estimate of the
standard errors for the survival probabilities.public int getStratumColumn()
x
containing the stratum number
for each observation.int
specifying the column index of x
containing the
stratum number for each observation.public double[] getSurvivalProbabilities()
double
array containing the estimated survival probabilities.public int getTotalNumberOfFailures(double groupValue)
groupValue
 a double
specifying the group value.int
representing the total number failing in the group
which has value groupValue
.public void setCensorColumn(int censorIndex)
x
containing the
optional censoring code for each observation.censorIndex
 an int
specifying the column index of x
containing the optional censoring code for each observation.
If x[i][censorIndex]
equals 0, the failure time
x[i][responseIndex]
is treated as an exact time of failure.
Otherwise, it is treated as rightcensored time.
Default: It is assumed that there is no censor code column in
x
. All observations are assumed to be exact failure
times.public void setFrequencyColumn(int frequencyIndex)
x
containing the frequency of
response for each observation.frequencyIndex
 an int
specifying the column index of x
containing the frequency of
response for each observation.
Default: It is assumed that there is no
frequency response column recorded in x
.
Each observation in the data array is assumed to be for a
single failure.public void setResponseColumn(int responseIndex)
x
containing the
response time for each observation.responseIndex
 an int
specifying the column index of x
containing the response time for each observation.
The interpretation of these times as either
rightconsored or exact failure times depends on the
setting of the censor codes in the censor code column.
See method setCensorColumn
.
Default: responseIndex = 0
.public void setSorted(boolean isSorted)
boolean
to indicate that the column of response times in x
are
already sorted.isSorted
 a boolean
indicating whether or not column responseIndex
of x
is already sorted. isSorted
equal to
true
indicates that column responseIndex
of x
is already sorted. Otherwise, a detached sort is
performed prior to analysis. If sorting is performed, all censored
individuals are assumed to follow tied failures.
Default: It is assumed that column responseIndex
of x
is not sorted, so a detached sort is performed.public void setStratumColumn(int stratumIndex)
x
containing the stratum number
for each observation.stratumIndex
 an int
specifying the column index of x
containing the
stratum number for each observation. Column stratumIndex
of
x
contains a unique value for each stratum in the data.
KaplanMeier estimates are computed within each stratum.
Default: It is assumed that there is no
stratum number column recorded x
.
The data is assumed to come from one statum.Copyright © 19702015 Rogue Wave Software
Built October 13 2015.