Package {MultiStepSSAD}


Type: Package
Title: Multiple-Steps Step-Stress Accelerated Degradation Modeling
Version: 0.1.0
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.
License: GPL (≥ 3)
Depends: R (≥ 4.0.0)
Imports: stats, graphics, grDevices, utils
Suggests: knitr, rmarkdown, testthat (≥ 3.0.0)
VignetteBuilder: knitr
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.3
Config/testthat/edition: 3
NeedsCompilation: no
Packaged: 2026-07-31 01:10:31 UTC; shikhar tyagi
Author: Shikhar Tyagi ORCID iD [aut, cre], Arvind Pandey [aut], Bhupendra Singh [aut], Vrijesh Tripathi [aut]
Maintainer: Shikhar Tyagi <shikhar1093tyagi@gmail.com>
Repository: CRAN
Date/Publication: 2026-08-07 21:00:07 UTC

Gamma-Arrhenius Step-Stress Accelerated Degradation Data

Description

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).

Usage

data(gamma_arrhenius)

Format

A data frame with 30 rows and 6 variables:

time

Inspection time in hours (72 to 2160 hours).

unit1

Degradation measurements for test unit 1.

unit2

Degradation measurements for test unit 2.

unit3

Degradation measurements for test unit 3.

unit4

Degradation measurements for test unit 4.

unit5

Degradation measurements for test unit 5.

Source

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

Examples

data(gamma_arrhenius)
head(gamma_arrhenius)

Gamma-Power Step-Stress Accelerated Degradation Data

Description

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).

Usage

data(gamma_power)

Format

A data frame with 30 rows and 6 variables:

time

Inspection time in hours (72 to 2160 hours).

unit1

Degradation measurements for test unit 1.

unit2

Degradation measurements for test unit 2.

unit3

Degradation measurements for test unit 3.

unit4

Degradation measurements for test unit 4.

unit5

Degradation measurements for test unit 5.

Source

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

Examples

data(gamma_power)
head(gamma_power)

Geweke's MCMC Convergence Diagnostic

Description

Computes Geweke's convergence diagnostic for MCMC chains by comparing the sample means of early and late parts of the Markov chain.

Usage

geweke_diag(chain, frac1 = 0.1, frac2 = 0.5)

Arguments

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).

Details

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.

Value

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.

References

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

Examples

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)

Plot Diagnostics and Degradation Paths for SSADT Models

Description

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).

Usage

## S3 method for class 'ssadfit'
plot(x, ...)

Arguments

x

An object of class "ssadfit".

...

Additional graphical parameters.

Value

Invisibly returns the input object x. Side effect: displays diagnostic plots.

Examples

data(wiener_arrhenius)
fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle")
plot(fit)

Predict Lifetime Distribution and Reliability for SSADT Fit

Description

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.

Usage

## S3 method for class 'ssadfit'
predict(object, t = seq(100, 10000, by = 100), S0 = 25, omega_F = 200, ...)

Arguments

object

An object of class "ssadfit".

t

Numeric vector of time points for reliability evaluation (default: seq(100, 10000, by = 100)).

S0

Normal use-stress level (default: 25).

omega_F

Failure threshold for degradation (default: 200).

...

Additional prediction arguments.

Value

An object of class "ssad_reliability" containing time, reliability R(t), failure CDF F(t), and MTTF.

Examples

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)

Print Method for Step-Stress Accelerated Degradation Fit

Description

Prints a concise summary of the fitted step-stress accelerated degradation model.

Usage

## S3 method for class 'ssadfit'
print(x, ...)

Arguments

x

An object of class "ssadfit".

...

Additional arguments passed to print.

Value

Invisibly returns the input object x.

Examples

data(wiener_arrhenius)
fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle")
print(fit)

Fit Multiple-Steps Step-Stress Accelerated Degradation Model

Description

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.

Usage

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
)

Arguments

data

A data frame containing inspection times in the first column and unit degradation measurements in subsequent columns, or long-format data with columns unit, time, degradation.

process

Character string specifying degradation process model: "wiener" or "gamma".

model

Acceleration model: "arrhenius" or "power".

stress_levels

Vector of stress levels S = (S1, S2, ..., SK). Default: c(45, 65, 85).

thresholds

Vector of degradation thresholds (omega_1, ..., omega_K-1) at which stress levels are elevated. Default: c(90, 160).

method

Estimation method: "mle" or "mcmc". Default: "mle".

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).

Value

An S3 object of class "ssadfit" containing model fit results, parameter estimates, log-likelihood, and diagnostics.

References

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

Examples

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)

Gamma Process Step-Stress Accelerated Degradation Model Estimation

Description

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).

Usage

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
)

Arguments

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 unit, time, degradation.

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: "arrhenius" or "power".

method

Estimation method: "mle" or "mcmc".

init

Initial parameter values c(a, b, u).

n_iter

Number of MCMC iterations (default: 5000).

burnin

Number of burn-in iterations (default: 1000).

thin

Thinning interval for MCMC (default: 1).

Value

An object of class "ssadfit" containing fit results, parameter estimates, log-likelihood, MCMC samples (if applicable), and metadata.

References

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

Examples

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)

Reliability and Lifetime Analysis for Step-Stress Accelerated Degradation Models

Description

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.

Usage

ssad_reliability(
  t,
  process = c("wiener", "gamma"),
  model = c("arrhenius", "power"),
  params,
  S0,
  omega_F
)

Arguments

t

Numeric vector of time points at which to evaluate reliability.

process

Character string specifying the process type: "wiener" or "gamma".

model

Character string or function for acceleration model ("arrhenius" or "power").

params

Vector of estimated model parameters: c(a, b, sigma) for Wiener, or c(a, b, u) for Gamma.

S0

Normal use-stress level.

omega_F

Failure threshold for degradation.

Value

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.

References

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

Examples

# 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)

Simulate Step-Stress Accelerated Degradation Data

Description

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.

Usage

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
)

Arguments

n_units

Number of test units (e.g. 5).

times

Vector of inspection time points (e.g. seq(72, 2160, by = 72)).

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 "wiener" or "gamma".

model

Acceleration model: "arrhenius" or "power".

params

Model parameters: c(a, b, sigma) for Wiener, or c(a, b, u) for Gamma.

Value

A data frame with columns time, unit1, unit2, ..., unitN.

References

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

Examples

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)

Wiener Process Step-Stress Accelerated Degradation Model Estimation

Description

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).

Usage

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
)

Arguments

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 unit, time, degradation.

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: "arrhenius" or "power".

method

Estimation method: "mle" or "mcmc".

init

Initial parameter values c(a, b, sigma).

n_iter

Number of MCMC iterations (default: 10000).

burnin

Number of burn-in iterations (default: 2000).

thin

Thinning interval for MCMC (default: 1).

Value

An object of class "ssadfit" containing fit results, parameter estimates, log-likelihood, MCMC samples (if applicable), and metadata.

References

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

Examples

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)

Summary Method for Step-Stress Accelerated Degradation Fit

Description

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).

Usage

## S3 method for class 'ssadfit'
summary(object, ...)

Arguments

object

An object of class "ssadfit".

...

Additional arguments passed to summary.

Value

Invisibly returns the input object object.

Examples

data(wiener_arrhenius)
fit <- ssad_fit(wiener_arrhenius, process = "wiener", model = "arrhenius", method = "mle")
summary(fit)

Wiener-Arrhenius Step-Stress Accelerated Degradation Data

Description

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).

Usage

data(wiener_arrhenius)

Format

A data frame with 30 rows and 6 variables:

time

Inspection time in hours (72 to 2160 hours).

unit1

Degradation measurements for test unit 1.

unit2

Degradation measurements for test unit 2.

unit3

Degradation measurements for test unit 3.

unit4

Degradation measurements for test unit 4.

unit5

Degradation measurements for test unit 5.

Source

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

Examples

data(wiener_arrhenius)
head(wiener_arrhenius)

Wiener-Power Step-Stress Accelerated Degradation Data

Description

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).

Usage

data(wiener_power)

Format

A data frame with 30 rows and 6 variables:

time

Inspection time in hours (72 to 2160 hours).

unit1

Degradation measurements for test unit 1.

unit2

Degradation measurements for test unit 2.

unit3

Degradation measurements for test unit 3.

unit4

Degradation measurements for test unit 4.

unit5

Degradation measurements for test unit 5.

Source

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

Examples

data(wiener_power)
head(wiener_power)