Learn R Programming

vlad (version 0.2.0)

eocusum_crit_sim: Compute alarm threshold of EO-CUSUM control charts using simulation

Description

Compute alarm threshold of EO-CUSUM control charts using simulation.

Usage

eocusum_crit_sim(L0, k, df, coeff, m = 100, yemp = TRUE,
  side = "low", nc = 1, jmax = 4, verbose = FALSE)

Arguments

L0

Double. Prespecified in-control Average Run Length.

k

Double. Reference value of the CUSUM control chart. Either 0 or a positive value. Can be determined with function optimal_k.

df

Data Frame. First column are Parsonnet Score values within a range of 0 to 100 representing the preoperative patient risk. The second column are binary (0/1) outcome values of each operation.

coeff

Numeric Vector. Estimated coefficients \(\alpha\) and \(\beta\) from the binary logistic regression model. For more information see details.

m

Integer. Number of simulation runs.

yemp

Logical. If TRUE use observed outcome value, if FALSE use estimated binary logistc regression model.

side

Character. Default is "low" to calculate ARL for the upper arm of the V-mask. If side = "up", calculate the lower arm of the V-mask.

nc

Integer. Number of cores.

jmax

Integer. Number of digits for grid search.

verbose

Logical. If TRUE verbose output is included, if FALSE a quiet calculation of h is done.

Value

Returns a single value which is the control limit h for a given ARL.

Details

The function eocusum_crit_sim determines the control limit for given in-control ARL (L0) by applying a multi-stage search procedure which includes secant rule and the parallel version of eocusum_arl_sim using mclapply.

References

Barnard GA (1959). Control charts and stochastic processes. J R Stat Soc Series B Stat Methodol, 21(2), pp. 239--271.

Kemp KW (1961). The Average Run Length of the Cumulative Sum Chart when a V-mask is used. J R Stat Soc Series B Stat Methodol, 23(1),pp. 149--153.

Wittenberg P, Gan FF, Knoth S (2018). A simple signaling rule for variable life-adjusted display derived from an equivalent risk-adjusted CUSUM chart. Statistics in Medicine, 37(16), pp 2455--2473.

Examples

Run this code
# NOT RUN {
data("cardiacsurgery", package = "spcadjust")
library("dplyr")

## preprocess data to 30 day mortality and subset phase I (In-control) of surgeons 2
S2I <- cardiacsurgery %>% rename(s = Parsonnet) %>%
  mutate(y = ifelse(status == 1 & time <= 30, 1, 0),
         phase = factor(ifelse(date < 2*365, "I", "II"))) %>%
  filter(phase == "I", surgeon == 2) %>% select(s, y)

## estimate coefficients from logit model
coeff1 <- coef(glm(y ~ s, data = S2I, family = "binomial"))
## Number of simulation runs
m <- 10^3
set.seed(1234)
## Number of cores
nc <- parallel::detectCores()

## determine k for detecting deterioration
kopt <- optimal_k(QA = 2, df = S2I, coeff = coeff, yemp = FALSE)

## compute threshold for prespecified in-control ARL
h <- eocusum_crit_sim(L0 = 370, df = S2I, k = kopt, m = m, coeff = coeff1, side = "low",
nc = nc)

## parameters to set up a tabular CUSUM or V-Mask
d <- h/kopt
theta <- atan(kopt)*180/pi
cbind(kopt, h, theta, d)
# }

Run the code above in your browser using DataLab