## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)

## ----datasets-----------------------------------------------------------------
library(MultiStepSSAD)

# Load Wiener-Arrhenius dataset (Table 2)
data(wiener_arrhenius)
head(wiener_arrhenius)

# Load Gamma-Arrhenius dataset (Table 4)
data(gamma_arrhenius)
head(gamma_arrhenius)

## ----wiener_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)

## ----gamma_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)

## ----geweke_diag--------------------------------------------------------------
if (!is.null(fit_g_mcmc$chain)) {
  g_res <- geweke_diag(fit_g_mcmc$chain)
  print(g_res)
}

## ----reliability_pred---------------------------------------------------------
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")

## ----simulation---------------------------------------------------------------
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)

