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.

BayesTSM

BayesTSM fits Bayesian progressive three-state semi-Markov models for screening panel data with censoring after intervention. It is designed for settings where individuals are repeatedly screened for a progressive disease process, for example:

  1. state 1: disease-free,
  2. state 2: pre-state disease / early disease,
  3. state 3: disease / late disease.

The package models the latent transition time from baseline to state 2, denoted X, and the transition time from state 2 to state 3, denoted S. The total time from baseline to state 3 is Y = X + S.

BayesTSM uses accelerated failure time models for both transition times,

\[ \begin{aligned} \log X_i &= z_{Xi}^{\top}\beta_X + \sigma_X \epsilon_i, \\ \log S_i &= z_{Si}^{\top}\beta_S + \sigma_S \xi_i . \end{aligned} \]

and estimates the model using Bayesian data augmentation and MCMC. Weibull, lognormal, and log-logistic transition time distributions are currently available.

Installation

Install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github(
  "thomasklausch2/BayesTSM",
  build_vignettes = TRUE
)

Basic usage

library(BayesTSM)

set.seed(1)

dat <- gendat(
  n = 1000,
  p = 2,
  sigma.X = 0.3,
  mu.X    = 2,
  beta.X  = c(0.5, 0.5),
  sigma.S = 0.5,
  mu.S    = 1,
  beta.S  = c(0.5, 0.5),
  dist.X  = "weibull",
  dist.S  = "weibull",
  v.min   = 1,
  v.max   = 5,
  Tmax    = 200,
  mean.rc = 10
)

head(dat)
table(dat$d)

The variables passed to bayestsm() are:

d <- dat$d
L <- dat$L
R <- dat$R
Z <- dat[, c("Z.1", "Z.2")]

mod <- bayestsm(
  d = d,
  L = L,
  R = R,
  Z.X = Z,
  Z.S = Z,
  mc = 1e4,
  warmup = 5e2,
  thinning = 10,
  chains = 4,
  update_till_convergence = TRUE,
  mc_update = 1e4,
  MH = FALSE,
  dist.X = "weibull",
  dist.S = "weibull",
  seed_chains = 1:4
)

By default, BayesTSM uses slice sampling for the model parameters. Metropolis sampling can be used instead by setting MH = TRUE.

Posterior summaries

summary(mod, warmup = 500)
plot(mod, warmup = 500)

The summary method reports posterior medians, 95% credible intervals, R-hat values, and effective sample sizes.

Posterior predictive transition probabilities

Posterior predictive cumulative transition probabilities can be obtained with ppCIF().

ppCIF(
  mod,
  type = "quantiles",
  warmup = 500,
  quant = c(5, 10)
)

For plotting cumulative transition probability curves:

pp_grid <- ppCIF(
  mod,
  type = "quantiles",
  warmup = 500
)

plot(pp_grid, xlim = c(0, 50))

Conditional predictions can be obtained by fixing covariate values through fix_Z.X and fix_Z.S.

ppCIF(
  mod,
  type = "quantiles",
  warmup = 500,
  quant = c(5, 10),
  fix_Z.X = c(1, NA),
  fix_Z.S = c(1, NA)
)

Here, the first covariate is fixed at 1, while the second covariate is marginalized over its observed distribution.

Model comparison

Different transition time distributions can be compared using information criteria.

get_IC(mod, warmup = 500, cores = NULL)

get_IC() returns the deviance information criterion (DIC) and two versions of the widely applicable information criterion (WAIC-1 and WAIC-2).

References

Akwiwu, E. U., Coupé, V. M. H., Berkhof, J., & Klausch, T. (2026). A comparison of methods for modeling multistate cancer progression using screening data with censoring after intervention. Medical Decision Making. https://doi.org/10.1177/0272989X261422681

Klausch, T., Akwiwu, E. U., van de Wiel, M. A., Coupé, V. M. H., & Berkhof, J. (2023). A Bayesian accelerated failure time model for interval censored three-state screening outcomes. The Annals of Applied Statistics, 17(2), 1285–1306. https://doi.org/10.1214/22-AOAS1669

Vehtari, A., Gelman, A., Simpson, D., Carpenter, B., & Bürkner, P.-C. (2021). Rank-normalization, folding, and localization: An improved R-hat for assessing convergence of MCMC. Bayesian Analysis, 16(2), 667–718. https://doi.org/10.1214/20-BA1221

Watanabe, S. (2010). Asymptotic equivalence of Bayes cross validation and widely applicable information criterion in singular learning theory. Journal of Machine Learning Research, 11, 3571–3594.

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.