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.
The MultiStepSSAD package provides
generalized statistical tools for modeling Multiple-Steps
Step-Stress Accelerated Degradation Testing (SSADT) data,
implementing the methods developed by Pan and Balakrishnan
(2010).
In step-stress accelerated degradation experiments, products are subjected to elevated stress levels (\(S_1 < S_2 < \dots < S_K\)). Unlike traditional step-stress tests where stress levels are elevated at pre-determined fixed time points for all units, Pan and Balakrishnan (2010) proposed elevating stress levels when an individual product’s degradation crosses pre-specified degradation threshold values (\(\omega_1, \dots, \omega_{K-1}\)). Consequently, the stress transition times (\(\tau_{i,k}\)) vary randomly from product to product.
This package supports: 1. Wiener Process Degradation Models: Drift parameter changes with stress level; diffusion parameter \(\sigma\) remains constant. 2. Gamma Process Degradation Models: Monotone degradation process with independent Gamma-distributed increments. Stress transition times are modeled using the Birnbaum-Saunders distribution approximation. 3. Acceleration Models: Arrhenius model \(A(S) = \exp(a + b / (273 + S))\) and Power model \(A(S) = a \cdot S^b\). 4. Estimation Methods: Maximum Likelihood Estimation (MLE) and Bayesian Markov Chain Monte Carlo (MCMC). 5. Diagnostics & Lifetime Prediction: Geweke’s MCMC convergence diagnostic, Mean Time To Failure (MTTF), and reliability \(R(t)\) evaluation under normal use stress \(S_0\).
The package includes the exact simulated datasets from Tables 2–5 of Pan and Balakrishnan (2010):
library(MultiStepSSAD)
# Load Wiener-Arrhenius dataset (Table 2)
data(wiener_arrhenius)
head(wiener_arrhenius)
#> time unit1 unit2 unit3 unit4 unit5
#> 1 72 4.3195 5.2906 5.5159 3.9891 5.4399
#> 2 144 8.9338 11.7680 10.4270 8.5626 9.8537
#> 3 216 14.0880 15.9770 13.9230 13.7280 15.0460
#> 4 288 18.5820 22.2880 18.0950 19.7180 18.9540
#> 5 360 23.3680 26.5740 23.9320 24.4780 24.4950
#> 6 432 28.4320 32.3390 30.2910 29.8310 29.0020
# Load Gamma-Arrhenius dataset (Table 4)
data(gamma_arrhenius)
head(gamma_arrhenius)
#> time unit1 unit2 unit3 unit4 unit5
#> 1 72 4.2125 4.3152 2.6938 6.3355 4.2028
#> 2 144 9.3001 8.3011 6.4768 10.6550 9.7827
#> 3 216 13.6430 13.3310 10.9490 14.5920 15.0170
#> 4 288 18.5890 20.5590 16.2550 19.7330 19.2050
#> 5 360 24.8850 24.4380 21.7880 25.3580 24.2830
#> 6 432 30.3840 27.0450 27.3590 28.7250 32.2570We fit a 3-step step-stress Wiener-Arrhenius model to
wiener_arrhenius data using Maximum Likelihood Estimation
(MLE):
fit_w_mle <- ssad_fit(
data = wiener_arrhenius,
process = "wiener",
model = "arrhenius",
stress_levels = c(45, 65, 85),
thresholds = c(90, 160),
method = "mle"
)
summary(fit_w_mle)
#>
#> =======================================================
#> Detailed Summary: SSADT Model Fit
#> =======================================================
#> Process : wiener
#> Acceleration : arrhenius
#> Method : mle
#>
#> Model Selection Criteria:
#> Log-Likelihood : -224.643
#> AIC : 455.287
#> BIC : 464.319
#>
#> Maximum Likelihood Estimates:
#> Estimate Std.Error
#> a 5.257242e+00 0.161984667
#> b -2.511549e+03 54.228973360
#> sigma 9.596252e-02 0.005448289
#> =======================================================Next, we fit a 3-step step-stress Gamma-Arrhenius model to
gamma_arrhenius data using Bayesian MCMC:
fit_g_mcmc <- ssad_fit(
data = gamma_arrhenius,
process = "gamma",
model = "arrhenius",
stress_levels = c(45, 65, 85),
thresholds = c(90, 160),
method = "mcmc",
n_iter = 1000,
burnin = 200
)
summary(fit_g_mcmc)
#>
#> =======================================================
#> Detailed Summary: SSADT Model Fit
#> =======================================================
#> Process : gamma
#> Acceleration : arrhenius
#> Method : mcmc
#>
#> Model Selection Criteria:
#> Log-Likelihood : -297.185
#> AIC : 600.37
#> BIC : 609.401
#>
#> Bayesian MCMC Posterior Statistics:
#> Mean Std.Dev MC.Error X2.5. X50. X97.5.
#> a 6.90579 0.2127810 0.007522943 6.535857 6.924744 7.352241
#> b -2562.00038 61.0113208 2.157075933 -2703.025851 -2548.418621 -2498.378078
#> u 4.47113 0.3561228 0.012590841 3.862860 4.530658 4.934119
#>
#> MCMC Acceptance Rate: 3.2 %
#>
#> Geweke's MCMC Convergence Diagnostics:
#> parameter mean_first mean_last z_score p_value converged
#> 1 a 6.934648 7.001323 -0.8457088 3.977152e-01 TRUE
#> 2 b -2599.741597 -2572.848200 -1.1057978 2.688141e-01 TRUE
#> 3 u 4.092808 4.738739 -6.0642863 1.325409e-09 FALSE
#> =======================================================The package includes Geweke’s MCMC convergence diagnostic
(geweke_diag()):
if (!is.null(fit_g_mcmc$chain)) {
g_res <- geweke_diag(fit_g_mcmc$chain)
print(g_res)
}
#> parameter mean_first mean_last z_score p_value converged
#> 1 a 6.934648 7.001323 -0.8457088 3.977152e-01 TRUE
#> 2 b -2599.741597 -2572.848200 -1.1057978 2.688141e-01 TRUE
#> 3 u 4.092808 4.738739 -6.0642863 1.325409e-09 FALSEUsing the fitted parameters, we can predict the reliability function \(R(t)\) and Mean Time To Failure (MTTF) under normal operating stress conditions (\(S_0 = 25^\circ\text{C}\)) and failure threshold \(\omega_F = 200\):
rel_pred <- predict(
fit_w_mle,
t = seq(100, 10000, by = 200),
S0 = 25,
omega_F = 200
)
cat("Predicted MTTF under use stress S0 = 25:", round(rel_pred$mttf, 2), "hours\n")
#> Predicted MTTF under use stress S0 = 25: 4765.18 hoursWe can generate simulated step-stress degradation datasets for power
calculation and experimental planning using
ssad_simulate():
set.seed(123)
sim_df <- ssad_simulate(
n_units = 5,
times = seq(72, 2160, by = 72),
stress_levels = c(45, 65, 85),
thresholds = c(90, 160),
process = "wiener",
model = "power",
params = c(a = 7.39e-4, b = 1.2, sigma = 0.1)
)
head(sim_df)
#> time unit1 unit2 unit3 unit4 unit5
#> 1 72 4.651050 5.488497 5.448765 5.969646 5.226456
#> 2 144 9.582368 10.364750 10.149159 11.561606 9.549127
#> 3 216 16.031606 16.250919 14.993053 16.890806 14.259505
#> 4 288 21.218064 22.122670 19.255392 21.484640 19.168833
#> 5 360 26.454398 27.946434 23.472577 27.765821 25.860032
#> 6 432 33.036308 33.657394 28.856759 32.383114 30.433464These 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.