Modular VA-Calibration
modular.vacalib(
va_unlabeled = NULL,
age_group = NULL,
calibmodel.type = c("Mmatprior", "Mmatfixed")[1],
Mmat.asDirich = NULL,
Mmat.fixed = NULL,
donotcalib = NULL,
donot.calib_type = c("learn", "fixed")[1],
nocalib.threshold = 0.1,
stable = TRUE,
ensemble = NULL,
pss = NULL,
nMCMC = 5000,
nBurn = 5000,
nThin = 1,
adapt_delta_stan = 0.9,
refresh.stan = NULL,
seed = 1,
verbose = TRUE,
saveoutput = FALSE,
output_filename = NULL,
plot_it = TRUE
)A named list. Use vacalibration() for general purpose.
A named list. Algorithm-specific unlabeled VA-only data.
For example, list("algo1" = algo1_output, "algo2" = algo2_output, ...)
Algorithm names ("algo1", "algo2", ...) can be "eava", "insilicova", or "interva".
Data (algo1_output, algo2_output, ...) can be broad causes (output from the cause_map() function in this package), or broad-cause-specific death counts (integer vector).
Can be different for different algorithms.
Total number of deaths for different algorithms can be different.
Character. Age-group of interest.
"neonate" or "child".
"neonate" ages between 0-27 days, or "child" ages between 1-59 months.
Character. How to utilize misclassification estimates.
"Mmatprior" (default). Propagates uncertainty in the misclassification matrix estimates.
"Mmatfixed". Uses fixed (default: posterior mean) misclassification matrix estimates.
A named list. Similarly structured as va_data.
Needed only if calibmodel.type = "Mmatprior" (propagates uncertainty).
For example, list("algo1" = Mmat.asDirich_algo1, "algo2" = Mmat.asDirich_algo2, ...).
List of algorithm-specific Dirichlet prior on misclassification matrix to be used for calibration.
Names and length must be identical to va_data.
If algorithm names ("algo1", "algo2", ...) are "eava", "insilicova" or "interva", and Mmat.asDirich is missing, it by default uses the CHAMPS-based estimates (Dirichlet approximation of posterior) stored in Mmat_champs in this package.
See Mmat_champs for details.
If Mmat.asDirich is not missing, whatever provided is used.
If any algorithm name ("algo1", "algo2", ...) is different from "eava", "insilicova" or "interva", Mmat.asDirich must be provided.
Mmat.asDirich_algo1 is a matrix of dimension CHAMPS ("gold standard") cause by VA cause.
Dirichlet(Mmat.asDirich_algo1[i,]) is used as informative prior on classification rates for CHAMPS cause i.
A named list. Similarly structured as va_data or Mmat.asDirich.
Needed only if calibmodel.type = "Mmatfixed" (no uncertainty propagation).
For example, list("algo1" = Mmat.fixed_algo1, "algo2" = Mmat.fixed_algo2, ...)
List of algorithm-specific fixed misclassification matrix to be used for calibration.
Names and length must be identical to va_data.
If algorithm names ("algo1", "algo2", ...) are "eava", "insilicova", or "interva" and Mmat.fixed is missing, it by default uses the CHAMPS-based estimates (posterior mean) stored in Mmat_champs in this package.
See Mmat_champs for details.
If Mmat.fixed is not missing, whatever provided is used.
If any algorithm name ("algo1", "algo2", ...) is different from "eava", "insilicova" or "interva", Mmat.fixed must be provided. Mmat.fixed_algo1 is a matrix of dimension CHAMPS cause X VA cause. Mmat.fixed_algo1[i,] are the classification rates for CHAMPS cause i.
A named list. Similarly structured as va_data, Mmat.asDirich, or Mmat.fixed.
List of broad causes for each CCVA algorithm that we do not want to calibrate
Default: list("eava"="other", "insilicova"="other", "interva"="other"). That is, "other" cause is not calibrated.
For neonates, the broad causes are "congenital_malformation", "pneumonia", "sepsis_meningitis_inf", "ipre", "other", or "prematurity".
For children, the broad causes are "malaria", "pneumonia", "diarrhea", "severe_malnutrition", "hiv", "injury", "other", "other_infections", "nn_causes" (neonatal causes).
Set list("eava" = NULL, "insilicova" = NULL, "interva" = NULL) if you want to calibrate all causes.
Character. "fixed" or "learn" (default).
For "fixed", only broad causes that are provided in "donotcalib" are not calibrated.
For "learn", it learns from "Mmat.fixed" or "Mmat.asDirich" if any other causes cannot be calibrated.
For "learn", it identifies VA causes for which the misclassification rates do not vary across CHAMPS causes.
In that case, the calibration equation becomes ill-conditioned (see the footnote below Section 3.8 in Pramanik et al. (2025)). Currently, we address this by not calibrating VA causes for which the misclassification rates are similar along the rows (CHAMPS causes). VA causes (Columns) for which the rates along the rows (CHAMPS causes) do not vary more that "nocalib.threshold" are not calibrated. "donotcalib" is accordingly updated for each CCVA algorithm.
Numeric between 0 and 1. The value used for screening VA causes that cannot be calibrated when donot.calib_type = "learn". Default: 0.1.
Logical. TRUE (default) or FALSE. Setting TRUE improves stability in calibration.
Logical. TRUE (default) or FALSE.
Whether to perform ensemble calibration when outputs from multiple algorithms are provided.
Positive numeric. Degree of shrinkage of calibrated cause-specific mortality fraction (CSMF) estimate towards uncalibrated estimates.
Always 0 when stable=TRUE. Defaults to 4 when stable=FALSE.
Positive integer. Total number of posterior samples to perform inference on.
Total number of iterations are nBurn + nMCMC*nThin.
Default 5000.
Positive integer. Total burn-in in posterior sampling.
Total number of iterations are nBurn + nMCMC*nThin.
Default 5000.
Positive integer. Number of thinning in posterior sampling.
Total number of iterations are nBurn + nMCMC*nThin.
Default 1.
Positive numeric between 0 and 1. "adapt_delta" parameter in rstan.
Influences the behavior of the No-U-Turn Sampler (NUTS), the primary MCMC sampling algorithm in Stan.
Default 0.9.
Positive integer. Report progress at every refresh.stan-th iteration.
Default (nBurn + nMCMC*nThin)/10, that is at every 10% progress.
Numeric. "seed" parameter in rstan.
Default 1.
Logical. Reports progress or not.
TRUE (default) or FALSE.
Logical. Save output or not.
TRUE (default) or FALSE.
Character. Output name to save as.
Default paste0("calibratedva_", calibmodel.type). That is "calibratedva_Mmatprior" or "calibratedva_Mmatfixed".
Logical. Whether to return comparison plot for summary.
TRUE (default) or FALSE.