Skip to contents

Fits a joint bivariate log-normal transformation model for a latent event time \(T^E_i\) and a latent censoring time \(T^C_i\) that are allowed to be dependent (a violation of the usual independent-censoring assumption): \(\log T^E_i = X_i^\top \beta_{\mathrm{event}} + \sigma_{\mathrm{event}} \epsilon^E_i\), \(\log T^C_i = X_i^\top \beta_{\mathrm{cens}} + \sigma_{\mathrm{cens}} \epsilon^C_i\), with \((\epsilon^E_i, \epsilon^C_i)\) jointly standard bivariate normal with correlation \(\rho\) (estimated via an atanh-reparameterized, clamped nuisance parameter). \(X_i\) includes the treatment indicator \(W_i\) as its first column, so \(\hat\beta_T\) (the first entry of \(\hat\beta_{\mathrm{event}}\)) is a log-time-ratio for the event submodel, on the same AFT interpretation scale as InferenceSurvivalWeibullRegr but log-normal rather than Weibull, and jointly modeling the censoring mechanism rather than assuming it independent. This is the correct tool when censoring is suspected to depend on the same latent factors driving the event time (e.g. sicker patients are both more likely to be censored — dropout — and more likely to fail early), a scenario under which ordinary Kaplan-Meier/Cox/AFT methods (which assume independent censoring) are biased. likelihood_tier = "full": likelihood-ratio, score, gradient, and Wald tests are available when the model converges, plus parametric-likelihood-bootstrap calibration of the likelihood-ratio test. Substantial method-support limitations, all deliberate: randomization inference and jackknife bias correction/standard errors are hard-unsupported (each randomization draw would require a full dependent-censoring likelihood refit, too unstable/slow for the comprehensive test suite; jackknife bias correction is unstable for this likelihood on small censored samples) — every jackknife/randomization method returns NA and marks the result nonestimable rather than computing a value. Nonparametric-bootstrap confidence intervals are computed but additionally validated/sanity-checked (excessively wide or zero-excluding-by-construction intervals are treated as unstable and replaced with NA), and Bayesian-bootstrap weighted re-estimation uses a fast Cox-model surrogate fit (weighted_cox_bootstrap_surrogate_fit()) as an approximation rather than a full weighted joint-likelihood refit.

See also

InferenceSurvivalGLMMWeibullFrailtyLoggammaOneLik for a different (Clayton-copula, KK-design) approach to dependence between two survival-type quantities. Survival analysis (Wikipedia, general orientation; no direct Wikipedia page for dependent-censoring copula/transformation models specifically).

Super class

Inference -> InferenceSurvivalDepCensTransformRegr

Methods

+ inherited public methods from Inference


InferenceSurvivalDepCensTransformRegr$set_custom_randomization_statistic_function()

Usage

InferenceSurvivalDepCensTransformRegr$set_custom_randomization_statistic_function(
  custom_randomization_statistic_function
)


InferenceSurvivalDepCensTransformRegr$set_custom_randomization_statistic_cpp()

Usage

InferenceSurvivalDepCensTransformRegr$set_custom_randomization_statistic_cpp(
  fn
)


InferenceSurvivalDepCensTransformRegr$supports_rand_pval_for_incidence()

Usage

InferenceSurvivalDepCensTransformRegr$supports_rand_pval_for_incidence()


InferenceSurvivalDepCensTransformRegr$clone()

The objects of this class are cloneable with this method.

Usage

InferenceSurvivalDepCensTransformRegr$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# \donttest{
seq_des = DesignSeqOneByOneBernoulli$new(n = 10, response_type = 'survival')
for (i in 1:10) {
  seq_des$add_one_subject_to_experiment_and_assign(data.frame(x1 = rnorm(1)))
}
seq_des$add_all_subject_responses(runif(10))
inf = InferenceSurvivalDepCensTransformRegr$new(seq_des)
inf$compute_estimate()
#> [1] -0.281564
# }