RoBSA {RoBSA} | R Documentation |
Fit Robust Bayesian Survival Analysis
Description
RoBSA
is used to estimate a robust Bayesian
survival analysis. The interface allows a complete customization of
the ensemble with different prior distributions for the null and
alternative hypothesis of each parameter.
(See README for an example.)
Usage
RoBSA(
formula,
data,
priors = NULL,
test_predictors = NULL,
distributions = c("exp-aft", "weibull-aft", "lnorm-aft", "llogis-aft", "gamma-aft"),
distributions_weights = rep(1, length(distributions)),
prior_beta_null = get_default_prior_beta_null(),
prior_beta_alt = get_default_prior_beta_alt(),
prior_factor_null = get_default_prior_factor_null(),
prior_factor_alt = get_default_prior_factor_alt(),
prior_intercept = get_default_prior_intercept(),
prior_aux = get_default_prior_aux(),
chains = 3,
sample = 5000,
burnin = 2000,
adapt = 500,
thin = 1,
parallel = FALSE,
autofit = TRUE,
autofit_control = set_autofit_control(),
convergence_checks = set_convergence_checks(),
save = "all",
seed = NULL,
silent = TRUE,
rescale_data = FALSE,
...
)
Arguments
formula |
formula for the survival model |
data |
data frame containing the data |
priors |
names list of prior distributions for each
predictor. It allows users to specify both the null and alternative
hypothesis prior distributions by assigning a named list
(with |
test_predictors |
vector of predictor names
to be tested with Bayesian model-averaged testing.
Defaults to |
distributions |
distributions of parametric survival models |
distributions_weights |
prior odds for the competing distributions |
prior_beta_null |
default prior distribution for the null hypotheses of continuous predictors |
prior_beta_alt |
default prior distribution for the alternative hypotheses of continuous predictors |
prior_factor_null |
default prior distribution for the null hypotheses of categorical predictors |
prior_factor_alt |
default prior distribution for the alternative hypotheses of categorical predictors |
prior_intercept |
named list containing prior distribution for the intercepts (with names corresponding to the distributions) |
prior_aux |
named list containing prior distribution for the auxiliary parameters (with names corresponding to the distributions) |
chains |
a number of chains of the MCMC algorithm. |
sample |
a number of sampling iterations of the MCMC algorithm.
Defaults to |
burnin |
a number of burnin iterations of the MCMC algorithm.
Defaults to |
adapt |
a number of adaptation iterations of the MCMC algorithm.
Defaults to |
thin |
a thinning of the chains of the MCMC algorithm. Defaults to
|
parallel |
whether the individual models should be fitted in parallel.
Defaults to |
autofit |
whether the model should be fitted until the convergence
criteria (specified in |
autofit_control |
allows to pass autofit control settings with the
|
convergence_checks |
automatic convergence checks to assess the fitted
models, passed with |
save |
whether all models posterior distributions should be kept
after obtaining a model-averaged result. Defaults to |
seed |
a seed to be set before model fitting, marginal likelihood
computation, and posterior mixing for reproducibility of results. Defaults
to |
silent |
whether all print messages regarding the fitting process
should be suppressed. Defaults to |
rescale_data |
whether continuous predictors should be rescaled prior to
estimating the model. Defaults to |
... |
additional arguments. |
Value
RoBSA
returns an object of class 'RoBSA'.
Examples
## Not run:
# (execution of the example takes several minutes)
# example from the README (more details and explanation therein)
data(cancer, package = "survival")
priors <- calibrate_quartiles(median_t = 5, iq_range_t = 10, prior_sd = 0.5)
df <- data.frame(
time = veteran$time / 12,
status = veteran$status,
treatment = factor(ifelse(veteran$trt == 1, "standard", "new"), levels = c("standard", "new")),
karno_scaled = veteran$karno / 100
)
RoBSA.options(check_scaling = FALSE)
fit <- RoBSA(
Surv(time, status) ~ treatment + karno_scaled,
data = df,
priors = list(
treatment = prior_factor("normal", parameters = list(mean = 0.30, sd = 0.15),
truncation = list(0, Inf), contrast = "treatment"),
karno_scaled = prior("normal", parameters = list(mean = 0, sd = 1))
),
test_predictors = "treatment",
prior_intercept = priors[["intercept"]],
prior_aux = priors[["aux"]],
parallel = TRUE, seed = 1
)
summary(fit)
## End(Not run)