| Title: | Multiple-Steps Step-Stress Accelerated Degradation Modeling |
|---|---|
| Description: | Implements statistical methods for multiple-steps step-stress accelerated degradation testing (SSADT) based on Wiener processes and Gamma processes as described by Pan and Balakrishnan (2010) <doi:10.1080/03610918.2010.496060>. Features maximum likelihood estimation (MLE), Bayesian Markov chain Monte Carlo (MCMC) sampling, Geweke convergence diagnostics, and reliability predictions under normal operating stress conditions. |
| Authors: | Shikhar Tyagi [aut, cre] (ORCID: <https://orcid.org/0000-0003-1606-0844>), Arvind Pandey [aut], Bhupendra Singh [aut], Vrijesh Tripathi [aut] |
| Maintainer: | Shikhar Tyagi <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.1.0 |
| Built: | 2026-09-22 11:15:29 UTC |
| Source: | https://github.com/cran/MultiStepSSAD |
Simulated degradation dataset generated using a Gamma process with an Arrhenius acceleration model under a 3-step step-stress accelerated degradation test (SSADT). Originally published in Table 4 of Pan and Balakrishnan (2010).
data(gamma_arrhenius)data(gamma_arrhenius)
A data frame with 30 rows and 6 variables:
Inspection time in hours (72 to 2160 hours).
Degradation measurements for test unit 1.
Degradation measurements for test unit 2.
Degradation measurements for test unit 3.
Degradation measurements for test unit 4.
Degradation measurements for test unit 5.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(gamma_arrhenius) head(gamma_arrhenius)data(gamma_arrhenius) head(gamma_arrhenius)
Simulated degradation dataset generated using a Gamma process with a Power acceleration model under a 3-step step-stress accelerated degradation test (SSADT). Originally published in Table 5 of Pan and Balakrishnan (2010).
data(gamma_power)data(gamma_power)
A data frame with 30 rows and 6 variables:
Inspection time in hours (72 to 2160 hours).
Degradation measurements for test unit 1.
Degradation measurements for test unit 2.
Degradation measurements for test unit 3.
Degradation measurements for test unit 4.
Degradation measurements for test unit 5.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(gamma_power) head(gamma_power)data(gamma_power) head(gamma_power)
Computes Geweke's convergence diagnostic for MCMC chains by comparing the sample means of early and late parts of the Markov chain.
geweke_diag(chain, frac1 = 0.1, frac2 = 0.5)geweke_diag(chain, frac1 = 0.1, frac2 = 0.5)
chain |
A numeric matrix or data frame where columns correspond to parameters and rows to iterations, or a numeric vector for a single parameter. |
frac1 |
Fraction of the chain to take from the beginning (default: 0.1). |
frac2 |
Fraction of the chain to take from the end (default: 0.5). |
Geweke's convergence diagnostic tests for equality of the mean of early simulations (default first 10%) and the mean of later iterations (default last 50%). Under the null hypothesis of convergence, the test statistic follows a standard normal distribution.
A data frame containing:
parameter |
Name of the parameter. |
mean_first |
Mean of the initial fraction of iterations. |
mean_last |
Mean of the final fraction of iterations. |
z_score |
Geweke z-statistic. |
p_value |
Two-sided p-value for equality of means. |
converged |
Logical indicating whether convergence is supported at alpha = 0.05 level. |
Geweke, J. (1992). Evaluating the accuracy of sampling-based approaches to the calculation of posterior moments. Bayesian Statistics, 4, 169-193.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
set.seed(123) sample_chain <- matrix(rnorm(1000), ncol = 2, dimnames = list(NULL, c("param1", "param2"))) diag_res <- geweke_diag(sample_chain) print(diag_res)set.seed(123) sample_chain <- matrix(rnorm(1000), ncol = 2, dimnames = list(NULL, c("param1", "param2"))) diag_res <- geweke_diag(sample_chain) print(diag_res)
Generates diagnostic plots for a fitted step-stress degradation model, including observed vs. fitted degradation paths and MCMC trace/posterior density plots (if fitted via MCMC).
## S3 method for class 'ssadfit' plot(x, ...)## S3 method for class 'ssadfit' plot(x, ...)
x |
An object of class |
... |
Additional graphical parameters. |
Invisibly returns the input object x. Side effect: displays diagnostic plots.
data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") plot(fit)data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") plot(fit)
Predicts the reliability function R(t), cumulative failure distribution F(t), and MTTF at normal operating
stress conditions S0 based on a fitted "ssadfit" model.
## S3 method for class 'ssadfit' predict(object, t = seq(100, 10000, by = 100), S0 = 25, omega_F = 200, ...)## S3 method for class 'ssadfit' predict(object, t = seq(100, 10000, by = 100), S0 = 25, omega_F = 200, ...)
object |
An object of class |
t |
Numeric vector of time points for reliability evaluation (default: |
S0 |
Normal use-stress level (default: 25). |
omega_F |
Failure threshold for degradation (default: 200). |
... |
Additional prediction arguments. |
An object of class "ssad_reliability" containing time, reliability R(t), failure CDF F(t), and MTTF.
data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") pred <- predict(fit, t = seq(100, 5000, by = 100), S0 = 25, omega_F = 200) print(pred$mttf)data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") pred <- predict(fit, t = seq(100, 5000, by = 100), S0 = 25, omega_F = 200) print(pred$mttf)
Prints a concise summary of the fitted step-stress accelerated degradation model.
## S3 method for class 'ssadfit' print(x, ...)## S3 method for class 'ssadfit' print(x, ...)
x |
An object of class |
... |
Additional arguments passed to print. |
Invisibly returns the input object x.
data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") print(fit)data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") print(fit)
Master fitting function for step-stress accelerated degradation testing (SSADT) models using Wiener process or Gamma process degradation models with Arrhenius or Power acceleration relationships.
ssad_fit( data, process = c("wiener", "gamma"), model = c("arrhenius", "power"), stress_levels = c(45, 65, 85), thresholds = c(90, 160), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )ssad_fit( data, process = c("wiener", "gamma"), model = c("arrhenius", "power"), stress_levels = c(45, 65, 85), thresholds = c(90, 160), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )
data |
A data frame containing inspection times in the first column and unit degradation measurements in subsequent columns,
or long-format data with columns |
process |
Character string specifying degradation process model: |
model |
Acceleration model: |
stress_levels |
Vector of stress levels S = (S1, S2, ..., SK). Default: |
thresholds |
Vector of degradation thresholds (omega_1, ..., omega_K-1) at which stress levels are elevated. Default: |
method |
Estimation method: |
init |
Initial parameter vector. |
n_iter |
Number of MCMC iterations (default: 5000). |
burnin |
Number of burn-in iterations (default: 1000). |
thin |
Thinning interval for MCMC (default: 1). |
An S3 object of class "ssadfit" containing model fit results, parameter estimates, log-likelihood, and diagnostics.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(wiener_arrhenius) fit <- ssad_fit( data = wiener_arrhenius, process = "wiener", model = "arrhenius", stress_levels = c(45, 65, 85), thresholds = c(90, 160), method = "mle" ) print(fit) summary(fit)data(wiener_arrhenius) fit <- ssad_fit( data = wiener_arrhenius, process = "wiener", model = "arrhenius", stress_levels = c(45, 65, 85), thresholds = c(90, 160), method = "mle" ) print(fit) summary(fit)
Fits a Gamma process step-stress accelerated degradation model using Maximum Likelihood Estimation (MLE) or Bayesian Markov Chain Monte Carlo (MCMC) based on the Birnbaum-Saunders approximation for stress elevation times as described in Pan and Balakrishnan (2010).
ssad_gamma( data, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = c("arrhenius", "power"), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )ssad_gamma( data, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = c("arrhenius", "power"), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )
data |
A data frame containing inspection times in the first column and unit degradation measurements in subsequent columns,
or a long-format data frame with columns |
stress_levels |
Vector of stress levels S = (S1, S2, ..., SK). |
thresholds |
Vector of degradation thresholds (omega_1, ..., omega_K-1) at which stress levels are elevated. |
model |
Acceleration model: |
method |
Estimation method: |
init |
Initial parameter values |
n_iter |
Number of MCMC iterations (default: 5000). |
burnin |
Number of burn-in iterations (default: 1000). |
thin |
Thinning interval for MCMC (default: 1). |
An object of class "ssadfit" containing fit results, parameter estimates, log-likelihood, MCMC samples (if applicable), and metadata.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(gamma_arrhenius) fit_g <- ssad_gamma( data = gamma_arrhenius, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = "arrhenius", method = "mle" ) print(fit_g)data(gamma_arrhenius) fit_g <- ssad_gamma( data = gamma_arrhenius, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = "arrhenius", method = "mle" ) print(fit_g)
Computes the reliability function R(t), cumulative failure distribution F(t), and Mean Time To Failure (MTTF) at use stress level S0 and failure threshold omega_F based on fitted Wiener or Gamma process SSADT parameters.
ssad_reliability( t, process = c("wiener", "gamma"), model = c("arrhenius", "power"), params, S0, omega_F )ssad_reliability( t, process = c("wiener", "gamma"), model = c("arrhenius", "power"), params, S0, omega_F )
t |
Numeric vector of time points at which to evaluate reliability. |
process |
Character string specifying the process type: |
model |
Character string or function for acceleration model ( |
params |
Vector of estimated model parameters: |
S0 |
Normal use-stress level. |
omega_F |
Failure threshold for degradation. |
A list of class "ssad_reliability" containing:
time |
Vector of time points. |
reliability |
Vector of reliability values R(t). |
cdf |
Vector of cumulative distribution function values F(t). |
mttf |
Mean Time To Failure under use stress S0. |
process |
Degradation process type. |
S0 |
Use stress level. |
omega_F |
Failure threshold. |
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
# Wiener-Arrhenius model example rel_wiener <- ssad_reliability( t = seq(100, 10000, by = 100), process = "wiener", model = "arrhenius", params = c(a = 5.4188, b = -2564.3, sigma = 0.0894), S0 = 25, omega_F = 200 ) print(rel_wiener$mttf)# Wiener-Arrhenius model example rel_wiener <- ssad_reliability( t = seq(100, 10000, by = 100), process = "wiener", model = "arrhenius", params = c(a = 5.4188, b = -2564.3, sigma = 0.0894), S0 = 25, omega_F = 200 ) print(rel_wiener$mttf)
Generates simulated degradation path data for N test units subject to a K-steps step-stress accelerated degradation test (SSADT) under Wiener or Gamma stochastic process models.
ssad_simulate( n_units = 5, times = seq(72, 2160, by = 72), stress_levels = c(45, 65, 85), thresholds = c(90, 160), process = c("wiener", "gamma"), model = c("arrhenius", "power"), params )ssad_simulate( n_units = 5, times = seq(72, 2160, by = 72), stress_levels = c(45, 65, 85), thresholds = c(90, 160), process = c("wiener", "gamma"), model = c("arrhenius", "power"), params )
n_units |
Number of test units (e.g. 5). |
times |
Vector of inspection time points (e.g. |
stress_levels |
Vector of stress levels S = (S1, S2, ..., SK). |
thresholds |
Vector of degradation thresholds (omega_1, ..., omega_K-1) at which stress is elevated. |
process |
Character string specifying |
model |
Acceleration model: |
params |
Model parameters: |
A data frame with columns time, unit1, unit2, ..., unitN.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
set.seed(42) sim_data <- ssad_simulate( n_units = 5, times = seq(72, 2160, by = 72), stress_levels = c(45, 65, 85), thresholds = c(90, 160), process = "wiener", model = "arrhenius", params = c(a = 5.3669, b = -2546.7, sigma = 0.1) ) head(sim_data)set.seed(42) sim_data <- ssad_simulate( n_units = 5, times = seq(72, 2160, by = 72), stress_levels = c(45, 65, 85), thresholds = c(90, 160), process = "wiener", model = "arrhenius", params = c(a = 5.3669, b = -2546.7, sigma = 0.1) ) head(sim_data)
Fits a Wiener process step-stress accelerated degradation model using Maximum Likelihood Estimation (MLE) or Bayesian Markov Chain Monte Carlo (MCMC) as described in Pan and Balakrishnan (2010).
ssad_wiener( data, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = c("arrhenius", "power"), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )ssad_wiener( data, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = c("arrhenius", "power"), method = c("mle", "mcmc"), init = NULL, n_iter = 5000, burnin = 1000, thin = 1 )
data |
A data frame containing inspection times in the first column and unit degradation measurements in subsequent columns,
or a long-format data frame with columns |
stress_levels |
Vector of stress levels S = (S1, S2, ..., SK). |
thresholds |
Vector of degradation thresholds (omega_1, ..., omega_K-1) at which stress levels are elevated. |
model |
Acceleration model: |
method |
Estimation method: |
init |
Initial parameter values |
n_iter |
Number of MCMC iterations (default: 10000). |
burnin |
Number of burn-in iterations (default: 2000). |
thin |
Thinning interval for MCMC (default: 1). |
An object of class "ssadfit" containing fit results, parameter estimates, log-likelihood, MCMC samples (if applicable), and metadata.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(wiener_arrhenius) fit_w <- ssad_wiener( data = wiener_arrhenius, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = "arrhenius", method = "mle" ) print(fit_w)data(wiener_arrhenius) fit_w <- ssad_wiener( data = wiener_arrhenius, stress_levels = c(45, 65, 85), thresholds = c(90, 160), model = "arrhenius", method = "mle" ) print(fit_w)
Produces a detailed statistical summary of a fitted step-stress degradation model, including parameter estimates, standard errors / MCMC quantiles, information criteria (AIC, BIC), and MCMC convergence diagnostics (if fitted via MCMC).
## S3 method for class 'ssadfit' summary(object, ...)## S3 method for class 'ssadfit' summary(object, ...)
object |
An object of class |
... |
Additional arguments passed to summary. |
Invisibly returns the input object object.
data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") summary(fit)data(wiener_arrhenius) fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle") summary(fit)
Simulated degradation dataset generated using a Wiener process with an Arrhenius acceleration model under a 3-step step-stress accelerated degradation test (SSADT). Originally published in Table 2 of Pan and Balakrishnan (2010).
data(wiener_arrhenius)data(wiener_arrhenius)
A data frame with 30 rows and 6 variables:
Inspection time in hours (72 to 2160 hours).
Degradation measurements for test unit 1.
Degradation measurements for test unit 2.
Degradation measurements for test unit 3.
Degradation measurements for test unit 4.
Degradation measurements for test unit 5.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(wiener_arrhenius) head(wiener_arrhenius)data(wiener_arrhenius) head(wiener_arrhenius)
Simulated degradation dataset generated using a Wiener process with a Power acceleration model under a 3-step step-stress accelerated degradation test (SSADT). Originally published in Table 3 of Pan and Balakrishnan (2010).
data(wiener_power)data(wiener_power)
A data frame with 30 rows and 6 variables:
Inspection time in hours (72 to 2160 hours).
Degradation measurements for test unit 1.
Degradation measurements for test unit 2.
Degradation measurements for test unit 3.
Degradation measurements for test unit 4.
Degradation measurements for test unit 5.
Pan, Z., & Balakrishnan, N. (2010). Multiple-Steps Step-Stress Accelerated Degradation Modeling Based on Wiener and Gamma Processes. Communications in Statistics - Simulation and Computation, 39(7), 1384-1402. doi:10.1080/03610918.2010.496060
data(wiener_power) head(wiener_power)data(wiener_power) head(wiener_power)