UniCensorEM News
Version 0.1.0 (2026-07-18)
Initial Release
New Features
- Generalized EM algorithm for parameter estimation under
censoring
- Support for 23 censoring schemes:
- Complete data
- Right censoring
- Left censoring
- Interval censoring
- Random censoring
- Block random censoring
- Type-I censoring
- Type-II censoring
- Progressive Type-II censoring
- Progressive first failure censoring
- Joint Type-I censoring
- Joint Type-II censoring
- Balanced joint progressive Type-II censoring
- Hybrid censoring
- Hybrid Type-I censoring
- Hybrid Type-II censoring
- Type-I hybrid censoring
- Type-II progressively hybrid censoring
- Doubly Type-II censoring
- Middle censoring
- Right truncation
- Left truncation
Core Functionality
em_fit(): Main function for EM parameter
estimation
em.control(): Control parameters for EM algorithm
dist_spec_em(): Define distribution for EM
estimation
- Support for arbitrary user-supplied PDF, CDF, and survival
functions
- Automatic construction of observed likelihood, complete likelihood,
and Q-function
- E-step with conditional expectations for censored data
- M-step with multiple optimization methods (BFGS, L-BFGS-B,
Nelder-Mead, CG, SANN, Brent, nlminb)
Statistical Inference
- Numerical Hessian computation for standard errors
- Bootstrap standard errors (parametric and nonparametric)
- Multiple confidence interval types (normal, percentile, BCa,
basic)
- Louis method support (framework in place)
Model Selection
- AIC, AICc, BIC, HQIC, CAIC, KIC
- Takeuchi Information Criterion (TIC)
model_selection() function for comprehensive
criteria
Goodness-of-Fit
- KS statistic
- Anderson-Darling statistic
- Cramer-von Mises statistic
- Watson statistic
- RMSE, MAE, MSE
- R-squared and adjusted R-squared
gof_stats() function
Diagnostics
- EM convergence diagnostics
- Parameter convergence tracking
- Log-likelihood convergence tracking
- Q-function convergence tracking
- Aitken acceleration support
em_diagnostics() function
S3 Methods
print.emfit(): Print fit summary
summary.emfit(): Comprehensive summary
plot.emfit(): Diagnostic plots (6 plot types)
coef.emfit(): Extract parameter estimates
vcov.emfit(): Variance-covariance matrix
confint.emfit(): Confidence intervals
logLik.emfit(): Log-likelihood
AIC.emfit(): Akaike Information Criterion
BIC.emfit(): Bayesian Information Criterion
residuals.emfit(): Residuals
fitted.emfit(): Fitted values
predict.emfit(): Predictions
Residual Analysis
- Cox-Snell residuals
- Martingale residuals
- Deviance residuals
- Pearson residuals
- Score residuals
- Schoenfeld residuals
- Randomized quantile residuals
- Generalized residuals
residual_analysis() function
plot_residuals() function
Bootstrap
- Parametric bootstrap
- Nonparametric bootstrap
- Bias-corrected bootstrap
- Percentile bootstrap
- BCa intervals
bootstrap_se() function
Visualization
- Parameter convergence plots
- Log-likelihood plots
- Q-function plots
- Histogram with fitted density
- QQ plots
- Residual plots
- Residuals vs fitted plots
- Residuals vs order plots
Parallel Computing
- Support for parallel package
- Support for future/furrr packages
- Parallel bootstrap
get_ncores() function
Utilities
- Comprehensive error handling and validation
- Numerical integration utilities
- Automatic differentiation support (numDeriv)
- Safe numerical operations
Documentation
- Comprehensive roxygen2 documentation
- Benchmark examples vignette
- Examples for Exponential, Weibull, Gamma, Log-Normal, Normal
distributions
- Unit tests using testthat
- Efficient numerical integration
- Vectorized operations
- Caching support
- Optional parallelization
Extensibility
- Modular censoring scheme architecture
- Easy to add new censoring schemes
- Distribution-agnostic core algorithm
Bug Fixes
Known Issues
- Some advanced censoring schemes use placeholder implementations
- Louis method requires further development
- Profile likelihood intervals not yet implemented
Deprecated
Notes
- This package is designed as the estimation counterpart to
UniCensor
- Together, they provide a complete framework for censored data
analysis
- Compatible with R >= 4.0.0