4. Nonparametric reliability estimation

Parametric reliability models assume a specific lifetime distribution — Weibull, exponential, lognormal — and estimate its parameters from the data. That assumption is powerful when justified, but it is also a liability: if the true failure mechanism does not follow the assumed family, every reliability metric derived from the fitted model inherits the bias. Nonparametric estimation removes that assumption. Instead of committing to a distributional form, it lets the data define the reliability function directly. This chapter covers the three foundational nonparametric tools: the empirical cumulative distribution function (ECDF), the Kaplan-Meier estimator, and the Nelson-Aalen estimator.

Why Censoring Breaks the Naive ECDF

With complete failure data — every unit run to failure — the ECDF is trivial. Sort the n failure times, and the estimated cumulative distribution at time t is simply the fraction of units that failed at or before t:

F_hat(t) = (number of failures ≤ t) / n

Reliability is then R_hat(t) = 1 - F_hat(t). This is a step function that jumps by 1/n at each observed failure time. It is unbiased, consistent, and requires no distributional assumption.

Real reliability tests, however, rarely produce complete data. Units are removed from test before failure (right censoring), the test ends before all units fail (time truncation), or units fail from competing causes. A suspended unit — one removed at time ts without having failed — carries real information: it survived at least to ts. The naive ECDF discards this information or, worse, treats suspensions as failures, which biases reliability downward. The estimators below are designed specifically to extract the correct information from censored observations.

The Kaplan-Meier Estimator

The Kaplan-Meier (KM) estimator, also called the product-limit estimator, is the standard nonparametric estimator of the survival function under right censoring. Its logic is conditional: at each distinct failure time, estimate the probability of surviving that instant given that the unit was still at risk, then multiply those conditional probabilities together.

Let the distinct failure times be t1 < t2 < … < tk. At each ti:

  • di = number of failures occurring exactly at ti
  • ni = number of units at risk just before ti (those not yet failed and not yet censored)

The KM estimator is the running product:

R_hat(t) = ∏_{i: t_i ≤ t} (1 - d_i / n_i)

Between failure times, R_hat(t) is constant; it drops only at observed failures. Censored observations do not cause a drop, but they reduce ni for all subsequent failure times, which increases the size of later drops. This is exactly the mechanism by which censoring information is preserved.

Reading the KM curve: a flat segment means no failures occurred in that interval. A vertical drop means failures occurred. A tick mark on the curve typically denotes a censored observation — the unit left the risk set without failing.

Worked Example: Bearing Life Test

Consider a hypothetical accelerated life test of 10 bearings. Failure times (in hours) and suspensions are recorded as follows. A "+" denotes a right-censored (suspended) unit.

Time (h)Eventdini1 − di/niR̂(t)
120Failure1100.9000.900
250Failure190.8890.800
310Suspended081.0000.800
400Failure170.8570.686
520Failure160.8330.571
600Suspended051.0000.571
750Failure140.7500.429
900Suspended031.0000.429
1100Failure120.5000.214
1400Suspended011.0000.214

At t = 400 h, the KM estimate is R̂(400) = 0.900 × 0.889 × 0.857 = 0.686. The naive ECDF, which would treat the 310 h suspension as a failure, would give R(400) = 1 − 4/10 = 0.600 — a substantial underestimate. The KM estimator correctly credits the suspended unit with surviving past 310 h.

Note the last observation is a suspension at 1400 h. The KM curve never reaches zero; it remains at 0.214 beyond 1400 h. This is a defining property of KM under right censoring: the tail is undefined beyond the largest observation, and the curve is a step function that only drops at failures.

The Nelson-Aalen Estimator

The Nelson-Aalen (NA) estimator targets the cumulative hazard function H(t) rather than the survival function. It accumulates the hazard contributions at each failure time:

H_hat(t) = ∑_{i: t_i ≤ t} d_i / n_i

For the bearing example, Ĥ(400) = 1/10 + 1/9 + 1/7 = 0.100 + 0.111 + 0.143 = 0.354. The relationship R(t) = exp(−H(t)) gives R̂(400) = exp(−0.354) = 0.702, close to but not identical to the KM value of 0.686. The two estimators are asymptotically equivalent; in small samples they differ slightly, and KM is generally preferred for the survival function while NA is preferred for the cumulative hazard and for deriving smoothed hazard estimates.

Common pitfall: do not apply R = exp(−H) to the NA estimate and expect it to match KM exactly. The NA-based survival estimate is a separate estimator with its own small-sample behavior. Use KM when you need the survival function directly; use NA when you need the cumulative hazard or plan to smooth it into a hazard rate.

Choosing Between the Estimators

EstimatorTargetBest used forSmall-sample note
ECDFF(t)Complete data, no censoringUnbiased; simple
Kaplan-MeierR(t)Right-censored survival curves, median life, quantilesStandard; handles suspensions correctly
Nelson-AalenH(t)Cumulative hazard, smoothed hazard rates, model diagnosticsMore stable for hazard-based work

Practical Implementation Notes

In Python, lifelines provides both estimators directly. The KaplanMeierFitter accepts durations and an event indicator (1 = failure, 0 = censored):

from lifelines import KaplanMeierFitter
kmf = KaplanMeierFitter()
kmf.fit(durations=[120,250,310,400,520,600,750,900,1100,1400],
        event_observed=[1,1,0,1,1,0,1,0,1,0])
print(kmf.survival_function_at_times([400, 750]))
# 400    0.6857
# 750    0.4286

In R, the survival package's survfit() function produces the KM estimate, and survfit(Surv(time, status) ~ 1) is the standard call. The muhaz package provides Nelson-Aalen-based hazard smoothing.

Two implementation details matter in practice. First, ties: when multiple failures occur at the same time, both estimators handle them by using the risk set just before that time and the count of tied failures. Second, confidence intervals: the Greenwood formula gives the standard error of the KM estimate, and log-log transformed intervals are preferred over plain intervals because they respect the [0,1] bound and perform better in the tails.

Key takeaway: Nonparametric estimators make no distributional assumption and correctly incorporate censored observations. Use the ECDF only for complete data, Kaplan-Meier for survival curves under right censoring, and Nelson-Aalen when the cumulative hazard is the quantity of interest. The KM curve's flat segments, drops, and censoring ticks are the primary visual diagnostic for understanding field or test reliability.
Kaplan-Meier Survival Curve — Bearing Life Test (n = 10) Time (hours) R(t) 1.0 0.8 0.6 0.4 0.2 0.0 0 250 500 750 1000 1250 1500 0.900 0.800 0.686 0.571 0.429 0.214 KM estimate R̂(t) Failure (drop) Censored (tick) curve does not reach 0

The figure above plots the KM estimate for the bearing example. Each red dot marks a failure drop; each green tick marks a censored unit leaving the risk set. The curve is flat between failures and never reaches zero because the largest observation is a suspension. This visual signature — steps, ticks, and an undefined tail — is what distinguishes a nonparametric survival estimate from a smooth parametric curve, and it is the correct representation whenever the data contain censoring.