Learn R Programming

vacalibration (version 2.0)

modular.vacalib: Modular VA-Calibration

Description

Modular VA-Calibration

Usage

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
)

Value

A named list. Use vacalibration() for general purpose.

Arguments

va_unlabeled

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.

age_group

Character. Age-group of interest.

"neonate" or "child".

"neonate" ages between 0-27 days, or "child" ages between 1-59 months.

calibmodel.type

Character. How to utilize misclassification estimates.

"Mmatprior" (default). Propagates uncertainty in the misclassification matrix estimates.

"Mmatfixed". Uses fixed (default: posterior mean) misclassification matrix estimates.

Mmat.asDirich

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.

Mmat.fixed

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.

donotcalib

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.

donot.calib_type

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.

nocalib.threshold

Numeric between 0 and 1. The value used for screening VA causes that cannot be calibrated when donot.calib_type = "learn". Default: 0.1.

stable

Logical. TRUE (default) or FALSE. Setting TRUE improves stability in calibration.

ensemble

Logical. TRUE (default) or FALSE.

Whether to perform ensemble calibration when outputs from multiple algorithms are provided.

pss

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.

nMCMC

Positive integer. Total number of posterior samples to perform inference on.

Total number of iterations are nBurn + nMCMC*nThin.

Default 5000.

nBurn

Positive integer. Total burn-in in posterior sampling.

Total number of iterations are nBurn + nMCMC*nThin.

Default 5000.

nThin

Positive integer. Number of thinning in posterior sampling.

Total number of iterations are nBurn + nMCMC*nThin.

Default 1.

adapt_delta_stan

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.

refresh.stan

Positive integer. Report progress at every refresh.stan-th iteration.

Default (nBurn + nMCMC*nThin)/10, that is at every 10% progress.

seed

Numeric. "seed" parameter in rstan.

Default 1.

verbose

Logical. Reports progress or not.

TRUE (default) or FALSE.

saveoutput

Logical. Save output or not.

TRUE (default) or FALSE.

output_filename

Character. Output name to save as.

Default paste0("calibratedva_", calibmodel.type). That is "calibratedva_Mmatprior" or "calibratedva_Mmatfixed".

plot_it

Logical. Whether to return comparison plot for summary.

TRUE (default) or FALSE.