The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Reliability Growth Analysis

To run a Reliability Growth Analysis, start by loading ReliaGrowR and ReliaPlotR

library(ReliaGrowR)
library(ReliaPlotR)

Statistical Background

The Crow-AMSAA model (Non-Homogeneous Poisson Process, Power Law) describes the expected cumulative failures as

\[E[N(t)] = \lambda t^{\beta},\]

where \(\lambda > 0\) is a scale parameter and \(\beta > 0\) is the shape parameter. A value \(\beta < 1\) indicates reliability growth (the failure rate \(\lambda\beta t^{\beta-1}\) is decreasing over time); \(\beta > 1\) indicates degradation; \(\beta = 1\) gives a homogeneous Poisson process (constant rate). Parameters are estimated by fitting a log-log linear regression to cumulative failures versus cumulative test time (Crow 1974).

The Duane model predates the NHPP formulation and postulates that the cumulative mean time between failures follows a power law in cumulative test time: \(\text{CMTBF}(T) = K T^\alpha\), where \(\alpha\) is the growth rate. Empirically, managed reliability growth programs tend to achieve \(\alpha \approx 0.3\)\(0.5\) (Duane 1964).

Piecewise NHPP. When a design change or corrective action divides the test program into distinct phases, separate Power Law parameters are fit within each interval defined by the specified breaks. A vertical dotted line marks each change point.

Crow-AMSAA Model

To run a Crow-AMSAA model, first 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)
plotly_rga(result)
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter

Piecewise NHPP Model

To run a Piecewise NHPP, first set up some cumulative time/failure data and specify the 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)
plotly_rga(result, fitCol = "blue", confCol = "blue", breakCol = "red")
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter

Duane Model

To run a Duane Model, 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(times, failures)
plotly_duane(fit, fitCol = "darkgreen", confCol = "darkgreen")

Overlay Models

Multiple rga models can be overlaid on the same plot by passing a list of objects. Each model is rendered in a distinct color, and clicking a legend entry toggles all traces for that model.

times1 <- c(100, 200, 300, 400, 500)
failures1 <- c(1, 2, 1, 3, 2)
result1 <- rga(times1, failures1)

times2 <- c(50, 150, 250, 350, 450)
failures2 <- c(2, 1, 3, 1, 2)
result2 <- rga(times2, failures2)

plotly_rga(list(result1, result2), cols = c("steelblue", "tomato"))
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter
#> No trace type specified:
#>   Based on info supplied, a 'scatter' trace seems appropriate.
#>   Read more about this trace type -> https://plotly.com/r/reference/#scatter

References

See Also

Crow, Larry H. 1974. “Reliability Analysis for Complex Repairable Systems.” In Reliability and Biometry: Statistical Analysis of Lifelength, edited by F. Proschan and R. J. Serfling. SIAM.
Duane, J. T. 1964. “Learning Curve Approach to Reliability Monitoring.” IEEE Transactions on Aerospace 2 (2): 563–66. https://doi.org/10.1109/TA.1964.4319640.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.