| Title: | Distributionally Robust Progressive Type-II Censoring Inference |
|---|---|
| Description: | Implements distributionally robust optimization algorithms for progressive Type-II censored Weibull lifetime data under Wasserstein ambiguity balls. Provides primal-dual convex optimization solvers and robust inference bounds. |
| Authors: | Okechukwu J. Obulezi [aut, cre] |
| Maintainer: | Okechukwu J. Obulezi <[email protected]> |
| License: | GPL-3 |
| Version: | 0.1.0 |
| Built: | 2026-10-09 11:28:14 UTC |
| Source: | https://github.com/cran/DropCens |
Computes upper and lower robust inference bounds across extreme prior profiles.
dro_bayesian_bounds(t, R, delta = 0.1)dro_bayesian_bounds(t, R, delta = 0.1)
t |
Numeric vector of observed failure/censoring times. |
R |
Numeric vector of progressive removal counts. |
delta |
Numeric prior ambiguity radius (default: 0.1). |
Matrix of lower and upper robust credible bounds.
t_obs <- sort(rweibull(10, shape = 2, scale = 8)) R_obs <- rep(0, 10) bounds <- dro_bayesian_bounds(t = t_obs, R = R_obs, delta = 0.05) print(bounds)t_obs <- sort(rweibull(10, shape = 2, scale = 8)) R_obs <- rep(0, 10) bounds <- dro_bayesian_bounds(t = t_obs, R = R_obs, delta = 0.05) print(bounds)
Solves worst-case distributionally robust MLE parameter estimates under Wasserstein ambiguity balls for progressive Type-II censored Weibull data.
fit_dro_pc(t, R, epsilon = 0.05, max_iter = 500, tol = 1e-05)fit_dro_pc(t, R, epsilon = 0.05, max_iter = 500, tol = 1e-05)
t |
Numeric vector of observed failure/censoring times. |
R |
Numeric vector of progressive removal counts. |
epsilon |
Numeric radius of the Wasserstein ambiguity ball (default: 0.05). |
max_iter |
Integer maximum number of iterations (default: 500). |
tol |
Numeric convergence tolerance (default: 1e-5). |
A list containing estimated robust parameters, dual multiplier, and covariance.
set.seed(123) t_obs <- sort(rweibull(15, shape = 2, scale = 10)) R_obs <- c(2, rep(0, 13), 3) fit <- fit_dro_pc(t = t_obs, R = R_obs, epsilon = 0.02) print(fit$par)set.seed(123) t_obs <- sort(rweibull(15, shape = 2, scale = 10)) R_obs <- c(2, rep(0, 13), 3) fit <- fit_dro_pc(t = t_obs, R = R_obs, epsilon = 0.02) print(fit$par)