Skip to contents

Introduction

Reliability Growth Analysis (RGA) is an important aspect of reliability engineering, aimed at improving system reliability during development and testing. By analyzing failure data, RGA helps engineers identify trends, estimate reliability parameters, and visualize reliability improvement over time. This insight is crucial for assessing the impact of design changes, guiding engineering decisions, and managing risks effectively.

The Crow-AMSAA Model

The Army Materiel Systems Analysis Activity model by Crow (Crow-AMSAA) takes failure behavior as a Non-Homogeneous Poisson Process (NHPP) governed by a power law, making the model particularly effective for systems undergoing reliability growth due to continuous improvements.

The Crow-AMSAA model is a statistical model that characterizes the relationship between the cumulative number of failures and cumulative time as the following:

N(t)=λtβ N(t) = \lambda\, t^{\beta}

where N(t)N(t) denotes the cumulative number of failures by time tt, λ\lambda is a scaling parameter, and β\beta is the shape parameter.

The shape parameter β\beta indicates whether the system’s reliability is improving or deteriorating.

  • If β\beta < 1, then the system is improving (reliability is growing, the failure rate is decreasing).
  • If β\beta = 1, then there is no change in reliability (the system is stable).
  • If β\beta > 1, then reliability is worsening (the failure rate is increasing).

Example

To use the Crow-AMSAA model in ReliaGrowR, use the rga function. This function takes a vector of failure times and a vector of failure counts, and generates a plot of cumulative MTBF vs cumulative time with the fitted model.

First, load the package:

Next, set up some cumulative time and failure data:

times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)

Then run the rga and plot the results:

result <- rga(times, failures)
plot_rga(result)

The Piecewise NHPP Model

The Piecewise NHPP model is an extension of the standard NHPP model that includes different segments or phases of time that follow separate failure distributions. This model is particularly useful when a system experiences changes in failure behavior over different development phases, such as the initial, interim and final phases of a development process.

For a Piecewise NHPP model, the cumulative number of failures is modeled as a piecewise function, where each segment has its own parameters. Formally, for time t within phase i, the relationship between the cumulative number of failures and cumulative time is given by:

Ni(t)=N(ti1)+λi(tti1)βi,for ti1<tti N_i(t) = N(t_{i-1}) + \lambda_i (t - t_{i-1})^{\beta_i}, \, \text{for } t_{i-1} < t \leq t_i

where Ni(t)N_i(t) is the cumulative number of failures by time tt in phase ii, λi\lambda_i is the scale parameter for phase ii, and βi\beta_i is the shape parameter for phase ii.

Example

To use the Piecewise NHPP model in ReliaGrowR, first, set up some cumulative time and failure data and specify a breakpoint:

times <- c(25, 55, 97, 146, 201, 268, 341, 423, 513, 609, 710, 820, 940, 1072, 1217)
failures <- c(1, 1, 2, 4, 4, 1, 1, 2, 1, 4, 1, 1, 3, 3, 4)
breaks <- 500

Then run the rga and plot the results:

result <- rga(times, failures, model_type = "Piecewise NHPP", breaks = breaks)
plot_rga(result)

The Piecewise NHPP with Change Point Detection

The Piecewise NHPP with Change Point Detection is an advanced model to identify changes in failure behavior and model system reliability. This method builds on the Piecewise NHPP model by introducing the concept of change points, which represent the time when the underlying failure behavior changes. Detection of change points involves statistical techniques that analyze failure data to automatically identify when the behavior changes, allowing for a more precise segmentation of the model into different distributions.

Example

To use the Piecewise NHPP with Change Point Detection in ReliaGrowR, use the rga function with the model type set to “Piecewise NHPP” and breaks set to NULL. The function will automatically detect change points based on the provided failure data. First, set up some cumulative time and failure data:

times <- c(25, 55, 97, 146, 201, 268, 341, 423, 513, 609, 710, 820, 940, 1072, 1217)
failures <- c(1, 1, 2, 4, 4, 1, 1, 2, 1, 4, 1, 1, 3, 3, 4)

Then run the rga and plot the results:

result <- rga(times, failures, model_type = "Piecewise NHPP")
plot_rga(result)

The Duane Model

The Duane model provides a simple and graphical way to observe and analyze whether failure rates are improving as changes are made to a product or system. The Duane Model is a log-log plot of the cumulative Mean Time Between Failures (MTBF) vs cumulative time.

The slope of the line on the plot indicates the rate of reliability growth:

  • A positive slope means that the system is improving (reliability is growing, the failure rate is decreasing).
  • A zero slope means there is no change in reliability (the system is stable).
  • A negative slope indicates that reliability is worsening (the failure rate is increasing).

To use the Duane Model in ReliaGrowR, use the duane_plot function. This function takes a a vector of failure times and a vector of failure counts, and generates a log-log plot of cumulative MTBF vs cumulative time.

Example

First, set up some cumulative time and failure data:

times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)

Then plot the results:

fit <- duane_plot(times, failures)

Summary

RGA provides a powerful statistical framework for tracking and predicting how a system’s reliability evolves throughout development. Models like Crow-AMSAA, Piecewise NHPP, and the Duane Model allow engineers and analysts to quantify improvements (or regressions) in reliability, understand system behavior across development phases, detect significant shifts in failure patterns, and guide design changes and process improvements.