public class KaplanMeierECDF extends Object implements Serializable, Cloneable
The Kaplan-Meier (K-M) Product Limit procedure provides simple estimates of the reliability function or the CDF based on failure data that may be multi-censored. No underlying probability model is assumed; K-M estimation is an empirical (non-parametric) procedure. Exact times of failure are required.
Consider a situation in which we are reliability testing n (non-repairable) units taken randomly from a population. We are investigating the population to determine if its failure rate is acceptable. In the typical test scenario, we have a fixed time T to run the units to see if they survive or fail. The data obtained are called Censored Type I data.
During the T hours of test we observe r failures (where r can be any number from 0 to n). The failure times are \( t_1,t_2,\ldots,t_r\), and there are \((n-r)\) units that survived the entire T-hour test without failing. Note that T is fixed in advance, and r is an output of the testing, since we don't know how many failures will occur until the test is run. Note that we assume the exact times of failure are recorded when they occur.
This type of data is also called "right censored" data since the times of failure to the right (i.e., larger than T) are missing. The steps for calculating K-M estimates are the following:
Note that non-failed units taken off testing (i.e., right-censored) only count up to the last actual failure time before they were removed. They are included in the \(n_i\) counts up to and including that failure time, but not after.
Constructor and Description |
---|
KaplanMeierECDF(double[] t)
Constructor for
KaplanMeierECDF . |
Modifier and Type | Method and Description |
---|---|
double[] |
evaluateCDF()
Computes the empirical CDF and returns the CDF values up to, but not
including the time values returned by
getTimes . |
int |
getNumberOfPoints()
Retrieves the number of points in the empirical CDF
|
double[] |
getTimes()
Retrieves the time values where the step function CDF jumps to a greater
value.
|
void |
setCensor(int[] censor)
Set flags to note right-censoring
|
void |
setFrequency(int[] freq)
Sets the frequency for each entry in
t |
public KaplanMeierECDF(double[] t)
KaplanMeierECDF
.t
- a double
array containing the failure times.public void setFrequency(int[] freq)
t
freq
- a double
array containing the repeat count for
each entry in t
.public void setCensor(int[] censor)
censor
- an int
array of 0 or 1 flags to note
right-censoring. Values of 0 = continue to use datum and 1 = remove
datum. If this method is not called, no data is right-censored.public double[] getTimes()
t
removed.double
array of time values.IllegalStateException
- is thrown if the CDF has not been
evaluated.public int getNumberOfPoints()
int
containing the number of points in the
empirical CDF.IllegalStateException
- is thrown if the CDF has not been
evaluated.public double[] evaluateCDF()
getTimes
.double
array of CDF values.Copyright © 2020 Rogue Wave Software. All rights reserved.