acc_sipw: PVB correction by scaled inverse probability weighted...

View source: R/PVBcorrect_functions.R

acc_sipwR Documentation

PVB correction by scaled inverse probability weighted resampling (SIPW)

Description

Perform PVB correction by scaled inverse probability weighted resampling.

Usage

acc_sipw(
  data,
  test,
  disease,
  covariate = NULL,
  saturated_model = FALSE,
  option = 2,
  ci = FALSE,
  ci_level = 0.95,
  ci_type = "basic",
  b = 1000,
  R = 999,
  seednum = NULL,
  return_data = FALSE,
  return_detail = FALSE,
  description = TRUE
)

Arguments

data

A data frame, with at least "Test" and "Disease" variables.

test

The "Test" variable name, i.e. the test result. The variable must be in binary; positive = 1, negative = 0 format.

disease

The "Disease" variable name, i.e. the true disease status. The variable must be in binary; positive = 1, negative = 0 format.

covariate

The name(s) of covariate(s), i.e. other variables associated with either test or disease status. Specify as name vector, e.g. c("X1", "X2") for two or more variables. The variables must be in formats acceptable to GLM.

saturated_model

Set as TRUE to obtain the original Begg and Greenes' (1983) when all possible interactions are included.

option

1 = IPW weight, 2 = W_h weight, described in Arifin (2023), modified weight of Krautenbacher (2017). The default is option = 2, which is more stable for small weights (Arifin, 2023).

ci

View confidence interval (CI). The default is FALSE.

ci_level

Set the CI width. The default is 0.95 i.e. 95% CI.

ci_type

Set confidence interval (CI) type. Acceptable types are "norm", "basic", "perc", and "bca", for bootstrapped CI. See boot.ci for details.

b

The number of repeated samples, b.

R

The number of bootstrap samples. Default R = 999.

seednum

Set the seed number for the bootstrapped CI. The default is not set, so it depends on the user to set it outside or inside the function.

return_data

Return data for the bootstrapped samples.

return_detail

Return accuracy measures for each of the bootstrapped samples.

description

Print the name of this analysis. The default is TRUE. This can be turned off for repeated analysis, for example in bootstrapped results.

Value

A list object containing:

acc_results

The accuracy results.

References

  1. Arifin, W. N., & Yusof, U. K. (2025). Partial Verification Bias Correction Using Scaled Inverse Probability Resampling for Binary Diagnostic Tests. medRxiv. https://doi.org/10.1101/2025.03.09.25323631

  2. Arifin, W. N., & Yusof, U. K. (2022). Partial Verification Bias Correction Using Inverse Probability Bootstrap Sampling for Binary Diagnostic Tests. Diagnostics, 12(11), 2839.

  3. Arifin, W. N. (2023). Partial verification bias correction in diagnostic accuracy studies using propensity score-based methods (PhD thesis, Universiti Sains Malaysia). https://erepo.usm.my/handle/123456789/19184

  4. Krautenbacher, N., Theis, F. J., & Fuchs, C. (2017). Correcting Classifiers for Sample Selection Bias in Two-Phase Case-Control Studies. Computational and Mathematical Methods in Medicine, 2017, 1–18. https://doi.org/10.1155/2017/7847531

  5. Nahorniak, M., Larsen, D. P., Volk, C., & Jordan, C. E. (2015). Using inverse probability bootstrap sampling to eliminate sample induced bias in model based analysis of unequal probability samples. PLoS One, 10(6), e0131765.

Examples

# point estimates
acc_sipw(data = cad_pvb, test = "T", disease = "D", b = 100, seednum = 12345)
acc_sipw(data = cad_pvb, test = "T", disease = "D", covariate = c("X1","X2","X3"),
         b = 100, seednum = 12345)

# with bootstrapped confidence interval
acc_sipw(data = cad_pvb, test = "T", disease = "D", ci = TRUE, ci_type = "perc",
         b = 100, R = 9, seednum = 12345)

wnarifin/PVBcorrect documentation built on June 2, 2025, 12:01 a.m.